eclipse-tractusx / sig-release

https://eclipse-tractusx.github.io/sig-release
Apache License 2.0
8 stars 8 forks source link

Simplification of Semantic Model API Endpoints due to Standard#0003 #827

Open jjeroch opened 1 month ago

jjeroch commented 1 month ago

Description: We need to simplify our API endpoints for semantic models by removing the model type attribute/parameter. As per the latest standard defined in the document CX-0003-SAMMSemanticAspectMetaModel-v1.1.0, only SAMM (Semantic Aspect Meta Model) types will be supported going forward. Hence, the attribute that specifies the semantic model type in API requests and responses is no longer necessary and should be removed to reflect this change.

Acceptance Criteria:

  1. The type parameter should be removed from all API endpoints that currently include it.
  2. The API documentation should be updated to reflect the removal of the type parameter.
  3. All API responses should no longer include the type attribute in the JSON body.
  4. Ensure that all associated functionality (filtering, sorting, etc.) that relies on the type parameter is either removed or adjusted to work without it.
  5. Conduct thorough testing to confirm that the API endpoints function correctly after the removal of the type parameter.
  6. Update any internal or external clients that consume these endpoints to ensure they are compatible with the changes.

Affected Endpoints:

Tasks:

  1. Review the relevant API code to identify all instances where the type attribute is used.
  2. Modify the API endpoint handlers to remove the type attribute from the request and response handling logic.
  3. Update unit and integration tests to align with the changes.
  4. Update API documentation and any example requests and responses to ensure they no longer include the type attribute.
  5. Perform regression testing to ensure API stability post-changes.
  6. Communicate changes to all stakeholders and update any affected systems or documentation that references the old API structure.

Test Cases for Simplification of Semantic Model API Endpoints

Test Cases for Simplified Semantic Model API Endpoints

Test Case 1: Verify Removal of type Parameter in POST Request

Test Case 2: Verify GET List Endpoint Without type Parameter

Test Case 3: Verify PUT Endpoint Without type Parameter

Test Case 4: Verify GET Individual Model Endpoint Functionality

Test Case 5: Verify PUT Individual Model Endpoint Functionality

Test Case 6: Confirm Filtering Without type Parameter

Test Case 7: Validate API Documentation Update

Test Case 8: Backward Compatibility Check

Test Case 9: Error Handling for type Parameter

Test Case 10: Comprehensive Regression Testing


Additional Information

Milestones

jSchuetz88 commented 1 month ago

Hi @jjeroch, there are currently still 5 standardised BAMM models that have not yet been updated. Could this be a possible blocker / dependency for this issue?

stephanbcbauer commented 1 month ago

@jjeroch @MaximilianHauer not sure about this feature. Should it be part of tomorrow's presentation? ⇾ Since the status is still Inbox