Commit 47cb5363 authored by daniel-gonzalez-sanchez's avatar daniel-gonzalez-sanchez
Browse files

Including new operations for new endpoint paths /entityMap/{entityMapId} and /info/sourceIdentity.

parent 1dff2a9f
Loading
Loading
Loading
Loading
+183 −1
Original line number Diff line number Diff line
@@ -2682,6 +2682,181 @@ paths:
            It is used when re-downloading fails.
          $ref: '#/components/responses/GatewayTimeout' 

  /entityMap/{entityMapId}:
    get:
      tags:
        - Entity Map Operations
      summary: |
        EntityMap Retrieval by id 
      description:  |
        5.14.1 Retrieve EntityMap.

        With this operation a client can obtain a cached EntityMap which is currently stored in the broker's internal storage, or memory.
      operationId: retrieveEntityMap
      parameters:
        # Path params
        - $ref: '#/components/parameters/Path.entityMapId'
        # Request headers
        - $ref: '#/components/parameters/Headers.Link'
        - $ref: '#/components/parameters/Headers.ngsildTenant'
      responses:
        '200':
          description: |
            A response body containing the JSON-LD representation of the target entity.
          headers:
            NGSILD-Tenant:
              $ref: '#/components/headers/NGSILD-Tenant'
            NGSILD-Warning:
              $ref: '#/components/headers/NGSILD-Warning'
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/EntityMap'
                  - required:
                    - type
            application/json+ld:
              schema:
                allOf:
                  - type: object
                    properties:
                      '@context':
                        $ref:  '#/components/schemas/LdContext'
                  - $ref: '#/components/schemas/EntityMap'
                  - required:
                      - type
                      - '@context'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      tags:
        - Entity Map Operations
      summary: |
        EntityMap Update by id
      description: |
        5.14.2 Update EntityMap.

        This operation allows performing a partial update on an NGSI-LD EntityMap. A partial update only changes the
        elements provided in the EntityMap, leaving the rest as they are.
      operationId: updateEntityMap
      parameters:
        # Path params
        - $ref: '#/components/parameters/Path.entityMapId'
        # Request headers
        - $ref: '#/components/parameters/Headers.Link'
        - $ref: '#/components/parameters/Headers.ngsildTenant'
      requestBody:
        description: |
          Payload body in the request contains a JSON-LD object which represents the context source registration that is to be updated.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityMap'
          application/json+ld:
            schema:
              allOf:
                - type: object
                  properties:
                    '@context':
                      $ref:  '#/components/schemas/LdContext'
                - $ref: '#/components/schemas/EntityMap'
                - required:
                  - '@context'
      responses:
        '204':
          description: |
            The EntityMap was updated successfully.
          headers:
            NGSILD-Tenant:
              $ref: '#/components/headers/NGSILD-Tenant'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      tags:
        - Entity Map Operations
      summary: |
        EntityMap Deletion by id 
      description: |
        5.14.3 Delete EntityMap.

        This operation allows deleting an NGSI-LD EntityMap.
      operationId: deleteEntityMap
      parameters:
        # Path params
        - $ref: '#/components/parameters/Path.entityMapId'
        # Request headers
        - $ref: '#/components/parameters/Headers.Link'
        - $ref: '#/components/parameters/Headers.ngsildTenant'
      responses:
        '204':
          description: |
            No Content.
          headers:
            NGSILD-Tenant:
              $ref: '#/components/headers/NGSILD-Tenant'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'

  /info/sourceIdentity:
    get:
      tags:
        - Context Source Identity Information Operations
      summary: |
        Context Source Identity Retrieval 
      description:  |
        5.15.1 Retrieve Context Source Identity Information.

        With this operation, a client can obtain Context Source identity information which uniquely defines the Context Source itself. 
        In the multi-tenancy use case (see clause 4.14), a client can obtain identify information about a specific Tenant within a Context Source.
      operationId: retrieveCSIdentityInfo
      parameters:
        # Request headers
        - $ref: '#/components/parameters/Headers.Link'
        - $ref: '#/components/parameters/Headers.ngsildTenant'
      responses:
        '200':
          description: |
            A response body containing the JSON-LD representation of the Context Source Identity Information.
          headers:
            NGSILD-Tenant:
              $ref: '#/components/headers/NGSILD-Tenant'
            NGSILD-Warning:
              $ref: '#/components/headers/NGSILD-Warning'
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/ContextSourceIdentity'
                  - required:
                    - id
                    - type
                    - contextSourceUpTime
                    - contextSourceTimeAt
                    - contextSourceAlias
            application/json+ld:
              schema:
                allOf:
                  - type: object
                    properties:
                      '@context':
                        $ref:  '#/components/schemas/LdContext'
                  - $ref: '#/components/schemas/ContextSourceIdentity'
                  - required:
                      - id
                      - type
                      - contextSourceUpTime
                      - contextSourceTimeAt
                      - contextSourceAlias
                      - '@context'
        '501':
          $ref: '#/components/responses/NotImplemented'

components:
  headers:
    Location:
@@ -2766,7 +2941,14 @@ components:
    Path.entityId:
      name: entityId
      in: path
      description: Id (URI) of the entity to be retrieved.
      description: Id (URI) of the Entity to be retrieved, updated or deleted.
      schema:
        $ref: '#/components/schemas/Path'
      required: true
    Path.entityMapId:
      name: entityMapId
      in: path
      description: Id (URI) of the EntityMap to be retrieved, updated or deleted.
      schema:
        $ref: '#/components/schemas/Path'
      required: true