frontend phase 5 & backend phase 12
This commit is contained in:
@@ -132,3 +132,21 @@ delivers fixes in its own change. **Frontend never edits backend code to "fix" a
|
||||
if it binds `page_size`, tell us and we'll switch the client (one line per list call).
|
||||
- **Proposed shape:** list query = `?page={1-based}&pageSize={≤100}`; response `data` = `{ items, total, page, pageSize }`.
|
||||
- **Status:** open
|
||||
|
||||
## REQ-011 — Nurse-facing endpoint for structured professional-credential details — filed by frontend-phase-5-b6 — 2026-07-09
|
||||
- **Need:** A nurse-facing command to submit the **structured** credential fields B5 collects alongside the
|
||||
document uploads: `inoNumber` (شماره نظام پرستاری), `specialties` (string[] — stable codes + free-text),
|
||||
and optionally `licenseNumber`, `issuingAuthority`, `holderName`, `issuedAt`, `expiresAt`. Proposed:
|
||||
`POST api/v1/nurse_verification/credential_details` (or fold into the manual-step `documents` confirm body).
|
||||
- **Why:** The b6 contract records these structured fields **only on the admin `decide`** — there is no
|
||||
nurse-facing endpoint to capture them. B5 needs them at submission time (the INO number is the nurse's
|
||||
primary registry key, specialties feed f6 search facets). Today the client collects them and the mock
|
||||
persists them; the real `verificationClientApi.submitCredentialDetails` **no-ops** (the document uploads
|
||||
it accompanies ARE contract-backed via `upload_url` → PUT → `documents`). Without this, a swap to the real
|
||||
backend silently drops the INO number + specialties until an admin re-enters them.
|
||||
- **Proposed shape:** `POST api/v1/nurse_verification/credential_details` body
|
||||
`{ inoNumber, specialties: string[], licenseNumber?, issuingAuthority?, holderName?, issuedAt?, expiresAt? }`
|
||||
→ `VerificationStatusDto`. Alternatively, extend the manual-step `documents` confirm body with these fields.
|
||||
- **Also (minor):** the contract's `VerificationStepDto` has no `isRequired` — the client treats **every**
|
||||
seeded step as required (the "X از Y" meter Y = `steps.length`). Confirm that holds, or add `isRequired`.
|
||||
- **Status:** open
|
||||
|
||||
Reference in New Issue
Block a user