Depositor API Additions
API for accessing resources (Bags) for a Depositor. All changes should also be reflected in the Ingest UI. Not entirely sure what type of query parameters we should have at the moment, but let's keep it simple to start. We can also get statistics for depositors, but can hold off on that initially - might be better as a separate issue.
API Endpoints
GET /api/depositors: Page<Depositor>
GET /api/depositors/<namespace>: Depositor
GET /api/depositors/<namespace>/bags: List<Bag>
GET /api/depositors/<namespace>/bags/<bag-name>: Bag
POST DepositorCreate -> /api/depositors: Depositor
POST String -> /api/depositors/<namespace>/nodes: Depositor
POST DepositorContactCreate -> /api/depositors/<namespace>/contacts: DepositorContact
DELETE /api/depositors/<namespace>/nodes/<namespace>: Depositor
DELETE DepositorContactRemove -> /api/depositors/<namespace>/contacts/: Depositor
Tasks
-
Depositor Models -
Depositor -
DepositorCreate -
DepositorContact -
DepositorContactCreate -
DepositorEdit
-
-
Depositor Serializer -
Depositor DAO -
Retrofit service for the API endpoints -
POST /api/depositors: Depositor
-
201 - Created -
400 - BadRequest -
403 - Forbidden -
409 - Conflict (namespace)
-
-
GET /api/depositors: List<Depositor>
-
GET /api/depositors/<name>: Depositor
-
404 - NotFound (namespace)
-
-
GET /api/depositors/<name>/bags: List<Bag>
-
200 - OK -
404 - NotFound (namespace)
-
-
GET /api/depositors/<name>/bags/<bag-name>: Bag
-
200 - OK -
404 - NotFound (namespace || bag-name)
-
-
POST /api/depositors/<namespace>/nodes/<node-name>: Depositor
-
200 - Ok -
400 - BadRequest (node dne) -
403 - Forbidden -
404 - NotFound (namespace) -
409 - Conflict (node-name) - ?
-
-
POST /api/depositors/<namespace>/contacts: DepositorContact
-
201 - Created -
400 - BadRequest (DepositorContactCreate) -
403 - Forbidden -
404 - NotFound (namespace) -
409 - Conflict (email)?
-
-
DELETE /api/depositors/<namespace>/nodes/<node-name>
-
200 - Ok -
400 - BadRequest (node dne) -
403 - Forbidden -
404 - NotFound (namespace)
-
-
DELETE /api/depositors/<namespace>/contacts/
-
200 - Ok -
400 - BadRequest (contact-name) -
403 - Forbidden -
404 - NotFound (namespace)
-
Edited by Ghost User