Schema for Cleo Submission Comment

From SubmissionCommentContent.schema.yaml (cleo/SubmissionCommentContent.schema)

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

title: Submission Comment
description: Content schema for submission comment.

oneOf:
  - type: object
    required: [content]
    additionalProperties: false

    properties:
      content:
        title: Content
        description: Content in markup language.
        type: string
        minLength: 1

      entities:
        title: Entities
        description: Array of entities that are "tagged" in the submission.

        type: array
        items:
          type: object
          additionalProperties: false
          oneOf:
            - required: [type, start, length, clinician]

          properties:
            type:
              title: Type
              description: The entity type being tagged.
              enum: [clinician]

            start:
              title: Start
              description: Start index of the entity in the `content`. Starts from `0`.
              type: integer
              minimum: 0

            length:
              title: Length
              description: Length of the entity in the `content`.
              type: integer
              minimum: 1

            clinician:
              title: Clinician
              description: Information about the clinician being tagged.

              type: object
              required: [uid]
              additionalProperties: false

              properties:
                uid:
                  title: UID
                  description: UID of clinician.

                  type: string
                  minLength: 1

                name:
                  title: Name
                  description: Name of clinician. Note that this is set by the client (i.e., frontend), it will not be updated by the backend and is thus not a trustworthy source of the most up-to-date name of the clinician. A reasonable alternative will be the `taggedClinicians` field on the `cleoSubmissionComment` GQL type. Thus, this field is optional and is used for display purposes only.
                  type: string
                  minLength: 1
              #end properties
            #end clinician
          #end properties
        #end items
      #end entities
    #end properties

  - $ref: "/skeleton/NonEmptyString.schema" # For legacy comments
#end oneOf

[Main Page] [Schema Documentation] [Examples]