Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
...
Method | Path | Provided permissions | Request | Response | Description | Notes |
---|---|---|---|---|---|---|
PUT | /change-manager/parsedRecords/{id} | change-manager.parsed-records.put | compatible parsed record | 204 UPDATED (compatible-parsed-record) | Update parsed record | {id} - parsed record id |
GET | /source-storage/records/{id} | source-storage.records.get | NA | 200 OK (compatible-record) | Retrieve rcord by id | {id} - record id |
POST | /source-storrage/snapshots | source-storage.snapshots.post | compatible snapshot | 201 CREATED | Create new snapshot | |
POST | /source-storage/records | source-storage.records.post | compatible record | 201 CREATED | Create new record | |
POST | /inventory/handlers/quick-mark | inventory.events.post | event | 200 OK | Event handler |
Tickets for implementing endpoints which do not exist yet:
- PUT /change-manager/parsedRecords/{id} -
Jira Legacy server System Jira serverId 01505d01-b853-3c2e-90f1-ee9b165564fc key MODSOURMAN-268 - POST /inventory/handlers/quick-mark -
Jira Legacy server System Jira serverId 01505d01-b853-3c2e-90f1-ee9b165564fc key MODINV-207
Schema:
Step-by-step guide:
- Updated MARC-record sends to the "mod-source-record-manager" on the specific endpoint for updating MARC-records: PUT /change-manager/parsedRecords/{id}
- "mod-source-record-manager" retrieves record by its id: GET /source-storage/records/{id}
- "mod-source-record-manager" creates new snapshot: POST /source-storage/snapshots
- "mod-source-record-manager" creates this MARC-record in the "mod-source-record-storage" using generationId-mechanism as new record: POST /source-storage/records
- "mod-source-record-manager" publishes new event with eventType: "QM_SRS_MARC_BIB_RECORD_UPDATED". Event payload contains updated MARC-record and "rules.json"-file.
- "mod-pubsub" receives this event and "mod-inventory" catches it as "subscriber" for this eventType via: POST /inventory/handlers/quick-mark event handler.
- "mod-inventory" retrieves eventPayload and builds new Instance based on its data using "data-import-processing-core". After that, "mod-inventory" updates this instance. Note: will be updated only those fields, which are controlled by MARC-record. The Instance's UUID and HRID will be the same. Moreover, there will be used standard mechanism for Instance updating in mod-inventory. So, the behaviour will be the same way as like in FOLIO(The same for fields, such as "created" or "updated" dates).
The result: an updated SRS MARC Bibliographic record and an updated Inventory Instance record.
...