Skip to content

making changes in schema-core for system API

Aman Verma requested to merge users/amaverma/changesInSchemaCore into master

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

Merge request reports