feat: implement DIP/MNRL lookups and enhance Sanctions screening workflows
- Implement DIP/MNRL lookup logs table, filtering, and detail review under reports. - Integrate DIP verification gating on client creation, allowing officers to record PROCEEDED/REJECTED decisions with reasons. - Upgrade Sanctions verification dialog to support comparing Name, DOB, and Nationality particulars. - Add Sanctions disposition recording (FALSE_POSITIVE / CONFIRMED_MATCH) awaiting Principal Officer approval. - Add sanctions-alert-review-dialog for reviewers to assess and escalate/clear flagged names. - Enforce strict screening reset logic on client name changes, preventing bypass of existing blocks. - Update routes and shell menu navigation to include DIP/MNRL Lookups and Sanctions Logs.
This commit is contained in:
@@ -855,6 +855,30 @@ export class ClientsService {
|
||||
return this.http.post('/sanctions/screen', { name });
|
||||
}
|
||||
|
||||
/**
|
||||
* Records the reviewing officer's assessment of a flagged screening.
|
||||
*
|
||||
* A FALSE_POSITIVE does not unblock onboarding on its own — it only becomes effective once
|
||||
* the Principal Officer approves it from the Sanctions Logs screen.
|
||||
*
|
||||
* @param logId screening log id returned by screenSanctions()
|
||||
* @param disposition 'FALSE_POSITIVE' | 'CONFIRMED_MATCH'
|
||||
* @param reason which identifiers were compared and why they do/don't match
|
||||
*/
|
||||
recordSanctionsDisposition(logId: number, disposition: string, reason: string): Observable<any> {
|
||||
return this.http.post(`/sanctions/alerts/${logId}/disposition`, { disposition, reason });
|
||||
}
|
||||
|
||||
/**
|
||||
* Records the officer's decision on a DIP/MNRL lookup that came back flagged or unverifiable.
|
||||
* Until PROCEEDED is stored, the client-create gate refuses to save the number.
|
||||
*
|
||||
* @param decision 'PROCEEDED' | 'REJECTED'
|
||||
*/
|
||||
recordDipDecision(logId: number, decision: string, reason: string): Observable<any> {
|
||||
return this.http.post(`/lookup/logs/${logId}/decision`, { decision, reason });
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates existing KYC details for a client.
|
||||
* @param clientId Client ID
|
||||
|
||||
Reference in New Issue
Block a user