foliolib.folio.api.dataImport.DataImport

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

Bases: foliolib.folio.FolioApi

Data import API

API for uploading source records and processing them

Parameters
  • tenant (str) – Tenant id

  • okapi (OkapiClient, optional) – Instance of OkapiClient. Defaults to None.

Methods

delete_file(uploadDefinitionId, fileId)

Delete file by id

delete_fileExtension(fileExtensionsId)

Delete fileExtension item with given {fileExtensionId}

delete_uploadDefinition(uploadDefinitionId)

Delete uploadDefinition item with given {uploadDefinitionId}

get_dataTypes()

Get a list of data types

get_fileExtension(fileExtensionsId)

Retrieve fileExtension item with given {fileExtensionId}

get_fileExtensions(**kwargs)

Get a list of definitions

get_uploadDefinition(uploadDefinitionId)

Retrieve uploadDefinition item with given {uploadDefinitionId}

get_uploadDefinitions(**kwargs)

Get a list of definitions

modify_fileExtension(fileExtensionsId, ...)

Update fileExtension item with given {fileExtensionId}

modify_uploadDefinition(uploadDefinitionId, ...)

Update uploadDefinition item with given {uploadDefinitionId}

set_default()

Restore fileExtension settings to default

set_file(uploadDefinitionId, file)

POST /data-import/uploadDefinitions/{uploadDefinitionId}/files

set_fileExtension(fileExtension)

Create a new fileExtension item.

set_processFile(uploadDefinitionId, processFile)

Starts the file processing

set_uploadDefinition(uploadDefinition)

Create a new uploadDefinition item.

upload_file(uploadDefinitionId, fileId, filePath)

Upload file

delete_file(uploadDefinitionId: str, fileId: str)

Delete file by id

DELETE /data-import/uploadDefinitions/{uploadDefinitionId}/files/{fileId}

Parameters
  • uploadDefinitionId (str) –

  • fileId (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

delete_fileExtension(fileExtensionsId: str)

Delete fileExtension item with given {fileExtensionId}

DELETE /data-import/fileExtensions/{fileExtensionsId}

Parameters

fileExtensionsId (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

delete_uploadDefinition(uploadDefinitionId: str)

Delete uploadDefinition item with given {uploadDefinitionId}

DELETE /data-import/uploadDefinitions/{uploadDefinitionId}

Parameters

uploadDefinitionId (str) –

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

get_dataTypes()

Get a list of data types

GET /data-import/dataTypes

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Collection of data types",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "dataTypes": {
      "description": "Set of data types",
      "type": "array",
      "id": "dataTypeList",
      "items": {
        "type": "object",
        "$ref": "../common/dataType.json"
      }
    },
    "totalRecords": {
      "description": "Total number of data types",
      "type": "integer"
    }
  },
  "excludedFromEqualsAndHashCode": [
    "totalRecords"
  ],
  "required": [
    "dataTypes",
    "totalRecords"
  ]
}
get_fileExtension(fileExtensionsId: str)

Retrieve fileExtension item with given {fileExtensionId}

GET /data-import/fileExtensions/{fileExtensionsId}

Parameters

fileExtensionsId (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "File Extension Schema",
  "additionalProperties": false,
  "type": "object",
  "properties": {
    "id": {
      "description": "Unique identifier",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "description": {
      "description": "Description field for the extension",
      "type": "string"
    },
    "extension": {
      "description": "File extension",
      "type": "string"
    },
    "dataTypes": {
      "description": "Set of data types",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "../common/dataType.json"
      }
    },
    "importBlocked": {
      "description": "Flag indicating if import is blocked",
      "type": "boolean"
    },
    "userInfo": {
      "description": "User brief info, who updated the File Extension",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "extension",
    "importBlocked"
  ]
}
get_fileExtensions(**kwargs)

Get a list of definitions

GET /data-import/fileExtensions

Parameters

**kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://dev.folio.org/reference/glossary#cql)) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    with valid searchable fields: for example importBlocked=true

    Example

    • (username==”ab*” or personal.firstName==”ab*” or personal.lastName==”ab*”) and active==”true” sortby personal.lastName personal.firstName barcode

    • importBlocked=true

  • offset (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Collection of file extensions",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "fileExtensions": {
      "description": "List of file extensions",
      "type": "array",
      "id": "fileExtensionList",
      "items": {
        "type": "object",
        "$ref": "fileExtension.json"
      }
    },
    "totalRecords": {
      "description": "Total number of file extensions",
      "type": "integer"
    }
  },
  "excludedFromEqualsAndHashCode": [
    "totalRecords"
  ],
  "required": [
    "fileExtensions",
    "totalRecords"
  ]
}
get_uploadDefinition(uploadDefinitionId: str)

