3 blocker phases

This commit is contained in:
hamid
2026-08-02 23:12:44 +03:30
parent 90e0cdcc34
commit 66a60ce874
38 changed files with 536 additions and 234 deletions
@@ -15,7 +15,6 @@ import type {
IdentityKycInput,
NurseCredential,
RunStepResult,
SignedDocumentUrl,
TrustBadge,
UploadUrlResult,
VerificationAggregateStatus,
@@ -249,12 +248,6 @@ export const verificationClientApi: VerificationApi = {
};
},
// REQ-034: b6 has no per-document signed-URL route (documents already carry a short-lived signed `url` on
// the case detail). This targets a proposed `GET admin_verifications/documents/{documentId}/url` for an
// on-demand re-sign; until it ships, callers can re-fetch the case to get a fresh document `url`.
getDocumentSignedUrl: async (documentId: number): Promise<SignedDocumentUrl> =>
unwrap(await clientFetch<ApiEnvelope<SignedDocumentUrl>>(`${ADMIN_BASE}/documents/${documentId}/url`)),
decideStep: async (stepId: number, input: DecideStepInput): Promise<DecideStepResult> =>
unwrap(
await clientFetch<ApiEnvelope<DecideStepResult>>(`${ADMIN_BASE}/steps/${stepId}/decide`, {
@@ -263,9 +256,9 @@ export const verificationClientApi: VerificationApi = {
}),
),
// REQ-034: b6 has no whole-verification approve/reject route — approval emerges from the final step
// `decide` re-aggregating `is_verified`. These target proposed `POST admin_verifications/{id}/approve` and
// `/reject` for an explicit admin action (until they ship, approve by deciding the last pending step).
// Phase 09: explicit whole-verification approve/reject actions (AdminVerificationsController.Approve/
// Reject). Approve re-confirms what Finalize already flipped once every step passed; reject is a distinct
// admin override, not a per-step decision.
approveVerification: async (nurseVerificationId: number): Promise<void> => {
await clientFetch<ApiEnvelope<boolean>>(`${ADMIN_BASE}/${nurseVerificationId}/approve`, { method: 'POST' });
},