Skip to main content
Version: 1.0.0

feat-documents-from-id

⚡ Improvements

Documents From ID — Limit, Status Filter & Proof Calculation Fix

Goal: Allow consumers of the GET /documents/from-id endpoint to paginate results and filter by confirmation status, while fixing an incorrect proof status calculation.

Solution: Added limit and status query parameters to the existing cursor-based endpoint, and aligned the proof status calculation with the main documents listing.

Features:

  • New limit query parameter for cursor-based pagination.
  • New status query parameter to filter documents (e.g. ?status=confirmed).
  • Status calculation now excludes polygon proofs (aligned with documents.ts).
  • Proof collection is no longer hardcoded ('ots-proofs' → configurable via env).

Implementation Details:

  • DocOptions extended with optional limit and status.
  • Status calculation forced when status filter is provided, even if fields don't include it.
  • calculateStatus pipeline rewritten: replaced $unwind + $cond/$or with $reduce + $and (excludes polygon type).
  • proofsCollection passed as parameter instead of hardcoded string.

Files Modified:

  • src/domains/document/document.type.ts - Added limit? and status? to DocOptions
  • src/domains/document/document.controller.ts - Added limit and status query params
  • src/domains/document/document.service.ts - Pass proofsCollection to template
  • src/domains/document/templates/documentsFromId.ts - Rewritten status calc, added $limit and $match stages