feat(parcel-sync): add ANCPI ePay CF extract ordering backend
Foundation (Phase 1): - CfExtract Prisma model with version tracking, expiry, MinIO path - epay-types.ts: all ePay API response types - epay-counties.ts: WORKSPACE_ID → ePay county index mapping (42 counties) - epay-storage.ts: MinIO helpers (bucket, naming, upload, download) - docker-compose.yml: ANCPI env vars ePay Client (Phase 2): - epay-client.ts: full HTTP client (login, credits, cart, search estate, submit order, poll status, download PDF) with cookie jar + auto-relogin - epay-session-store.ts: separate session from eTerra Queue + API (Phase 3): - epay-queue.ts: sequential FIFO queue (global cart constraint), 10-step workflow per order with DB status updates at each step - POST /api/ancpi/session: connect/disconnect - POST /api/ancpi/order: create single or bulk orders - GET /api/ancpi/orders: list all extracts - GET /api/ancpi/credits: live credit balance - GET /api/ancpi/download: stream PDF from MinIO Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -44,6 +44,13 @@ services:
|
||||
# eTerra ANCPI (parcel-sync module)
|
||||
- ETERRA_USERNAME=${ETERRA_USERNAME:-}
|
||||
- ETERRA_PASSWORD=${ETERRA_PASSWORD:-}
|
||||
# ANCPI ePay (CF extract ordering)
|
||||
- ANCPI_USERNAME=${ANCPI_USERNAME:-}
|
||||
- ANCPI_PASSWORD=${ANCPI_PASSWORD:-}
|
||||
- ANCPI_BASE_URL=https://epay.ancpi.ro/epay
|
||||
- ANCPI_LOGIN_URL=https://oassl.ancpi.ro/openam/UI/Login
|
||||
- ANCPI_DEFAULT_SOLICITANT_ID=14452
|
||||
- MINIO_BUCKET_ANCPI=ancpi-documente
|
||||
# iLovePDF cloud compression (free: 250 files/month)
|
||||
- ILOVEPDF_PUBLIC_KEY=${ILOVEPDF_PUBLIC_KEY:-}
|
||||
# DWG-to-DXF sidecar
|
||||
|
||||
Reference in New Issue
Block a user