islandora.settings:
  type: config_object
  label: 'Islandora Core Settings'
  mapping:
    broker_url:
      type: string
      label: 'Url to connect to message broker'
    fedora_rest_endpoint:
      type: string
      label: 'Url to Fedora instance'
    broadcast_queue:
      type: string
      label: 'Queue that handles distributing messages amongst multiple recipients'
    jwt_expiry:
      type: string
      label: 'How long JWTs should last before expiring.'
    upload_form_location:
      type: string
      label: 'Upload Form Location'
    upload_form_allowed_mimetypes:
      type: string
      label: 'Upload Form Allowed Extensions'
    gemini_url:
      type: uri
      label: 'Url to Gemini microservice'
    gemini_pseudo_bundles:
      type: sequence
      label: 'List of node, media and taxonomy terms that should include the linked Fedora URI'
      sequence:
        type: string


action.configuration.emit_node_event:
  type: mapping
  label: 'Emit a Node event to a queue/topic'
  mapping:
    queue:
      type: text
      label: 'Queue'
    event:
      type: text
      label: 'Event Type'

action.configuration.emit_media_event:
  type: mapping
  label: 'Emit a Media event to a queue/topic'
  mapping:
    queue:
      type: text
      label: 'Queue'
    event:
      type: text
      label: 'Event Type'

action.configuration.emit_file_event:
  type: mapping
  label: 'Emit a File event to a queue/topic'
  mapping:
    queue:
      type: text
      label: 'Queue'
    event:
      type: text
      label: 'Event Type'

action.configuration.emit_term_event:
  type: mapping
  label: 'Emit a Taxonomy Term event to a queue/topic'
  mapping:
    queue:
      type: text
      label: 'Queue'
    event:
      type: text
      label: 'Event Type'

action.configuration.delete_media_and_file:
  type: action_configuration_default
  label: 'Delete media and file'

condition.plugin.node_has_term:
  type: condition.plugin
  mapping:
    uri:
      type: text
      label: 'Taxonomy Term URI'
    logic:
      type: string
      label: 'Logic (AND or OR)'

condition.plugin.node_has_parent:
  type: condition.plugin
  mapping:
    parent_nid:
      type: integer
      label: 'Parent node'
    parent_reference_field:
      type: string
      label: 'Parent reference field'

condition.plugin.media_has_term:
  type: condition.plugin
  mapping:
    uri:
      type: text
      label: 'Taxonomy Term URI'
    logic:
      type: string
      label: 'Logic (AND or OR)'

condition.plugin.parent_node_has_term:
  type: condition.plugin
  mapping:
    uri:
      type: text
      label: 'Taxonomy Term URI'
    logic:
      type: string
      label: 'Logic (AND or OR)'

condition.plugin.file_uses_filesystem:
  type: condition.plugin
  mapping:
    filesystems:
      type: sequence
      sequence:
        type: string

condition.plugin.media_uses_filesystem:
  type: condition.plugin
  mapping:
    filesystems:
      type: sequence
      sequence:
        type: string

condition.plugin.media_has_mimetype:
  type: condition.plugin
  mapping:
    mimetypes:
      type: text
      label: 'Mime types'

condition.plugin.content_entity_type:
  type: condition.plugin
  mapping:
    types:
      type: sequence
      sequence:
        type: string

condition.plugin.node_had_namespace:
  type: condition.plugin
  mapping:
    namespace:
      type: text
      label: 'Namespace'
    pid_field:
      type: ignore
      label: 'PID field'

field.formatter.settings.islandora_image:
  type: mapping
  label: 'Image field display format settings'
  mapping:
    image_link:
      type: string
      label: 'Link image to'
    image_style:
      type: string
      label: 'Image style'