Skip to content

server/app/interfaces/repository.py: Implement missing /submodels endpoints #528

Description

@moritzsommer

Current Situation

Currently, several server endpoints under /submodels are not implemented:

"/$value", methods=["GET"], endpoint=self.not_implemented
"/$path", methods=["GET"], endpoint=self.not_implemented
"/<base64url:submodel_id>", methods=["PATCH"], endpoint=self.not_implemented

According to the Submodel Repository Service OpenAPI Specification, the GET /submodels/$value endpoint should return all Submodels in value only representation.

[...]
responses:
        '200':
          description: Requested Submodels
          content:
            application/json:
              schema:
                $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/GetSubmodelsValueResult'
[...]

The GET /submodels/$path endpoint should return all Submodels in their path notation.

[...]
responses:
        '200':
          description: Requested Submodels
          content:
            application/json:
              schema:
                $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/GetPathItemsResult'
[...]

The PATCH /submodels/{submodelIdentifier} endpoint should support the updating of existing submodels.

[...]
responses:
        '204':
          description: Submodel updated successfully
[...]

This issue specifies #439.

Proposed Change

We should evaluate and, if feasible, implement the three missing GET /submodels/$value, GET /submodels/$path and PATCH /submodels/{submodelIdentifier} endpoints according to the specification.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureA new featurehigh priorityserverSomething to do with the `server` package

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions