Skip to content

Added implementation for super Path endpoints - #195

Merged
mm-omdi merged 30 commits into
developfrom
1274-superPath
Aug 18, 2026
Merged

Added implementation for super Path endpoints #195
mm-omdi merged 30 commits into
developfrom
1274-superPath

Conversation

@mm-hsh

@mm-hsh mm-hsh commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

This pull request introduces several new API endpoints for handling submodel descriptors in the AAS Registry and Repository, updates test coverage for these endpoints, and makes minor improvements to variable and sequence management in the API collection. The main changes are the addition of endpoints to retrieve submodel descriptors by AAS ID and submodel ID, as well as comprehensive tests for these new features.

New API Endpoints for Submodel Descriptors:

  • Added Get Submodel Descriptors by aasId and Get Submodel Descriptor by submodelId and aasId endpoints to the AAS Registry collection, enabling retrieval of all or specific submodel descriptors for a given AAS (Get Submodel Descriptors by aasId.bru, Get Submodel Descriptor by submodelId and aasId.bru).
  • Added corresponding endpoints for the AAS Repository for multiple products, including fetching submodel descriptors, individual submodel descriptor elements by idShort, and all submodel elements by aasID (Get Submodel by submodelId and aaslId.bru, Get Submodel-element by idshort and aasID.bru, Get Submodel-elements by aasID.bru).

Test Coverage Improvements:

  • Enhanced ShellDescriptorControllerTests to cover the new endpoints, including tests for retrieving all submodel descriptors by AAS ID, fetching a specific submodel descriptor, handling missing submodels (404), and case-insensitive submodel ID matching.
    Variable and Environment Updates:

  • Added new variables for submodel identifiers for Product2 and Product3 and updated the pre-request script to include these variables in the environment (collection.bru).

  • Added a new environment configuration for DataEngineBaseUrl in the local network environment (local-net.bru).

Minor Improvements:

  • Updated URL parameter formatting for clarity in the Get All ShellDescriptors request.
  • Adjusted sequence numbers in several repository requests to maintain logical ordering.

These changes collectively improve the API's capability to manage and retrieve submodel descriptors and enhance test reliability for these features.

mm-hsh added 4 commits August 3, 2026 16:44
Introduce new REST endpoints for accessing submodel descriptors, submodels, and submodel elements via AAS identifiers. Update controllers, handlers, services, and DTOs to support these routes. Add validation to ensure submodels belong to the specified AAS. Extend unit and integration tests, dependency injection, and test definitions (.bru) for the new functionality. Improves API discoverability and AAS API conformance.
Centralize submodel query logic by introducing SubmodelQueryOptions for Level and Extent parameters. Add explicit validation for submodel ownership via ValidateSubmodelBelongsToAasAsync. Update handlers, services, unit tests, and .bru API definitions to use the new approach. Remove obsolete helpers and improve code clarity and maintainability.
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

mm-hsh added 5 commits August 4, 2026 17:08
- Updated the submodel identifier parameter in "Get Submodel by submodelId and aaslId.bru" to use a custom submodel identifier.
- Added query parameters for level and extent in "Get Submodel-element by idshort and aasID.bru".
- Introduced query parameters for limit and cursor in "Get Submodel-elements by aasID.bru".
- Implemented new API endpoints for retrieving file attachments by idShortPath and aasId.
- Updated existing endpoints to include new query parameters for level and extent.
- Added unit tests to validate the new functionality and ensure proper error handling.
@mm-hsh
mm-hsh marked this pull request as ready for review August 7, 2026 10:55
mm-hsh added 7 commits August 7, 2026 16:25
Replaced multiple parameters with GetShellsByAssetIdsRequest in controller, handler, and interface for improved maintainability. Updated method calls and logic to use the new request object. Applied null-safe access patterns to other handler methods and cleaned up unused using directives.
Added detailed logging for resource fetches, including decoded AAS and Submodel IDs. Updated LogRequestStart to log differently for "shell descriptors" by omitting the AAS Identifier, while other resources include it.
mm-hsh added 4 commits August 12, 2026 10:05
Changed submodel identifier matching from case-insensitive (OrdinalIgnoreCase) to case-sensitive (Ordinal) in ValidateSubmodelBelongsToAasAsync. Submodel IDs must now match exactly, including case.
mm-asha
mm-asha previously approved these changes Aug 13, 2026
@mm-omdi
mm-omdi marked this pull request as draft August 17, 2026 06:52
@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown

Test & Coverage Report

Test Results Summary

Metric Count
✅ Passed 1657
❌ Failed 0
⏭️ Skipped 0

View Detailed Test Results


Code Coverage

Unit Tests Coverage

Package Line Rate Branch Rate Complexity Health
AAS.TwinEngine.DataEngine 92% 77% 2322
Summary 92% (3736 / 4080) 77% (1512 / 1963) 2322

Minimum allowed line rate is 80%

Module Tests Coverage

Package Line Rate Branch Rate Complexity Health
AAS.TwinEngine.DataEngine 62% 43% 2322
Summary 62% (2539 / 4080) 43% (839 / 1963) 2322

@mm-omdi
mm-omdi marked this pull request as ready for review August 17, 2026 09:32
@mm-omdi
mm-omdi merged commit 98f1874 into develop Aug 18, 2026
10 checks passed
@mm-hsh
mm-hsh deleted the 1274-superPath branch August 25, 2026 04:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants