mirror of
https://github.com/Sea-Haven-Industries/procurement-ingest.git
synced 2026-09-30 18:53:14 +00:00
34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
|
|
"""Route tables for the procurement API.
|
||
|
|
|
||
|
|
Single source of truth for what the API implements: the spec-drift test
|
||
|
|
(tests/test_api_spec_drift.py) asserts these tables match lambdas/api/
|
||
|
|
openapi.json exactly, so an endpoint can't be added, removed, or renamed on
|
||
|
|
one side without failing CI. Keys are (httpMethod, resource) as API Gateway's
|
||
|
|
Lambda-proxy event presents them (resource = the templated path).
|
||
|
|
|
||
|
|
DATA_ROUTES values are handler-module attribute names resolved by handler.py.
|
||
|
|
PLANNED_ROUTES are phase-2 write endpoints: present in the spec (x-planned)
|
||
|
|
and at the gateway, but the handler answers 501 until they ship with their
|
||
|
|
own IAM diff + cross-family review.
|
||
|
|
"""
|
||
|
|
|
||
|
|
DATA_ROUTES = {
|
||
|
|
("GET", "/work-orders"): "list_work_orders",
|
||
|
|
("GET", "/work-orders/{workOrderId}"): "get_work_order",
|
||
|
|
("GET", "/work-orders/{workOrderId}/comments"): "list_comments",
|
||
|
|
("GET", "/purchase-orders"): "list_purchase_orders",
|
||
|
|
("GET", "/purchase-orders/{poNumber}"): "get_purchase_order",
|
||
|
|
("GET", "/verified-sites"): "list_verified_sites",
|
||
|
|
("GET", "/verified-sites/{siteCode}"): "get_verified_site",
|
||
|
|
}
|
||
|
|
|
||
|
|
DOCS_ROUTES = {
|
||
|
|
("GET", "/docs"),
|
||
|
|
("GET", "/openapi.json"),
|
||
|
|
}
|
||
|
|
|
||
|
|
PLANNED_ROUTES = {
|
||
|
|
("POST", "/work-orders/{workOrderId}/comments"),
|
||
|
|
("PATCH", "/work-orders/{workOrderId}"),
|
||
|
|
}
|