|
| 1 | +# Server Development Status |
| 2 | + |
| 3 | +> [!warning] |
| 4 | +> This README tracks the development progress of the server's endpoints. Endpoints are sorted based on the |
| 5 | +> specification's services (Submodel, AASX File Server, ...). |
| 6 | +
|
| 7 | +- **Implemented (✅)**: Currently available, but **not necessarily fully functional**. |
| 8 | +- **Planned (📅)**: Scheduled for future implementation. |
| 9 | +- **Not Planned (❌)**: Currently not scheduled for implementation. |
| 10 | + |
| 11 | +> [!warning] |
| 12 | +> The project is WIP and endpoints might be declared as 'Implemented' whilst still having issues. |
| 13 | +
|
| 14 | +> Operation Parameters (e.g. level, content, extent) are generally not supported at the moment. |
| 15 | +
|
| 16 | + |
| 17 | +Below is the status table for the endpoints, organized as specified. Content parameters (/$reference, /$metadata, etc.) |
| 18 | +will be implemented as separate routes, but are not listed in this table as it's a simple suffix and does only affect |
| 19 | +serialization settings. |
| 20 | + |
| 21 | +## AAS Service |
| 22 | +| Endpoint | Operation | Description | Status | |
| 23 | +|------------------------------------------------------------|-----------|-------------------------------------------------------------------------|--------| |
| 24 | +| `/aas/shells` | GET | Returns all Asset Administration Shells | ✅ | |
| 25 | +| `/aas/shells` | POST | Creates a new Asset Administration Shell | ✅ | |
| 26 | +| `/aas/shells/{aas_identifier}` | GET | Returns an Asset Administration Shell by ID | ✅ | |
| 27 | +| `/aas/shells/{aas_identifier}` | PUT | Updates an existing Asset Administration Shell | ✅ | |
| 28 | +| `/aas/shells/{aas_identifier}` | DELETE | Deletes an Asset Administration Shell | ✅ | |
| 29 | +| `/aas/shells/{aas_identifier}/asset-information` | GET | Returns the Asset Information of a specific Asset Administration Shell | ✅ | |
| 30 | +| `/aas/shells/{aas_identifier}/asset-information` | PUT | Replaces the Asset Information of a specific Asset Administration Shell | ✅ | |
| 31 | +| `/aas/shells/{aas_identifier}/asset-information/thumbnail` | GET | Returns the thumbnail file of the Asset Information | ✅ | |
| 32 | +| `/aas/shells/{aas_identifier}/asset-information/thumbnail` | PUT | Replaces the thumbnail file of the Asset Information | ✅ | |
| 33 | +| `/aas/shells/{aas_identifier}/asset-information/thumbnail` | DELETE | Deletes the thumbnail file of the Asset Information | ✅ | |
| 34 | + |
| 35 | + |
| 36 | +## Submodel Service |
| 37 | +| Endpoint | Operation | Description | Status | |
| 38 | +|--------------------------------------------------------------------------------------|-----------|--------------------------------------------------------------------------|--------| |
| 39 | +| `/submodels` | GET | Retrieve all submodels | ✅ | |
| 40 | +| `/submodels` | POST | Create a new submodel | ✅ | |
| 41 | +| `/submodels/{submodel_id}` | GET | Retrieve a submodel by ID | ✅ | |
| 42 | +| `/submodels/{submodel_id}` | PUT | Replace a submodel by ID | ✅ | |
| 43 | +| `/submodels/{submodel_id}` | PATCH | Update a submodel by ID | 📅 | |
| 44 | +| `/submodels/{submodel_id}` | DELETE | Delete a submodel by ID | ✅ | |
| 45 | +| `/submodels/{submodel_id}/submodel-elements` | GET | Retrieve all elements of a specific submodel | ✅ | |
| 46 | +| `/submodels/{submodel_id}/submodel-elements` | POST | Create new elements in a specific submodel | 📅 | |
| 47 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}` | GET | Retrieve specific elements by short ID in a submodel | ✅ | |
| 48 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}` | POST | Create specific elements by short ID in a submodel | ✅ | |
| 49 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}` | PUT | Update specific elements by short ID in a submodel | ✅ | |
| 50 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}` | DELETE | Delete specific elements by short ID in a submodel | ✅ | |
| 51 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}` | PATCH | Partially update specific elements by short ID in a submodel | ❌ | |
| 52 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}/attachment` | GET | Retrieve attachments of specific elements by short ID | 📅 | |
| 53 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}/attachment` | PUT | Update attachments of specific elements by short ID | 📅 | |
| 54 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}/attachment` | DELETE | Delete attachments of specific elements by short ID | 📅 | |
| 55 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}/invoke` | POST | Invoke operations on specific elements by short ID | ❌ | |
| 56 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}/invoke-async` | POST | Asynchronously invoke operations on specific elements by short ID | ❌ | |
| 57 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}/qualifiers` | GET | Retrieve qualifiers for specific elements by short ID | 📅 | |
| 58 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}/qualifiers` | POST | Add qualifiers to specific elements by short ID | 📅 | |
| 59 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}/qualifiers/{qualifier_type}` | GET | Retrieve qualifiers of a specific type for specific elements by short ID | 📅 | |
| 60 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}/qualifiers/{qualifier_type}` | PUT | Update qualifiers of a specific type for specific elements by short ID | 📅 | |
| 61 | +| `/submodels/{submodel_id}/submodel-elements/{id_shorts}/qualifiers/{qualifier_type}` | DELETE | Delete qualifiers of a specific type for specific elements by short ID | 📅 | |
| 62 | + |
| 63 | +## AASX File Server Interface and Operations |
| 64 | +| Endpoint | Operation | Description | Status | |
| 65 | +|---------------------------|-----------|----------------------------------------------------|--------| |
| 66 | +| `/aasx` | GET | Returns all available AASX packages at the server. | ✅ | |
| 67 | +| `/aasx/{aasx_package_id}` | GET | Returns a specific AASX package from the server. | ✅ | |
| 68 | +| `/aasx` | POST | Creates an AASX package at the server. | ✅ | |
| 69 | +| `/aasx` | PUT | Replaces the AASX package at the server. | ✅ | |
| 70 | +| `/aasx/{aasx_package_id}` | DELETE | Deletes a specific AASX package at the server. | ✅ | |
| 71 | + |
| 72 | +## AAS Registry Service |
| 73 | +| Endpoint | Operation | Description | Status | |
| 74 | +|--------------------------------------|-----------|----------------------------------------------------|--------| |
| 75 | +| `/registry/aas-descriptors` | GET | Returns all Asset Administration Shell Descriptors | ✅ | |
| 76 | +| `/registry/aas-descriptors/{aas_id}` | GET | Returns an AAS Descriptor by ID | ✅ | |
| 77 | +| `/registry/aas-descriptors` | POST | Creates an AAS Descriptor | ✅ | |
| 78 | +| `/registry/aas-descriptors/{aas_id}` | PUT | Updates an AAS Descriptor | ✅ | |
| 79 | +| `/registry/aas-descriptors/{aas_id}` | DELETE | Deletes an AAS Descriptor | ✅ | |
| 80 | + |
| 81 | +## Submodel Registry Service |
| 82 | +| Endpoint | Operation | Description | Status | |
| 83 | +|------------------------------------------------|-----------|-------------------------------------|--------| |
| 84 | +| `/registry/submodel-descriptors` | GET | Returns all Submodel Descriptors | ✅ | |
| 85 | +| `/registry/submodel-descriptors/{submodel_id}` | GET | Returns a Submodel Descriptor by ID | ✅ | |
| 86 | +| `/registry/submodel-descriptors` | POST | Creates a Submodel Descriptor | ✅ | |
| 87 | +| `/registry/submodel-descriptors/{submodel_id}` | PUT | Updates a Submodel Descriptor | ✅ | |
| 88 | +| `/registry/submodel-descriptors/{submodel_id}` | DELETE | Deletes a Submodel Descriptor | ✅ | |
| 89 | + |
| 90 | +## Discovery Service |
| 91 | +| Endpoint | Operation | Description | Status | |
| 92 | +|-----------------------------------|-----------|--------------------------------------|--------| |
| 93 | +| `/discovery/aas-ids` | GET | Returns all AAS IDs by an Asset Link | 📅 | |
| 94 | +| `/discovery/asset-links/{aas_id}` | GET | Returns all Asset Links by an AAS ID | 📅 | |
| 95 | +| `/discovery/asset-links/{aas_id}` | POST | Posts new Asset Links | 📅 | |
| 96 | +| `/discovery/asset-links/{aas_id}` | DELETE | Deletes Asset Links | 📅 | |
| 97 | + |
| 98 | +## AAS Repository Service |
| 99 | +| Endpoint | Operation | Description | Status | |
| 100 | +|--------------------------------------------|-----------|---------------------------------------------|--------| |
| 101 | +| `/shells` | GET | Returns all Asset Administration Shells | 📅 | |
| 102 | +| `/shells/{aas_id}` | GET | Returns an Asset Administration Shell by ID | 📅 | |
| 103 | +| `/shells/{aas_id}` | PUT | Updates an Asset Administration Shell by ID | 📅 | |
| 104 | +| `/shells/{aas_id}` | DELETE | Deletes an Asset Administration Shell by ID | 📅 | |
| 105 | +| `/shells/{aas_id}/asset-information` | GET | Returns Asset Information for an AAS | 📅 | |
| 106 | +| `/shells/{aas_id}/submodels` | GET | Returns all Submodels for an AAS | 📅 | |
| 107 | +| `/shells/{aas_id}/submodels/{submodel_id}` | GET | Returns a Submodel by ID for an AAS | 📅 | |
| 108 | + |
| 109 | +## Submodel Repository Service |
| 110 | +| Endpoint | Operation | Description | Status | |
| 111 | +|----------------------------|-----------|--------------------------|--------| |
| 112 | +| `/submodels` | GET | Returns all Submodels | 📅 | |
| 113 | +| `/submodels/{submodel_id}` | GET | Returns a Submodel by ID | 📅 | |
| 114 | +| `/submodels/{submodel_id}` | PUT | Updates a Submodel by ID | 📅 | |
| 115 | +| `/submodels/{submodel_id}` | DELETE | Deletes a Submodel by ID | 📅 | |
| 116 | + |
| 117 | +## ConceptDescription Repository Service |
| 118 | +| Endpoint | Operation | Description | Status | |
| 119 | +|--------------------------------------|-----------|-------------------------------------|--------| |
| 120 | +| `/concept-descriptions` | GET | Returns all Concept Descriptions | 📅 | |
| 121 | +| `/concept-descriptions/{concept_id}` | GET | Returns a Concept Description by ID | 📅 | |
| 122 | +| `/concept-descriptions/{concept_id}` | POST | Creates a new Concept Description | 📅 | |
| 123 | +| `/concept-descriptions/{concept_id}` | PUT | Updates a Concept Description by ID | 📅 | |
| 124 | +| `/concept-descriptions/{concept_id}` | DELETE | Deletes a Concept Description by ID | 📅 | |
| 125 | + |
| 126 | + |
| 127 | +## SerializationModifiers |
| 128 | +### Level |
| 129 | +| Value | Status | |
| 130 | +|-------|--------| |
| 131 | +| Deep | ❌ | |
| 132 | +| Core | ❌ | |
| 133 | +### Content |
| 134 | +| Value | Status | |
| 135 | +|-----------|--------| |
| 136 | +| Normal | ❌ | |
| 137 | +| Reference | ❌ | |
| 138 | +| Value | ❌ | |
| 139 | +| Path | ❌ | |
| 140 | +### Extent |
| 141 | +| Value | Status | |
| 142 | +|------------------|--------| |
| 143 | +| WithoutBLOBValue | ❌ | |
| 144 | +| WithBLOBValue | ❌ | |
0 commit comments