foliolib.folio.api.inventoryStorage.OaiPmhView
- class foliolib.folio.api.inventoryStorage.OaiPmhView(tenant: str, okapi: Optional[foliolib.okapi.okapiClient.OkapiClient] = None)
Bases:
foliolib.folio.FolioApiOAI-PMH view API
This documents the streaming API for the data needed for OAI-PMH
- Parameters
tenant (str) – Tenant id
okapi (OkapiClient, optional) – Instance of OkapiClient. Defaults to None.
Methods
Stream data for oai-pmh
Stream updated instances ids for oai-pmh
set_enrichedInstance(enrichedInstance)Stream instances view data for oai-pmh
- get_instances()
Stream data for oai-pmh
GET /oai-pmh-view/instances- Returns
See Schema below
- Return type
dict
- Raises
OkapiRequestError – Bad Request
OkapiRequestUnauthorized – Authentication is required
OkapiRequestNotFound – Not Found
OkapiFatalError – Server Error
OkapiRequestUnprocessableEntity – Unprocessable Entity
Schema
{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "Response schema for oai-pmh view", "type": "object", "properties": { "instance": { "description": "OAI-PMH instances", "type": "array", "items": { "lastUpdatedDate": { "description": "The last updated date or deleted date of an instance or it's items and holdings", "format": "date-time" }, "deleted": { "description": "Indicates if an instance was deleted in inventory", "type": "boolean" }, "itemAndHoldingFields": { "description": "Aggregated item and holding fields", "type": "array", "items": { "type": "object", "$ref": "oaipmhinstance.json" } } } } }, "additionalProperties": false }
- get_updatedInstanceIds()
Stream updated instances ids for oai-pmh
GET /oai-pmh-view/updatedInstanceIds- Returns
See Schema below
- Return type
dict
- Raises
OkapiRequestError – Bad Request
OkapiRequestUnauthorized – Authentication is required
OkapiRequestNotFound – Not Found
OkapiFatalError – Server Error
OkapiRequestUnprocessableEntity – Unprocessable Entity
Schema
{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "Response schema for oai-pmh updated instances ids view", "type": "object", "properties": { "instanceId": { "description": "OAI-PMH updated instances ids", "type": "string", "$ref": "../uuid.json" }, "updatedDate": { "description": "The last updated date or deleted date of an instance or it's items and holdings", "type": "string", "format": "date-time" }, "suppressFromDiscovery": { "description": "Indicates if instance is suppressed from discovery", "type": "boolean" }, "deleted": { "description": "Indicates if an instance was deleted in inventory", "type": "boolean" } }, "additionalProperties": false }
- set_enrichedInstance(enrichedInstance: dict)
Stream instances view data for oai-pmh
POST /oai-pmh-view/enrichedInstances- Parameters
enrichedInstance (dict) – See Schema below
- Returns
See Schema below
- Return type
dict
- Raises
OkapiRequestUnprocessableEntity – Unprocessable Entity
Schema
{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "Define format of request data with instances ids", "type": "object", "properties": { "instanceIds": { "description": "OAI-PMH instances identifiers", "type": "array", "items": { "$ref": "../uuid.json" } }, "skipSuppressedFromDiscoveryRecords": { "description": "Configuration param which defines if discovery suppressed items and holdings records should be skipped or not", "type": "boolean" } }, "required": [ "instanceIds", "skipSuppressedFromDiscoveryRecords" ], "additionalProperties": false }
{ "$schema": "http://json-schema.org/draft-04/schema#", "description": "Response schema for oai-pmh enriched instances view", "type": "object", "properties": { "instanceId": { "description": "OAI-PMH enriched instance id", "type": "string", "$ref": "../uuid.json" }, "itemsAndHoldingsFields": { "description": "Aggregated item and holding fields", "type": "object", "$ref": "oaipmhinstance.json" } }, "required": [ "instanceId", "itemsAndHoldingsFields" ], "additionalProperties": false }