From cb2e40f962c6bb9dcedd47105fb92281fd6cbc8f Mon Sep 17 00:00:00 2001 From: Domenico Gemoli Date: Fri, 20 Dec 2024 10:43:11 +0100 Subject: [PATCH] portalicious: strings instead of numbers in query params AB#32359 --- .../src/app/components/logo/logo.component.ts | 2 +- .../components/header/header.component.ts | 2 +- .../payment-header.component.html | 16 --------- .../project-menu/project-menu.component.ts | 10 +++--- .../page-layout/page-layout.component.ts | 2 +- .../add-note-form/add-note-form.component.ts | 2 +- .../registration-menu.component.ts | 5 +-- .../registration-page-layout.component.ts | 6 ++-- .../registrations-table.component.ts | 2 +- .../app/domains/event/event.api.service.ts | 6 ++-- ...vice-provider-configuration.api.service.ts | 6 ++-- .../app/domains/metric/metric.api.service.ts | 12 +++---- .../notification/notification.api.service.ts | 10 +++--- .../domains/payment/payment.api.service.ts | 34 +++++++++--------- .../domains/project/project.api.service.ts | 30 ++++++++-------- .../registration/registration.api.service.ts | 36 +++++++++++-------- .../registration/registration.helper.ts | 4 +-- .../project-monitoring.page.ts | 6 +--- .../import-reconciliation-data.component.ts | 4 +-- .../retry-transfers-dialog.component.ts | 4 +-- .../single-payment-export.component.ts | 8 ++--- .../project-payment/project-payment.page.ts | 7 ++-- .../create-payment.component.ts | 2 +- .../export-payments.component.ts | 2 +- .../payment-summary-card.component.ts | 4 +-- .../project-payments/project-payments.page.ts | 2 +- .../activity-log-voucher-dialog.component.ts | 2 +- .../table-cell-overview.component.ts | 2 -- .../project-registration-activity-log.page.ts | 6 ++-- .../project-registration-debit-cards.page.ts | 7 ++-- ...-registration-personal-information.page.ts | 7 ++-- ...-contents-with-custom-message.component.ts | 2 +- ...ntents-with-templated-message.component.ts | 2 +- .../change-status-dialog.component.ts | 2 +- .../custom-message-control.component.ts | 2 +- .../custom-message-preview.component.ts | 2 +- .../export-registrations.component.ts | 2 +- .../import-registrations.component.ts | 2 +- .../latest-export-date.component.ts | 2 +- .../send-message-dialog.component.ts | 2 +- .../project-registrations.page.ts | 2 +- .../add-project-team-user-form.component.ts | 2 +- .../pages/project-team/project-team.page.ts | 6 ++-- .../src/app/services/auth.service.ts | 8 ++--- .../src/app/services/export.service.ts | 11 +++--- .../src/app/services/messaging.service.ts | 10 +++--- 46 files changed, 150 insertions(+), 155 deletions(-) delete mode 100644 interfaces/Portalicious/src/app/components/page-layout/components/payment-header/payment-header.component.html diff --git a/interfaces/Portalicious/src/app/components/logo/logo.component.ts b/interfaces/Portalicious/src/app/components/logo/logo.component.ts index c7e9ec6869..0aade75feb 100644 --- a/interfaces/Portalicious/src/app/components/logo/logo.component.ts +++ b/interfaces/Portalicious/src/app/components/logo/logo.component.ts @@ -23,7 +23,7 @@ import { TranslatableStringPipe } from '~/pipes/translatable-string.pipe'; export class LogoComponent { private projectApiService = inject(ProjectApiService); - projectId = input(); + projectId = input(); projectTitle = computed(() => this.project.data()?.titlePortal); public project = injectQuery( diff --git a/interfaces/Portalicious/src/app/components/page-layout/components/header/header.component.ts b/interfaces/Portalicious/src/app/components/page-layout/components/header/header.component.ts index b38892d4c4..6c16478bec 100644 --- a/interfaces/Portalicious/src/app/components/page-layout/components/header/header.component.ts +++ b/interfaces/Portalicious/src/app/components/page-layout/components/header/header.component.ts @@ -45,7 +45,7 @@ import { AuthService } from '~/services/auth.service'; }) export class HeaderComponent { private authService = inject(AuthService); - projectId = input(); + projectId = input(); userName = computed(() => this.authService.user?.username); diff --git a/interfaces/Portalicious/src/app/components/page-layout/components/payment-header/payment-header.component.html b/interfaces/Portalicious/src/app/components/page-layout/components/payment-header/payment-header.component.html deleted file mode 100644 index 8caeec5557..0000000000 --- a/interfaces/Portalicious/src/app/components/page-layout/components/payment-header/payment-header.component.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - diff --git a/interfaces/Portalicious/src/app/components/page-layout/components/project-menu/project-menu.component.ts b/interfaces/Portalicious/src/app/components/page-layout/components/project-menu/project-menu.component.ts index 4650d3ae0d..cd901e49ed 100644 --- a/interfaces/Portalicious/src/app/components/page-layout/components/project-menu/project-menu.component.ts +++ b/interfaces/Portalicious/src/app/components/page-layout/components/project-menu/project-menu.component.ts @@ -23,22 +23,22 @@ import { AuthService } from '~/services/auth.service'; }) export class ProjectMenuComponent { private authService = inject(AuthService); - projectId = input.required(); + projectId = input.required(); navMenuItems = computed(() => [ { label: $localize`:@@page-title-project-registrations:Registrations`, - routerLink: `/${AppRoutes.project}/${this.projectId().toString()}/${AppRoutes.projectRegistrations}`, + routerLink: `/${AppRoutes.project}/${this.projectId()}/${AppRoutes.projectRegistrations}`, icon: 'pi pi-file-edit', }, { label: $localize`:@@page-title-project-payments:Payments`, - routerLink: `/${AppRoutes.project}/${this.projectId().toString()}/${AppRoutes.projectPayments}`, + routerLink: `/${AppRoutes.project}/${this.projectId()}/${AppRoutes.projectPayments}`, icon: 'pi pi-money-bill', }, { label: $localize`:@@page-title-project-monitoring:Monitoring`, - routerLink: `/${AppRoutes.project}/${this.projectId().toString()}/${AppRoutes.projectMonitoring}`, + routerLink: `/${AppRoutes.project}/${this.projectId()}/${AppRoutes.projectMonitoring}`, icon: 'pi pi-chart-bar', visible: this.authService.hasPermission({ projectId: this.projectId(), @@ -47,7 +47,7 @@ export class ProjectMenuComponent { }, { label: $localize`:@@page-title-project-team:Team`, - routerLink: `/${AppRoutes.project}/${this.projectId().toString()}/${AppRoutes.projectTeam}`, + routerLink: `/${AppRoutes.project}/${this.projectId()}/${AppRoutes.projectTeam}`, styleClass: 'ms-auto', icon: 'pi pi-users', visible: this.authService.hasPermission({ diff --git a/interfaces/Portalicious/src/app/components/page-layout/page-layout.component.ts b/interfaces/Portalicious/src/app/components/page-layout/page-layout.component.ts index 4f1f78562f..adae3c9af5 100644 --- a/interfaces/Portalicious/src/app/components/page-layout/page-layout.component.ts +++ b/interfaces/Portalicious/src/app/components/page-layout/page-layout.component.ts @@ -43,7 +43,7 @@ export class PageLayoutComponent { parentPageTitle = input(); parentPageLink = input(); - projectId = input(); + projectId = input(); isPending = input(); diff --git a/interfaces/Portalicious/src/app/components/registration-page-layout/components/add-note-form/add-note-form.component.ts b/interfaces/Portalicious/src/app/components/registration-page-layout/components/add-note-form/add-note-form.component.ts index 23ff8b486e..bc4734ce8b 100644 --- a/interfaces/Portalicious/src/app/components/registration-page-layout/components/add-note-form/add-note-form.component.ts +++ b/interfaces/Portalicious/src/app/components/registration-page-layout/components/add-note-form/add-note-form.component.ts @@ -45,7 +45,7 @@ export class AddNoteFormComponent { private toastService = inject(ToastService); formVisible = model.required(); - projectId = input.required(); + projectId = input.required(); registrationReferenceId = input.required(); registrationName = input(); diff --git a/interfaces/Portalicious/src/app/components/registration-page-layout/components/registration-menu/registration-menu.component.ts b/interfaces/Portalicious/src/app/components/registration-page-layout/components/registration-menu/registration-menu.component.ts index 0f6771d282..a434c9f944 100644 --- a/interfaces/Portalicious/src/app/components/registration-page-layout/components/registration-menu/registration-menu.component.ts +++ b/interfaces/Portalicious/src/app/components/registration-page-layout/components/registration-menu/registration-menu.component.ts @@ -24,11 +24,12 @@ import { RegistrationApiService } from '~/domains/registration/registration.api. changeDetection: ChangeDetectionStrategy.OnPush, }) export class RegistrationMenuComponent { + readonly projectId = input.required(); + readonly registrationId = input.required(); + readonly registrationApiService = inject(RegistrationApiService); readonly projectApiService = inject(ProjectApiService); - projectId = input.required(); - registrationId = input.required(); registration = injectQuery( this.registrationApiService.getRegistrationById( this.projectId, diff --git a/interfaces/Portalicious/src/app/components/registration-page-layout/registration-page-layout.component.ts b/interfaces/Portalicious/src/app/components/registration-page-layout/registration-page-layout.component.ts index 4e6e8f6896..8a480b6491 100644 --- a/interfaces/Portalicious/src/app/components/registration-page-layout/registration-page-layout.component.ts +++ b/interfaces/Portalicious/src/app/components/registration-page-layout/registration-page-layout.component.ts @@ -46,13 +46,13 @@ import { AuthService } from '~/services/auth.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class RegistrationPageLayoutComponent { + readonly projectId = input.required(); + readonly registrationId = input.required(); + readonly registrationApiService = inject(RegistrationApiService); readonly projectApiService = inject(ProjectApiService); private authService = inject(AuthService); - projectId = input.required(); - registrationId = input.required(); - project = injectQuery(this.projectApiService.getProject(this.projectId)); registration = injectQuery( this.registrationApiService.getRegistrationById( diff --git a/interfaces/Portalicious/src/app/components/registrations-table/registrations-table.component.ts b/interfaces/Portalicious/src/app/components/registrations-table/registrations-table.component.ts index fd71820c9c..04ddc50311 100644 --- a/interfaces/Portalicious/src/app/components/registrations-table/registrations-table.component.ts +++ b/interfaces/Portalicious/src/app/components/registrations-table/registrations-table.component.ts @@ -39,7 +39,7 @@ import { TranslatableStringService } from '~/services/translatable-string.servic changeDetection: ChangeDetectionStrategy.OnPush, }) export class RegistrationsTableComponent { - projectId = input.required(); + projectId = input.required(); contextMenuItems = input(); localStorageKey = input(); overrideFilters = input>({}); diff --git a/interfaces/Portalicious/src/app/domains/event/event.api.service.ts b/interfaces/Portalicious/src/app/domains/event/event.api.service.ts index 3eac9f73c4..96c488db1b 100644 --- a/interfaces/Portalicious/src/app/domains/event/event.api.service.ts +++ b/interfaces/Portalicious/src/app/domains/event/event.api.service.ts @@ -3,7 +3,7 @@ import { Injectable, Signal } from '@angular/core'; import { DomainApiService } from '~/domains/domain-api.service'; -const BASE_ENDPOINT = (projectId: Signal) => [ +const BASE_ENDPOINT = (projectId: Signal) => [ 'programs', projectId, 'events', @@ -17,7 +17,7 @@ export class EventApiService extends DomainApiService { projectId, params, }: { - projectId: Signal; + projectId: Signal; params: HttpParamsOptions['fromObject']; }) { return this.generateQueryOptions({ @@ -27,7 +27,7 @@ export class EventApiService extends DomainApiService { }); } - public invalidateCache(projectId: Signal): Promise { + public invalidateCache(projectId: Signal): Promise { return this.queryClient.invalidateQueries({ queryKey: this.pathToQueryKey(BASE_ENDPOINT(projectId)), }); diff --git a/interfaces/Portalicious/src/app/domains/financial-service-provider-configuration/financial-service-provider-configuration.api.service.ts b/interfaces/Portalicious/src/app/domains/financial-service-provider-configuration/financial-service-provider-configuration.api.service.ts index c8d2c80091..278ebebfa6 100644 --- a/interfaces/Portalicious/src/app/domains/financial-service-provider-configuration/financial-service-provider-configuration.api.service.ts +++ b/interfaces/Portalicious/src/app/domains/financial-service-provider-configuration/financial-service-provider-configuration.api.service.ts @@ -3,7 +3,7 @@ import { Injectable, Signal } from '@angular/core'; import { DomainApiService } from '~/domains/domain-api.service'; import { FinancialServiceProviderConfiguration } from '~/domains/financial-service-provider-configuration/financial-service-provider-configuration.model'; -const BASE_ENDPOINT = (projectId: Signal) => [ +const BASE_ENDPOINT = (projectId: Signal) => [ 'programs', projectId, 'financial-service-provider-configurations', @@ -13,7 +13,9 @@ const BASE_ENDPOINT = (projectId: Signal) => [ providedIn: 'root', }) export class FinancialServiceProviderConfigurationApiService extends DomainApiService { - getFinancialServiceProviderConfigurations(projectId: Signal) { + getFinancialServiceProviderConfigurations( + projectId: Signal, + ) { return this.generateQueryOptions({ path: BASE_ENDPOINT(projectId), }); diff --git a/interfaces/Portalicious/src/app/domains/metric/metric.api.service.ts b/interfaces/Portalicious/src/app/domains/metric/metric.api.service.ts index b0f0e18478..f41063c11b 100644 --- a/interfaces/Portalicious/src/app/domains/metric/metric.api.service.ts +++ b/interfaces/Portalicious/src/app/domains/metric/metric.api.service.ts @@ -9,7 +9,7 @@ import { ProjectMetrics, } from '~/domains/metric/metric.model'; -const BASE_ENDPOINT = (projectId: Signal) => [ +const BASE_ENDPOINT = (projectId: Signal) => [ 'programs', projectId, 'metrics', @@ -19,7 +19,7 @@ const BASE_ENDPOINT = (projectId: Signal) => [ providedIn: 'root', }) export class MetricApiService extends DomainApiService { - getProjectSummaryMetrics(projectId: Signal) { + getProjectSummaryMetrics(projectId: Signal) { return this.generateQueryOptions({ path: [...BASE_ENDPOINT(projectId), 'program-stats-summary'], }); @@ -30,7 +30,7 @@ export class MetricApiService extends DomainApiService { type, params, }: { - projectId: Signal; + projectId: Signal; type: ExportType; params: HttpParamsOptions['fromObject']; }) { @@ -46,8 +46,8 @@ export class MetricApiService extends DomainApiService { projectId, payment, }: { - projectId: Signal; - payment: Signal; + projectId: Signal; + payment: Signal; }) { return this.generateQueryOptions< { data: PaymentMetricDetails[] }, @@ -64,7 +64,7 @@ export class MetricApiService extends DomainApiService { }); } - public invalidateCache(projectId: Signal): Promise { + public invalidateCache(projectId: Signal): Promise { return this.queryClient.invalidateQueries({ queryKey: this.pathToQueryKey(BASE_ENDPOINT(projectId)), }); diff --git a/interfaces/Portalicious/src/app/domains/notification/notification.api.service.ts b/interfaces/Portalicious/src/app/domains/notification/notification.api.service.ts index e9ca426d56..7b9f99192f 100644 --- a/interfaces/Portalicious/src/app/domains/notification/notification.api.service.ts +++ b/interfaces/Portalicious/src/app/domains/notification/notification.api.service.ts @@ -8,7 +8,7 @@ import { import { TranslatableStringService } from '~/services/translatable-string.service'; import { getLanguageEnumFromLocale, Locale } from '~/utils/locale'; -const BASE_ENDPOINT = (projectId: Signal) => [ +const BASE_ENDPOINT = (projectId: Signal) => [ 'notifications', projectId, ]; @@ -22,13 +22,13 @@ export class NotificationApiService extends DomainApiService { TranslatableStringService, ); - getMessageTemplates(projectId: Signal) { + getMessageTemplates(projectId: Signal) { return this.generateQueryOptions< MessageTemplate[], MessageTemplateWithTranslatedLabel[] >({ path: [ - ...BASE_ENDPOINT(projectId as Signal), + ...BASE_ENDPOINT(projectId as Signal), 'message-templates', ], processResponse: (response) => { @@ -53,7 +53,9 @@ export class NotificationApiService extends DomainApiService { }); } - public invalidateMessageTemplates(projectId: Signal): Promise { + public invalidateMessageTemplates( + projectId: Signal, + ): Promise { const path = [...BASE_ENDPOINT(projectId), 'message-templates']; return this.queryClient.invalidateQueries({ diff --git a/interfaces/Portalicious/src/app/domains/payment/payment.api.service.ts b/interfaces/Portalicious/src/app/domains/payment/payment.api.service.ts index bf9b42254f..56bafa4842 100644 --- a/interfaces/Portalicious/src/app/domains/payment/payment.api.service.ts +++ b/interfaces/Portalicious/src/app/domains/payment/payment.api.service.ts @@ -16,7 +16,7 @@ import { import { PaginateQuery } from '~/services/paginate-query.service'; import { Dto } from '~/utils/dto-type'; -const BASE_ENDPOINT = (projectId: Signal) => [ +const BASE_ENDPOINT = (projectId: Signal) => [ 'programs', projectId, 'payments', @@ -26,23 +26,23 @@ const BASE_ENDPOINT = (projectId: Signal) => [ providedIn: 'root', }) export class PaymentApiService extends DomainApiService { - getPayments(projectId: Signal) { + getPayments(projectId: Signal) { return this.generateQueryOptions({ path: [...BASE_ENDPOINT(projectId)], }); } getPayment( - projectId: Signal, - paymentId: Signal, + projectId: Signal, + paymentId: Signal, ) { return this.generateQueryOptions({ - path: [...BASE_ENDPOINT(projectId as Signal), paymentId], + path: [...BASE_ENDPOINT(projectId as Signal), paymentId], enabled: () => !!projectId() && !!paymentId(), }); } - getPaymentStatus(projectId: Signal) { + getPaymentStatus(projectId: Signal) { return this.generateQueryOptions({ path: [...BASE_ENDPOINT(projectId), 'status'], refetchInterval: 3000, @@ -55,7 +55,7 @@ export class PaymentApiService extends DomainApiService { paymentData, dryRun = true, }: { - projectId: Signal; + projectId: Signal; paginateQuery: PaginateQuery; paymentData: Dto; dryRun?: boolean; @@ -80,12 +80,12 @@ export class PaymentApiService extends DomainApiService { paymentId, referenceIds, }: { - projectId: Signal; - paymentId: number; + projectId: Signal; + paymentId: number | string; referenceIds: string[]; }) { const body: Dto = { - payment: paymentId, + payment: Number(paymentId), referenceIds: { referenceIds, }, @@ -104,8 +104,8 @@ export class PaymentApiService extends DomainApiService { projectId, paymentId, }: { - projectId: Signal; - paymentId: string; + projectId: Signal; + paymentId: number | string; }) { return this.generateQueryOptions>({ path: [...BASE_ENDPOINT(projectId), paymentId, 'fsp-instructions'], @@ -113,7 +113,7 @@ export class PaymentApiService extends DomainApiService { }); } - getReconciliationDataTemplates(projectId: Signal) { + getReconciliationDataTemplates(projectId: Signal) { return this.generateQueryOptions[]>({ path: [ ...BASE_ENDPOINT(projectId), @@ -128,8 +128,8 @@ export class PaymentApiService extends DomainApiService { paymentId, file, }: { - projectId: Signal; - paymentId: Signal; + paymentId: Signal; + projectId: Signal; file: File; }) { const formData = new FormData(); @@ -148,8 +148,8 @@ export class PaymentApiService extends DomainApiService { } public invalidateCache( - projectId: Signal, - paymentId?: Signal, + projectId: Signal, + paymentId?: Signal, ): Promise { const path = [...BASE_ENDPOINT(projectId)]; diff --git a/interfaces/Portalicious/src/app/domains/project/project.api.service.ts b/interfaces/Portalicious/src/app/domains/project/project.api.service.ts index 56203009c4..8422e14c0b 100644 --- a/interfaces/Portalicious/src/app/domains/project/project.api.service.ts +++ b/interfaces/Portalicious/src/app/domains/project/project.api.service.ts @@ -53,14 +53,14 @@ export class ProjectApiService extends DomainApiService { }); } - getProject(projectId: Signal) { + getProject(projectId: Signal) { return this.generateQueryOptions({ path: [BASE_ENDPOINT, projectId], enabled: () => !!projectId(), }); } - getProjectUsers(projectId: Signal) { + getProjectUsers(projectId: Signal) { return this.generateQueryOptions< ProjectUser[], ProjectUserWithRolesLabel[] @@ -86,7 +86,7 @@ export class ProjectApiService extends DomainApiService { includeTemplateDefaultAttributes = false, filterShowInPeopleAffectedTable = false, }: { - projectId: Signal; + projectId: Signal; includeProgramRegistrationAttributes?: boolean; includeTemplateDefaultAttributes?: boolean; filterShowInPeopleAffectedTable?: boolean; @@ -121,7 +121,7 @@ export class ProjectApiService extends DomainApiService { } assignProjectUser( - projectId: Signal, + projectId: Signal, { userId, roles, @@ -145,7 +145,7 @@ export class ProjectApiService extends DomainApiService { } updateProjectUserAssignment( - projectId: Signal, + projectId: Signal, { userId, roles, @@ -168,7 +168,7 @@ export class ProjectApiService extends DomainApiService { ); } - removeProjectUser(projectId: Signal, userId?: number) { + removeProjectUser(projectId: Signal, userId?: number) { if (!userId) { return Promise.reject(new Error('User ID is required')); } @@ -184,7 +184,7 @@ export class ProjectApiService extends DomainApiService { registrationReferenceId, note, }: { - projectId: Signal; + projectId: Signal; registrationReferenceId: Signal; note: string; }): Promise { @@ -202,9 +202,9 @@ export class ProjectApiService extends DomainApiService { voucherReferenceId, paymentId, }: { - projectId: Signal; + projectId: Signal; voucherReferenceId: string; - paymentId: number; + paymentId: number | string; }) { return this.generateQueryOptions({ path: [ @@ -225,9 +225,9 @@ export class ProjectApiService extends DomainApiService { registrationReferenceId, paymentId, }: { - projectId: Signal; + projectId: Signal; registrationReferenceId: string; - paymentId: number; + paymentId: number | string; }) { return this.generateQueryOptions({ path: [ @@ -242,7 +242,7 @@ export class ProjectApiService extends DomainApiService { }); } - getCbeVerificationReport(projectId: Signal) { + getCbeVerificationReport(projectId: Signal) { return this.generateQueryOptions< Dto >({ @@ -258,7 +258,7 @@ export class ProjectApiService extends DomainApiService { projectId, actionType, }: { - projectId: Signal; + projectId: Signal; actionType: ExportType; }) { return this.generateQueryOptions>({ @@ -269,8 +269,8 @@ export class ProjectApiService extends DomainApiService { }); } - public invalidateCache(projectId?: Signal): Promise { - const path: (Signal | string)[] = [BASE_ENDPOINT]; + public invalidateCache(projectId?: Signal): Promise { + const path: (Signal | string)[] = [BASE_ENDPOINT]; if (projectId) { path.push(projectId); diff --git a/interfaces/Portalicious/src/app/domains/registration/registration.api.service.ts b/interfaces/Portalicious/src/app/domains/registration/registration.api.service.ts index 1a5def01ea..1456f677e8 100644 --- a/interfaces/Portalicious/src/app/domains/registration/registration.api.service.ts +++ b/interfaces/Portalicious/src/app/domains/registration/registration.api.service.ts @@ -17,7 +17,7 @@ import { import { PaginateQuery } from '~/services/paginate-query.service'; import { Dto } from '~/utils/dto-type'; -const BASE_ENDPOINT = (projectId: Signal) => [ +const BASE_ENDPOINT = (projectId: Signal) => [ 'programs', projectId, 'registrations', @@ -28,7 +28,7 @@ const BASE_ENDPOINT = (projectId: Signal) => [ }) export class RegistrationApiService extends DomainApiService { getManyByQuery( - projectId: Signal, + projectId: Signal, paginateQuery: Signal, ) { return this.generateQueryOptions({ @@ -39,16 +39,19 @@ export class RegistrationApiService extends DomainApiService { } getRegistrationById( - projectId: Signal, - registrationId: Signal, + projectId: Signal, + registrationId: Signal, ) { return this.generateQueryOptions({ - path: [...BASE_ENDPOINT(projectId as Signal), registrationId], + path: [ + ...BASE_ENDPOINT(projectId as Signal), + registrationId, + ], enabled: () => !!projectId() && !!registrationId(), }); } - getImportTemplate(projectId: Signal) { + getImportTemplate(projectId: Signal) { return this.generateQueryOptions({ path: [...BASE_ENDPOINT(projectId), 'import', 'template'], }); @@ -58,7 +61,7 @@ export class RegistrationApiService extends DomainApiService { projectId, file, }: { - projectId: Signal; + projectId: Signal; file: File; }) { const formData = new FormData(); @@ -80,7 +83,7 @@ export class RegistrationApiService extends DomainApiService { paginateQuery, messageData, }: { - projectId: Signal; + projectId: Signal; paginateQuery: PaginateQuery | undefined; messageData: SendMessageData; }) { @@ -119,7 +122,7 @@ export class RegistrationApiService extends DomainApiService { messageData, dryRun = true, }: { - projectId: Signal; + projectId: Signal; paginateQuery: PaginateQuery | undefined; status: RegistrationStatusEnum; messageData?: SendMessageData | undefined; @@ -166,14 +169,17 @@ export class RegistrationApiService extends DomainApiService { ); } - getActivityLog(projectId: Signal, registrationId: Signal) { + getActivityLog( + projectId: Signal, + registrationId: Signal, + ) { return this.generateQueryOptions({ path: [...BASE_ENDPOINT(projectId), registrationId, 'activities'], }); } getWalletWithCardsByReferenceId( - projectId: Signal, + projectId: Signal, referenceId: Signal, ) { return this.generateQueryOptions({ @@ -195,7 +201,7 @@ export class RegistrationApiService extends DomainApiService { tokenCode, pauseStatus, }: { - projectId: Signal; + projectId: Signal; referenceId: string; tokenCode: string; pauseStatus: boolean; @@ -223,7 +229,7 @@ export class RegistrationApiService extends DomainApiService { projectId, referenceId, }: { - projectId: Signal; + projectId: Signal; referenceId: string; }) { const endpoint = this.pathToQueryKey([ @@ -242,8 +248,8 @@ export class RegistrationApiService extends DomainApiService { } public invalidateCache( - projectId: Signal, - registrationId?: Signal, + projectId: Signal, + registrationId?: Signal, ): Promise { const path = [...BASE_ENDPOINT(projectId)]; diff --git a/interfaces/Portalicious/src/app/domains/registration/registration.helper.ts b/interfaces/Portalicious/src/app/domains/registration/registration.helper.ts index 328cbf81f2..a0f5f82490 100644 --- a/interfaces/Portalicious/src/app/domains/registration/registration.helper.ts +++ b/interfaces/Portalicious/src/app/domains/registration/registration.helper.ts @@ -99,8 +99,8 @@ export function registrationLink({ projectId, registrationId, }: { - projectId: number; - registrationId: number; + projectId: number | string; + registrationId: number | string; }) { return [ '/', diff --git a/interfaces/Portalicious/src/app/pages/project-monitoring/project-monitoring.page.ts b/interfaces/Portalicious/src/app/pages/project-monitoring/project-monitoring.page.ts index 68c2824a16..b8990ee7e7 100644 --- a/interfaces/Portalicious/src/app/pages/project-monitoring/project-monitoring.page.ts +++ b/interfaces/Portalicious/src/app/pages/project-monitoring/project-monitoring.page.ts @@ -16,7 +16,6 @@ import { DataListComponent, DataListItem, } from '~/components/data-list/data-list.component'; -import { InfoTooltipComponent } from '~/components/info-tooltip/info-tooltip.component'; import { PageLayoutComponent } from '~/components/page-layout/page-layout.component'; import { SkeletonInlineComponent } from '~/components/skeleton-inline/skeleton-inline.component'; import { MetricApiService } from '~/domains/metric/metric.api.service'; @@ -24,7 +23,6 @@ import { PaymentApiService } from '~/domains/payment/payment.api.service'; import { ProjectApiService } from '~/domains/project/project.api.service'; import { MetricTileComponent } from '~/pages/project-monitoring/components/metric-tile/metric-tile.component'; import { DashboardIframeComponent } from '~/pages/project-monitoring/components/monitoring-iframe/monitoring-iframe.component'; -import { TranslatableStringPipe } from '~/pipes/translatable-string.pipe'; import { TranslatableStringService } from '~/services/translatable-string.service'; import { Locale } from '~/utils/locale'; @@ -35,9 +33,7 @@ import { Locale } from '~/utils/locale'; PageLayoutComponent, CurrencyPipe, CardModule, - TranslatableStringPipe, SkeletonModule, - InfoTooltipComponent, MetricTileComponent, DashboardIframeComponent, DecimalPipe, @@ -51,7 +47,7 @@ import { Locale } from '~/utils/locale'; }) export class ProjectMonitoringPageComponent { // this is injected by the router - projectId = input.required(); + readonly projectId = input.required(); readonly locale = inject(LOCALE_ID); readonly metricApiService = inject(MetricApiService); diff --git a/interfaces/Portalicious/src/app/pages/project-payment/components/import-reconciliation-data/import-reconciliation-data.component.ts b/interfaces/Portalicious/src/app/pages/project-payment/components/import-reconciliation-data/import-reconciliation-data.component.ts index b72b14021c..d2ed94cdef 100644 --- a/interfaces/Portalicious/src/app/pages/project-payment/components/import-reconciliation-data/import-reconciliation-data.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-payment/components/import-reconciliation-data/import-reconciliation-data.component.ts @@ -36,8 +36,8 @@ import { ToastService } from '~/services/toast.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ImportReconciliationDataComponent { - projectId = input.required(); - paymentId = input.required(); + projectId = input.required(); + paymentId = input.required(); private queryClient = injectQueryClient(); private authService = inject(AuthService); diff --git a/interfaces/Portalicious/src/app/pages/project-payment/components/retry-transfers-dialog/retry-transfers-dialog.component.ts b/interfaces/Portalicious/src/app/pages/project-payment/components/retry-transfers-dialog/retry-transfers-dialog.component.ts index 590dc28065..e4b32002de 100644 --- a/interfaces/Portalicious/src/app/pages/project-payment/components/retry-transfers-dialog/retry-transfers-dialog.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-payment/components/retry-transfers-dialog/retry-transfers-dialog.component.ts @@ -25,8 +25,8 @@ import { ToastService } from '~/services/toast.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class RetryTransfersDialogComponent { - readonly projectId = input.required(); - readonly paymentId = input.required(); + readonly projectId = input.required(); + readonly paymentId = input.required(); private paymentApiService = inject(PaymentApiService); private toastService = inject(ToastService); diff --git a/interfaces/Portalicious/src/app/pages/project-payment/components/single-payment-export/single-payment-export.component.ts b/interfaces/Portalicious/src/app/pages/project-payment/components/single-payment-export/single-payment-export.component.ts index 3d4e9e0e52..83ebd8dfea 100644 --- a/interfaces/Portalicious/src/app/pages/project-payment/components/single-payment-export/single-payment-export.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-payment/components/single-payment-export/single-payment-export.component.ts @@ -34,8 +34,8 @@ import { ToastService } from '~/services/toast.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class SinglePaymentExportComponent { - projectId = input.required(); - paymentId = input.required(); + projectId = input.required(); + paymentId = input.required(); private authService = inject(AuthService); private exportService = inject(ExportService); @@ -72,8 +72,8 @@ export class SinglePaymentExportComponent { }); paymentReportMutationData = computed(() => ({ type: ExportType.payment, - minPayment: this.paymentId(), - maxPayment: this.paymentId(), + minPayment: Number(this.paymentId()), + maxPayment: Number(this.paymentId()), })); paymentReportMutation = injectMutation(() => ({ mutationFn: this.exportService.getExportListMutation( diff --git a/interfaces/Portalicious/src/app/pages/project-payment/project-payment.page.ts b/interfaces/Portalicious/src/app/pages/project-payment/project-payment.page.ts index 91c9da4820..559b2afe0c 100644 --- a/interfaces/Portalicious/src/app/pages/project-payment/project-payment.page.ts +++ b/interfaces/Portalicious/src/app/pages/project-payment/project-payment.page.ts @@ -53,7 +53,7 @@ import { ToastService } from '~/services/toast.service'; import { TranslatableStringService } from '~/services/translatable-string.service'; export interface TransactionsTableCellContext { - projectId: Signal; + projectId: Signal; } @Component({ @@ -77,8 +77,9 @@ export interface TransactionsTableCellContext { changeDetection: ChangeDetectionStrategy.OnPush, }) export class ProjectPaymentPageComponent { - readonly projectId = input.required(); - readonly paymentId = input.required(); + // this is injected by the router + readonly projectId = input.required(); + readonly paymentId = input.required(); private authService = inject(AuthService); private currencyPipe = inject(CurrencyPipe); diff --git a/interfaces/Portalicious/src/app/pages/project-payments/components/create-payment/create-payment.component.ts b/interfaces/Portalicious/src/app/pages/project-payments/components/create-payment/create-payment.component.ts index 428b265334..fb7a63a03c 100644 --- a/interfaces/Portalicious/src/app/pages/project-payments/components/create-payment/create-payment.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-payments/components/create-payment/create-payment.component.ts @@ -72,7 +72,7 @@ const queryParamStep = 'create-payment-step'; providers: [CurrencyPipe, ToastService], }) export class CreatePaymentComponent { - projectId = input.required(); + projectId = input.required(); currencyPipe = inject(CurrencyPipe); downloadService = inject(DownloadService); diff --git a/interfaces/Portalicious/src/app/pages/project-payments/components/export-payments/export-payments.component.ts b/interfaces/Portalicious/src/app/pages/project-payments/components/export-payments/export-payments.component.ts index 369a2b827d..a09a9dc7df 100644 --- a/interfaces/Portalicious/src/app/pages/project-payments/components/export-payments/export-payments.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-payments/components/export-payments/export-payments.component.ts @@ -44,7 +44,7 @@ import { ToastService } from '~/services/toast.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ExportPaymentsComponent { - projectId = input.required(); + projectId = input.required(); private authService = inject(AuthService); private downloadService = inject(DownloadService); diff --git a/interfaces/Portalicious/src/app/pages/project-payments/components/payment-summary-card/payment-summary-card.component.ts b/interfaces/Portalicious/src/app/pages/project-payments/components/payment-summary-card/payment-summary-card.component.ts index 1090fd15de..7869ff4392 100644 --- a/interfaces/Portalicious/src/app/pages/project-payments/components/payment-summary-card/payment-summary-card.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-payments/components/payment-summary-card/payment-summary-card.component.ts @@ -39,7 +39,7 @@ export class PaymentSummaryCardComponent { private currencyPipe = inject(CurrencyPipe); private projectApiService = inject(ProjectApiService); - projectId = input.required(); + projectId = input.required(); paymentId = input.required(); paymentDate = input.required(); cardIndex = input.required(); @@ -74,7 +74,7 @@ export class PaymentSummaryCardComponent { this.paymentApiService.getPaymentStatus(this.projectId), ); - paymentLink = (projectId: number, paymentId: number) => [ + paymentLink = (projectId: number | string, paymentId: number | string) => [ '/', AppRoutes.project, projectId, diff --git a/interfaces/Portalicious/src/app/pages/project-payments/project-payments.page.ts b/interfaces/Portalicious/src/app/pages/project-payments/project-payments.page.ts index c29b747459..fdbf25f938 100644 --- a/interfaces/Portalicious/src/app/pages/project-payments/project-payments.page.ts +++ b/interfaces/Portalicious/src/app/pages/project-payments/project-payments.page.ts @@ -34,7 +34,7 @@ import { AuthService } from '~/services/auth.service'; }) export class ProjectPaymentsPageComponent { // this is injected by the router - projectId = input.required(); + readonly projectId = input.required(); private authService = inject(AuthService); private paymentApiService = inject(PaymentApiService); diff --git a/interfaces/Portalicious/src/app/pages/project-registration-activity-log/components/activity-log-voucher-dialog/activity-log-voucher-dialog.component.ts b/interfaces/Portalicious/src/app/pages/project-registration-activity-log/components/activity-log-voucher-dialog/activity-log-voucher-dialog.component.ts index 37f1854b35..761117482a 100644 --- a/interfaces/Portalicious/src/app/pages/project-registration-activity-log/components/activity-log-voucher-dialog/activity-log-voucher-dialog.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-registration-activity-log/components/activity-log-voucher-dialog/activity-log-voucher-dialog.component.ts @@ -28,7 +28,7 @@ import { ProjectApiService } from '~/domains/project/project.api.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ActivityLogVoucherDialogComponent { - projectId = input.required(); + projectId = input.required(); paymentId = input.required(); totalTransfers = input.required(); voucherReferenceId = input.required(); diff --git a/interfaces/Portalicious/src/app/pages/project-registration-activity-log/components/table-cell-overview.component.ts b/interfaces/Portalicious/src/app/pages/project-registration-activity-log/components/table-cell-overview.component.ts index d183bdfa82..bfde289805 100644 --- a/interfaces/Portalicious/src/app/pages/project-registration-activity-log/components/table-cell-overview.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-registration-activity-log/components/table-cell-overview.component.ts @@ -1,4 +1,3 @@ -import { NgClass } from '@angular/common'; import { ChangeDetectionStrategy, Component, @@ -32,7 +31,6 @@ import { ActivityLogTableCellContext } from '~/pages/project-registration-activi ChipModule, ColoredChipComponent, ActivityLogVoucherDialogComponent, - NgClass, ], template: `
diff --git a/interfaces/Portalicious/src/app/pages/project-registration-activity-log/project-registration-activity-log.page.ts b/interfaces/Portalicious/src/app/pages/project-registration-activity-log/project-registration-activity-log.page.ts index 63eb8fb6d4..1e6c199669 100644 --- a/interfaces/Portalicious/src/app/pages/project-registration-activity-log/project-registration-activity-log.page.ts +++ b/interfaces/Portalicious/src/app/pages/project-registration-activity-log/project-registration-activity-log.page.ts @@ -26,7 +26,7 @@ import { TableCellActivityComponent } from '~/pages/project-registration-activit import { TableCellOverviewComponent } from '~/pages/project-registration-activity-log/components/table-cell-overview.component'; export interface ActivityLogTableCellContext { - projectId: Signal; + projectId: Signal; referenceId?: string; } @@ -45,8 +45,8 @@ export interface ActivityLogTableCellContext { }) export class ProjectRegistrationActivityLogPageComponent { // this is injected by the router - projectId = input.required(); - registrationId = input.required(); + readonly projectId = input.required(); + readonly registrationId = input.required(); registrationApiService = inject(RegistrationApiService); diff --git a/interfaces/Portalicious/src/app/pages/project-registration-debit-cards/project-registration-debit-cards.page.ts b/interfaces/Portalicious/src/app/pages/project-registration-debit-cards/project-registration-debit-cards.page.ts index 6e9efbfa65..2a57e560e5 100644 --- a/interfaces/Portalicious/src/app/pages/project-registration-debit-cards/project-registration-debit-cards.page.ts +++ b/interfaces/Portalicious/src/app/pages/project-registration-debit-cards/project-registration-debit-cards.page.ts @@ -52,13 +52,14 @@ import { ToastService } from '~/services/toast.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ProjectRegistrationDebitCardsPageComponent { + // this is injected by the router + readonly projectId = input.required(); + readonly registrationId = input.required(); + private readonly registrationApiService = inject(RegistrationApiService); private readonly toastService = inject(ToastService); private readonly queryClient = injectQueryClient(); - projectId = input.required(); - registrationId = input.required(); - registration = injectQuery( this.registrationApiService.getRegistrationById( this.projectId, diff --git a/interfaces/Portalicious/src/app/pages/project-registration-personal-information/project-registration-personal-information.page.ts b/interfaces/Portalicious/src/app/pages/project-registration-personal-information/project-registration-personal-information.page.ts index 51f9791439..0a011fc757 100644 --- a/interfaces/Portalicious/src/app/pages/project-registration-personal-information/project-registration-personal-information.page.ts +++ b/interfaces/Portalicious/src/app/pages/project-registration-personal-information/project-registration-personal-information.page.ts @@ -48,12 +48,13 @@ import { RegistrationApiService } from '~/domains/registration/registration.api. changeDetection: ChangeDetectionStrategy.OnPush, }) export class ProjectRegistrationPersonalInformationPageComponent { + // this is injected by the router + readonly projectId = input.required(); + readonly registrationId = input.required(); + readonly registrationApiService = inject(RegistrationApiService); readonly projectApiService = inject(ProjectApiService); - projectId = input.required(); - registrationId = input.required(); - projectAttributes = injectQuery( this.projectApiService.getProjectAttributes({ projectId: this.projectId, diff --git a/interfaces/Portalicious/src/app/pages/project-registrations/components/change-status-contents-with-custom-message/change-status-contents-with-custom-message.component.ts b/interfaces/Portalicious/src/app/pages/project-registrations/components/change-status-contents-with-custom-message/change-status-contents-with-custom-message.component.ts index 590bbc92bd..646e8c521a 100644 --- a/interfaces/Portalicious/src/app/pages/project-registrations/components/change-status-contents-with-custom-message/change-status-contents-with-custom-message.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-registrations/components/change-status-contents-with-custom-message/change-status-contents-with-custom-message.component.ts @@ -37,7 +37,7 @@ import { generateFieldErrors } from '~/utils/form-validation'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ChangeStatusContentsWithCustomMessageComponent implements OnInit { - projectId = input.required(); + projectId = input.required(); previewRegistration = input.required(); enableSendMessage = input.required(); isMutating = input(false); diff --git a/interfaces/Portalicious/src/app/pages/project-registrations/components/change-status-contents-with-templated-message/change-status-contents-with-templated-message.component.ts b/interfaces/Portalicious/src/app/pages/project-registrations/components/change-status-contents-with-templated-message/change-status-contents-with-templated-message.component.ts index 36e6ad6892..3213b56af4 100644 --- a/interfaces/Portalicious/src/app/pages/project-registrations/components/change-status-contents-with-templated-message/change-status-contents-with-templated-message.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-registrations/components/change-status-contents-with-templated-message/change-status-contents-with-templated-message.component.ts @@ -25,7 +25,7 @@ import { MessageInputData } from '~/services/messaging.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ChangeStatusContentsWithTemplatedMessageComponent { - projectId = input.required(); + projectId = input.required(); readonly messageData = input.required>(); previewRegistration = input.required(); enableSendMessage = input.required(); diff --git a/interfaces/Portalicious/src/app/pages/project-registrations/components/change-status-dialog/change-status-dialog.component.ts b/interfaces/Portalicious/src/app/pages/project-registrations/components/change-status-dialog/change-status-dialog.component.ts index 61310313eb..fdef2d0a7e 100644 --- a/interfaces/Portalicious/src/app/pages/project-registrations/components/change-status-dialog/change-status-dialog.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-registrations/components/change-status-dialog/change-status-dialog.component.ts @@ -74,7 +74,7 @@ import { ToastService } from '~/services/toast.service'; export class ChangeStatusDialogComponent implements IActionDataHandler { - projectId = input.required(); + projectId = input.required(); readonly actionComplete = output(); RegistrationStatusEnum = RegistrationStatusEnum; diff --git a/interfaces/Portalicious/src/app/pages/project-registrations/components/custom-message-control/custom-message-control.component.ts b/interfaces/Portalicious/src/app/pages/project-registrations/components/custom-message-control/custom-message-control.component.ts index ae860f3007..bb6a0a1e71 100644 --- a/interfaces/Portalicious/src/app/pages/project-registrations/components/custom-message-control/custom-message-control.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-registrations/components/custom-message-control/custom-message-control.component.ts @@ -45,7 +45,7 @@ import { MessagingService } from '~/services/messaging.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class CustomMessageControlComponent implements ControlValueAccessor { - readonly projectId = input.required(); + readonly projectId = input.required(); readonly error = input(); private messagingService = inject(MessagingService); diff --git a/interfaces/Portalicious/src/app/pages/project-registrations/components/custom-message-preview/custom-message-preview.component.ts b/interfaces/Portalicious/src/app/pages/project-registrations/components/custom-message-preview/custom-message-preview.component.ts index b262c33736..c2d7f5e414 100644 --- a/interfaces/Portalicious/src/app/pages/project-registrations/components/custom-message-preview/custom-message-preview.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-registrations/components/custom-message-preview/custom-message-preview.component.ts @@ -25,7 +25,7 @@ import { changeDetection: ChangeDetectionStrategy.OnPush, }) export class CustomMessagePreviewComponent { - readonly projectId = input.required(); + readonly projectId = input.required(); readonly previewRegistration = input.required(); readonly messageData = input.required>(); diff --git a/interfaces/Portalicious/src/app/pages/project-registrations/components/export-registrations/export-registrations.component.ts b/interfaces/Portalicious/src/app/pages/project-registrations/components/export-registrations/export-registrations.component.ts index 35ecd56ccc..f53e60b913 100644 --- a/interfaces/Portalicious/src/app/pages/project-registrations/components/export-registrations/export-registrations.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-registrations/components/export-registrations/export-registrations.component.ts @@ -52,7 +52,7 @@ import { ToastService } from '~/services/toast.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ExportRegistrationsComponent { - projectId = input.required(); + projectId = input.required(); getActionData = input.required< () => ActionDataWithPaginateQuery | undefined diff --git a/interfaces/Portalicious/src/app/pages/project-registrations/components/import-registrations/import-registrations.component.ts b/interfaces/Portalicious/src/app/pages/project-registrations/components/import-registrations/import-registrations.component.ts index a017f68482..d9870db942 100644 --- a/interfaces/Portalicious/src/app/pages/project-registrations/components/import-registrations/import-registrations.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-registrations/components/import-registrations/import-registrations.component.ts @@ -30,7 +30,7 @@ import { ToastService } from '~/services/toast.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ImportRegistrationsComponent { - projectId = input.required(); + projectId = input.required(); private queryClient = injectQueryClient(); private downloadService = inject(DownloadService); diff --git a/interfaces/Portalicious/src/app/pages/project-registrations/components/latest-export-date/latest-export-date.component.ts b/interfaces/Portalicious/src/app/pages/project-registrations/components/latest-export-date/latest-export-date.component.ts index 78272fa9cf..0315705667 100644 --- a/interfaces/Portalicious/src/app/pages/project-registrations/components/latest-export-date/latest-export-date.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-registrations/components/latest-export-date/latest-export-date.component.ts @@ -25,7 +25,7 @@ import { AuthService } from '~/services/auth.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class LatestExportDateComponent { - projectId = input.required(); + projectId = input.required(); exportType = input.required(); private authService = inject(AuthService); diff --git a/interfaces/Portalicious/src/app/pages/project-registrations/components/send-message-dialog/send-message-dialog.component.ts b/interfaces/Portalicious/src/app/pages/project-registrations/components/send-message-dialog/send-message-dialog.component.ts index b02fb9d4c0..785512b9ea 100644 --- a/interfaces/Portalicious/src/app/pages/project-registrations/components/send-message-dialog/send-message-dialog.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-registrations/components/send-message-dialog/send-message-dialog.component.ts @@ -69,7 +69,7 @@ type SendMessageFormGroup = export class SendMessageDialogComponent implements OnDestroy, IActionDataHandler { - readonly projectId = input.required(); + readonly projectId = input.required(); readonly actionComplete = output(); private messagingService = inject(MessagingService); diff --git a/interfaces/Portalicious/src/app/pages/project-registrations/project-registrations.page.ts b/interfaces/Portalicious/src/app/pages/project-registrations/project-registrations.page.ts index 1d4a5b4975..39da7ff1f9 100644 --- a/interfaces/Portalicious/src/app/pages/project-registrations/project-registrations.page.ts +++ b/interfaces/Portalicious/src/app/pages/project-registrations/project-registrations.page.ts @@ -49,7 +49,7 @@ import { ToastService } from '~/services/toast.service'; }) export class ProjectRegistrationsPageComponent { // this is injected by the router - protected projectId = input.required(); + readonly projectId = input.required(); private authService = inject(AuthService); private router = inject(Router); diff --git a/interfaces/Portalicious/src/app/pages/project-team/components/add-project-team-user-form/add-project-team-user-form.component.ts b/interfaces/Portalicious/src/app/pages/project-team/components/add-project-team-user-form/add-project-team-user-form.component.ts index 228f1b370a..f7f5f9336b 100644 --- a/interfaces/Portalicious/src/app/pages/project-team/components/add-project-team-user-form/add-project-team-user-form.component.ts +++ b/interfaces/Portalicious/src/app/pages/project-team/components/add-project-team-user-form/add-project-team-user-form.component.ts @@ -55,7 +55,7 @@ type AddUserToTeamFormGroup = ], }) export class AddProjectTeamUserFormComponent { - projectId = input.required(); + projectId = input.required(); enableScope = input.required(); formVisible = model.required(); userToEdit = input(); diff --git a/interfaces/Portalicious/src/app/pages/project-team/project-team.page.ts b/interfaces/Portalicious/src/app/pages/project-team/project-team.page.ts index d607a2b1af..3dd6b91b96 100644 --- a/interfaces/Portalicious/src/app/pages/project-team/project-team.page.ts +++ b/interfaces/Portalicious/src/app/pages/project-team/project-team.page.ts @@ -48,6 +48,9 @@ import { ToastService } from '~/services/toast.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class ProjectTeamPageComponent { + // this is injected by the router + readonly projectId = input.required(); + private projectApiService = inject(ProjectApiService); private authService = inject(AuthService); private toastService = inject(ToastService); @@ -55,9 +58,6 @@ export class ProjectTeamPageComponent { @ViewChild('removeUserConfirmationDialog') private removeUserConfirmationDialog: ConfirmationDialogComponent; - // this is injected by the router - projectId = input.required(); - selectedUser = signal(undefined); formVisible = signal(false); formMode = signal<'add' | 'edit'>('add'); diff --git a/interfaces/Portalicious/src/app/services/auth.service.ts b/interfaces/Portalicious/src/app/services/auth.service.ts index 90ab8b2ae8..34cdfebe99 100644 --- a/interfaces/Portalicious/src/app/services/auth.service.ts +++ b/interfaces/Portalicious/src/app/services/auth.service.ts @@ -128,7 +128,7 @@ export class AuthService { projectId, user, }: { - projectId: number; + projectId: number | string; user?: LocalStorageUser | null; }): boolean { user = user ?? this.user; @@ -143,7 +143,7 @@ export class AuthService { requiredPermission, user, }: { - projectId: number; + projectId: number | string; requiredPermission: PermissionEnum; user?: LocalStorageUser | null; }): boolean { @@ -156,7 +156,7 @@ export class AuthService { return ( !!user?.permissions && this.isAssignedToProject({ projectId, user }) && - user.permissions[projectId].includes(requiredPermission) + user.permissions[Number(projectId)].includes(requiredPermission) ); } @@ -164,7 +164,7 @@ export class AuthService { projectId, requiredPermissions, }: { - projectId: number; + projectId: number | string; requiredPermissions: PermissionEnum[]; }): boolean { return requiredPermissions.every((permissionName) => diff --git a/interfaces/Portalicious/src/app/services/export.service.ts b/interfaces/Portalicious/src/app/services/export.service.ts index 7cc3e479a0..98e8f9d435 100644 --- a/interfaces/Portalicious/src/app/services/export.service.ts +++ b/interfaces/Portalicious/src/app/services/export.service.ts @@ -87,7 +87,7 @@ export class ExportService { ).toString()}-${date.getDate().toString()}.xlsx`; } - getExportCBEVerificationReportMutation(projectId: Signal) { + getExportCBEVerificationReportMutation(projectId: Signal) { return async () => { const exportResult = await this.queryClient.fetchQuery( this.projectApiService.getCbeVerificationReport(projectId)(), @@ -96,7 +96,10 @@ export class ExportService { }; } - getExportListMutation(projectId: Signal, toastService: ToastService) { + getExportListMutation( + projectId: Signal, + toastService: ToastService, + ) { return async ({ type, paginateQuery, @@ -175,7 +178,7 @@ export class ExportService { } async getDuplicateCheckAttributes( - projectId: Signal, + projectId: Signal, ): Promise { // TODO: AB#30519 This is a temporary solution until we have a better way to get all project attribute with the `duplicateCheck` flag included. // Ideally we will delete this function and just replace the call to `getDuplicateCheckAttributes` with a call to `getProjectAttributes`. @@ -196,7 +199,7 @@ export class ExportService { projectId, toastService, }: { - projectId: Signal; + projectId: Signal; toastService: ToastService; }) { return async ({ paymentId }: { paymentId: string }) => { diff --git a/interfaces/Portalicious/src/app/services/messaging.service.ts b/interfaces/Portalicious/src/app/services/messaging.service.ts index c9e8ac58d6..18d43dbcba 100644 --- a/interfaces/Portalicious/src/app/services/messaging.service.ts +++ b/interfaces/Portalicious/src/app/services/messaging.service.ts @@ -33,7 +33,7 @@ export class MessagingService { private projectApiService = inject(ProjectApiService); private translatableStringService = inject(TranslatableStringService); - public getMessagePlaceholders(projectId: Signal) { + public getMessagePlaceholders(projectId: Signal) { return this.projectApiService.getProjectAttributes({ projectId, // This is the same combo used in the 121-service -> QueueMessageService.getPlaceholdersInMessageText @@ -68,7 +68,7 @@ export class MessagingService { private async getMessageText( input: Partial, - projectId: Signal, + projectId: Signal, ): Promise { const sendMessageData = this.getSendMessageData(input); if (!sendMessageData) { @@ -90,7 +90,7 @@ export class MessagingService { public async getMessagePreview( input: Partial, - projectId: Signal, + projectId: Signal, previewRegistration?: Registration, ): Promise { const messageText = await this.getMessageText(input, projectId); @@ -131,7 +131,7 @@ export class MessagingService { projectId, }: { type?: string; - projectId: Signal; + projectId: Signal; }) { const templates = await this.queryClient.fetchQuery( this.notificationApiService.getMessageTemplates(projectId)(), @@ -144,7 +144,7 @@ export class MessagingService { projectId, }: { status: RegistrationStatusEnum; - projectId: Signal; + projectId: Signal; }): Promise { const templates = await this.queryClient.fetchQuery( this.notificationApiService.getMessageTemplates(projectId)(),