making changes in schema-core for system API
This is the last MR to implement ADR: #51 Find the API description here: #67
Previously merged MRs:
Interface changes in schema-core- !145 (merged)
Implementing interfaces in azure- !146 (merged)
Implementing interfaces in other CSPs- !153 (merged)
This MR contains following changes-
Changes in schema-core
- The interfaces such as
IAuthorityService
,IEntityTypeService
have been updated to include methods for handling system operations, such as creating authority for system schemas etc. - New API controller has been added
- The
SchemaService
class has been updated to handle systemSchema related requests. This class contains core logic and some major refactoring has been done. Minor refactoring in util classes - Main theme of the changes in schemaService class is that all the method calls for
common
partition have been replaced by system method calls of underlying interfaces. To avoid duplication, some code refactoring has been done. - New
AuthorizationFilter
has been introduced for service principal autorization. Most of the code has been borrowed from partition service https://community.opengroup.org/osdu/platform/system/partition/-/blob/master/partition-core/src/main/java/org/opengroup/osdu/partition/auth/AuthorizationFilter.java - Updated Unit tests
Provider specfic changes
- For each provider, the
AuthorizationServiceForServicePrincipalImpl
has been implemented. Logic has been borrowed from partition service. - Bootstrapping script has been updated to use the new schemas/system API
- Cleanup for azure
Integration tests
- Integration tests have been added under schema-test-core and available for all the CSPs. The tests are more or less same as the PUT /schema API
Documentation
- The API documentation has been updated
Edited by Aman Verma