Uploaded image for project: 'Subscription Watch'
  1. Subscription Watch
  2. SWATCH-3777

Define and generate an internal REST API for the swatch-metrics-hbi outbox records.

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major Major
    • Next - API
    • None
    • swatch-metrics-hbi
    • None

      Create an openapi schema that defines the API and generate the interface and DTO during the build process. A stubbed out resource implementation should be created to allow all endpoint implementation cards to be worked on in parallel.

      The schema should include the following endpoints:

       

      Endpoint Description
      GET /api/swatch-metrics-hbi/internal/outbox Fetch all outbox records.
      GET /api/swatch-metrics-hbi/internal/outbox/{org_id} Fetch all outbox records for the specified org_id.
      POST /api/swatch-metrics-hbi/internal/outbox Create a new outbox record.
      PUT /api/swatch-metrics-hbi/internal/outbox/ Update an existing outbox record.
      DELETE /api/swatch-metrics-hbi/internal/outbox/{uuid} Delete an existing outbox record
      PUT /api/swatch-metrics-hbi/internal/rpc/outbox/flush?async=[true\\|false] Trigger the outbox-flush logic either asynchronously or synchronously based on query parameter (default to async).

       

      Acceptance Criteria

      • An openapi.yaml schema file exists and defines the endpoints for the API.
      • The build process generates the API's interfaces and DTO classes.
      • A stub resource implementation is created, returned 501 Not Implemented http code.
      • IQE component tests stubbed out for each of the APIs, asserting that the APIs respond appropriately with 501 Not Implemented

              jcarvaja@redhat.com Jose Carvajal Hilario
              mstead@redhat.com Michael Stead
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: