openapi: 3.0.1
tags:
  - name: code loading
servers:
  - url: 'http://localhost:3000'
info:
  title: UI Middleware
  version: 1.0.0
  description: Micro service that collects manifest files from different services and merge them into a single file
  contact:
    email: ui-team@open-xchange.com
paths:
  /manifests:
    get:
      operationId: manifests_get
      tags:
        - code loading
      summary: App Suite UI compatible version of manifests data
      description:
        Manifest data prepared for consumption by App Suite UI. The data
        can be used to determine the timing when to load certain files
        from the server and depending on the users configuration also if
        the files should be loaded at all.
      responses:
        '200':
          description: manifests data in JSON format
          headers:
            version:
              schema:
                type: string
              description: The version of the manifest files
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - namespace
                    - path
                  properties:
                    namespace:
                      type: string
                      example: core
                    title:
                      type: string
                      example: switchboard
                    settings:
                      type: boolean
                      example: true
                    index:
                      type: integer
                      example: 100
                    path:
                      type: string
                      example: io.ox/switchboard/extensions
                    requires:
                      type: string
                      example: switchboard
                    device:
                      type: string
                      example: '!smartphone'
  /dependencies:
    get:
      operationId: dependencies_get
      tags:
        - code loading
      summary: Mapping of all files to all of its dependencies
      description:
        The data can be used to construct a dependency tree for any given file of a project.
      responses:
        '200':
          description: dependency information for all files of the manifest
          headers:
            version:
              schema:
                type: string
              description: The version of the manifest files
          content:
            application/json:
              schema:
                type: object
                properties:
                  dependency:
                    type: array
                    items:
                      type: string
