foliolib.folio.api.consortiaKeycloak.Publications

class foliolib.folio.api.consortiaKeycloak.Publications(tenant: str)

Bases: foliolib.folio.FolioApi

Publish coordinator API

Publish coordinator API

Base class of the Folio API

Parameters

tenant (str) – Tenant id

Methods

deletepublicationbyid(consortiumId, ...)

DELETE /consortia/{consortiumId}/publications/{publicationId}

getpublicationdetails(consortiumId, ...)

GET /consortia/{consortiumId}/publications/{publicationId}

getpublicationresults(consortiumId, ...)

GET /consortia/{consortiumId}/publications/{publicationId}/results

publishrequests(consortiumId, publicationRequest)

POST /consortia/{consortiumId}/publications

deletepublicationbyid(consortiumId, publicationId)

DELETE /consortia/{consortiumId}/publications/{publicationId}

Parameters
  • consortiumId (str) –

  • publicationId (str) –

Raises
  • OkapiRequestNotFound – Resource not found

  • OkapiRequestFatalError – Internal server error

getpublicationdetails(consortiumId, publicationId)

GET /consortia/{consortiumId}/publications/{publicationId}

Parameters
  • consortiumId (str) –

  • publicationId (str) –

Returns

See Schema below.

Return type

dict

Raises
  • OkapiRequestError – Bad request

  • OkapiRequestFatalError – Internal server error

Schema

{
    "type": "object",
    "title": "Publication details response",
    "properties": {
        "id": {
            "description": "id of publication record",
            "$ref": "common.yaml#/uuid"
        },
        "status": {
            "type": "string",
            "$ref": "publication_schema.yaml#/PublicationStatus"
        },
        "dateTime": {
            "description": "the date of publication was created",
            "type": "string"
        },
        "request": {
            "description": "tenant request payload",
            "type": "string"
        },
        "errors": {
            "description": "List of errors",
            "type": "array",
            "items": {
                "type": "object",
                "$ref": "publication_schema.yaml#/PublicationStatusError"
            }
        }
    },
    "additionalProperties": false
}
getpublicationresults(consortiumId, publicationId)

GET /consortia/{consortiumId}/publications/{publicationId}/results

Parameters
  • consortiumId (str) –

  • publicationId (str) –

Returns

See Schema below.

Return type

dict

Raises
  • OkapiRequestError – Bad request

  • OkapiRequestFatalError – Internal server error

Schema

{
    "description": "A JSON schema for the publication result collection",
    "type": "object",
    "properties": {
        "publicationResults": {
            "type": "array",
            "description": "The list of publication results",
            "items": {
                "type": "object",
                "$ref": "publication_schema.yaml#/PublicationResult"
            }
        },
        "totalRecords": {
            "type": "integer"
        }
    }
}
publishrequests(consortiumId, publicationRequest)

POST /consortia/{consortiumId}/publications

Parameters
  • consortiumId (str) –

  • publicationRequest (dict) – See Schema below.

Returns

See Schema below.

Return type

dict

Raises
  • OkapiRequestError – Bad request

  • OkapiRequestConflict – Validation errors

  • OkapiRequestFatalError – Internal server error

Schema

{
    "type": "object",
    "title": "Publication request",
    "properties": {
        "url": {
            "description": "URL for publishing requests for consortia tenants",
            "type": "string"
        },
        "method": {
            "description": "HTTP method",
            "type": "string"
        },
        "tenants": {
            "description": "Set of tenants to be requested",
            "type": "array",
            "uniqueItems": true,
            "items": {
                "type": "string"
            }
        },
        "payload": {
            "description": "Http request body",
            "type": "object"
        }
    },
    "additionalProperties": false,
    "required": [
        "url",
        "method"
    ]
}
{
    "type": "object",
    "title": "Publication response",
    "properties": {
        "id": {
            "description": "id of publication record",
            "$ref": "common.yaml#/uuid"
        },
        "status": {
            "type": "string",
            "$ref": "publication_schema.yaml#/PublicationStatus"
        }
    },
    "additionalProperties": false
}