Skip to content

Latest commit

 

History

History
53 lines (36 loc) · 1.9 KB

File metadata and controls

53 lines (36 loc) · 1.9 KB

3D Operations Trigger


Entry point for 3D operations — ingest, delete, update, publish/unpublish. It validates incoming requests (light & fast) and triggers the corresponding Jobnik jobs. Successor to the legacy 3d-gateway (and, in the near future, store-trigger).

Epic: MAPCO-11833 · Design: 3D Ingestion High level architecture · See docs/PRD.md

API

Endpoint Method Summary
/record POST Start an ingestion flow (validate, create Jobnik ingestion job)
/record/{id} DELETE Validate deletability, create Jobnik delete job
/record/{id} PATCH Update metadata for a record
/record/status/{id} PATCH Publish / unpublish a record

Full OpenAPI spec: openapi3.yaml. Regenerate types on spec change with npm run generate:openapi-types.

Requirements

  • Node.js ≥ 24 (required by @map-colonies/jobnik-sdk). Use the pinned version via nvm use.

Installation

npm install

During development this service consumes @map-colonies/3d-shared (and, later, mc-models v2) via local file: links until those packages are published to npm.

Run Locally

npm run start        # build + run
npm run start:dev    # offline config + source maps

Running Tests

npm run test              # all
npm run test:unit         # unit only
npm run test:integration  # integration only

Development notes

  • eslint / prettier via @map-colonies/eslint-config and @map-colonies/prettier-config
  • vitest for tests
  • OpenAPI request validation at the middleware layer
  • config via node-config
  • tracing & metrics via @map-colonies/telemetry