Files
edr-platform/apps/edr-payment-api/src/config/app.config.ts
2026-06-17 20:12:44 +03:00

22 lines
1.1 KiB
TypeScript

import { registerAs } from "@nestjs/config";
export default registerAs("app", () => ({
port: parseInt(process.env.PORT ?? "3003", 10),
/**
* Shared secret for service-to-service auth (apps -> /payments/*, payment -> mark-paid).
* Required in production; in development an empty value disables the guard with a warning.
* TODO: integrate @tria-plc IAM / mTLS as the long-term mechanism (docs/payment-service §14).
*/
serviceAuthToken: process.env.SERVICE_AUTH_TOKEN ?? "",
reconciliation: {
/** How often the stale-intent sweep runs. */
// TODO(demo): revert to the env-driven line below after the demo. Temporarily FORCED to 30s
// here so the .env (RECONCILE_SWEEP_INTERVAL_MS) cannot override it.
// sweepIntervalMs: parseInt(process.env.RECONCILE_SWEEP_INTERVAL_MS ?? "60000", 10),
sweepIntervalMs: 30_000,
/** An intent is "stale" when non-terminal and untouched for this long. */
staleAfterMs: parseInt(process.env.RECONCILE_STALE_AFTER_MS ?? "60000", 10),
batchSize: parseInt(process.env.RECONCILE_BATCH_SIZE ?? "20", 10),
},
}));