Commit fdd14b26 authored by Ignacio Dominguez Martinez-Casanueva's avatar Ignacio Dominguez Martinez-Casanueva
Browse files

Add Attributes API

parent 31d34510
Loading
Loading
Loading
Loading
+202 −97
Original line number Original line Diff line number Diff line
@@ -1415,6 +1415,204 @@ paths:
                      $ref: '#/components/schemas/EntityTemporal'
                      $ref: '#/components/schemas/EntityTemporal'
        400:
        400:
          $ref: '#/components/responses/BadRequest'
          $ref: '#/components/responses/BadRequest'
  /types:
    get:
      tags:
        - Core API
        - Context Information Consumption
      summary: Retrieve available entity types
      description: 5.7.5 Retrieve Available Entity Types
      operationId: retrieveTypes
      parameters:
        # Query params
        - name: details
          in: query
          description: |
            If true, then detailed entity type information represented as an array with
            elements of the Entity Type data structure (clause 5.2.25) is to be returned.
          style: form
          explode: true
          schema:
            type: boolean
          required: false
        # Request headers
        - $ref: '#/components/parameters/Headers.ngsildTenant'
      responses:
        200:
          description: |
            A response body containing the JSON-LD representation of the EntityTypeList
            (clause 5.2.24) is to be returned, unless details=true is specified.

            If details=true is specified, a response body containing a JSON-LD array
            with elements of the EntityType data structure (clause 5.2.25) is to be returned.
          content:
            application/json:
              schema:
                oneOf:
                  - type: array
                    items:
                      $ref: '#/components/schemas/EntityTypeList'
                  - type: array
                    items:
                      $ref: '#/components/schemas/EntityType'
            application/json+ld:
              schema:
                oneOf:
                  - allOf:
                    - type: object
                      required:
                        - '@context'
                      properties:
                        '@context':
                          $ref:  '#/components/schemas/LdContext'
                    - type: array
                      items:
                        $ref: '#/components/schemas/EntityTypeList'
                  - allOf:
                    - type: object
                      required:
                        - '@context'
                      properties:
                        '@context':
                          $ref:  '#/components/schemas/LdContext'
                    - type: array
                      items:
                        $ref: '#/components/schemas/EntityType'
        400:
          $ref: '#/components/responses/BadRequest'
  /types/{type}:
    get:
      tags:
        - Core API
        - Context Information Consumption
      summary: Retrieve available entity type info
      description: 5.7.7 Retrieve Available Entity Type Information
      operationId: retrieveTypeInfo
      parameters:
        # Path params
        - $ref: '#/components/parameters/Path.type'
        # Request headers
        - $ref: '#/components/parameters/Headers.ngsildTenant'
      responses:
        200:
          description: |
            A response body containing the JSON-LD representation of
            the detailed information about the available entity type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityTypeInfo'
            application/json+ld:
              schema:
                allOf:
                  - type: object
                    required:
                      - '@context'
                    properties:
                      '@context':
                        $ref:  '#/components/schemas/LdContext'
                  - $ref: '#/components/schemas/EntityTypeInfo'
        400:
          $ref: '#/components/responses/BadRequest'
        404:
          $ref: '#/components/responses/NotFound'
  /attributes:
    get:
      tags:
        - Core API
        - Context Information Consumption
      summary: Retrieve Available Attributes
      description: 5.7.8 Retrieve Available Attributes
      operationId: retrieveAttributes
      parameters:
        # Query params
        - name: details
          in: query
          description: |
            If true, then detailed attribute information represented as an array
            with elements of the Attribute data structure (clause 5.2.28) is to be returned.
          style: form
          explode: true
          schema:
            type: boolean
          required: false
        # Request headers
        - $ref: '#/components/parameters/Headers.ngsildTenant'
      responses:
        200:
          description: |
            A response body containing the JSON-LD representation of the AttributeList
            (clause 5.2.27) is to be returned, unless details=true is specified.

            If details=true is specified, a response body containing a JSON-LD array
            with elements of the Attribute data structure (clause 5.2.28) is to be returned.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/AttributeList'
                  - type: array
                    items:
                      $ref: '#/components/schemas/Attribute'
            application/json+ld:
              schema:
                oneOf:
                  - allOf:
                    - type: object
                      required:
                        - '@context'
                      properties:
                        '@context':
                          $ref:  '#/components/schemas/LdContext'
                    - $ref: '#/components/schemas/AttributeList'
                  - allOf:
                    - type: object
                      required:
                        - '@context'
                      properties:
                        '@context':
                          $ref:  '#/components/schemas/LdContext'
                    - type: array
                      items:
                        $ref: '#/components/schemas/Attribute'
        400:
          $ref: '#/components/responses/BadRequest'
  /attributes/{attrId}:
    get:
      tags:
        - Core API
        - Context Information Consumption
      summary: Retrieve Available Attribute Information
      description: 5.7.10 Retrieve Available Attribute Information
      operationId: retrieveAttrInfo
      parameters:
        # Path params
        - $ref: '#/components/parameters/Path.attrId'
        # Request headers
        - $ref: '#/components/parameters/Headers.ngsildTenant'
      responses:
        200:
          description: |
            A response body containing the JSON-LD representation of
            the detailed information about the available attribute.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Attribute'
            application/json+ld:
              schema:
                allOf:
                  - type: object
                    required:
                      - '@context'
                    properties:
                      '@context':
                        $ref:  '#/components/schemas/LdContext'
                  - $ref: '#/components/schemas/Attribute'
        400:
          $ref: '#/components/responses/BadRequest'
        404:
          $ref: '#/components/responses/NotFound'
  /jsonldContexts:
  /jsonldContexts:
    post:
    post:
      tags:
      tags:
