Uploaded image for project: 'mod-orders-storage'
  1. mod-orders-storage
  2. MODORDSTOR-22

Implement GET /orders w/ search and filtering

    XMLWordPrintable

Details

    • Story
    • Status: Closed (View Workflow)
    • P3
    • Resolution: Done
    • None
    • 5.0.0
    • None
    • ACQ Sprint 62
    • 3
    • Thunderjet

    Description

      Overview:
      In order to support search and filtering across the various orders tables, we'll need to create a view. The GET /orders API is for querying that view. See https://drive.google.com/open?id=1a1QO6coKWFFy6DhsOBXffa8DPBa9MSeJ for high level details of the approach.

      id j sonb metadata
      purchaseOrder.id purchaseOrder.jsonb purchaseOrder.jsonb + poLine.jsonb

      For now the metadata column will be a complete merging of json blobs from purchaseOrder and poLine. Later, we might transition this to a smaller subset of fields from those three tables.

      Queries will match against the metadata column, but will return the jsonb column containing the purchaseOrder record. The DISTINCT ON functionality added to Raml Module Builder in RMB-305 is required in order to avoid duplicates rows in the results.

      • Create view when enabled for a tenant (See the attached SQL)
      • implement logic to perform lookup (See the attached POC)

      Acceptance Criteria:

      • The view is automatically created when the module is enabled for a tenant
      • Unit tests exists and cover positive and negative scenarios, including ordering, paging, resultCounts, etc.

      TestRail: Results

        Attachments

          1. create_search_orders_view.sql
            0.3 kB
            Craig McNally
          2. SearchAndFilterPOC.java
            5 kB
            Craig McNally

          Issue Links

            Activity

              People

                aliaksandr_pautau Aliaksandr Pautau
                cmcnally Craig McNally
                Aliaksandr Pautau Aliaksandr Pautau
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases