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
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
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>
Description: Retrieve a single Bag in Chronopolis by its id
Response Codes: 200; 401; 403; 404 (Not Found)
Description: Create a StagingStorage object for a given Bag
Request Body:
Response Codes: 201, 400, 401, 403
Description: Get a StagingStorage object for a Bag defined by its StorageType
Path Parameters:
- id: The id of the bag
- type: The StorageType to retrieve, BAG or TOKEN
Response Codes: 200, 401, 403, 404
Description: Create a Fixity for a given StagingStorage
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
Description: Get all Fixities for a StagingStorage object on a Bag
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>
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