All files / schemas/trellis/rules action.schema.cts

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

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 561x 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/rules/action.schema.json',
  $schema: 'http://json-schema.org/draft-07/schema#',
  description: 'A description of an action which can be used in OADA rules',
  allOf: [{ $ref: '../../oada/resource.schema.json' }],
  properties: {
    name: {
      description: 'Name of the action',
      type: 'string',
      examples: ['email', 'push audit'],
    },
    service: {
      description: 'Name of the service implementing/performing the action',
      type: 'string',
    },
    type: {
      description: 'Content-type(s) with which this action works',
      oneOf: [
        { type: 'string' },
        {
          type: 'array',
          items: { type: 'string' },
        },
      ],
    },
    description: {
      description: 'Human description of the action for UI etc.',
      type: 'string',
      examples: ['send an email to {{address}}'],
    },
    uischema: {
      description: 'UISchema for the params',
      $comment: 'Not sure this is a good idea',
      type: 'object',
    },
    params: {
      description: 'Input parameters for the action',
      $ref: 'https://json-schema.org/draft/2019-09/schema',
    },
  },
  required: ['name', 'service', 'type', 'description'],
};
 
export = schema;