Retrieve uploadDefinition item with given {uploadDefinitionId}

GET /data-import/uploadDefinitions/{uploadDefinitionId}

Parameters

uploadDefinitionId (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "description": "Upload process definition",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "UUID",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "metaJobExecutionId": {
      "description": "Link to the metajob execution",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "status": {
      "description": "Status of upload",
      "type": "string",
      "enum": [
        "NEW",
        "IN_PROGRESS",
        "LOADED",
        "COMPLETED",
        "ERROR"
      ]
    },
    "createDate": {
      "description": "Date and time when the upload definition was created",
      "type": "string",
      "format": "date-time"
    },
    "fileDefinitions": {
      "description": "Array of file entities",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "fileDefinition.json"
      }
    },
    "metadata": {
      "description": "Metadata about creation and changes, provided by the server (client should not provide)",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "excludedFromEqualsAndHashCode": [
    "fileDefinitions"
  ]
}
get_uploadDefinitions(**kwargs)

Get a list of definitions

GET /data-import/uploadDefinitions

Parameters

**kwargs (properties) – Keyword Arguments

Keyword Arguments
  • query (str) –

    A query expressed as a CQL string (see [dev.folio.org/reference/glossary#cql](https://dev.folio.org/reference/glossary#cql)) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    with valid searchable fields: for example id=67dfac11-1caf-4470-9ad1-d533f6360bdd

    Example

    • (username==”ab*” or personal.firstName==”ab*” or personal.lastName==”ab*”) and active==”true” sortby personal.lastName personal.firstName barcode

    • id=67dfac11-1caf-4470-9ad1-d533f6360bdd

  • offset (int) –

    (default=0) Skip over a number of elements by specifying an offset value for the query

    Example

    • 0

  • limit (int) –

    (default=10) Limit the number of elements returned in the response

    Example

    • 10

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Collection of upload definitions",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "uploadDefinitions": {
      "description": "Array of upload definitions",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "uploadDefinition.json"
      }
    },
    "totalRecords": {
      "description": "Total records in collection",
      "type": "integer"
    }
  },
  "excludedFromEqualsAndHashCode": [
    "totalRecords"
  ],
  "required": [
    "uploadDefinitions",
    "totalRecords"
  ]
}
modify_fileExtension(fileExtensionsId: str, fileExtension: dict)

Update fileExtension item with given {fileExtensionId}

PUT /data-import/fileExtensions/{fileExtensionsId}

Parameters
  • fileExtensionsId (str) –

  • fileExtension (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "File Extension Schema",
  "additionalProperties": false,
  "type": "object",
  "properties": {
    "id": {
      "description": "Unique identifier",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "description": {
      "description": "Description field for the extension",
      "type": "string"
    },
    "extension": {
      "description": "File extension",
      "type": "string"
    },
    "dataTypes": {
      "description": "Set of data types",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "../common/dataType.json"
      }
    },
    "importBlocked": {
      "description": "Flag indicating if import is blocked",
      "type": "boolean"
    },
    "userInfo": {
      "description": "User brief info, who updated the File Extension",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "extension",
    "importBlocked"
  ]
}
modify_uploadDefinition(uploadDefinitionId: str, uploadDefinition: dict)

Update uploadDefinition item with given {uploadDefinitionId}

PUT /data-import/uploadDefinitions/{uploadDefinitionId}

Parameters
  • uploadDefinitionId (str) –

  • uploadDefinition (dict) – See Schema below

Raises
  • OkapiRequestNotFound – Not Found

  • OkapiRequestError – Bad Request

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "description": "Upload process definition",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "UUID",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "metaJobExecutionId": {
      "description": "Link to the metajob execution",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "status": {
      "description": "Status of upload",
      "type": "string",
      "enum": [
        "NEW",
        "IN_PROGRESS",
        "LOADED",
        "COMPLETED",
        "ERROR"
      ]
    },
    "createDate": {
      "description": "Date and time when the upload definition was created",
      "type": "string",
      "format": "date-time"
    },
    "fileDefinitions": {
      "description": "Array of file entities",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "fileDefinition.json"
      }
    },
    "metadata": {
      "description": "Metadata about creation and changes, provided by the server (client should not provide)",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "excludedFromEqualsAndHashCode": [
    "fileDefinitions"
  ]
}
set_default()

Restore fileExtension settings to default

POST /data-import/fileExtensions/restore/default

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

  • OkapiFatalError – Server Error

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Collection of file extensions",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "fileExtensions": {
      "description": "List of file extensions",
      "type": "array",
      "id": "fileExtensionList",
      "items": {
        "type": "object",
        "$ref": "fileExtension.json"
      }
    },
    "totalRecords": {
      "description": "Total number of file extensions",
      "type": "integer"
    }
  },
  "excludedFromEqualsAndHashCode": [
    "totalRecords"
  ],
  "required": [
    "fileExtensions",
    "totalRecords"
  ]
}
set_file(uploadDefinitionId: str, file: dict)

POST /data-import/uploadDefinitions/{uploadDefinitionId}/files

Parameters
  • uploadDefinitionId (str) –

  • file (dict) – See Schema below

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "description": "Uploaded file metadata entity",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "UUID",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "sourcePath": {
      "description": "The path to the file location",
      "type": "string",
      "readonly": true
    },
    "name": {
      "description": "Name of the file with extension",
      "type": "string"
    },
    "status": {
      "description": "Status of files upload",
      "type": "string",
      "enum": [
        "NEW",
        "UPLOADING",
        "UPLOADED",
        "ERROR"
      ]
    },
    "jobExecutionId": {
      "description": "Link to JobExecution entity",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "uploadDefinitionId": {
      "description": "Link to UploadDefinition entity",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "createDate": {
      "description": "Date and time when the file definition was created",
      "type": "string",
      "format": "date-time"
    },
    "uploadedDate": {
      "description": "Date and time when the file was uploaded",
      "type": "string",
      "format": "date-time"
    },
    "size": {
      "description": "Size of the file in Kbyte",
      "type": "integer"
    },
    "uiKey": {
      "description": "Unique key for the file definition on ui before entity saved",
      "type": "string"
    }
  },
  "required": [
    "name"
  ]
}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "description": "Upload process definition",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "UUID",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "metaJobExecutionId": {
      "description": "Link to the metajob execution",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "status": {
      "description": "Status of upload",
      "type": "string",
      "enum": [
        "NEW",
        "IN_PROGRESS",
        "LOADED",
        "COMPLETED",
        "ERROR"
      ]
    },
    "createDate": {
      "description": "Date and time when the upload definition was created",
      "type": "string",
      "format": "date-time"
    },
    "fileDefinitions": {
      "description": "Array of file entities",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "fileDefinition.json"
      }
    },
    "metadata": {
      "description": "Metadata about creation and changes, provided by the server (client should not provide)",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "excludedFromEqualsAndHashCode": [
    "fileDefinitions"
  ]
}
set_fileExtension(fileExtension: dict)

Create a new fileExtension item.

POST /data-import/fileExtensions

Parameters

