All files / schemas/trellis/service/fl-pusher sync.schema.cts

100% Statements 79/79
100% Branches 0/0
100% Functions 0/0
100% Lines 79/79

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 801x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
/**
 * @license
 * Copyright 2022 Open Ag Data Alliance
 *
 * Use of this source code is governed by an MIT-style
 * license that can be found in the LICENSE file or at
 * https://opensource.org/licenses/MIT.
 */
 
import type { JSONSchema8 as Schema } from 'jsonschema8';
 
const schema: Schema = {
  $id: 'https://formats.openag.io/trellis/service/fl-pusher/sync.schema.json',
  $schema: 'http://json-schema.org/draft-07/schema#',
  description: 'Extension of @oada/job format for fl-pusher',
  type: 'object',
  allOf: [{ $ref: '../../../oada/service/job.schema.json' }],
  properties: {
    service: {
      description: 'Service Name',
      const: 'fl-pusher',
    },
    type: {
      description: 'Foodlogiq Synchronization Job',
      const: 'sync',
    },
    config: {
      description: 'Job specific configuration object',
      // TODO
      type: 'object',
      required: ['resourceId', 'businessId'],
      properties: {
        resourceId: {
          description: 'id for virtualized pdf',
          type: 'string',
        },
        businessId: {
          description: 'The foodlogiq business ID where the document is stored',
          type: 'string',
        },
        communityIds: {
          description:
            'The foodlogiq community IDs the document is to be shared with',
          type: 'array',
          items: { type: 'string' },
        },
      },
    },
    result: {
      description: 'Final result of job',
    },
  },
 
  examples: [
    {
      service: 'fl-pusher',
      type: 'sync',
      config: {
        resourceId: 'resources/oivnoseklnvaoeij329814ng',
        businessId: '123456789012345678901234',
        communityIds: [
          '223456789012345678901234',
          '323456789012345678901234',
          '423456789012345678901234',
        ],
      },
      status: 'pending',
      updates: {
        aoihngklsdmfjoavin2398havj: {
          status: 'started',
          time: '2019-10-20T20:07:21+00:00',
          information: 'started',
        },
      },
    },
  ],
};
 
export = schema;