Skip to content

server/app/interfaces/repository.py: Implement missing /submodels/{submodelIdentifier}/submodel-elements endpoints #530

@moritzsommer

Description

@moritzsommer

Current Situation

Currently, several server endpoints under /submodels/{submodelIdentifier}/submodel-elements are not implemented:

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

According to the Submodel Repository Service OpenAPI Specification, the GET /submodels/{submodelIdentifier}/submodel-elements/$value endpoint should return all Submodel Elements including their hierarchy in the value only representation.

[...]
responses:
        '200':
          description: List of found submodel elements
          content:
            application/json:
              schema:
                $ref: 'https://api.swaggerhub.com/domains/Plattform_i40/Part2-API-Schemas/V3.0.1#/components/schemas/GetSubmodelElementsValueResult'
[...]

The GET /submodels/{submodelIdentifier}/submodel-elements/$path endpoint should return all Submodel Elements including their hierarchy in path notation.

[...]
responses:
        '200':
          description: List of found submodel elements in the Path notation
          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}/submodel-elements/{idShortPath} endpoint should update an existing Submodel Element.

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

This issue specifies #439.

Proposed Change

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureA new featureserverSomething to do with the `server` package

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions