Skip to end of banner
Go to start of banner

TLR - data migration

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Current »

Planned changes in Circulation request DB schema

Current DB record structure (segments to be removed are in orange)Proposed DB record structure (segments to be added are in green)

{

  "id": "9c8583f1-8631-4194-a477-572d342cdd4d",
  "item": {
    "title": "A semantic web primer",
    "barcode": "10101",
    "identifiers": [
      {
        "value": "0262012103",
        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"
      },
      {
        "value": "9780262012102",
        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"
      },
      {
        "value": "2003065165",
        "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"
      }
    ]
  },
  "itemId": "7212ba6a-8dcf-45a1-be9a-ffaa847c4423",
  "status": "Open - Not yet filled",
  "metadata": {
    "createdDate": "2021-09-09T13:14:43.756",
    "updatedDate": "2021-09-09T13:14:43.756+00:00",
    "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f",
    "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"
  },
  "position": 1,
  "requester": {
    "barcode": "10001",
    "lastName": "Kurash",
    "firstName": "Alexander"
  },
  "requestDate": "2021-09-09T13:14:41.000+00:00",
  "requestType": "Hold",
  "requesterId": "27bc1f87-8c08-437a-be09-1df885262497",
  "fulfilmentPreference": "Hold Shelf",
  "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f"
}

{
  "id": "9c8583f1-8631-4194-a477-572d342cdd4d",
  "requestLevel": "Item",
  "instanceId": "5bf370e0-8cca-4d9c-82e4-5170ab2a0a39",
  "instance": {
    "title": "A semantic web primer",
    "identifiers": [
      {
        "value": "0262012103",
        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"
      },
      {
        "value": "9780262012102",
        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"
      },
      {
        "value": "2003065165",
        "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"
      }
    ]
  },
  "holdingsRecordId": "dc8ff78d-6bf0-406a-95e2-be3782357535",
  "itemId": "7212ba6a-8dcf-45a1-be9a-ffaa847c4423",
  "item": {
    "barcode": "10101"
  },
  "status": "Open - Not yet filled",
  "metadata": {
    "createdDate": "2021-09-09T13:14:43.756",
    "updatedDate": "2021-09-09T13:14:43.756+00:00",
    "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f",
    "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"
  },
  "position": 1,
  "requester": {
    "barcode": "10001",
    "lastName": "Kurash",
    "firstName": "Alexander"
  },
  "requestDate": "2021-09-09T13:14:41.000+00:00",
  "requestType": "Hold",
  "requesterId": "27bc1f87-8c08-437a-be09-1df885262497",
  "fulfilmentPreference": "Hold Shelf",
  "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f"
}

Planned API changes

API endpoint: /circulation/requests

Note that item field has some additional instance-related values that will also be moved to the instance field.

Current JSON structure (segments to be removed are in orange)Proposed JSON structure (segments to be added are in green)


{
  "id": "d0f032db-9579-443e-a2ac-6add937f4aa2",
  "requestType": "Hold",
  "requestDate": "2021-09-06T15:37:55.000+00:00",
  "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599",
  "itemId": "100d10bf-2f06-4aa0-be15-0b95b2d9f9e3",
  "status": "Open - Not yet filled",
  "item": {
    "title": "A semantic web primer",
    "barcode": "90000",
    "identifiers": [
      {
        "value": "0262012103",
        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"
      },
      {
        "value": "9780262012102",
        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"
      },
      {
        "value": "2003065165",
        "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"
      }
    ],
    "holdingsRecordId": "e3ff6133-b9a2-4d4c-a1c9-dc1867d4df19",
    "instanceId": "5bf370e0-8cca-4d9c-82e4-5170ab2a0a39",
    "location": {
      "name": "Annex",
      "libraryName": "Datalogisk Institut",
      "code": "KU/CC/DI/A"
    },
    "contributorNames": [
      {
        "name": "Antoniou, Grigoris"
      },
      {
        "name": "Van Harmelen, Frank"
      }
    ],
    "enumeration": "",
    "status": "Checked out",
    "callNumber": "TK5105.88815 . A58 2004 FT MEADE",
    "callNumberComponents": {
      "callNumber": "TK5105.88815 . A58 2004 FT MEADE"
    }
  },
  "requester": {
    "lastName": "morty",
    "firstName": "panic",
    "barcode": "456",
    "patronGroupId": "3684a786-6671-4268-8ed0-9db82ebca60b"
  },
  "fulfilmentPreference": "Hold Shelf",
  "pickupServicePointId": "c4c90014-c8c9-4ade-8f24-b5e313319f4b",
  "metadata": {
    "createdDate": "2021-09-06T15:37:56.188+00:00",
    "createdByUserId": "226dfeeb-0264-57fc-afcd-d5df2d705dd5",
    "updatedDate": "2021-09-06T15:37:56.188+00:00",
    "updatedByUserId": "226dfeeb-0264-57fc-afcd-d5df2d705dd5"
  },
  "position": 1,
  "loan": {
    "dueDate": "2021-09-06T16:36:56.029Z"
  },
  "pickupServicePoint": {
    "name": "Circ Desk 2",
    "code": "cd2",
    "discoveryDisplayName": "Circulation Desk -- Back Entrance",
    "description": null,
    "shelvingLagTime": null,
    "pickupLocation": true
  }
}


