foliolib.folio.api.inventoryStorage.OaiPmhView

class foliolib.folio.api.inventoryStorage.OaiPmhView(tenant: str, okapi: Optional[foliolib.okapi.okapiClient.OkapiClient] = None)

Bases: foliolib.folio.FolioApi

OAI-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

get_instances()

Stream data for oai-pmh

get_updatedInstanceIds()

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
}