Uploaded image for project: 'mod-vendors'
  1. mod-vendors
  2. MODVEND-81

Load sample data via tenant API



    • Story
    • Status: Closed (View Workflow)
    • P3
    • Resolution: Done
    • None
    • 2.1.0
    • None


      In a recent discussion we've decided to pursue a different approach to loading sample data which involves overriding the default implementation of the tenant interface (POST _/tenant). This API is called by OKAPI when the module is enabled for a tenant.

      Basic approach:

      • Execute the standard/default logic
      • Look for one or more request parameters indicating whether or not to load sample and/or reference data. These parameters are specified in the tenantAttribute data.
      • Conditionally read in data (from somewhere) and make appropriate API calls to insert the data
      • The case of upgrades should be handled appropriately, e.g. if an upgrade and the data already exists, perform a PUT, otherwise, a POST will suffice.

      This basic approach has been implemented for orders storage. See https://issues.folio.org/browse/MODORDSTOR-48. Much of this implementation can likely be borrowed.

      Special sauce:

      • Define system properties or module arguments which would be specified at runtime indicating whether or not to load sample and reference data. This would dictate the default behavior in the case where the aforementioned flags aren't specified by OKAPI when calling the tenant API. Note that these would be applied to ALL tenants, whereas the params provided by OKAPI would be tenant specific.

      See related stories for additional details.

      Additional context:


      Testing steps:

      • Run attached script to get all vendor records from folio-snapshot
      • At least 13 vendor records will be returned

      TestRail: Results


          Issue Links



                cmcnally Craig McNally
                cmcnally Craig McNally
                Craig McNally Craig McNally
                0 Vote for this issue
                5 Start watching this issue



                  TestRail: Runs

                    TestRail: Cases