Uploaded image for project: 'mod-kb-ebsco-java'
  1. mod-kb-ebsco-java
  2. MODKBEKBJ-386

Implement endpoint to bulk load packages records

    XMLWordPrintable

    Details

    • Template:
    • Sprint:
      eHoldings Sprint 85
    • Story Points:
      3
    • Development Team:
      Spitfire

      Description

      Implement a POST /eholdings/packages/bulk/fetch endpoint to mod-kb-ebsco-java module to retrieve information about packages.

      in POST body back-end expects to retrieve a list with ids in the following format or similar to

      {
        "packages": ["12-123", ... , "34-344"]
      }
      

      and in responce user will have to get a list of loaded entities and failed entities. As example

      {
        "included": [
          {
            "id": "22-1887786",
            "type": "packages",
            "attributes": {
              "contentType": "E-Book",
              "customCoverage": {
                "beginCoverage": "",
                "endCoverage": ""
              },
              "isCustom": false,
              "isSelected": true,
              "name": "ProQuest Ebook Central",
              "packageId": 1887786,
              "packageType": "Variable",
              "providerId": 22,
              "providerName": "Proquest Info & Learning Co",
              "selectedCount": 1305491,
              "titleCount": 1305491,
              "visibilityData": {
                "isHidden": false,
                "reason": ""
              },
              "allowKbToAddTitles": true,
              "packageToken": {
                "factName": "[[SiteID]]",
                "helpText": "The ID may contain a combination of alphanumeric characters, varying in length.",
                "value": null,
                "prompt": "/lib/ "
              },
              "proxy": {
                "id": "EZProxy",
                "inherited": true
              }
            },
            "relationships": {
              "resources": {
                "meta": {
                  "included": false
                }
              },
              "provider": {
                "meta": {
                  "included": false
                }
              }
            }
          },
          ...,
          {
            ...
          }
        ],
        "meta": {
          "failed": {
            "packages": ["1-12", ... , "1-13"]
          }
        },
        "jsonapi": {
          "version": "1.0"
        }
      }
      

      the mod-agreements are only interested in a few attributes, so the schema for this endpoint can be simplified.

      Note: see additional information on Confluence page

      Acceptance Criteria:
      Unit tests
      Api tests

        TestRail: Results

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                dmtkachenko Dmytro Tkachenko
                Reporter:
                Natalia Zaitseva Natalia Zaitseva
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    TestRail: Runs

                      TestRail: Cases