From 796ea3819f83ef7ab43a79d3b40fa9012b02948d Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:00:14 +0530 Subject: [PATCH 01/17] Update data-storage.service.ts --- admin-ui/src/app/core/services/data-storage.service.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/admin-ui/src/app/core/services/data-storage.service.ts b/admin-ui/src/app/core/services/data-storage.service.ts index 3852b10..ac1d8a6 100644 --- a/admin-ui/src/app/core/services/data-storage.service.ts +++ b/admin-ui/src/app/core/services/data-storage.service.ts @@ -356,6 +356,13 @@ export class DataStorageService { ); } + sentPacketToPerso(data: FormData) { + return this.http.post( + this.BASE_URL + 'admin' + '/packetstatusupdate/sentToPerso', + data + ); + } + getCreateUpdateSteps(entity: string) { return this.http.get(`./assets/create-update-steps/${entity}-steps.json`); } From 54e99033b5b011dc264ac854be8f5339e342b694 Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:01:03 +0530 Subject: [PATCH 02/17] Update packet-status.component.html --- .../packet-status/packet-status/packet-status.component.html | 3 +++ 1 file changed, 3 insertions(+) diff --git a/admin-ui/src/app/features/packet-status/packet-status/packet-status.component.html b/admin-ui/src/app/features/packet-status/packet-status/packet-status.component.html index dee76bf..9f39379 100644 --- a/admin-ui/src/app/features/packet-status/packet-status/packet-status.component.html +++ b/admin-ui/src/app/features/packet-status/packet-status/packet-status.component.html @@ -10,6 +10,9 @@ + {{errorMessage | translate}} From 740710f5b1ffbdf060acfa4cd14daca268c6d9b7 Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:01:58 +0530 Subject: [PATCH 03/17] Update packet-status.component.ts --- .../packet-status/packet-status.component.ts | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/admin-ui/src/app/features/packet-status/packet-status/packet-status.component.ts b/admin-ui/src/app/features/packet-status/packet-status/packet-status.component.ts index b070c2e..d178483 100644 --- a/admin-ui/src/app/features/packet-status/packet-status/packet-status.component.ts +++ b/admin-ui/src/app/features/packet-status/packet-status/packet-status.component.ts @@ -21,6 +21,7 @@ export class PacketStatusComponent implements OnInit { // status: 'Completed' // } ]; + showSendToPerso: boolean = false; roles: string[] = []; showDetails = false; showTimeline = false; @@ -97,6 +98,9 @@ export class PacketStatusComponent implements OnInit { this.error = false; this.showDetails = true; console.log("Final status is ", this.statusCheck) + + this.showSendToPerso = this.data.some(item =>item.transactionTypeCode === 'PRINT_SERVICE' && + item.statusCode === 'PROCESSED' || item.statusCode === 'COMPLETED'); } }); } @@ -131,6 +135,34 @@ export class PacketStatusComponent implements OnInit { }); } + sentToPerso(){ + if (!this.id) { + this.error = true; + this.errorMessage = 'Invalid packet id'; + return; + } + + const formData = new FormData(); + formData.append('rid', this.id); + formData.append('langCode', this.headerService.getUserPreferredLanguage()); + + this.dataStorageService.sentPacketToPerso(formData).subscribe({ + next: (response) => { + console.log('Sent Packet to Perso API Response:', response); + this.error = false; + const res: any = response; + if (res && res.response && res.response.message) { + const message = res.response.message; + if(message.startsWith('Card details sent')){ + this.showPopup('Success', res.response.message, 'Close', 'success'); + } else { + this.showPopup('Error', res.response.message, 'Close', 'error'); + } + } + } + }); + } + showPopup(title: string, message: string, buttonText: string, type: 'success' | 'error') { this.popupTitle = title; this.popupMessage = message; From 7ee077319c19e369c1832bbb4ef43a963851568f Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:02:37 +0530 Subject: [PATCH 04/17] Update eng.json --- admin-ui/src/assets/i18n/eng.json | 1 + 1 file changed, 1 insertion(+) diff --git a/admin-ui/src/assets/i18n/eng.json b/admin-ui/src/assets/i18n/eng.json index 3906018..b666561 100644 --- a/admin-ui/src/assets/i18n/eng.json +++ b/admin-ui/src/assets/i18n/eng.json @@ -494,6 +494,7 @@ "viewMore": "View More", "viewLess": "View Less", "resume": "Resume", + "sentToPerso": "Send to Perso", "errorMessages": { "title": "Error", "message": "RID Not Found", From 8b88209f5bb0df5291690559e747b4641ef86f2e Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:04:43 +0530 Subject: [PATCH 05/17] Update app-routing.module.ts --- admin-ui/src/app/app-routing.module.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/admin-ui/src/app/app-routing.module.ts b/admin-ui/src/app/app-routing.module.ts index 9f750c6..5aed3ee 100644 --- a/admin-ui/src/app/app-routing.module.ts +++ b/admin-ui/src/app/app-routing.module.ts @@ -36,6 +36,13 @@ const routes: Routes = [ m => m.PacketStatusModule ) }, + { + path: 'download-card', + loadChildren: () => + import('./features/download-card/download-card.module').then( + m => m.DownloadCardModule + ) + }, { path: 'rid-status', loadChildren: () => From 988fad36c0eb55803de96b3dda8097db523fd975 Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:05:35 +0530 Subject: [PATCH 06/17] Update app.constants.ts --- admin-ui/src/app/app.constants.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/admin-ui/src/app/app.constants.ts b/admin-ui/src/app/app.constants.ts index ba9502e..d965076 100644 --- a/admin-ui/src/app/app.constants.ts +++ b/admin-ui/src/app/app.constants.ts @@ -76,6 +76,14 @@ export const navItems = [ auditEventId: 'ADM-008', roles: ['REGISTRATION_ADMIN'] }, + { + displayName: 'menuItems.item9.title', + icon: './assets/images/packet-status.svg', + route: '/admin/download-card', + children: null, + auditEventId: 'ADM-009', + roles: ['REGISTRATION_ADMIN'] + }, // { // displayName: 'menuItems.item5.title', // icon: './assets/images/id-card.svg', From 6ca77f4a82cb8783c4519686f7090c745b76f18a Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:06:15 +0530 Subject: [PATCH 07/17] Update data-storage.service.ts --- .../src/app/core/services/data-storage.service.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/admin-ui/src/app/core/services/data-storage.service.ts b/admin-ui/src/app/core/services/data-storage.service.ts index ac1d8a6..a5423e0 100644 --- a/admin-ui/src/app/core/services/data-storage.service.ts +++ b/admin-ui/src/app/core/services/data-storage.service.ts @@ -380,4 +380,18 @@ export class DataStorageService { getWorkingDays(langCode: string){ return this.http.get(this.BASE_URL + appConstants.MASTERDATA_BASE_URL + 'workingdays/'+ langCode); } + + getLoginDetails() { + return this.http.get(this.BASE_URL + 'admin/applicantDetails/getLoginDetails'); + } + + getCardStatus(registrationId: string) { + return this.http.get(this.BASE_URL + 'admin/applicantDetails/'+registrationId); + } + + downloadCard(id:string): Observable> { + let buildURL = this.BASE_URL + 'admin/rid-digital-card/'+id+'?isAcknowledged='+true; + let response = this.http.get(buildURL, { observe: 'response', responseType: 'blob' as 'json' }); + return response; + } } From 46ad8459d9c81ba0f23451ca80cbdcc09a12c1b4 Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:09:32 +0530 Subject: [PATCH 08/17] Create download-card --- admin-ui/src/app/features/download-card | 1 + 1 file changed, 1 insertion(+) create mode 100644 admin-ui/src/app/features/download-card diff --git a/admin-ui/src/app/features/download-card b/admin-ui/src/app/features/download-card new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/admin-ui/src/app/features/download-card @@ -0,0 +1 @@ + From b4de1378aab287e25f02d71d8abd9597b92b7924 Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:13:30 +0530 Subject: [PATCH 09/17] Delete admin-ui/src/app/features/download-card --- admin-ui/src/app/features/download-card | 1 - 1 file changed, 1 deletion(-) delete mode 100644 admin-ui/src/app/features/download-card diff --git a/admin-ui/src/app/features/download-card b/admin-ui/src/app/features/download-card deleted file mode 100644 index 8b13789..0000000 --- a/admin-ui/src/app/features/download-card +++ /dev/null @@ -1 +0,0 @@ - From a55ff612adf797b1e8520753f5b8e9a7cb803570 Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:14:09 +0530 Subject: [PATCH 10/17] Create download-card.component.html --- .../download-card.component.html | 126 ++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 admin-ui/src/app/features/download-card/download-card/download-card.component.html diff --git a/admin-ui/src/app/features/download-card/download-card/download-card.component.html b/admin-ui/src/app/features/download-card/download-card/download-card.component.html new file mode 100644 index 0000000..467c4ef --- /dev/null +++ b/admin-ui/src/app/features/download-card/download-card/download-card.component.html @@ -0,0 +1,126 @@ +
+

{{'download-card.header' | translate}}

+ + {{'download-card.text' | translate}} +

+ {{'download-card.searchLimit' | translate}} {{searchLimitCount}} {{'download-card.outof' | translate}} {{searchLimitMaxCount}} {{'download-card.dailylimit' | translate}} + + + + + search + {{'download-card.error' | translate}} +
+ +
+
+ + + + + + + + + + + + +
Applicant PhotoVerify Applicant and Retrieve NIN
Applicant + + + + + + + + + + + + + + + + + +
Demographic and Biometric Details
{{'download-card.dob' | translate}} : {{data.dateOfBirth}}
{{'download-card.verify' | translate}}
+ + check  {{'download-card.verifyanddownload' | translate}} + clear  {{'download-card.reject' | translate}} + +
+ + + + + +
+ NIN: {{ displayNIN }} +
+
+ +
+ Face verification failed for this Registration ID. Please provide a valid RID. +
+
+
+
+
+
+ + + +
+
+ +
+
From 3bcbe98cd479f8993c4fca8f239f6dbaff06f2db Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:15:19 +0530 Subject: [PATCH 11/17] Create download-card-routing.module.ts --- .../download-card-routing.module.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 admin-ui/src/app/features/download-card/download-card-routing.module.ts diff --git a/admin-ui/src/app/features/download-card/download-card-routing.module.ts b/admin-ui/src/app/features/download-card/download-card-routing.module.ts new file mode 100644 index 0000000..01ca4a6 --- /dev/null +++ b/admin-ui/src/app/features/download-card/download-card-routing.module.ts @@ -0,0 +1,16 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { DownloadCardComponent } from './download-card/download-card.component'; +import { RolesGuard } from 'src/app/core/services/roles.guard'; + + +const routes: Routes = [ + { path: '', redirectTo: 'view', pathMatch: 'full' }, + { path: 'view', component: DownloadCardComponent, canActivate: [RolesGuard] } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class DownloadCardRoutingModule { } From 7f606b8238655ce96ecfb668b733607cfe629524 Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:15:52 +0530 Subject: [PATCH 12/17] Create download-card.module.ts --- .../download-card/download-card.module.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 admin-ui/src/app/features/download-card/download-card.module.ts diff --git a/admin-ui/src/app/features/download-card/download-card.module.ts b/admin-ui/src/app/features/download-card/download-card.module.ts new file mode 100644 index 0000000..ab53f70 --- /dev/null +++ b/admin-ui/src/app/features/download-card/download-card.module.ts @@ -0,0 +1,19 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { DownloadCardComponent } from './download-card/download-card.component'; +import { DownloadCardRoutingModule } from './download-card-routing.module'; +import { SharedModule } from 'src/app/shared/shared.module'; +import { FormsModule } from '@angular/forms'; +import { MaterialModule } from 'src/app/shared/material.module'; + +@NgModule({ + imports: [ + CommonModule, + DownloadCardRoutingModule, + SharedModule, + FormsModule, + MaterialModule + ], + declarations: [DownloadCardComponent] +}) +export class DownloadCardModule { } From 1036ca1a8a1389482dd457fab56f33733fcb3bee Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:16:51 +0530 Subject: [PATCH 13/17] Create download-card.component.scss --- .../download-card.component.scss | 125 ++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 admin-ui/src/app/features/download-card/download-card/download-card.component.scss diff --git a/admin-ui/src/app/features/download-card/download-card/download-card.component.scss b/admin-ui/src/app/features/download-card/download-card/download-card.component.scss new file mode 100644 index 0000000..d6f5d90 --- /dev/null +++ b/admin-ui/src/app/features/download-card/download-card/download-card.component.scss @@ -0,0 +1,125 @@ +.packet-status__container { + margin: 40px; +} + +.packet-status__header-text { + font-size: 14px; + font-weight: bold; + font-family: "Roboto", sans-serif; +} + +.packet-status__input-placer { + margin-left: 30px; + width: 300px; + font-size: smaller; +} + +.packet-status__image-placer { + margin-bottom: -8px !important; + cursor: pointer; +} + +.packet-status__details-container { + display: flex; + flex-wrap: wrap; + margin: 2.5% 5% !important; + font-size: 12px; + +} + +.packet-status__details-container div { + margin-right: 70px; + font-size: 10px !important; + font-family: "Roboto", sans-serif; + font-weight: 500; +} + +.packet-status__details-container div table tr td { + font-size: 11px !important; + padding: 15px; + font-family: "Roboto", sans-serif; + font-weight: 500; +} + +.packet-status__details-container div:nth-child(3) table tr td { + padding: 0; + cursor: pointer; +} + +.packet-status__details-container div:nth-child(3) ul li { + height: 100px; + border-left: 2px solid grey; + margin-bottom: -15px; + padding-left: 20px; +} + +.packet-status__details-container div:nth-child(3) ul li h3{ + margin-top: -20px; +} + +.complete { + border-left-color: #FF4081 !important; +} + +.milestone-complete { + background-color: #FF4081 !important; +} + + +.dot { + margin-left: -26px !important; + margin-top: -10px; + height: 10px; + width: 10px; + background-color: grey; + border-radius: 50%; + display: inline-block; + } + +.hollow-dot { + margin-left: -32px !important; + height: 10px !important; + width: 10px !important; + background-color: white !important; + border: 2px solid #FF4081 !important; +} + +.incomplete-hollow { + background-color: white !important; + border: 2px solid grey !important; +} + +.packet-status__details-container div:nth-child(3) ul li:last-child { + border-left-color: white; +} + +.packet-status__details-container div:nth-child(3) ul li:first-child { + margin-top: 30px; +} + +@media(max-width: 1040px) { + .packet-status__details-container div:nth-child(3) { + margin-top: 50px; + } +} + +h3 { + font-size: 10.5px; +} +#createButton{ + background-color: #ff4081!important; + color: white; +} + +mat-card-actions.action-buttons .reject-message { + font-size: 13px !important; + font-weight: 600; + color: #d9534f; + padding-top: 10px; +} + +mat-card-actions.action-buttons .nin-display { + font-size: 13px !important; + font-weight: bold; + padding-top: 10px; +} From 131f98c2631d79950e522b676fd354a45681934e Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:17:14 +0530 Subject: [PATCH 14/17] Create download-card.component.spec.ts --- .../download-card.component.spec.ts | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 admin-ui/src/app/features/download-card/download-card/download-card.component.spec.ts diff --git a/admin-ui/src/app/features/download-card/download-card/download-card.component.spec.ts b/admin-ui/src/app/features/download-card/download-card/download-card.component.spec.ts new file mode 100644 index 0000000..6c142f6 --- /dev/null +++ b/admin-ui/src/app/features/download-card/download-card/download-card.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DownloadCardComponent } from './download-card.component'; + +describe('PacketStatusComponent', () => { + let component: DownloadCardComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ DownloadCardComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(DownloadCardComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); From 2b1d4445506a36fb362ec0e3089367487548acc6 Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:17:37 +0530 Subject: [PATCH 15/17] Create download-card.component.ts --- .../download-card/download-card.component.ts | 178 ++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 admin-ui/src/app/features/download-card/download-card/download-card.component.ts diff --git a/admin-ui/src/app/features/download-card/download-card/download-card.component.ts b/admin-ui/src/app/features/download-card/download-card/download-card.component.ts new file mode 100644 index 0000000..6e8764b --- /dev/null +++ b/admin-ui/src/app/features/download-card/download-card/download-card.component.ts @@ -0,0 +1,178 @@ +import { Component, OnInit, Sanitizer, SecurityContext } from '@angular/core'; +import { TranslateService } from '@ngx-translate/core'; +import { AppConfigService } from 'src/app/app-config.service'; +import { AuditService } from 'src/app/core/services/audit.service'; +import { DataStorageService } from 'src/app/core/services/data-storage.service'; +import { MatDialog } from '@angular/material/dialog'; +import { DialogComponent } from 'src/app/shared/dialog/dialog.component'; +import { DomSanitizer } from '@angular/platform-browser'; +import { saveAs } from 'file-saver'; +import { ActivatedRoute, Router, NavigationEnd } from '@angular/router'; +import { HttpErrorResponse } from '@angular/common/http'; + +@Component({ + selector: 'app-download-card', + templateUrl: './download-card.component.html', + styleUrls: ['./download-card.component.scss'] +}) +export class DownloadCardComponent implements OnInit { + data: any; + showDetails = false; + showTimeline = false; + messages: any; + statusCheck: string; + searchLimitCount:any; + searchLimitMaxCount:any; + id = ''; + error = false; + errorMessage = ''; + applicantPhoto:any; + showSubmit = false; + showDownload = false; + popupMessages: any; + subscribed:any; + NIN: any; + showNinValue: boolean = false; + displayNIN: any; + constructor( + private translate: TranslateService, + private appService: AppConfigService, + private auditService: AuditService, + private activatedRoute: ActivatedRoute, + private dataStorageService: DataStorageService, + public dialog: MatDialog, + private sanitizer: Sanitizer, + private router: Router + ) { + translate.use(appService.getConfig().primaryLangCode); + this.translate + .getTranslation(this.appService.getConfig().primaryLangCode) + .subscribe(response => { + this.popupMessages = response["download-card"].popupMessages; + this.messages = response['packet-status']; + }); + this.subscribed = router.events.subscribe(event => { + if (event instanceof NavigationEnd) { + } + }); + } + + ngOnInit() { + this.router.routeReuseStrategy.shouldReuseRoute = () => false; + let self = this; + self.auditService.audit(8, 'ADM-045', 'download-card'); + self.getLoginDetails(); + } + + getLoginDetails(){ + let self = this; + self.auditService.audit(5, 'ADM-045'); + self.dataStorageService.getLoginDetails().subscribe(response => { + self.searchLimitMaxCount = response["response"]["maxCount"]; + self.searchLimitCount = parseInt(response["response"]["maxCount"]) - parseInt(response["response"]["count"]); + }); + } + + captureSelection(selection:string){ + if(selection === 'true'){ + this.showSubmit = false; + this.showDownload = true; + this.showNinValue = false; + }else{ + this.showSubmit = true; + this.showDownload = false; + this.showNinValue = false; + } + } + + renderImage(){ + this.applicantPhoto = this.sanitizer.sanitize(SecurityContext.URL, this.data.applicantPhoto); + } + + search() { + this.data = ""; + this.errorMessage = ''; + this.showDownload = false; + this.showNinValue = false; + if (this.id.length !== 29) { + this.error = true; + } else { + this.dataStorageService.getCardStatus(this.id).subscribe(response => { + if (response['response'] != null) { + this.data = response['response'].applicantDataMap; + this.NIN = response['response'].applicantDataMap['NIN']; + this.showDetails = true; + this.renderImage(); + this.getLoginDetails(); + } else if (response['errors'] != null) { + this.showErrorPopup(response['errors'][0].message); + } + }); + } + } + + showErrorPopup(errorMessage) { + this.dialog + .open(DialogComponent, { + width: '750px', + data: { + case: 'MESSAGE', + // tslint:disable-next-line:no-string-literal + title: this.popupMessages['noData']['title'], + message: errorMessage, + // tslint:disable-next-line:no-string-literal + btnTxt: this.popupMessages['noData']['btnTxt'] + }, + disableClose: true + }); + } + + getNIN(){ + this.displayNIN = this.NIN; + this.showNinValue = true; + } + + submit(selection) { + if(selection === 'true'){ + this.auditService.audit(21, 'ADM-045', {'type':'download-card','actioned':'Verify and Download'}); + this.dataStorageService + .downloadCard(this.id).subscribe( + (data) => { + var fileName = this.id+".pdf"; + const contentDisposition = data.headers.get('Content-Disposition'); + if (contentDisposition) { + const fileNameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/; + const matches = fileNameRegex.exec(contentDisposition); + if (matches != null && matches[1]) { + fileName = matches[1].replace(/['"]/g, ''); + } + } + saveAs(data.body, fileName); + }, + (error: HttpErrorResponse) => { + const errorJson = JSON.parse(this.blobToString(error.error)); + this.showErrorPopup(errorJson.errors[0].message); + }); + }else{ + this.auditService.audit(21, 'ADM-045', {'type':'download-card','actioned':'Reject'}); + location.reload(); + } + } + + private blobToString(blob): string { + const url = URL.createObjectURL(blob); + let xmlRequest = new XMLHttpRequest(); + xmlRequest.open('GET', url, false); + xmlRequest.send(); + URL.revokeObjectURL(url); + return xmlRequest.responseText; + } + + viewMore() { + this.showTimeline = !this.showTimeline; + } + + ngOnDestroy() { + this.subscribed.unsubscribe(); + } +} From 8967d102638664a5ca776dbe8911c098e22b9699 Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:19:56 +0530 Subject: [PATCH 16/17] Update eng.json --- admin-ui/src/assets/i18n/eng.json | 41 +++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/admin-ui/src/assets/i18n/eng.json b/admin-ui/src/assets/i18n/eng.json index b666561..07b92a1 100644 --- a/admin-ui/src/assets/i18n/eng.json +++ b/admin-ui/src/assets/i18n/eng.json @@ -35,6 +35,9 @@ }, "item8": { "title": "Retrieve Lost RID" + }, + "item9": { + "title": "Retrieve NIN " } }, "dashboard": { @@ -799,6 +802,44 @@ }] }, + "download-card": { + "header": "Retrieve NIN", + "text": "Please enter a Registration ID to Retrieve Your NIN", + "error": "Invalid Registration ID Entered", + "id": "Registration ID", + "dob": "Date of Birth", + "verifyanddownload": "I have verified the face.", + "reject": "The face does not match.", + "rejected": "Reject", + "getNIN": "Retrive NIN", + "download": "Download", + "searchLimit": "You are left with", + "outof": "searches out of", + "dailylimit": "from your daily limit", + "verify": "Can you confirm if the face verified?", + "placeholder":"Registration ID", + "errorMessages": { + "title": "Error", + "message": "RID Not Found", + "btnTxt": "Ok" + }, + "popupMessages": { + "rejectMessages": { + "title": "Success", + "message": "You have rejected the verification.", + "btnTxt": "Ok" + }, + "noData": { + "title": "Error", + "message": "No Data Found", + "btnTxt": "Ok" + } + }, + "statuscheckFailed":"Failed", + "statuscheckCompleted":"Completed" + + }, + "serverError": { "KER-KMS-001": "Certificate is not valid", "KER-KMS-002": "ApplicationId not found in Key Policy", From 5123be793494738c0f2b76d8e096b83503c0a1d4 Mon Sep 17 00:00:00 2001 From: Jagadeesh-T440 Date: Mon, 15 Dec 2025 13:21:22 +0530 Subject: [PATCH 17/17] Update download-card.component.html --- .../download-card/download-card/download-card.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin-ui/src/app/features/download-card/download-card/download-card.component.html b/admin-ui/src/app/features/download-card/download-card/download-card.component.html index 467c4ef..9e58060 100644 --- a/admin-ui/src/app/features/download-card/download-card/download-card.component.html +++ b/admin-ui/src/app/features/download-card/download-card/download-card.component.html @@ -3,7 +3,7 @@ {{'download-card.text' | translate}}

- {{'download-card.searchLimit' | translate}} {{searchLimitCount}} {{'download-card.outof' | translate}} {{searchLimitMaxCount}} {{'download-card.dailylimit' | translate}} + {{'download-card.searchLimit' | translate}} {{searchLimitCount}} {{'download-card.outof' | translate}} {{searchLimitMaxCount}} {{'download-card.dailylimit' | translate}}