{
  "id": "d0f032db-9579-443e-a2ac-6add937f4aa2",
  "requestLevel": "Item",
  "requestType": "Hold",
  "requestDate": "2021-09-06T15:37:55.000+00:00",
  "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599",
  "status": "Open - Not yet filled",
  "instanceId": "5bf370e0-8cca-4d9c-82e4-5170ab2a0a39",
  "instance": {
    "title": "A semantic web primer",
    "identifiers": [
      {
        "value": "0262012103",
        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"
      },
      {
        "value": "9780262012102",
        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"
      },
      {
        "value": "2003065165",
        "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"
      }
    ],
    "contributorNames": [
      {
        "name": "Antoniou, Grigoris"
      },
      {
        "name": "Van Harmelen, Frank"
      }
    ]
  },
  "holdingsRecordId": "dc8ff78d-6bf0-406a-95e2-be3782357535",
  "itemId": "100d10bf-2f06-4aa0-be15-0b95b2d9f9e3",
  "item": {
    "barcode": "90000",
    "holdingsRecordId": "e3ff6133-b9a2-4d4c-a1c9-dc1867d4df19",
    "location": {
      "name": "Annex",
      "libraryName": "Datalogisk Institut",
      "code": "KU/CC/DI/A"
    },
    "enumeration": "",
    "status": "Checked out",
    "callNumber": "TK5105.88815 . A58 2004 FT MEADE",
    "callNumberComponents": {
      "callNumber": "TK5105.88815 . A58 2004 FT MEADE"
    }
  },
  "requester": {
    "lastName": "morty",
    "firstName": "panic",
    "barcode": "456",
    "patronGroupId": "3684a786-6671-4268-8ed0-9db82ebca60b"
  },
  "fulfilmentPreference": "Hold Shelf",
  "pickupServicePointId": "c4c90014-c8c9-4ade-8f24-b5e313319f4b",
  "metadata": {
    "createdDate": "2021-09-06T15:37:56.188+00:00",
    "createdByUserId": "226dfeeb-0264-57fc-afcd-d5df2d705dd5",
    "updatedDate": "2021-09-06T15:37:56.188+00:00",
    "updatedByUserId": "226dfeeb-0264-57fc-afcd-d5df2d705dd5"
  },
  "position": 1,
  "loan": {
    "dueDate": "2021-09-06T16:36:56.029Z"
  },
  "pickupServicePoint": {
    "name": "Circ Desk 2",
    "code": "cd2",
    "discoveryDisplayName": "Circulation Desk -- Back Entrance",
    "description": null,
    "shelvingLagTime": null,
    "pickupLocation": true
  }
}


Proposed JSON structure for request from UI side

{
    "id": "df45dc97-32c9-458f-9b32-2c1ea8e73159",
    "requestLevel": "Item",
    "requestType": "Hold",
    "fulfilmentPreference": "Hold Shelf",
    "item": {
        "barcode": "90000"
    },
    "itemId": "100d10bf-2f06-4aa0-be15-0b95b2d9f9e3",
    "requester": {
        "barcode": "11111"
    },
    "requestDate": "2021-10-19T12:54:47Z",
    "requesterId": "503ea8a5-fdd0-4c7a-b38d-9bdf2368f869",
    "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f",
    "instanceId": "5bf370e0-8cca-4d9c-82e4-5170ab2a0a39"
}
  • No labels