Schema for Directory Provider Settings

From ProviderSettings.schema.yaml (directory/ProviderSettings.schema)

---
$id: https://skeleton.botmd.io/directory/ProviderSettings.schema
$schema: http://json-schema.org/draft-07/schema#

title: Provider Settings
description: >-
  These settings are used for Directory `Provider`s in Chatterbox.

type: object
additionalProperties: false
required: [hospital]

properties:
  hospital:
    title: Hospital
    description: "`Hospital` key that will have access to directory entries returned by this Provider. Required field."

    $ref: "/hospital/ProfileTags.schema#/definitions/Organization Keys"
  #end hospital

  tags:
    title: Tags
    description: Array of profile `tag`s that will have access to directory entries returned by this Provider. Defaults to allow any tag if not specified. Empty array (i.e., `[]`) will deny all access.
    type: array

    uniqueItems: true
    items:
      anyOf:
        - $ref: "/hospital/ProfileTags.schema#/definitions/Accessible Tags"
        - $ref: "/hospital/ProfileTags.schema#/definitions/Bot MD Tags"
        - $ref: "/hospital/ProfileTags.schema#/definitions/Organization Keys"
        - $ref: "/hospital/ProfileTags.schema#/definitions/Department Tags"
      #end anyOf
    #end items
  #end tags

  country:
    title: Country
    description: Country where users in this directory are from. This is used to format the phone number in E.164 format in the event that the country code is not available. Use [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1) codes.
    type: string
    minLength: 2

  airtable:
    title: Airtable
    description: Settings for getting dialogues using `scalpel.externals.Airtable`.

    $ref: "/scalpel/TabularInterfaceSettings.schema#/definitions/TabularInterface"
  #end airtable

  nuhs:
    title: NUHS
    description: Settings for connecting to NUHS API. This is managed by GCTO.

    type: object
    additionalProperties: false
    required: [api_url, api_key]

    properties:
      api_url:
        title: URL
        description: URL for the API.
        type: string
        format: uri

      api_key:
        title: Key
        description: API key for authorization
        type: string
        minLength: 1
  #end nuhs

  ttsh:
    title: TTSH
    description: TTSH directory entries are read from S3.

    type: object
    additionalProperties: false
    required: [s3_url]

    properties:
      s3_url:
        title: S3 URL
        description: "The S3 URL of TTSH directory S3 bucket. Example: `s3://bucketname/prefix/path`."
        type: string
        format: uri
    #end properties
  #end ttsh
#end properties

[Main Page] [Schema Documentation] [Examples]