This PR introduces CRUD-based REST APIs for the catalog database.
This server acts as a storage server to track the progress of files being transferred by the orchestration layer (cc: @smarru ). The orchestration layer and the UI layer will be able to interact with this server through REST APIs.
This iteration of the catalogue server consists of 8 major APIs with simple JWT-based token authentication (cc: @ub0005 )
These APIs so far are listed below (copied verbose from README of this same PR):
1) /catalogue/bulk/csv - POST, Upload CSV
Enables anyone to upload csv of specific format to populate the catalogue table in bulk.
Note: The json data should have name, checksum_value and checksum_algorithm mandatory. If uuid is provided in the json data, it will be re-used. If not, new uuid will be created.
5) /catalogue/uuid/ - PATCH single item
Used for updating a specific catalogue item referenced by the given uuid.
This PR introduces CRUD-based REST APIs for the catalog database.
This server acts as a storage server to track the progress of files being transferred by the orchestration layer (cc: @smarru ). The orchestration layer and the UI layer will be able to interact with this server through REST APIs.
This iteration of the catalogue server consists of 8 major APIs with simple JWT-based token authentication (cc: @ub0005 )
These APIs so far are listed below (copied verbose from README of this same PR):
1) /catalogue/bulk/csv - POST, Upload CSV
Enables anyone to upload csv of specific format to populate the catalogue table in bulk.
2) /catalogue/ - GET, all items
Enables anyone to fetch catalogue metadata items. We can use 2 query params to filter the result:
transfer_status
- NOT_STARTED/COMPLETED/FAILED/IN_PROGRESSpage
- Used for pagination3) /catalogue/uuid/ - GET single item
4) /catalogue/ - POST single item
This is used to create a single catalogue item for the database
5) /catalogue/uuid/ - PATCH single item
Used for updating a specific catalogue item referenced by the given uuid.
6) /catalogue/uuid/ - DELETE single item
Delets a given catalogue item
7) /catalogue/bulk/ - PATCH multiple items
Used for updating multiple items in a single request.
Here the json data posted is of the structure:
8) /auth/login/ - POST Generate JWT Token
Used for generating JWT token based on user credentails
TODO (cc: @ub0005 ) :