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": {
            "type": "string",
            "format": "uuid"
        },
        "status": {
            "description": "publication status",
            "enum": [
                "IN_PROGRESS",
                "ERROR",
                "COMPLETE"
            ]
        },
        "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": {
                "description": "publication status error",
                "properties": {
                    "tenantId": {
                        "description": "tenant name which failed to execute request",
                        "type": "string"
                    },
                    "errorMessage": {
                        "description": "error message of failed request",
                        "type": "string"
                    },
                    "errorCode": {
                        "description": "error code of failed request",
                        "type": "integer"
                    }
                }
            }
        }
    },
    "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": {
                "description": "publication result",
                "properties": {
                    "tenantId": {
                        "description": "tenant name",
                        "type": "string"
                    },
                    "response": {
                        "description": "response message of tenant request",
                        "type": "string"
                    },
                    "statusCode": {
                        "description": "response code of tenant request",
                        "type": "integer"
                    }
                }
            }
        },
        "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": {
            "type": "string",
            "format": "uuid"
        },
        "status": {
            "description": "publication status",
            "enum": [
                "IN_PROGRESS",
                "ERROR",
                "COMPLETE"
            ]
        }
    },
    "additionalProperties": false
}