The bag resource is used by the Ingest-Server and Replication Shell. It describes the base attributes of a collection in Chronopolis.
Bag
Field | Type | Description |
---|---|---|
id | Long | The ID of the Bag |
size | Long | The bag's size in bytes |
name | String | The name of the Bag |
creator | String | The user who created the bag in the Ingest Server |
depositor | String | The organization to which the Bag belongs |
status | BagStatus | Status of the Bag |
totalFiles | Long | Number of files in the Bag, including the tag files |
createdAt | DateTime | The date the Bag was created in the ingest server |
updatedAt | DateTime | The last time the Bag was updated |
replicatingNodes | Set<Node> | Nodes who have successfully replicated the bag |
requiredReplications | int | Number of replications required for preservation |
bagStorage | Active Staging Information for a bag's data | |
tokenStorage | StagingStorageModel | Active Staging Information for a bag's tokens |
BagStatus
An enumerated type describing the various states a bag can have in its lifetime.
- DEPOSITED - The ingest-server has created a DB record for the bag after notification from an intake service
- INITIALIZED - The ingest-server has performed necessary tasks before tokenizing (extracting form an archive/file counts and sizes for metadata)
- TOKENIZED - The ingest-server has created ACE tokens for a bag and written them to a file for replication
- REPLICATING - Replication requests have been created for a bag which are currently in progress
- PRESERVED - All replication requests have finished successfully and the number of required replications have been met
- ERROR - Somewhere along the line something bad happened
Deprecated Status Enums
- (1.3.0-RELEASE) REPLICATED
- (1.1.1-RELEASE) STAGED
Deposit Bag
- Request: POST /api/bags/
- Description: Deposit a Bag in Chronopolis
- Request Body: JSON
- Response Codes: 201 (Success); 400 (invalid); 401 (unauthenticated); 403 (unauthorized); 409 (conflict)
- Response Body: Bag
Get All Bags
- Request: GET /api/bags
- Description: Retrieve a paginated listing of Bags in Chronopolis
- Query Parameters:
- name: The name of the bag (partial match
- creator: The name of the user who created the bag
- depositor: The name of the depositor who owns the bag
- region: The Storage Region the Bag is staged in
- createdAfter: Any Bag created after a given date
- createdBefore: Any Bag created before a given date
- updatedAfter: Any Bag updated after a given date
- updatedBefore: Any Bag updated before a given date
- active: Boolean flag - matches any Bag with staged data (an active StagingStorage)
- status: Any Bag with the given BagStatus
- page: The page number to use, starting at 1
- page_size: The number of Bags to retrieve at once
- Response Codes: 200 (success); 401; 403
- Response Body: Page<Bag>
Get A Single Bag
- Request: GET /api/bags/:id
- Description: Retrieve a single Bag in Chronopolis by its id
- Path Parameters
- id: The id of the bag
- Response Codes: 200; 401; 403; 404 (Not Found)
Create Staging Storage
- Description: Create a StagingStorage object for a given Bag
- Request: PUT /api/bags/:id/storage/:type
- Request Body:
- Response Codes: 201, 400, 401, 403
Get A Staging Storage Object
- Description: Get a StagingStorage object for a Bag defined by its StorageType
- Request: GET /api/bags/:id/storage/:type
- Path Parameters:
- id: The id of the bag
- type: The StorageType to retrieve, BAG or TOKEN
- Response Codes: 200, 401, 403, 404
Register Fixity
- Description: Create a Fixity for a given StagingStorage
- Request: POST /api/bags/:id/storage/:type/fixity
- Path Parameters:
- id: The id of the bag
- type: The StorageType to retrieve, Bag or TOKEN,
- Request Body:
- Response Codes: 200, 400, 401, 403, 409
- Response Body: Fixity
Get All Fixities
- Description: Get all Fixities for a StagingStorage object on a Bag
- Request: GET /api/bags/:id/storage/:type/fixity
- Path Parameters:
- id: the id of the bag
- type: The StorageType to retrieve, BAG or TOKEN
- Response Codes: 200, 401, 403
- Response Body: Page<Fixity>
Get A Fixity
- Description: Get a Fixity for a StagingStorage object on a Bag
- Request: GET /api/bags/:id/storage/:type/fixity/:alg
- Path Parameters:
- id: the id of the bag
- type: The StorageType to retrieve, BAG or TOKEN
- alg: The name of the algorithm, e.g. sha256
- Response Codes: 200, 401, 403, 404
- Response Body: Fixity