Schema for Heimdall Application Settings

From ApplicationSettings.schema.yaml (heimdall/ApplicationSettings.schema)

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

title: Application Settings
description: >-
  `ProviderApplication.application_settings` are used by backend to communicate with the authentication providers.
  This field will not be exposed to frontend.

type: object
additionalProperties: true

properties:
  allowed_redirects:
    title: Allowed Redirects
    description: List of canonical URLs allowed by the login frontend to redirect to after authentication.

    type: array
    uniqueItems: true
    items:
      type: string
      format: uri
    #end items
  #end allowed_redirects

  scopes:
    title: Scopes
    description: Overrides the session scopes defined in the class. This is used by `GovernessUserApplication` and `HospitalHeimdallApplication`.
    $ref: SessionScopes.schema
  #end domain

  issues_temporary_sessions:
    title: Issues Temporary Sessions
    description: If true, this instance of the application issues temporary session tokens only. Defaults to false. Temporary tokens last 60 seconds by default.
    default: false
    type: boolean

  session_duration:
    title: Session Duration
    description: Overrides the session duration defined in the class. This is used by `GovernessUserApplication` and `HospitalHeimdallApplication`.

    type: number
    minimum: 3600
  #end session_duration

  native_session_duration:
    title: Native Session Duration
    description: Overrides the native session duration defined in the class. This is used by `HospitalHeimdallApplication`. Defaults to `sesion_duration`.

    type: number
    minimum: 3600
  #end native_session_duration

  web_session_duration:
    title: Web Session Duration
    description: Overrides the web session duration defined in the class. This is used by `HospitalHeimdallApplication`. Defaults to 10800.

    type: number
    minimum: 3600
    maximum: 86400
  #end web_session_duration

  allowed_test_phones:
    title: Test phone numbers
    description: Allowed test phone numbers. This is used by `TestApplication`.

    type: array
    items:
      type: string
  #end allowed_test_phones

  cleo:
    title: Cleo
    description: Settings for `CleoHeimdallApplication`.

    type: object
    required: []
    additionalProperties: false

    properties:
      use_temporary_session:
        title: Use Temporary Session
        description: CleoHeimdallApplication will issue temporary sessions when used from the login page. This setting defaults to `true` and will be deprecated when temporary sessions are in use on production.

        type: boolean
      #end use_temporary_session

      additional_scopes:
        title: Scopes
        description: Additional scopes for session.
        $ref: SessionScopes.schema
  #end cleo

  chemocalc:
    title: Chemocalc
    description: Settings for `ChemocalcHeimdallApplication`.

    type: object
    required: []
    additionalProperties: false

    properties:
      hospital_profile_uid:
        title: Hospital Profile UID
        description: Session generated from ChemocalcHeimdallApplication will be stored under this hospital profile.

        type: string
        minLength: 1

  faraday:
    title: Faraday
    description: Settings for `FaradayHeimdallApplication`.

    type: object
    required: []
    additionalProperties: false

    properties:
      approval_emails:
        title: Approval Emails
        description: Email that is allowed to access Faraday's approval page.

        type: array
        items:
          type: string
#end properties

[Main Page] [Schema Documentation] [Examples]