Uploaded image for project: 'edge-caiasoft'
  1. edge-caiasoft
  2. EDGCSOFT-5

Requesting a Remote Storage Item for Circulation

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Closed (View Workflow)
    • Priority: P3
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 0.1.0, 1.0.0
    • Labels:
      None
    • Template:
      Thunderjet/Firebird Back-end Story Template
    • Sprint:
      Firebird Sprint 114, Firebird Sprint 115
    • Story Points:
      5
    • Development Team:
      Firebird

      Description

      Purpose/Overview:

      Edge CaiaSoft API for Requesting a Remote Storage Item for Circulation.

      Requirements/Scope:

      1. Background retrieval request job.
      2. API endpoint: POST /caiasoftService/Requests/{requestid}/route/{remoteStorageConfigurationId}. Caiasoft sends FOLIO a status update via API.

      Approach:

      1. Background retrieval request job operates by schedule (schedule can be configured individually for each remote storage). Each run the job takes all items in the queue for current Remote Storage (/retrievals - queried with Remote Storage Id) and sends them to the Remote Storage: API: Circulation Requests (Multiple Items) (see CaiaSoft API documentation https://docs.google.com/document/d/1yasfuwjA1b18NhE10yji961NKsU5vI5XILjtj-J-QVs/edit).

      2. Remote Storage response indicates whether an item is successfully requested or rejected (with rejection details). FOLIO processes Remote Storage response:

      • If item was successfully requested, item status is set to Retrieved in the retrieval request queue. 
      • If an item is failed to be requested because of a server error, FOLIO keeps the item in the queue.
      • If an item is rejected because of a logic reason (item not found, item is locked, item is out of the container etc.) then the item item status is set to Retrieved in the retrieval request queue.

      3. Remote Storage sends a notification to FOLIO, which should trigger automatic check-in of the item in the FOLIO to the primary for the item's effective remote location (using POST /retrieve/{remoteStorageConfigurationId}/checkInItemByHoldId) with request {holdId: {UUID}}.

      Acceptance criteria:

      • Scheduled retrieval request job implemented
      • API endpoint for CaiaSoft status response (POST /caiasoftService/Requests/{requestid}/route/{remoteStorageConfigurationId}) is implemented and available for making request
      • New code unit tests coverage is at least 80%
      • API tests are created

        TestRail: Results

          Attachments

          1. check-in.png
            check-in.png
            110 kB
          2. item-101.PNG
            item-101.PNG
            131 kB
          3. Page-request.PNG
            Page-request.PNG
            138 kB
          4. Remote-storage.PNG
            Remote-storage.PNG
            140 kB
          5. verified_check_in.PNG
            verified_check_in.PNG
            112 kB

            Issue Links

              Activity

                People

                Assignee:
                Charniak Siarhei Charniak
                Reporter:
                khandramai Viachaslau Khandramai
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    TestRail: Runs

                      TestRail: Cases