@d-sports/submissions-contract
v1.0.0-freeze2
Published
Contract Freeze 2 — admin submissions OpenAPI types, fixtures, and contractVersion for d-sports-engage-native
Readme
@d-sports/submissions-contract
Versioned Contract Freeze 2 package for admin submissions clients (d-sports-engage-native and web).
Contents
| Export | Purpose |
|---|---|
| contractVersion | Shared string asserted in both repos' CI |
| Freeze2RoutePaths / status, action, slot & error-code constants | Thin client vocabulary |
| PREVIEW_SIGNED_URL_TTL_SECS / SUBMISSION_UPLOAD_URL_TTL_SECS | Frozen TTL policy |
| ./openapi.json | Copy of openapi/submissions.v1.json |
| fixtures/ | JSON response fixtures per Freeze-2 route |
Source of truth
Zod schemas live in d-sports-api at lib/contracts/submissions/. Regenerate with:
bun run contract:submissions:emitCI fails if the committed OpenAPI file drifts from regeneration.
Publish
Public npm package under the @d-sports org (same as @d-sports/team-access-contract).
Note: npm publish may be a follow-up if OTP is blocked; file:packages/submissions-contract in api devDependencies is enough to declare packaging Done.
Quick publish only:
cd packages/submissions-contract
npm publish --access public --tag freeze2Also: ../../docs/plans/2026-08-05-freeze2-packaging-checklist.md.