fileExtension (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created fileExtension item

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "File Extension Schema",
  "additionalProperties": false,
  "type": "object",
  "properties": {
    "id": {
      "description": "Unique identifier",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "description": {
      "description": "Description field for the extension",
      "type": "string"
    },
    "extension": {
      "description": "File extension",
      "type": "string"
    },
    "dataTypes": {
      "description": "Set of data types",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "../common/dataType.json"
      }
    },
    "importBlocked": {
      "description": "Flag indicating if import is blocked",
      "type": "boolean"
    },
    "userInfo": {
      "description": "User brief info, who updated the File Extension",
      "type": "object",
      "$ref": "../common/userInfo.json"
    },
    "metadata": {
      "description": "Metadata provided by the server",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "required": [
    "extension",
    "importBlocked"
  ]
}
set_processFile(uploadDefinitionId: str, processFile: dict)

Starts the file processing

POST /data-import/uploadDefinitions/{uploadDefinitionId}/processFiles

Parameters
  • uploadDefinitionId (str) –

  • processFile (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Necessary data to start file dividing process",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "uploadDefinition": {
      "description": "Upload definition",
      "type": "object",
      "$ref": "../mod-data-import/uploadDefinition.json"
    },
    "jobProfileInfo": {
      "description": "Related Job profile info",
      "type": "object",
      "$ref": "../common/profileInfo.json"
    }
  },
  "required": [
    "uploadDefinition",
    "jobProfileInfo"
  ]
}
set_uploadDefinition(uploadDefinition: dict)

Create a new uploadDefinition item.

POST /data-import/uploadDefinitions

Parameters

uploadDefinition (dict) – See Schema below

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestUnauthorized – Authentication is required

  • OkapiFatalError – Server Error

  • OkapiRequestUnprocessableEntity – Unprocessable Entity

Headers

  • Location - URI to the created uploadDefinition item

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "description": "Upload process definition",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "UUID",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "metaJobExecutionId": {
      "description": "Link to the metajob execution",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "status": {
      "description": "Status of upload",
      "type": "string",
      "enum": [
        "NEW",
        "IN_PROGRESS",
        "LOADED",
        "COMPLETED",
        "ERROR"
      ]
    },
    "createDate": {
      "description": "Date and time when the upload definition was created",
      "type": "string",
      "format": "date-time"
    },
    "fileDefinitions": {
      "description": "Array of file entities",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "fileDefinition.json"
      }
    },
    "metadata": {
      "description": "Metadata about creation and changes, provided by the server (client should not provide)",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "excludedFromEqualsAndHashCode": [
    "fileDefinitions"
  ]
}
upload_file(uploadDefinitionId: str, fileId: str, filePath: str)

Upload file

POST /data-import/uploadDefinitions/{uploadDefinitionId}/files/{fileId}

Parameters
  • uploadDefinitionId (str) –

  • fileId (str) –

Returns

See Schema below

Return type

dict

Raises
  • OkapiRequestError – Bad Request

  • OkapiRequestNotFound – Not Found

  • OkapiFatalError – Server Error

Schema

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "description": "Upload process definition",
  "additionalProperties": false,
  "properties": {
    "id": {
      "description": "UUID",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "metaJobExecutionId": {
      "description": "Link to the metajob execution",
      "$ref": "../../raml-util/schemas/uuid.schema"
    },
    "status": {
      "description": "Status of upload",
      "type": "string",
      "enum": [
        "NEW",
        "IN_PROGRESS",
        "LOADED",
        "COMPLETED",
        "ERROR"
      ]
    },
    "createDate": {
      "description": "Date and time when the upload definition was created",
      "type": "string",
      "format": "date-time"
    },
    "fileDefinitions": {
      "description": "Array of file entities",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "fileDefinition.json"
      }
    },
    "metadata": {
      "description": "Metadata about creation and changes, provided by the server (client should not provide)",
      "type": "object",
      "$ref": "../../raml-util/schemas/metadata.schema",
      "readonly": true
    }
  },
  "excludedFromEqualsAndHashCode": [
    "fileDefinitions"
  ]
}