Changes in the DB
Current DB record structure (segments that will be removed are marked in red):
{
"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"
}
Proposed DB record structure (segments that will be added are marked in green):
{
"id": "9c8583f1-8631-4194-a477-572d342cdd4d",
"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"
}
]
},
"item": {
"barcode": "10101"
},
"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"
}
API changes
/circulation/requests
item field has some additional instance-related values that will also be moved to the instance field.
Current JSON structure (segments that will be removed are marked in red):
{
"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
}
}
Proposed JSON structure (segments that will be added are marked 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",
"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"
} ]
},
"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
}
}