@@ -1548,103 +1746,7 @@ paths:
          $ref: '#/components/responses/NotFound'
          $ref: '#/components/responses/NotFound'
        503:
        503:
          $ref: '#/components/responses/ServiceUnavailable'
          $ref: '#/components/responses/ServiceUnavailable'
  /types:
    get:
      tags:
        - Core API
        - Context Information Consumption
      summary: Retrieve available entity types
      description: 5.7.5 Retrieve Available Entity Types
      operationId: retrieveTypes
      parameters:
        # Query params
        - name: details
          in: query
          description: |
            If true, then detailed entity type information represented as an array with
            elements of the Entity Type data structure (clause 5.2.25) is to be returned.
          style: form
          explode: true
          schema:
            type: boolean
          required: false
        # Request headers
        - $ref: '#/components/parameters/Headers.ngsildTenant'
      responses:
        200:
          description: |
            A response body containing the JSON-LD representation of the EntityTypeList
            (clause 5.2.24) is to be returned, unless details=true is specified.


            If details=true is specified, a response body containing a JSON-LD array
            with elements of the EntityType data structure (clause 5.2.25) is to be returned.
          content:
            application/json:
              schema:
                oneOf:
                  - type: array
                    items:
                      $ref: '#/components/schemas/EntityTypeList'
                  - type: array
                    items:
                      $ref: '#/components/schemas/EntityType'
            application/json+ld:
              schema:
                oneOf:
                  - allOf:
                    - type: object
                      required:
                        - '@context'
                      properties:
                        '@context':
                          $ref:  '#/components/schemas/LdContext'
                    - type: array
                      items:
                        $ref: '#/components/schemas/EntityTypeList'
                  - allOf:
                    - type: object
                      required:
                        - '@context'
                      properties:
                        '@context':
                          $ref:  '#/components/schemas/LdContext'
                    - type: array
                      items:
                        $ref: '#/components/schemas/EntityType'
        400:
          $ref: '#/components/responses/BadRequest'
  /types/{type}:
    get:
      tags:
        - Core API
        - Context Information Consumption
      summary: Retrieve available entity type info
      description: 5.7.7 Retrieve Available Entity Type Information
      operationId: retrieveTypeInfo
      parameters:
        # Path params
        - $ref: '#/components/parameters/Path.type'
        # Request headers
        - $ref: '#/components/parameters/Headers.ngsildTenant'
      responses:
        200:
          description: |
            A response body containing the JSON-LD representation of
            the detailed information about the available entity type.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityTypeInfo'
            application/json+ld:
              schema:
                allOf:
                  - type: object
                    required:
                      - '@context'
                    properties:
                      '@context':
                        $ref:  '#/components/schemas/LdContext'
                  - $ref: '#/components/schemas/EntityTypeInfo'
components:
components:
  headers:
  headers:
    Location:
    Location:
@@ -1681,7 +1783,10 @@ components:
    Path.attrId:
    Path.attrId:
      name: attrId
      name: attrId
      in: path
      in: path
      description: Attribute name (Property or Relationship).
      description: |
        Name of the attribute for which detailed information is to be retrieved.
        The Fully Qualified Name (FQN) as well as the short name can be used,
        given that the latter is part of the JSON-LD @context provided.
      schema:
      schema:
        type: string
        type: string
      required: true
      required: true