From 6a98fb2eab64360697835e0eee0e400cf419932d Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Tue, 3 Sep 2024 15:41:11 +0000 Subject: [PATCH 01/26] feat(application-system): Add validated config --- .../application/e2e/application.spec.ts | 18 +++ .../template-api-modules/src/lib/index.ts | 1 + .../src/lib/modules/shared/index.ts | 1 + .../src/lib/modules/shared/shared.config.ts | 31 +++++ .../src/lib/modules/shared/shared.module.ts | 3 +- .../src/lib/modules/shared/shared.service.ts | 114 ++++++++++-------- .../src/lib/modules/template-api.config.ts | 53 ++++++++ .../src/lib/modules/template-api.module.ts | 5 + .../accident-notification.service.spec.ts | 7 ++ .../parental-leave.service.spec.ts | 7 ++ 10 files changed, 192 insertions(+), 48 deletions(-) create mode 100644 libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts create mode 100644 libs/application/template-api-modules/src/lib/modules/template-api.config.ts diff --git a/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts b/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts index 82e00a26dd89..30ad4874fd4c 100644 --- a/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts +++ b/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts @@ -18,6 +18,7 @@ import { MockFeatureFlagService } from './mockFeatureFlagService' import * as uuid from 'uuidv4' import jwt from 'jsonwebtoken' import { coreHistoryMessages } from '@island.is/application/core' +import { sharedModuleConfig } from '@island.is/application/template-api-modules' let app: INestApplication @@ -56,6 +57,21 @@ class MockContentfulRepository { } } +class MockSharedConfig { + load() { + return { + jwtSecret: 'supersecret', + clientLocationOrigin: 'http://localhost:4200', + email: { + sender: 'Devland.is', + address: 'development@island.is', + }, + baseApiUrl: 'http://localhost:4444', + attachmentBucket: 'attachmentBucket', + } + } +} + let server: request.SuperTest // eslint-disable-next-line local-rules/disallow-kennitalas const nationalId = '1234564321' @@ -74,6 +90,8 @@ beforeAll(async () => { .useClass(MockFeatureFlagService) .overrideProvider(EmailService) .useClass(MockEmailService) + .overrideProvider(sharedModuleConfig.KEY) + .useClass(MockSharedConfig) .overrideGuard(IdsUserGuard) .useValue(mockAuthGuard), }) diff --git a/libs/application/template-api-modules/src/lib/index.ts b/libs/application/template-api-modules/src/lib/index.ts index 3bc93f3d9b89..c8c2758da96b 100644 --- a/libs/application/template-api-modules/src/lib/index.ts +++ b/libs/application/template-api-modules/src/lib/index.ts @@ -1,5 +1,6 @@ export { TemplateAPIModule } from './modules/template-api.module' export { TemplateAPIService } from './modules/template-api.service' +export { sharedModuleConfig } from './modules/shared' export { BaseTemplateAPIModuleConfig as TemplateAPIConfig } from './types' export { BaseTemplateApiApplicationService, diff --git a/libs/application/template-api-modules/src/lib/modules/shared/index.ts b/libs/application/template-api-modules/src/lib/modules/shared/index.ts index 674fa460572a..83934111b857 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/index.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/index.ts @@ -1,2 +1,3 @@ export { SharedTemplateAPIModule } from './shared.module' export { SharedTemplateApiService } from './shared.service' +export { sharedModuleConfig } from './shared.config' diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts new file mode 100644 index 000000000000..2bc34ec05684 --- /dev/null +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts @@ -0,0 +1,31 @@ +import { defineConfig } from '@island.is/nest/config' +import { z } from 'zod' + +const SharedModuleConfig = z.object({ + jwtSecret: z.string(), + clientLocationOrigin: z.string(), + email: z.object({ + sender: z.string(), + address: z.string(), + }), + baseApiUrl: z.string(), + attachmentBucket: z.string(), +}) + +export const sharedModuleConfig = defineConfig({ + name: 'SharedModuleConfig', + schema: SharedModuleConfig, + load: (env) => ({ + jwtSecret: env.required('AUTH_JWT_SECRET', 'supersecret'), + clientLocationOrigin: env.required( + 'CLIENT_LOCATION_ORIGIN', + `http://localhost:${process.env.WEB_FRONTEND_PORT ?? '4242'}/umsoknir`, + ), + email: { + sender: env.required('EMAIL_FROM_NAME', 'Devland.is'), + address: env.required('EMAIL_FROM', 'development@island.is'), + }, + baseApiUrl: env.required('GRAPHQL_API_URL', 'http://localhost:4444'), + attachmentBucket: env.required('APPLICATION_ATTACHMENT_BUCKET'), + }), +}) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts index 2473e3838fec..90c5bed667fe 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts @@ -11,6 +11,7 @@ import { SharedTemplateApiService } from './shared.service' import { SmsModule } from '@island.is/nova-sms' import { PaymentModule } from '@island.is/application/api/payment' import { AttachmentS3Service } from './services' +import { sharedModuleConfig } from './shared.config' export class SharedTemplateAPIModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { @@ -20,7 +21,7 @@ export class SharedTemplateAPIModule { module: SharedTemplateAPIModule, imports: [ ConfigModule.forRoot({ - load: [configuration], + load: [configuration, sharedModuleConfig], }), EmailModule, SmsModule, diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts index 398c9537a598..7c3fe149c945 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts @@ -1,5 +1,5 @@ import { Inject, Injectable } from '@nestjs/common' -import { ConfigService } from '@nestjs/config' +import { ConfigType } from '@nestjs/config' import { EmailService } from '@island.is/email-service' import { Application, @@ -11,11 +11,9 @@ import { AssignmentSmsTemplateGenerator, AttachmentEmailTemplateGenerator, BaseTemplateApiApplicationService, - BaseTemplateAPIModuleConfig, EmailTemplateGenerator, SmsTemplateGenerator, } from '../../types' -import { getConfigValue } from './shared.utils' import type { Logger } from '@island.is/logging' import { LOGGER_PROVIDER } from '@island.is/logging' import { SmsService } from '@island.is/nova-sms' @@ -24,6 +22,7 @@ import AmazonS3URI from 'amazon-s3-uri' import { PaymentService } from '@island.is/application/api/payment' import { User } from '@island.is/auth-nest-tools' import { ExtraData } from '@island.is/clients/charge-fjs-v2' +import { sharedModuleConfig } from './shared.config' @Injectable() export class SharedTemplateApiService { @@ -35,8 +34,8 @@ export class SharedTemplateApiService { private readonly emailService: EmailService, @Inject(SmsService) private readonly smsService: SmsService, - @Inject(ConfigService) - private readonly configService: ConfigService, + @Inject(sharedModuleConfig.KEY) + private config: ConfigType, @Inject(BaseTemplateApiApplicationService) private readonly applicationService: BaseTemplateApiApplicationService, private readonly paymentService: PaymentService, @@ -47,7 +46,8 @@ export class SharedTemplateApiService { async createAssignToken(application: Application, expiresIn: number) { const token = await this.applicationService.createAssignToken( application, - getConfigValue(this.configService, 'jwtSecret'), + // getConfigValue(this.configService, 'jwtSecret'), + this.config.jwtSecret, expiresIn, ) @@ -57,11 +57,13 @@ export class SharedTemplateApiService { async sendSms( smsTemplateGenerator: SmsTemplateGenerator, application: Application, - ) { - const clientLocationOrigin = getConfigValue( - this.configService, - 'clientLocationOrigin', - ) as string + ): Promise { + // const clientLocationOrigin = getConfigValue( + // this.configService, + // 'clientLocationOrigin', + // ) as string + + const clientLocationOrigin = this.config.clientLocationOrigin const { phoneNumber, message } = smsTemplateGenerator(application, { clientLocationOrigin, @@ -74,11 +76,13 @@ export class SharedTemplateApiService { smsTemplateGenerator: AssignmentSmsTemplateGenerator, application: Application, token: string, - ) { - const clientLocationOrigin = getConfigValue( - this.configService, - 'clientLocationOrigin', - ) as string + ): Promise { + // const clientLocationOrigin = getConfigValue( + // this.configService, + // 'clientLocationOrigin', + // ) as string + + const clientLocationOrigin = this.config.clientLocationOrigin const assignLink = `${clientLocationOrigin}/tengjast-umsokn?token=${token}` @@ -95,15 +99,19 @@ export class SharedTemplateApiService { application: Application, locale = 'is', ) { - const clientLocationOrigin = getConfigValue( - this.configService, - 'clientLocationOrigin', - ) as string + // const clientLocationOrigin = getConfigValue( + // this.configService, + // 'clientLocationOrigin', + // ) as string + + const clientLocationOrigin = this.config.clientLocationOrigin + + // const email = getConfigValue( + // this.configService, + // 'email', + // ) as BaseTemplateAPIModuleConfig['email'] - const email = getConfigValue( - this.configService, - 'email', - ) as BaseTemplateAPIModuleConfig['email'] + const email = this.config.email const template = templateGenerator({ application, @@ -123,15 +131,19 @@ export class SharedTemplateApiService { token: string, locale = 'is', ) { - const clientLocationOrigin = getConfigValue( - this.configService, - 'clientLocationOrigin', - ) as string + // const clientLocationOrigin = getConfigValue( + // this.configService, + // 'clientLocationOrigin', + // ) as string - const email = getConfigValue( - this.configService, - 'email', - ) as BaseTemplateAPIModuleConfig['email'] + const clientLocationOrigin = this.config.clientLocationOrigin + + // const email = getConfigValue( + // this.configService, + // 'email', + // ) as BaseTemplateAPIModuleConfig['email'] + + const email = this.config.email const assignLink = `${clientLocationOrigin}/tengjast-umsokn?token=${token}` @@ -157,15 +169,19 @@ export class SharedTemplateApiService { recipientEmail: string, locale = 'is', ) { - const clientLocationOrigin = getConfigValue( - this.configService, - 'clientLocationOrigin', - ) as string + // const clientLocationOrigin = getConfigValue( + // this.configService, + // 'clientLocationOrigin', + // ) as string + + const clientLocationOrigin = this.config.clientLocationOrigin - const email = getConfigValue( - this.configService, - 'email', - ) as BaseTemplateAPIModuleConfig['email'] + // const email = getConfigValue( + // this.configService, + // 'email', + // ) as BaseTemplateAPIModuleConfig['email'] + + const email = this.config.email const template = templateGenerator( { @@ -188,10 +204,12 @@ export class SharedTemplateApiService { query: string, variables?: Record, ): Promise> { - const baseApiUrl = getConfigValue( - this.configService, - 'baseApiUrl', - ) as string + // const baseApiUrl = getConfigValue( + // this.configService, + // 'baseApiUrl', + // ) as string + + const baseApiUrl = this.config.baseApiUrl return fetch(`${baseApiUrl}/api/graphql`, { method: 'POST', @@ -283,9 +301,11 @@ export class SharedTemplateApiService { return Promise.reject('expiration must be positive') } - const bucket = this.configService.get('attachmentBucket') as - | string - | undefined + // const bucket = this.configService.get('attachmentBucket') as + // | string + // | undefined + + const bucket = this.config.attachmentBucket if (bucket == undefined) { return Promise.reject('could not find s3 bucket') diff --git a/libs/application/template-api-modules/src/lib/modules/template-api.config.ts b/libs/application/template-api-modules/src/lib/modules/template-api.config.ts new file mode 100644 index 000000000000..e280f06929a5 --- /dev/null +++ b/libs/application/template-api-modules/src/lib/modules/template-api.config.ts @@ -0,0 +1,53 @@ +import { defineConfig } from '@island.is/nest/config' +import { z } from 'zod' + +const TemplateApiConfig = z.object({ + clientLocationOrigin: z.string(), + email: z.object({ + sender: z.string(), + address: z.string(), + }), + jwtSecret: z.string(), + xRoadBasePathWithEnv: z.string(), + baseApiUrl: z.string(), + presignBucket: z.string(), + attachmentBucket: z.string(), + generalPetition: z.object({ + endorsementsApiBasePath: z.string(), + }), + userProfile: z.object({ + serviceBasePath: z.string(), + }), +}) + +export const templateAPIConfig = defineConfig({ + name: 'TemplateAPIConfig', + schema: TemplateApiConfig, + load: (env) => ({ + clientLocationOrigin: env.required( + 'CLIENT_LOCATION_ORIGIN', + `http://localhost:${process.env.WEB_FRONTEND_PORT ?? '4242'}/umsoknir`, + ), + email: { + sender: env.required('EMAIL_FROM_NAME', 'Devland.is'), + address: env.required('EMAIL_FROM', 'development@island.is'), + }, + jwtSecret: env.required('AUTH_JWT_SECRET', 'supersecret'), + xRoadBasePathWithEnv: env.required('XROAD_BASE_PATH_WITH_ENV'), + baseApiUrl: env.required('GRAPHQL_API_URL', 'http://localhost:4444'), + presignBucket: env.required('FILE_SERVICE_PRESIGN_BUCKET'), + attachmentBucket: env.required('APPLICATION_ATTACHMENT_BUCKET'), + generalPetition: { + endorsementsApiBasePath: env.required( + 'ENDORSEMENTS_API_BASE_PATH', + 'http://localhost:4246', + ), + }, + userProfile: { + serviceBasePath: env.required( + 'SERVICE_USER_PROFILE_URL', + 'http://localhost:3366', + ), + }, + }), +}) diff --git a/libs/application/template-api-modules/src/lib/modules/template-api.module.ts b/libs/application/template-api-modules/src/lib/modules/template-api.module.ts index 62e8f1d8d8e5..559bf35b2e12 100644 --- a/libs/application/template-api-modules/src/lib/modules/template-api.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/template-api.module.ts @@ -9,12 +9,17 @@ import { BaseTemplateAPIModuleConfig } from '../types' import { TemplateAPIService } from './template-api.service' import { TEMPLATE_API_SERVICES } from './template-api.constants' import { LoggingModule } from '@island.is/logging' +import { templateAPIConfig } from './template-api.config' +import { ConfigModule } from '@nestjs/config' export class TemplateAPIModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: TemplateAPIModule, imports: [ + ConfigModule.forRoot({ + load: [templateAPIConfig], + }), ...Object.values([...modules, ...sharedModules]).map((Module) => Module.register(config), ), diff --git a/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts b/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts index c103dabd04be..22494dae51fd 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts @@ -12,6 +12,7 @@ import { S3 } from 'aws-sdk' import { S3Service } from './attachments/s3.service' import { SmsService } from '@island.is/nova-sms' import { PaymentService } from '@island.is/application/api/payment' +import { sharedModuleConfig } from '../../shared/shared.config' import { AccidentreportsApi } from '@island.is/clients/icelandic-health-insurance/rights-portal' import { createApplication } from '@island.is/application/testing' import { createCurrentUser } from '@island.is/testing/fixtures' @@ -137,6 +138,12 @@ describe('AccidentNotificationService', () => { provide: BaseTemplateApiApplicationService, useValue: {}, }, + { + provide: sharedModuleConfig.KEY, + useValue: { + clientLocationOrigin: 'http://localhost:4200', + }, + }, { provide: ACCIDENT_NOTIFICATION_CONFIG, useValue: { diff --git a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts index ce4c304ef7c2..bdafd40a48af 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts @@ -42,6 +42,7 @@ import { SmsService } from '@island.is/nova-sms' import { ChildrenService } from './children/children.service' import { NationalRegistryClientService } from '@island.is/clients/national-registry-v2' import { PaymentService } from '@island.is/application/api/payment' +import { sharedModuleConfig } from '../../shared/shared.config' const nationalId = '1234564321' let id = 0 @@ -234,6 +235,12 @@ describe('ParentalLeaveService', () => { provide: BaseTemplateApiApplicationService, useValue: {}, }, + { + provide: sharedModuleConfig.KEY, + useValue: { + clientLocationOrigin: 'http://localhost:4200', + }, + }, SharedTemplateApiService, { provide: APPLICATION_ATTACHMENT_BUCKET, From 2b5f3b674c6d427cbd13ad1a25c04fa96d6158b6 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Wed, 4 Sep 2024 11:10:55 +0000 Subject: [PATCH 02/26] Add sharedConfig to appModule --- .../api/src/app/app.module.ts | 2 ++ .../application/e2e/application.spec.ts | 24 ++++++++----------- .../accident-notification.service.spec.ts | 4 +--- .../parental-leave.service.spec.ts | 4 +--- 4 files changed, 14 insertions(+), 20 deletions(-) diff --git a/apps/application-system/api/src/app/app.module.ts b/apps/application-system/api/src/app/app.module.ts index ab7d68cc01c0..d88c0691bb5e 100644 --- a/apps/application-system/api/src/app/app.module.ts +++ b/apps/application-system/api/src/app/app.module.ts @@ -59,6 +59,7 @@ import { RightsPortalClientConfig } from '@island.is/clients/icelandic-health-in import { FriggClientConfig } from '@island.is/clients/mms/frigg' import { smsModuleConfig } from '@island.is/nova-sms' import { emailModuleConfig } from '@island.is/email-service' +import { sharedModuleConfig } from '@island.is/application/template-api-modules' @Module({ imports: [ @@ -117,6 +118,7 @@ import { emailModuleConfig } from '@island.is/email-service' FriggClientConfig, smsModuleConfig, emailModuleConfig, + sharedModuleConfig, ], }), ], diff --git a/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts b/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts index 30ad4874fd4c..168b7b2e5002 100644 --- a/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts +++ b/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts @@ -57,19 +57,15 @@ class MockContentfulRepository { } } -class MockSharedConfig { - load() { - return { - jwtSecret: 'supersecret', - clientLocationOrigin: 'http://localhost:4200', - email: { - sender: 'Devland.is', - address: 'development@island.is', - }, - baseApiUrl: 'http://localhost:4444', - attachmentBucket: 'attachmentBucket', - } - } +const mockConfig = { + jwtSecret: 'supersecret', + clientLocationOrigin: 'http://localhost:4200', + email: { + sender: 'Devland.is', + address: 'development@island.is', + }, + baseApiUrl: 'http://localhost:4444', + attachmentBucket: 'attachmentBucket', } let server: request.SuperTest @@ -91,7 +87,7 @@ beforeAll(async () => { .overrideProvider(EmailService) .useClass(MockEmailService) .overrideProvider(sharedModuleConfig.KEY) - .useClass(MockSharedConfig) + .useValue(mockConfig) .overrideGuard(IdsUserGuard) .useValue(mockAuthGuard), }) diff --git a/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts b/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts index 22494dae51fd..a720b66b02ab 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts @@ -140,9 +140,7 @@ describe('AccidentNotificationService', () => { }, { provide: sharedModuleConfig.KEY, - useValue: { - clientLocationOrigin: 'http://localhost:4200', - }, + useValue: {}, }, { provide: ACCIDENT_NOTIFICATION_CONFIG, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts index bdafd40a48af..fd1ffdda242d 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts @@ -237,9 +237,7 @@ describe('ParentalLeaveService', () => { }, { provide: sharedModuleConfig.KEY, - useValue: { - clientLocationOrigin: 'http://localhost:4200', - }, + useValue: {}, }, SharedTemplateApiService, { From f66af125c1d2b3ac4259892fa34c6f041b62030b Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Wed, 4 Sep 2024 13:04:31 +0000 Subject: [PATCH 03/26] Cleanup --- .../src/lib/modules/shared/shared.service.ts | 52 ------------------- 1 file changed, 52 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts index 7c3fe149c945..a241ad8929c4 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts @@ -46,7 +46,6 @@ export class SharedTemplateApiService { async createAssignToken(application: Application, expiresIn: number) { const token = await this.applicationService.createAssignToken( application, - // getConfigValue(this.configService, 'jwtSecret'), this.config.jwtSecret, expiresIn, ) @@ -58,11 +57,6 @@ export class SharedTemplateApiService { smsTemplateGenerator: SmsTemplateGenerator, application: Application, ): Promise { - // const clientLocationOrigin = getConfigValue( - // this.configService, - // 'clientLocationOrigin', - // ) as string - const clientLocationOrigin = this.config.clientLocationOrigin const { phoneNumber, message } = smsTemplateGenerator(application, { @@ -77,11 +71,6 @@ export class SharedTemplateApiService { application: Application, token: string, ): Promise { - // const clientLocationOrigin = getConfigValue( - // this.configService, - // 'clientLocationOrigin', - // ) as string - const clientLocationOrigin = this.config.clientLocationOrigin const assignLink = `${clientLocationOrigin}/tengjast-umsokn?token=${token}` @@ -99,18 +88,8 @@ export class SharedTemplateApiService { application: Application, locale = 'is', ) { - // const clientLocationOrigin = getConfigValue( - // this.configService, - // 'clientLocationOrigin', - // ) as string - const clientLocationOrigin = this.config.clientLocationOrigin - // const email = getConfigValue( - // this.configService, - // 'email', - // ) as BaseTemplateAPIModuleConfig['email'] - const email = this.config.email const template = templateGenerator({ @@ -131,18 +110,7 @@ export class SharedTemplateApiService { token: string, locale = 'is', ) { - // const clientLocationOrigin = getConfigValue( - // this.configService, - // 'clientLocationOrigin', - // ) as string - const clientLocationOrigin = this.config.clientLocationOrigin - - // const email = getConfigValue( - // this.configService, - // 'email', - // ) as BaseTemplateAPIModuleConfig['email'] - const email = this.config.email const assignLink = `${clientLocationOrigin}/tengjast-umsokn?token=${token}` @@ -169,18 +137,7 @@ export class SharedTemplateApiService { recipientEmail: string, locale = 'is', ) { - // const clientLocationOrigin = getConfigValue( - // this.configService, - // 'clientLocationOrigin', - // ) as string - const clientLocationOrigin = this.config.clientLocationOrigin - - // const email = getConfigValue( - // this.configService, - // 'email', - // ) as BaseTemplateAPIModuleConfig['email'] - const email = this.config.email const template = templateGenerator( @@ -204,11 +161,6 @@ export class SharedTemplateApiService { query: string, variables?: Record, ): Promise> { - // const baseApiUrl = getConfigValue( - // this.configService, - // 'baseApiUrl', - // ) as string - const baseApiUrl = this.config.baseApiUrl return fetch(`${baseApiUrl}/api/graphql`, { @@ -301,10 +253,6 @@ export class SharedTemplateApiService { return Promise.reject('expiration must be positive') } - // const bucket = this.configService.get('attachmentBucket') as - // | string - // | undefined - const bucket = this.config.attachmentBucket if (bucket == undefined) { From a3721d0841437eaeeb918c1767b6c64c3ba0904e Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Wed, 4 Sep 2024 13:32:46 +0000 Subject: [PATCH 04/26] PR comment --- .../api/src/app/modules/application/e2e/application.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts b/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts index 168b7b2e5002..81a9d3c788cc 100644 --- a/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts +++ b/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts @@ -59,7 +59,7 @@ class MockContentfulRepository { const mockConfig = { jwtSecret: 'supersecret', - clientLocationOrigin: 'http://localhost:4200', + clientLocationOrigin: 'http://localhost:4242', email: { sender: 'Devland.is', address: 'development@island.is', From 8a1fa0e0ef768933a87bcd43050759e991320dd6 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Tue, 10 Sep 2024 09:20:36 +0000 Subject: [PATCH 05/26] PR comment fixes --- .../src/lib/modules/shared/shared.module.ts | 2 +- .../src/lib/modules/template-api.module.ts | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts index 90c5bed667fe..f9a02a24c3d1 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts @@ -21,7 +21,7 @@ export class SharedTemplateAPIModule { module: SharedTemplateAPIModule, imports: [ ConfigModule.forRoot({ - load: [configuration, sharedModuleConfig], + load: [configuration], }), EmailModule, SmsModule, diff --git a/libs/application/template-api-modules/src/lib/modules/template-api.module.ts b/libs/application/template-api-modules/src/lib/modules/template-api.module.ts index 559bf35b2e12..71c91eeef602 100644 --- a/libs/application/template-api-modules/src/lib/modules/template-api.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/template-api.module.ts @@ -17,9 +17,6 @@ export class TemplateAPIModule { return { module: TemplateAPIModule, imports: [ - ConfigModule.forRoot({ - load: [templateAPIConfig], - }), ...Object.values([...modules, ...sharedModules]).map((Module) => Module.register(config), ), From 78427fdcaf12b20d50bd434b90d53871f27176bc Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Tue, 10 Sep 2024 10:14:52 +0000 Subject: [PATCH 06/26] Remove unused import --- .../src/lib/modules/shared/shared.module.ts | 1 - .../template-api-modules/src/lib/modules/template-api.module.ts | 2 -- 2 files changed, 3 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts index f9a02a24c3d1..2473e3838fec 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts @@ -11,7 +11,6 @@ import { SharedTemplateApiService } from './shared.service' import { SmsModule } from '@island.is/nova-sms' import { PaymentModule } from '@island.is/application/api/payment' import { AttachmentS3Service } from './services' -import { sharedModuleConfig } from './shared.config' export class SharedTemplateAPIModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { diff --git a/libs/application/template-api-modules/src/lib/modules/template-api.module.ts b/libs/application/template-api-modules/src/lib/modules/template-api.module.ts index 71c91eeef602..62e8f1d8d8e5 100644 --- a/libs/application/template-api-modules/src/lib/modules/template-api.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/template-api.module.ts @@ -9,8 +9,6 @@ import { BaseTemplateAPIModuleConfig } from '../types' import { TemplateAPIService } from './template-api.service' import { TEMPLATE_API_SERVICES } from './template-api.constants' import { LoggingModule } from '@island.is/logging' -import { templateAPIConfig } from './template-api.config' -import { ConfigModule } from '@nestjs/config' export class TemplateAPIModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { From 106dbee7d38f2fe3cc207bea12a57f6077be49fb Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Tue, 10 Sep 2024 12:42:31 +0000 Subject: [PATCH 07/26] SharedTemplateAPIModule no longer dynamically registered --- .../modules/application/application.module.ts | 6 +- .../template-api-modules/README.md | 2 +- .../src/lib/modules/shared/shared.module.ts | 49 ++++------- .../src/lib/modules/shared/shared.service.ts | 82 +++++++++++++++++-- .../accident-notification.module.ts | 5 +- .../accident-notification.service.spec.ts | 10 +++ .../announcement-of-death.module.ts | 2 +- .../change-machine-supervisor.module.ts | 2 +- .../deregister-machine.module.ts | 2 +- .../register-new-machine.module.ts | 2 +- .../request-inspection.module.ts | 2 +- .../street-registration.module.ts | 2 +- .../transfer-of-machine-ownership.module.ts | 2 +- .../car-recycling/car-recycling.module.ts | 2 +- .../children-residence-change.module.ts | 2 +- .../children-residence-change.module.ts | 2 +- ...complaints-to-althingi-ombudsman.module.ts | 2 +- .../criminal-record-submission.module.ts | 2 +- .../data-protection-complaint.module.ts | 2 +- .../citizenship/citizenship.module.ts | 2 +- .../document-provider-onboarding.module.ts | 2 +- .../driving-learners-permit.module.ts | 5 +- ...g-license-book-update-instructor.module.ts | 5 +- .../driving-license-duplicate.module.ts | 5 +- .../driving-license-submission.module.ts | 5 +- .../energy-funds/energy-funds.module.ts | 2 +- .../modules/templates/estate/estate.module.ts | 5 +- .../european-health-insurance-card.module.ts | 2 +- .../examplePaymentActions.module.ts | 2 +- .../financial-aid/financial-aid.module.ts | 2 +- .../financial-statement-cemetery.module.ts | 2 +- ...al-statement-individual-election.module.ts | 2 +- .../financial-statements-inao.module.ts | 2 +- .../funding-government-projects.module.ts | 2 +- .../general-fishing-license.module.ts | 5 +- .../general-petition.module.ts | 2 +- .../grindavik-housing-buyout.module.ts | 2 +- .../health-insurance-declaration.module.ts | 2 +- .../health-insurance.module.ts | 5 +- .../healthcare-license-certificate.module.ts | 2 +- .../healthcare-work-permit.module.ts | 2 +- .../home-support/home-support.module.ts | 5 +- .../templates/id-card/id-card.module.ts | 2 +- .../inheritance-report.module.ts | 2 +- .../institution-collaboration.module.ts | 2 +- .../login-service/login-service.module.ts | 2 +- .../marriage-conditions-submission.module.ts | 2 +- .../mortgage-certificate-submission.module.ts | 2 +- .../new-primary-school.module.ts | 2 +- .../no-debt-certificate.module.ts | 2 +- .../official-journal-of-iceland.module.ts | 2 +- .../operatingLicense.module.ts | 2 +- .../p-sign-submission.module.ts | 5 +- .../parental-leave/parental-leave.module.ts | 2 +- .../parental-leave.service.spec.ts | 10 ++- .../templates/passport/passport.module.ts | 5 +- .../public-debt-payment-plan.module.ts | 5 +- .../reference-template.module.ts | 2 +- .../parliamentary-list-creation.module.ts | 33 +++----- .../signature-list-creation.module.ts | 5 +- .../signature-list-signing.module.ts | 5 +- .../social-insurance-administration.module.ts | 2 +- .../anonymity-in-vehicle-registry.module.ts | 2 +- .../change-co-owner-of-vehicle.module.ts | 2 +- .../change-operator-of-vehicle.module.ts | 2 +- .../digital-tachograph-company-card.module.ts | 2 +- .../digital-tachograph-drivers-card.module.ts | 2 +- ...digital-tachograph-workshop-card.module.ts | 2 +- .../license-plate-renewal.module.ts | 2 +- .../order-vehicle-license-plate.module.ts | 2 +- ...vehicle-registration-certificate.module.ts | 2 +- .../transfer-of-vehicle-ownership.module.ts | 2 +- .../templates/university/university.module.ts | 2 +- 73 files changed, 189 insertions(+), 177 deletions(-) diff --git a/apps/application-system/api/src/app/modules/application/application.module.ts b/apps/application-system/api/src/app/modules/application/application.module.ts index 2fffc93fefc4..28d420392dc1 100644 --- a/apps/application-system/api/src/app/modules/application/application.module.ts +++ b/apps/application-system/api/src/app/modules/application/application.module.ts @@ -14,7 +14,6 @@ import { environment } from '../../../environments' import { ApplicationAccessService } from './tools/applicationAccess.service' import { LoggingModule } from '@island.is/logging' -import { TemplateApiApplicationService } from './template-api.service' import { AwsModule } from '@island.is/nest/aws' import { ApplicationApiCoreModule } from '@island.is/application/api/core' import { FeatureFlagModule } from '@island.is/nest/feature-flags' @@ -35,10 +34,7 @@ import { ApplicationActionService } from './application-action.service' PaymentModule, AuditModule.forRoot(environment.audit), AuthModule.register(environment.auth), - TemplateAPIModule.register({ - ...environment.templateApi, - applicationService: TemplateApiApplicationService, - }), + TemplateAPIModule.register(environment.templateApi), ApplicationApiCoreModule, createBullModule(), ApplicationFilesModule, diff --git a/libs/application/template-api-modules/README.md b/libs/application/template-api-modules/README.md index 4a868c3b6fe2..be1687c444c5 100644 --- a/libs/application/template-api-modules/README.md +++ b/libs/application/template-api-modules/README.md @@ -35,7 +35,7 @@ export class ReferenceTemplateModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: ReferenceTemplateModule, - imports: [SharedTemplateAPIModule.register(config)], + imports: [SharedTemplateAPIModule], providers: [ReferenceTemplateService], exports: [ReferenceTemplateService], } diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts index 2473e3838fec..9fdada65a24b 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.module.ts @@ -1,42 +1,23 @@ -import { DynamicModule } from '@nestjs/common' -import { ConfigModule } from '@nestjs/config' +import { Module } from '@nestjs/common' import { EmailModule } from '@island.is/email-service' import { ApplicationApiCoreModule } from '@island.is/application/api/core' import { AwsModule } from '@island.is/nest/aws' -import { - BaseTemplateAPIModuleConfig, - BaseTemplateApiApplicationService, -} from '../../types' import { SharedTemplateApiService } from './shared.service' import { SmsModule } from '@island.is/nova-sms' import { PaymentModule } from '@island.is/application/api/payment' import { AttachmentS3Service } from './services' +import { ApplicationModule } from './api/application/application.module' -export class SharedTemplateAPIModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - const configuration = () => config - - return { - module: SharedTemplateAPIModule, - imports: [ - ConfigModule.forRoot({ - load: [configuration], - }), - EmailModule, - SmsModule, - ApplicationApiCoreModule, - AwsModule, - PaymentModule, - ], - providers: [ - SharedTemplateApiService, - { - provide: BaseTemplateApiApplicationService, - useClass: config.applicationService, - }, - AttachmentS3Service, - ], - exports: [SharedTemplateApiService, AttachmentS3Service], - } - } -} +@Module({ + imports: [ + EmailModule, + SmsModule, + ApplicationApiCoreModule, + AwsModule, + PaymentModule, + ApplicationModule, + ], + providers: [SharedTemplateApiService, AttachmentS3Service], + exports: [SharedTemplateApiService, AttachmentS3Service], +}) +export class SharedTemplateAPIModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts index a241ad8929c4..622323d3c963 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts @@ -1,5 +1,5 @@ import { Inject, Injectable } from '@nestjs/common' -import { ConfigType } from '@nestjs/config' +import { ConfigService, ConfigType } from '@nestjs/config' import { EmailService } from '@island.is/email-service' import { Application, @@ -23,6 +23,11 @@ import { PaymentService } from '@island.is/application/api/payment' import { User } from '@island.is/auth-nest-tools' import { ExtraData } from '@island.is/clients/charge-fjs-v2' import { sharedModuleConfig } from './shared.config' +import { ApplicationService } from '@island.is/application/api/core' +import jwt from 'jsonwebtoken' +import { uuid } from 'uuidv4' +import { TemplateAPIConfig } from '../..' +import { AwsService } from '@island.is/nest/aws' @Injectable() export class SharedTemplateApiService { @@ -36,15 +41,17 @@ export class SharedTemplateApiService { private readonly smsService: SmsService, @Inject(sharedModuleConfig.KEY) private config: ConfigType, - @Inject(BaseTemplateApiApplicationService) - private readonly applicationService: BaseTemplateApiApplicationService, + @Inject(ConfigService) + private readonly configService: ConfigService, + private readonly applicationService: ApplicationService, private readonly paymentService: PaymentService, + private readonly awsService: AwsService, ) { this.s3 = new S3() } async createAssignToken(application: Application, expiresIn: number) { - const token = await this.applicationService.createAssignToken( + const token = await this.createToken( application, this.config.jwtSecret, expiresIn, @@ -204,7 +211,7 @@ export class SharedTemplateApiService { ContentEncoding?: string }, ): Promise { - return this.applicationService.saveAttachmentToApplicaton( + return this.saveAttachmentToApplicaton( application, fileName, buffer, @@ -265,4 +272,69 @@ export class SharedTemplateApiService { Expires: expiration, }) } + + async saveAttachmentToApplicaton( + application: ApplicationWithAttachments, + fileName: string, + buffer: Buffer, + uploadParameters?: { + ContentType?: string + ContentDisposition?: string + ContentEncoding?: string + }, + ): Promise { + const uploadBucket = this.configService.get('attachmentBucket') as string + if (!uploadBucket) throw new Error('No attachment bucket configured') + + const fileId = uuid() + const attachmentKey = `${fileId}-${fileName}` + const s3key = `${application.id}/${attachmentKey}` + const url = await this.awsService.uploadFile( + buffer, + uploadBucket, + s3key, + uploadParameters, + ) + + await this.applicationService.update(application.id, { + attachments: { + ...application.attachments, + [attachmentKey]: url, + }, + }) + + return attachmentKey + } + + async storeNonceForApplication(application: Application): Promise { + const nonce = uuid() + + const applicationToUpdate = await this.applicationService.findOneById( + application.id, + ) + + if (!applicationToUpdate) throw new Error('Application not found') + + await this.applicationService.addNonce(applicationToUpdate, nonce) + + return nonce + } + + async createToken( + application: Application, + secret: string, + expiresIn: number, + ): Promise { + const nonce = await this.storeNonceForApplication(application) + const token = jwt.sign( + { + applicationId: application.id, + state: application.state, + nonce, + }, + secret, + { expiresIn }, + ) + return token + } } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts index b32a8272cf51..79d28b124e4c 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts @@ -24,10 +24,7 @@ export class AccidentNotificationModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: AccidentNotificationModule, - imports: [ - SharedTemplateAPIModule.register(config), - RightsPortalClientModule, - ], + imports: [SharedTemplateAPIModule, RightsPortalClientModule], providers: [ { provide: ACCIDENT_NOTIFICATION_CONFIG, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts b/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts index a720b66b02ab..6fdd1f0817df 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.spec.ts @@ -13,6 +13,8 @@ import { S3Service } from './attachments/s3.service' import { SmsService } from '@island.is/nova-sms' import { PaymentService } from '@island.is/application/api/payment' import { sharedModuleConfig } from '../../shared/shared.config' +import { ApplicationService } from '@island.is/application/api/core' +import { AwsService } from '@island.is/nest/aws' import { AccidentreportsApi } from '@island.is/clients/icelandic-health-insurance/rights-portal' import { createApplication } from '@island.is/application/testing' import { createCurrentUser } from '@island.is/testing/fixtures' @@ -151,6 +153,14 @@ describe('AccidentNotificationService', () => { applicationSenderEmail: '', }, }, + { + provide: ApplicationService, + useValue: {}, + }, + { + provide: AwsService, + useValue: {}, + }, AccidentNotificationAttachmentProvider, SharedTemplateApiService, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts index 75a186c3aecd..6cd08a014d6c 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts @@ -16,7 +16,7 @@ export class AnnouncementOfDeathModule { imports: [ NationalRegistryClientModule, SyslumennClientModule, - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, ConfigModule.forRoot({ isGlobal: true, load: [XRoadConfig, NationalRegistryClientConfig], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts index 116efde5bbef..80edb0651908 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts @@ -14,7 +14,7 @@ export class ChangeMachineSupervisorTemplateModule { return { module: ChangeMachineSupervisorTemplateModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, WorkMachinesClientModule, ConfigModule.forRoot({ isGlobal: true, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts index 77942a19619f..19943de99d75 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts @@ -14,7 +14,7 @@ export class DeregisterMachineTemplateModule { return { module: DeregisterMachineTemplateModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, WorkMachinesClientModule, ConfigModule.forRoot({ isGlobal: true, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts index cb6bf48b72c9..e0d73f2277bd 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts @@ -14,7 +14,7 @@ export class RegisterNewMachineTemplateModule { return { module: RegisterNewMachineTemplateModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, WorkMachinesClientModule, ConfigModule.forRoot({ isGlobal: true, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts index cab327e99594..eca5c55a7589 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts @@ -14,7 +14,7 @@ export class RequestInspectionTemplateModule { return { module: RequestInspectionTemplateModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, WorkMachinesClientModule, ConfigModule.forRoot({ isGlobal: true, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts index 11921ffa576c..ae5da7ec0958 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts @@ -17,7 +17,7 @@ export class StreetRegistrationTemplateModule { return { module: StreetRegistrationTemplateModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, WorkMachinesClientModule, ChargeFjsV2ClientModule, ConfigModule.forRoot({ diff --git a/libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts index fed235ae5fe2..f67ef1a7e170 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts @@ -17,7 +17,7 @@ export class TransferOfMachineOwnershipTemplateModule { return { module: TransferOfMachineOwnershipTemplateModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, WorkMachinesClientModule, ChargeFjsV2ClientModule, ConfigModule.forRoot({ diff --git a/libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts index 21c8e1f31d57..ab604c375259 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts @@ -13,7 +13,7 @@ export class CarRecyclingModule { module: CarRecyclingModule, imports: [ CarRecyclingClientModule, - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, ApplicationApiCoreModule, VehiclesClientModule, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts index 2953cf3a04aa..8f744355ffda 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts @@ -12,7 +12,7 @@ export class ChildrenResidenceChangeModuleV2 { module: ChildrenResidenceChangeModuleV2, imports: [ SyslumennClientModule, - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, SmsModule, NationalRegistryClientModule, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts index 7034ce395966..b8c2f3f3fd56 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts @@ -15,7 +15,7 @@ export class ChildrenResidenceChangeModule { module: ChildrenResidenceChangeModule, imports: [ SyslumennClientModule, - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, SmsModule, NationalRegistryClientModule, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts index 087a08d9237e..8fc12e90c841 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts @@ -24,7 +24,7 @@ export class ComplaintsToAlthingiOmbudsmanTemplateModule { return { module: ComplaintsToAlthingiOmbudsmanTemplateModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, FileStorageModule, ClientsAlthingiOmbudsmanModule, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts index a9734b91c4e4..19ccd3027a99 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts @@ -13,7 +13,7 @@ export class CriminalRecordSubmissionModule { return { module: CriminalRecordSubmissionModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, CriminalRecordModule, SyslumennClientModule, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts index 631204c5000c..8ac4e841f788 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts @@ -20,7 +20,7 @@ export class DataProtectionComplaintModule { return { module: DataProtectionComplaintModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, FileStorageModule, ClientsDataProtectionComplaintModule, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts index d075572eff51..05c81347751c 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts @@ -14,7 +14,7 @@ export class CitizenshipModule { return { module: CitizenshipModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, DirectorateOfImmigrationClientModule, NationalRegistryClientModule, ConfigModule.forRoot({ diff --git a/libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts index 5a83c7db5b2a..483cfdd615dd 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts @@ -12,7 +12,7 @@ export class DocumentProviderOnboardingModule { return { module: DocumentProviderOnboardingModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, ClientsDocumentProviderModule.register({ basePath: SERVICE_DOCUMENTS_BASEPATH, }), diff --git a/libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts index 99404753e71e..a10794c85ac6 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts @@ -15,10 +15,7 @@ export class DrivingLearnersPermitModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: DrivingLearnersPermitModule, - imports: [ - DrivingLicenseApiModule, - SharedTemplateAPIModule.register(config), - ], + imports: [DrivingLicenseApiModule, SharedTemplateAPIModule], providers: [DrivingLearnersPermitService], exports: [DrivingLearnersPermitService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts index eea4a689e2b0..266afc6ac760 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts @@ -8,10 +8,7 @@ export class DrivingLicenseBookUpdateInstructorModule { static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { return { module: DrivingLicenseBookUpdateInstructorModule, - imports: [ - SharedTemplateAPIModule.register(baseConfig), - DrivingLicenseBookClientModule, - ], + imports: [SharedTemplateAPIModule, DrivingLicenseBookClientModule], providers: [DrivingLicenseBookUpdateInstructorService], exports: [DrivingLicenseBookUpdateInstructorService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts index 880c8eaa3b66..1bcce0a09a86 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts @@ -15,10 +15,7 @@ export class DrivingLicenseDuplicateModule { static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { return { module: DrivingLicenseDuplicateModule, - imports: [ - SharedTemplateAPIModule.register(baseConfig), - DrivingLicenseModule, - ], + imports: [SharedTemplateAPIModule, DrivingLicenseModule], providers: [DrivingLicenseDuplicateService], exports: [DrivingLicenseDuplicateService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts index 4f2e93725d49..83acc3ef47f7 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts @@ -15,10 +15,7 @@ export class DrivingLicenseSubmissionModule { static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { return { module: DrivingLicenseSubmissionModule, - imports: [ - SharedTemplateAPIModule.register(baseConfig), - DrivingLicenseModule, - ], + imports: [SharedTemplateAPIModule, DrivingLicenseModule], providers: [DrivingLicenseSubmissionService], exports: [DrivingLicenseSubmissionService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts index 792b45ffd4cc..4a0a2d09c158 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts @@ -17,7 +17,7 @@ export class EnergyFundsModule { return { module: EnergyFundsModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, EnergyFundsClientModule, VehiclesClientModule, ConfigModule.forRoot({ diff --git a/libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts index 21e42a341835..dfea7b1512cd 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts @@ -11,10 +11,7 @@ export class EstateTemplateModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: EstateTemplateModule, - imports: [ - SharedTemplateAPIModule.register(config), - SyslumennClientModule, - ], + imports: [SharedTemplateAPIModule, SyslumennClientModule], providers: [EstateTemplateService], exports: [EstateTemplateService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts index 2e1ca0586226..fd2d4dc5f737 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts @@ -8,7 +8,7 @@ export class EuropeanHealthInsuranceCardModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: EuropeanHealthInsuranceCardModule, - imports: [EhicClientModule, SharedTemplateAPIModule.register(config)], + imports: [EhicClientModule, SharedTemplateAPIModule], providers: [EuropeanHealthInsuranceCardService], exports: [EuropeanHealthInsuranceCardService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts index 1ee061a17cc4..0f43f8a9b221 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts @@ -14,7 +14,7 @@ export class ExamplePaymentActionsModule { static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { return { module: ExamplePaymentActionsModule, - imports: [SharedTemplateAPIModule.register(baseConfig)], + imports: [SharedTemplateAPIModule], providers: [ExamplePaymentActionsService], exports: [ExamplePaymentActionsService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts index 706edcc85cf8..c1525d2ec880 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts @@ -12,7 +12,7 @@ export class FinancialAidModule { module: FinancialAidModule, imports: [ MunicipalitiesFinancialAidClientModule, - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, ], providers: [FinancialAidService], exports: [FinancialAidService], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts index 0bd4bb768bc6..0c1cd8c4f64f 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts @@ -13,7 +13,7 @@ export class FinancialStatementCemeteryTemplateModule { return { module: FinancialStatementCemeteryTemplateModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, ConfigModule.forRoot({ load: [FinancialStatementsInaoClientConfig], }), diff --git a/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts index 54b2c29a4cef..12438bc8fd8e 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts @@ -13,7 +13,7 @@ export class FinancialStatementIndividualElectionModule { return { module: FinancialStatementIndividualElectionModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, ConfigModule.forRoot({ load: [FinancialStatementsInaoClientConfig], }), diff --git a/libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts index ac777e44bc53..5191d2b3f3c1 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts @@ -14,7 +14,7 @@ export class FinancialStatementsInaoTemplateModule { return { module: FinancialStatementsInaoTemplateModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, ConfigModule.forRoot({ load: [FinancialStatementsInaoClientConfig], }), diff --git a/libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts index 6ff8bbf13425..a99f1df91b5a 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts @@ -20,7 +20,7 @@ export class FundingGovernmentProjectsModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: FundingGovernmentProjectsModule, - imports: [SharedTemplateAPIModule.register(config), FileStorageModule], + imports: [SharedTemplateAPIModule, FileStorageModule], providers: [ { provide: FUNDING_GOVERNMENT_PROJECTS_CONFIG, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts index 87fea625a2dd..ddbe0ae40e5d 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts @@ -8,10 +8,7 @@ export class GeneralFishingLicenseModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: GeneralFishingLicenseModule, - imports: [ - SharedTemplateAPIModule.register(config), - FishingLicenseClientModule, - ], + imports: [SharedTemplateAPIModule, FishingLicenseClientModule], providers: [GeneralFishingLicenseService], exports: [GeneralFishingLicenseService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/general-petition/general-petition.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/general-petition/general-petition.module.ts index 54e5c7ab90a7..5a569c22ab7b 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/general-petition/general-petition.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/general-petition/general-petition.module.ts @@ -11,7 +11,7 @@ export class GeneralPetitionModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: GeneralPetitionModule, - imports: [SharedTemplateAPIModule.register(config)], + imports: [SharedTemplateAPIModule], providers: [ GeneralPetitionService, { diff --git a/libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts index f9b7b44e0aad..aa3f9cdacda9 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts @@ -16,7 +16,7 @@ export class GrindavikHousingBuyoutModule { SyslumennClientModule, NationalRegistryClientModule, AssetsClientModule, - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, ], providers: [GrindavikHousingBuyoutService], exports: [GrindavikHousingBuyoutService], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts index ae7c797d4eda..f4e031209028 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts @@ -13,7 +13,7 @@ export class HealthInsuranceDeclarationModule { imports: [ RightsPortalClientModule, FileStorageModule, - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, ], providers: [ HealthInsuranceDeclarationService, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts index a6bdf74fd03a..b2d39530a0a8 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts @@ -16,10 +16,7 @@ export class HealthInsuranceModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: HealthInsuranceModule, - imports: [ - HealthInsuranceV2ClientModule, - SharedTemplateAPIModule.register(config), - ], + imports: [HealthInsuranceV2ClientModule, SharedTemplateAPIModule], providers: [HealthInsuranceService, BucketService], exports: [HealthInsuranceService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts index 5af77c9c916c..c9d4669fc742 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts @@ -13,7 +13,7 @@ export class HealthcareLicenseCertificateModule { return { module: HealthcareLicenseCertificateModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, HealthDirectorateClientModule, ConfigModule.forRoot({ isGlobal: true, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts index 05c9b1dc99d1..cbbae587f3c3 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts @@ -10,7 +10,7 @@ export class HealthcareWorkPermitModule { return { module: HealthcareWorkPermitModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, HealthDirectorateClientModule, UniversityCareersClientModule, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts index fe1b9814398d..d1fa658bf6df 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts @@ -10,10 +10,7 @@ export class HomeSupportModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: HomeSupportModule, - imports: [ - SharedTemplateAPIModule.register(config), - ArborgWorkpointModule, - ], + imports: [SharedTemplateAPIModule, ArborgWorkpointModule], providers: [HomeSupportService], exports: [HomeSupportService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts index 09a487b52523..213bab0cdfea 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts @@ -14,7 +14,7 @@ export class IdCardModule { return { module: IdCardModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, ChargeFjsV2ClientModule, PassportsClientModule, ConfigModule.forRoot({ diff --git a/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts index ce19739f1687..c5f5a1919b9b 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts @@ -13,7 +13,7 @@ export class InheritanceReportModule { return { module: InheritanceReportModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, SyslumennClientModule, NationalRegistryXRoadModule, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts index 7b5d4a4e679d..fc9bb10d4c75 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts @@ -20,7 +20,7 @@ export class InstitutionCollaborationModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: InstitutionCollaborationModule, - imports: [SharedTemplateAPIModule.register(config), FileStorageModule], + imports: [SharedTemplateAPIModule, FileStorageModule], providers: [ { provide: INSTITUTION_COLLABORATION_CONFIG, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts index d5a100d0b4d4..fe39393d0713 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts @@ -19,7 +19,7 @@ export class LoginServiceModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: LoginServiceModule, - imports: [SharedTemplateAPIModule.register(config)], + imports: [SharedTemplateAPIModule], providers: [ { provide: LOGIN_SERVICE_CONFIG, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts index f592030a3f54..815c2e04af7a 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts @@ -11,7 +11,7 @@ export class MarriageConditionsSubmissionModule { module: MarriageConditionsSubmissionModule, imports: [ SyslumennClientModule, - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, NationalRegistryXRoadModule, ], providers: [MarriageConditionsSubmissionService], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts index 19a064aeb315..2a19fda7e9ae 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts @@ -10,7 +10,7 @@ export class MortgageCertificateSubmissionModule { return { module: MortgageCertificateSubmissionModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, MortgageCertificateModule, SyslumennClientModule, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts index ecb5a0ae4f05..fb16a9591cfc 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts @@ -10,7 +10,7 @@ export class NewPrimarySchoolModule { return { module: NewPrimarySchoolModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, NationalRegistryXRoadModule, FriggClientModule, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts index 293a9545bd9c..42e10c1b1609 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts @@ -11,7 +11,7 @@ export class NoDebtCertificateModule { return { module: NoDebtCertificateModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, FinanceClientModule, ConfigModule.forRoot({ isGlobal: true, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts index 6c8aa1da456a..cbfc72f1d639 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts @@ -10,7 +10,7 @@ export class OfficialJournalOfIcelandTemplateModule { return { module: OfficialJournalOfIcelandTemplateModule, imports: [ - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, OfficialJournalOfIcelandModule, OfficialJournalOfIcelandApplicationModule, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts index 4610e3de6d46..25cb317a359b 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts @@ -13,7 +13,7 @@ export class OperatingLicenseModule { module: OperatingLicenseModule, imports: [ SyslumennClientModule, - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, CriminalRecordModule, FinanceClientModule, JudicialAdministrationClientModule, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts index 1ec4008ac711..85eb2d224729 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts @@ -8,10 +8,7 @@ export class PSignSubmissionModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: PSignSubmissionModule, - imports: [ - SyslumennClientModule, - SharedTemplateAPIModule.register(config), - ], + imports: [SyslumennClientModule, SharedTemplateAPIModule], providers: [PSignSubmissionService], exports: [PSignSubmissionService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts index 2221e0f1950a..618aeb7d0285 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts @@ -18,7 +18,7 @@ export class ParentalLeaveModule { module: ParentalLeaveModule, imports: [ VMSTModule, - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, SmsModule, ApplicationApiCoreModule, NationalRegistryClientModule, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts index fd1ffdda242d..5e19ce7d337b 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts @@ -43,6 +43,8 @@ import { ChildrenService } from './children/children.service' import { NationalRegistryClientService } from '@island.is/clients/national-registry-v2' import { PaymentService } from '@island.is/application/api/payment' import { sharedModuleConfig } from '../../shared/shared.config' +import { ApplicationService } from '@island.is/application/api/core' +import { AwsService } from '@island.is/nest/aws' const nationalId = '1234564321' let id = 0 @@ -232,11 +234,15 @@ describe('ParentalLeaveService', () => { useClass: MockSmsService, }, { - provide: BaseTemplateApiApplicationService, + provide: sharedModuleConfig.KEY, useValue: {}, }, { - provide: sharedModuleConfig.KEY, + provide: ApplicationService, + useValue: {}, + }, + { + provide: AwsService, useValue: {}, }, SharedTemplateApiService, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/passport/passport.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/passport/passport.module.ts index 0a20738fb0b3..c3862a0730a3 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/passport/passport.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/passport/passport.module.ts @@ -8,10 +8,7 @@ export class PassportModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: PassportModule, - imports: [ - SharedTemplateAPIModule.register(config), - PassportsClientModule, - ], + imports: [SharedTemplateAPIModule, PassportsClientModule], providers: [PassportService], exports: [PassportService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan/public-debt-payment-plan.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan/public-debt-payment-plan.module.ts index b5cd40ba01a8..e3deab45fd97 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan/public-debt-payment-plan.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan/public-debt-payment-plan.module.ts @@ -17,10 +17,7 @@ export class PublicDebtPaymentPlanTemplateModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: PublicDebtPaymentPlanTemplateModule, - imports: [ - SharedTemplateAPIModule.register(config), - PaymentScheduleClientModule, - ], + imports: [SharedTemplateAPIModule, PaymentScheduleClientModule], providers: [PublicDebtPaymentPlanTemplateService, PrerequisitesService], exports: [PublicDebtPaymentPlanTemplateService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts index 9afdedb65907..58b15a639624 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts @@ -14,7 +14,7 @@ export class ReferenceTemplateModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: ReferenceTemplateModule, - imports: [SharedTemplateAPIModule.register(config)], + imports: [SharedTemplateAPIModule], providers: [ReferenceTemplateService], exports: [ReferenceTemplateService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-creation/parliamentary-list-creation.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-creation/parliamentary-list-creation.module.ts index 73ac8614bb22..ced916dafa51 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-creation/parliamentary-list-creation.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-creation/parliamentary-list-creation.module.ts @@ -1,12 +1,8 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../../types' - // Here you import your module service import { ParliamentaryListCreationService } from './parliamentary-list-creation.service' import { SignatureCollectionClientModule } from '@island.is/clients/signature-collection' @@ -15,20 +11,13 @@ import { NationalRegistryClientService, } from '@island.is/clients/national-registry-v2' -export class ParliamentaryListCreationModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: ParliamentaryListCreationModule, - imports: [ - SharedTemplateAPIModule.register(config), - SignatureCollectionClientModule, - NationalRegistryClientModule, - ], - providers: [ - ParliamentaryListCreationService, - NationalRegistryClientService, - ], - exports: [ParliamentaryListCreationService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + SignatureCollectionClientModule, + NationalRegistryClientModule, + ], + providers: [ParliamentaryListCreationService, NationalRegistryClientService], + exports: [ParliamentaryListCreationService], +}) +export class ParliamentaryListCreationModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-creation/signature-list-creation.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-creation/signature-list-creation.module.ts index b479dbf675cf..fc2cf4cb5d05 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-creation/signature-list-creation.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-creation/signature-list-creation.module.ts @@ -15,10 +15,7 @@ export class SignatureListCreationModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: SignatureListCreationModule, - imports: [ - SharedTemplateAPIModule.register(config), - SignatureCollectionClientModule, - ], + imports: [SharedTemplateAPIModule, SignatureCollectionClientModule], providers: [SignatureListCreationService], exports: [SignatureListCreationService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-signing/signature-list-signing.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-signing/signature-list-signing.module.ts index 0c8a0670fa86..8fefb2e5ffe9 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-signing/signature-list-signing.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-signing/signature-list-signing.module.ts @@ -15,10 +15,7 @@ export class SignatureListSigningModule { static register(config: BaseTemplateAPIModuleConfig): DynamicModule { return { module: SignatureListSigningModule, - imports: [ - SharedTemplateAPIModule.register(config), - SignatureCollectionClientModule, - ], + imports: [SharedTemplateAPIModule, SignatureCollectionClientModule], providers: [SignatureListSigningService], exports: [SignatureListSigningService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.module.ts index 69e9067c328b..bb187e3f8cfe 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.module.ts @@ -16,7 +16,7 @@ export class SocialInsuranceAdministrationModule { module: SocialInsuranceAdministrationModule, imports: [ SocialInsuranceAdministrationClientModule, - SharedTemplateAPIModule.register(config), + SharedTemplateAPIModule, ApplicationApiCoreModule, NationalRegistryClientModule, ], diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/anonymity-in-vehicle-registry/anonymity-in-vehicle-registry.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/anonymity-in-vehicle-registry/anonymity-in-vehicle-registry.module.ts index 76c5ab5df9c9..17834268669a 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/anonymity-in-vehicle-registry/anonymity-in-vehicle-registry.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/anonymity-in-vehicle-registry/anonymity-in-vehicle-registry.module.ts @@ -13,7 +13,7 @@ export class AnonymityInVehicleRegistryModule { return { module: AnonymityInVehicleRegistryModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, VehicleInfolocksClientModule, ConfigModule.forRoot({ isGlobal: true, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-co-owner-of-vehicle/change-co-owner-of-vehicle.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-co-owner-of-vehicle/change-co-owner-of-vehicle.module.ts index 2ceb6ef4a64a..d6d3642dc33f 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-co-owner-of-vehicle/change-co-owner-of-vehicle.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-co-owner-of-vehicle/change-co-owner-of-vehicle.module.ts @@ -37,7 +37,7 @@ export class ChangeCoOwnerOfVehicleModule { return { module: ChangeCoOwnerOfVehicleModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, VehicleOwnerChangeClientModule, VehicleOperatorsClientModule, VehicleCodetablesClientModule, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-operator-of-vehicle/change-operator-of-vehicle.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-operator-of-vehicle/change-operator-of-vehicle.module.ts index a3f5dec70fda..3a070990028c 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-operator-of-vehicle/change-operator-of-vehicle.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-operator-of-vehicle/change-operator-of-vehicle.module.ts @@ -37,7 +37,7 @@ export class ChangeOperatorOfVehicleModule { return { module: ChangeOperatorOfVehicleModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, ChargeFjsV2ClientModule, VehicleOperatorsClientModule, VehicleOwnerChangeClientModule, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-company-card/digital-tachograph-company-card.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-company-card/digital-tachograph-company-card.module.ts index 7d2b8f146ac1..920cd0d893b3 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-company-card/digital-tachograph-company-card.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-company-card/digital-tachograph-company-card.module.ts @@ -7,7 +7,7 @@ export class DigitalTachographCompanyCardModule { static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { return { module: DigitalTachographCompanyCardModule, - imports: [SharedTemplateAPIModule.register(baseConfig)], + imports: [SharedTemplateAPIModule], providers: [DigitalTachographCompanyCardService], exports: [DigitalTachographCompanyCardService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-drivers-card/digital-tachograph-drivers-card.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-drivers-card/digital-tachograph-drivers-card.module.ts index 2b6c55de4e49..df4aa95ae8ad 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-drivers-card/digital-tachograph-drivers-card.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-drivers-card/digital-tachograph-drivers-card.module.ts @@ -14,7 +14,7 @@ export class DigitalTachographDriversCardModule { return { module: DigitalTachographDriversCardModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, DigitalTachographDriversCardClientModule, DrivingLicenseApiModule, ConfigModule.forRoot({ diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-workshop-card/digital-tachograph-workshop-card.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-workshop-card/digital-tachograph-workshop-card.module.ts index 6e5078051286..858b62b448f1 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-workshop-card/digital-tachograph-workshop-card.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-workshop-card/digital-tachograph-workshop-card.module.ts @@ -7,7 +7,7 @@ export class DigitalTachographWorkshopCardModule { static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { return { module: DigitalTachographWorkshopCardModule, - imports: [SharedTemplateAPIModule.register(baseConfig)], + imports: [SharedTemplateAPIModule], providers: [DigitalTachographWorkshopCardService], exports: [DigitalTachographWorkshopCardService], } diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/license-plate-renewal/license-plate-renewal.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/license-plate-renewal/license-plate-renewal.module.ts index 326dade196a3..56a891e8f43c 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/license-plate-renewal/license-plate-renewal.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/license-plate-renewal/license-plate-renewal.module.ts @@ -13,7 +13,7 @@ export class LicensePlateRenewalModule { return { module: LicensePlateRenewalModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, VehiclePlateRenewalClientModule, ConfigModule.forRoot({ isGlobal: true, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-license-plate/order-vehicle-license-plate.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-license-plate/order-vehicle-license-plate.module.ts index c07931786b7a..f014ed57ba18 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-license-plate/order-vehicle-license-plate.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-license-plate/order-vehicle-license-plate.module.ts @@ -21,7 +21,7 @@ export class OrderVehicleLicensePlateModule { return { module: OrderVehicleLicensePlateModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, VehiclePlateOrderingClientModule, VehicleCodetablesClientModule, VehiclesClientModule, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-registration-certificate/order-vehicle-registration-certificate.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-registration-certificate/order-vehicle-registration-certificate.module.ts index 317d5f51f555..5e5d0fa97b53 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-registration-certificate/order-vehicle-registration-certificate.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-registration-certificate/order-vehicle-registration-certificate.module.ts @@ -13,7 +13,7 @@ export class OrderVehicleRegistrationCertificateModule { return { module: OrderVehicleRegistrationCertificateModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, VehiclePrintingClientModule, ConfigModule.forRoot({ isGlobal: true, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/transfer-of-vehicle-ownership/transfer-of-vehicle-ownership.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/transfer-of-vehicle-ownership/transfer-of-vehicle-ownership.module.ts index d88ede30ee9f..06628c9c24a8 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/transfer-of-vehicle-ownership/transfer-of-vehicle-ownership.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/transfer-of-vehicle-ownership/transfer-of-vehicle-ownership.module.ts @@ -33,7 +33,7 @@ export class TransferOfVehicleOwnershipModule { return { module: TransferOfVehicleOwnershipModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, ChargeFjsV2ClientModule, VehicleOwnerChangeClientModule, VehicleCodetablesClientModule, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/university/university.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/university/university.module.ts index e519707eaf25..5f64d73cf26b 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/university/university.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/university/university.module.ts @@ -15,7 +15,7 @@ export class UniversityModule { return { module: UniversityModule, imports: [ - SharedTemplateAPIModule.register(baseConfig), + SharedTemplateAPIModule, NationalRegistryClientModule, InnaClientModule, UniversityGatewayApiClientModule, From a888d478f282392d8d06f684534c15c4eb312da2 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Tue, 10 Sep 2024 13:55:12 +0000 Subject: [PATCH 08/26] local fallback for attachment bucket --- .../src/lib/modules/shared/shared.config.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts index 2bc34ec05684..55e08ee163f7 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts @@ -26,6 +26,9 @@ export const sharedModuleConfig = defineConfig({ address: env.required('EMAIL_FROM', 'development@island.is'), }, baseApiUrl: env.required('GRAPHQL_API_URL', 'http://localhost:4444'), - attachmentBucket: env.required('APPLICATION_ATTACHMENT_BUCKET'), + attachmentBucket: env.required( + 'APPLICATION_ATTACHMENT_BUCKET', + 'island-is-dev-storage-application-system', + ), }), }) From 8679d18b0f1a482baa594cd0ff7e2ef1a3b12765 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Tue, 10 Sep 2024 14:51:34 +0000 Subject: [PATCH 09/26] Add error logging --- .../accident-notification/accident-notification.service.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.ts b/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.ts index 65004cab82e2..d4f24f4f60f8 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.service.ts @@ -120,6 +120,7 @@ export class AccidentNotificationService extends BaseTemplateApiService { .join('\n')}`, ) } + this.logger.error('Error submitting accident notification application', e) throw new Error('Villa kom upp við vistun á umsókn.') } } From 4f696199345efce98bb7b509bbf7b56e32641dfb Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Fri, 13 Sep 2024 14:04:16 +0000 Subject: [PATCH 10/26] Modules that no longer need to be dynamic are no longer dynamic --- .../api/application/application.module.ts | 18 +++--- .../directorate-of-immigration.module.ts | 19 +++--- .../driving-license/driving-license.module.ts | 18 +++--- .../shared/api/education/inna.module.ts | 19 +++--- .../health-insurance.module.ts | 30 ++++------ .../shared/api/identity/identity.module.ts | 19 +++--- .../src/lib/modules/shared/api/index.ts | 3 +- .../national-registry.module.ts | 33 +++++------ .../shared/api/passport/passport.module.ts | 18 +++--- .../shared/api/payment/payment.module.ts | 33 +++++------ .../shared/api/syslumenn/syslumenn.module.ts | 18 +++--- .../shared/api/vehicles/vehicles.module.ts | 30 ++++------ .../src/lib/modules/template-api.module.ts | 9 ++- .../accident-notification.module.ts | 55 ++++++++--------- .../announcement-of-death.module.ts | 35 +++++------ .../change-machine-supervisor.module.ts | 33 +++++------ .../deregister-machine.module.ts | 33 +++++------ .../register-new-machine.module.ts | 33 +++++------ .../request-inspection.module.ts | 33 +++++------ .../street-registration.module.ts | 35 +++++------ .../transfer-of-machine-ownership.module.ts | 35 +++++------ .../car-recycling/car-recycling.module.ts | 29 ++++----- .../children-residence-change.module.ts | 29 ++++----- ...complaints-to-althingi-ombudsman.module.ts | 51 ++++++++-------- .../criminal-record-submission.module.ts | 28 ++++----- .../data-protection-complaint.module.ts | 40 +++++-------- .../citizenship/citizenship.module.ts | 35 +++++------ .../document-provider-onboarding.module.ts | 29 ++++----- .../driving-learners-permit.module.ts | 22 +++---- ...g-license-book-update-instructor.module.ts | 19 +++--- .../driving-license-duplicate.module.ts | 22 +++---- .../driving-license-submission.module.ts | 22 +++---- .../driving-school-confirmation.module.ts | 19 +++--- .../energy-funds/energy-funds.module.ts | 35 +++++------ .../modules/templates/estate/estate.module.ts | 20 +++---- .../european-health-insurance-card.module.ts | 19 +++--- .../examplePaymentActions.module.ts | 22 +++---- .../financial-aid/financial-aid.module.ts | 22 +++---- .../financial-statement-cemetery.module.ts | 31 ++++------ ...al-statement-individual-election.module.ts | 31 ++++------ .../financial-statements-inao.module.ts | 31 ++++------ .../funding-government-projects.module.ts | 41 ++++++------- .../general-fishing-license.module.ts | 19 +++--- .../grindavik-housing-buyout.module.ts | 30 ++++------ .../health-insurance-declaration.module.ts | 30 ++++------ .../health-insurance.module.ts | 22 +++---- .../healthcare-license-certificate.module.ts | 33 +++++------ .../healthcare-work-permit.module.ts | 27 ++++----- .../home-support/home-support.module.ts | 20 +++---- .../templates/id-card/id-card.module.ts | 35 +++++------ .../src/lib/modules/templates/index.ts | 11 ++-- .../inheritance-report.module.ts | 28 ++++----- .../institution-collaboration.module.ts | 41 ++++++------- .../login-service/login-service.module.ts | 41 ++++++------- .../marriage-conditions-submission.module.ts | 27 ++++----- .../mortgage-certificate-submission.module.ts | 27 ++++----- .../new-primary-school.module.ts | 27 ++++----- .../no-debt-certificate.module.ts | 33 +++++------ .../official-journal-of-iceland.module.ts | 27 ++++----- .../operatingLicense.module.ts | 31 ++++------ .../p-sign-submission.module.ts | 19 +++--- .../passport-annulment.module.ts | 18 +++--- .../templates/passport/passport.module.ts | 19 +++--- .../public-debt-payment-plan.module.ts | 22 +++---- .../reference-template.module.ts | 18 +++--- .../signature-list-creation.module.ts | 22 +++---- .../signature-list-signing.module.ts | 22 +++---- .../anonymity-in-vehicle-registry.module.ts | 33 +++++------ .../change-co-owner-of-vehicle.module.ts | 59 +++++++++---------- .../change-operator-of-vehicle.module.ts | 59 +++++++++---------- .../digital-tachograph-company-card.module.ts | 19 +++--- .../digital-tachograph-drivers-card.module.ts | 35 +++++------ ...digital-tachograph-workshop-card.module.ts | 19 +++--- .../license-plate-renewal.module.ts | 33 +++++------ .../order-vehicle-license-plate.module.ts | 43 ++++++-------- ...vehicle-registration-certificate.module.ts | 33 +++++------ .../transfer-of-vehicle-ownership.module.ts | 55 ++++++++--------- .../templates/university/university.module.ts | 37 +++++------- 78 files changed, 918 insertions(+), 1312 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/application/application.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/application/application.module.ts index 6dcec53a5e59..13120ea7a65a 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/application/application.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/application/application.module.ts @@ -1,15 +1,11 @@ import { ApplicationApiCoreModule } from '@island.is/application/api/core' import { HistoryModule } from '@island.is/application/api/history' -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ApplicationService } from './application.service' -export class ApplicationModule { - static register(): DynamicModule { - return { - module: ApplicationModule, - imports: [ApplicationApiCoreModule, HistoryModule], - providers: [ApplicationService], - exports: [ApplicationService], - } - } -} +@Module({ + imports: [ApplicationApiCoreModule, HistoryModule], + providers: [ApplicationService], + exports: [ApplicationService], +}) +export class ApplicationModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/directorate-of-immigration/directorate-of-immigration.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/directorate-of-immigration/directorate-of-immigration.module.ts index d216461b6422..1857ab1187d0 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/directorate-of-immigration/directorate-of-immigration.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/directorate-of-immigration/directorate-of-immigration.module.ts @@ -1,13 +1,10 @@ -import { DynamicModule } from '@nestjs/common' +import { DynamicModule, Module } from '@nestjs/common' import { DirectorateOfImmigrationService } from './directorate-of-immigration.service' import { DirectorateOfImmigrationClientModule } from '@island.is/clients/directorate-of-immigration' -export class DirectorateOfImmigrationModule { - static register(): DynamicModule { - return { - module: DirectorateOfImmigrationModule, - imports: [DirectorateOfImmigrationClientModule], - providers: [DirectorateOfImmigrationService], - exports: [DirectorateOfImmigrationService], - } - } -} + +@Module({ + imports: [DirectorateOfImmigrationClientModule], + providers: [DirectorateOfImmigrationService], + exports: [DirectorateOfImmigrationService], +}) +export class DirectorateOfImmigrationModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/driving-license/driving-license.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/driving-license/driving-license.module.ts index 2b390dec2f99..a3ef5f127d5f 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/driving-license/driving-license.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/driving-license/driving-license.module.ts @@ -1,15 +1,11 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { DrivingLicenseProviderService } from './driving-license.service' import { DrivingLicenseApiModule } from '@island.is/clients/driving-license' import { DrivingLicenseBookModule } from '@island.is/api/domains/driving-license-book' -export class DrivingLicenseModule { - static register(): DynamicModule { - return { - module: DrivingLicenseModule, - imports: [DrivingLicenseApiModule, DrivingLicenseBookModule], - providers: [DrivingLicenseProviderService], - exports: [DrivingLicenseProviderService], - } - } -} +@Module({ + imports: [DrivingLicenseApiModule, DrivingLicenseBookModule], + providers: [DrivingLicenseProviderService], + exports: [DrivingLicenseProviderService], +}) +export class DrivingLicenseModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/education/inna.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/education/inna.module.ts index aa742945f659..17fe0ac08c38 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/education/inna.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/education/inna.module.ts @@ -1,13 +1,10 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { InnaClientModule } from '@island.is/clients/inna' import { InnaService } from './inna.service' -export class InnaModule { - static register(): DynamicModule { - return { - module: InnaModule, - imports: [InnaClientModule], - providers: [InnaService], - exports: [InnaService], - } - } -} + +@Module({ + imports: [InnaClientModule], + providers: [InnaService], + exports: [InnaService], +}) +export class InnaModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/health-insurance/health-insurance.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/health-insurance/health-insurance.module.ts index 8a3cc1b31585..08f83ce7fd7f 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/health-insurance/health-insurance.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/health-insurance/health-insurance.module.ts @@ -1,4 +1,4 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { HealthInsuranceService } from './health-insurance.service' import { RightsPortalClientConfig, @@ -6,19 +6,15 @@ import { } from '@island.is/clients/icelandic-health-insurance/rights-portal' import { ConfigModule } from '@nestjs/config' -export class HealthInsuranceModule { - static register(): DynamicModule { - return { - module: HealthInsuranceModule, - imports: [ - RightsPortalClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [RightsPortalClientConfig], - }), - ], - providers: [HealthInsuranceService], - exports: [HealthInsuranceService], - } - } -} +@Module({ + imports: [ + RightsPortalClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [RightsPortalClientConfig], + }), + ], + providers: [HealthInsuranceService], + exports: [HealthInsuranceService], +}) +export class HealthInsuranceModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/identity/identity.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/identity/identity.module.ts index f8c71fee8b36..85919bd42b3e 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/identity/identity.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/identity/identity.module.ts @@ -1,15 +1,10 @@ -import { DynamicModule } from '@nestjs/common' -import { BaseTemplateAPIModuleConfig } from '../../../../types' +import { Module } from '@nestjs/common' import { IdentityClientModule } from '@island.is/clients/identity' import { IdentityService } from './identity.service' -export class IdentityModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: IdentityModule, - imports: [IdentityClientModule], - providers: [IdentityService], - exports: [IdentityService], - } - } -} +@Module({ + imports: [IdentityClientModule], + providers: [IdentityService], + exports: [IdentityService], +}) +export class IdentityModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/index.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/index.ts index 7741f8288458..1681173ae17a 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/index.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/index.ts @@ -23,10 +23,11 @@ import { HealthInsuranceService } from './health-insurance/health-insurance.serv import { InnaService } from './education/inna.service' import { InnaModule } from './education/inna.module' +export const dynamicModules = [UserProfileModule] + export const modules = [ NationalRegistryModule, PaymentApiModule, - UserProfileModule, IdentityModule, DrivingLicenseModule, ApplicationModule, diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/national-registry/national-registry.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/national-registry/national-registry.module.ts index 71c6a1004cad..583140c7eff0 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/national-registry/national-registry.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/national-registry/national-registry.module.ts @@ -1,25 +1,20 @@ -import { DynamicModule } from '@nestjs/common' -import { BaseTemplateAPIModuleConfig } from '../../../../types' +import { Module } from '@nestjs/common' import { NationalRegistryClientModule } from '@island.is/clients/national-registry-v2' import { NationalRegistryService } from './national-registry.service' import { AssetsModule } from '@island.is/api/domains/assets' import { ConfigModule } from '@nestjs/config' import { AssetsClientConfig } from '@island.is/clients/assets' -export class NationalRegistryModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: NationalRegistryModule, - imports: [ - NationalRegistryClientModule, - AssetsModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [AssetsClientConfig], - }), - ], - providers: [NationalRegistryService], - exports: [NationalRegistryService], - } - } -} +@Module({ + imports: [ + NationalRegistryClientModule, + AssetsModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [AssetsClientConfig], + }), + ], + providers: [NationalRegistryService], + exports: [NationalRegistryService], +}) +export class NationalRegistryModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/passport/passport.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/passport/passport.module.ts index 76f30da241f3..4c786d4b5324 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/passport/passport.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/passport/passport.module.ts @@ -1,14 +1,10 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { PassportService } from './passport.service' import { PassportsClientModule } from '@island.is/clients/passports' -export class PassportModule { - static register(): DynamicModule { - return { - module: PassportModule, - imports: [PassportsClientModule], - providers: [PassportService], - exports: [PassportService], - } - } -} +@Module({ + imports: [PassportsClientModule], + providers: [PassportService], + exports: [PassportService], +}) +export class PassportModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.module.ts index a41121387c10..e21353260a5b 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.module.ts @@ -1,5 +1,4 @@ -import { DynamicModule } from '@nestjs/common' -import { BaseTemplateAPIModuleConfig } from '../../../../types' +import { Module } from '@nestjs/common' import { ChargeFjsV2ClientConfig, @@ -10,20 +9,16 @@ import { XRoadConfig } from '@island.is/nest/config' import { PaymentModule } from '@island.is/application/api/payment' import { PaymentService } from './payment.service' -export class PaymentApiModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: PaymentModule, - imports: [ - ChargeFjsV2ClientModule, - PaymentModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [XRoadConfig, ChargeFjsV2ClientConfig], - }), - ], - providers: [PaymentService], - exports: [PaymentService], - } - } -} +@Module({ + imports: [ + ChargeFjsV2ClientModule, + PaymentModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [XRoadConfig, ChargeFjsV2ClientConfig], + }), + ], + providers: [PaymentService], + exports: [PaymentService], +}) +export class PaymentApiModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/syslumenn/syslumenn.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/syslumenn/syslumenn.module.ts index f52b8482e4ee..bb85eed39c1b 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/syslumenn/syslumenn.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/syslumenn/syslumenn.module.ts @@ -1,14 +1,10 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SyslumennClientModule } from '@island.is/clients/syslumenn' import { SyslumennService } from './syslumenn.service' -export class SyslumennModule { - static register(): DynamicModule { - return { - module: SyslumennModule, - imports: [SyslumennClientModule], - providers: [SyslumennService], - exports: [SyslumennService], - } - } -} +@Module({ + imports: [SyslumennClientModule], + providers: [SyslumennService], + exports: [SyslumennService], +}) +export class SyslumennModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/vehicles/vehicles.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/vehicles/vehicles.module.ts index 1b559edcbe02..74692d4c481a 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/vehicles/vehicles.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/vehicles/vehicles.module.ts @@ -1,4 +1,4 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' import { VehiclesService } from './vehicles.service' import { @@ -6,19 +6,15 @@ import { VehiclesClientConfig, } from '@island.is/clients/vehicles' -export class VehiclesModule { - static register(): DynamicModule { - return { - module: VehiclesModule, - imports: [ - VehiclesClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [VehiclesClientConfig], - }), - ], - providers: [VehiclesService], - exports: [VehiclesService], - } - } -} +@Module({ + imports: [ + VehiclesClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [VehiclesClientConfig], + }), + ], + providers: [VehiclesService], + exports: [VehiclesService], +}) +export class VehiclesModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/template-api.module.ts b/libs/application/template-api-modules/src/lib/modules/template-api.module.ts index 62e8f1d8d8e5..37ea91ea01e4 100644 --- a/libs/application/template-api-modules/src/lib/modules/template-api.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/template-api.module.ts @@ -1,9 +1,10 @@ import { DynamicModule } from '@nestjs/common' // Imports of custom template API modules -import { modules, services } from './templates' +import { modules, services, dynamicModules } from './templates' import { modules as sharedModules, services as sharedServices, + dynamicModules as sharedDynamicModules, } from './shared/api' import { BaseTemplateAPIModuleConfig } from '../types' import { TemplateAPIService } from './template-api.service' @@ -15,9 +16,11 @@ export class TemplateAPIModule { return { module: TemplateAPIModule, imports: [ - ...Object.values([...modules, ...sharedModules]).map((Module) => - Module.register(config), + ...Object.values([...dynamicModules, ...sharedDynamicModules]).map( + (Module) => Module.register(config), ), + ...sharedModules, + ...modules, LoggingModule, ], providers: [ diff --git a/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts index 79d28b124e4c..9a7719e40139 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/accident-notification.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { ACCIDENT_NOTIFICATION_CONFIG } from './config' import { AccidentNotificationService } from './accident-notification.service' import { ApplicationAttachmentService } from './attachments/applicationAttachment.service' @@ -20,31 +19,27 @@ const applicationSenderName = process.env.EMAIL_FROM_NAME ?? '' const applicationSenderEmail = process.env.EMAIL_FROM ?? 'development@island.is' -export class AccidentNotificationModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: AccidentNotificationModule, - imports: [SharedTemplateAPIModule, RightsPortalClientModule], - providers: [ - { - provide: ACCIDENT_NOTIFICATION_CONFIG, - useValue: { - applicationRecipientName, - applicationRecipientEmail, - applicationSenderName, - applicationSenderEmail, - }, - }, - AccidentNotificationService, - ApplicationAttachmentService, - AccidentNotificationAttachmentProvider, - S3Service, - { - provide: S3, - useValue: new S3(), - }, - ], - exports: [AccidentNotificationService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, RightsPortalClientModule], + providers: [ + { + provide: ACCIDENT_NOTIFICATION_CONFIG, + useValue: { + applicationRecipientName, + applicationRecipientEmail, + applicationSenderName, + applicationSenderEmail, + }, + }, + AccidentNotificationService, + ApplicationAttachmentService, + AccidentNotificationAttachmentProvider, + S3Service, + { + provide: S3, + useValue: new S3(), + }, + ], + exports: [AccidentNotificationService], +}) +export class AccidentNotificationModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts index 6cd08a014d6c..65253cc9be95 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death/announcement-of-death.module.ts @@ -1,29 +1,24 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SyslumennClientModule } from '@island.is/clients/syslumenn' import { AnnouncementOfDeathService } from './announcement-of-death.service' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { NationalRegistryClientConfig, NationalRegistryClientModule, } from '@island.is/clients/national-registry-v2' import { ConfigModule, XRoadConfig } from '@island.is/nest/config' -export class AnnouncementOfDeathModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: AnnouncementOfDeathModule, - imports: [ - NationalRegistryClientModule, - SyslumennClientModule, - SharedTemplateAPIModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [XRoadConfig, NationalRegistryClientConfig], - }), - ], - providers: [AnnouncementOfDeathService], - exports: [AnnouncementOfDeathService], - } - } -} +@Module({ + imports: [ + NationalRegistryClientModule, + SyslumennClientModule, + SharedTemplateAPIModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [XRoadConfig, NationalRegistryClientConfig], + }), + ], + providers: [AnnouncementOfDeathService], + exports: [AnnouncementOfDeathService], +}) +export class AnnouncementOfDeathModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts index 80edb0651908..f02161cfba2f 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/aosh/change-machine-supervisor/change-machine-supervisor.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { ChangeMachineSupervisorTemplateService } from './change-machine-supervisor.service' import { ConfigModule } from '@nestjs/config' import { @@ -9,20 +8,16 @@ import { } from '@island.is/clients/work-machines' import { ChargeFjsV2ClientConfig } from '@island.is/clients/charge-fjs-v2' -export class ChangeMachineSupervisorTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: ChangeMachineSupervisorTemplateModule, - imports: [ - SharedTemplateAPIModule, - WorkMachinesClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [WorkMachinesClientConfig, ChargeFjsV2ClientConfig], - }), - ], - providers: [ChangeMachineSupervisorTemplateService], - exports: [ChangeMachineSupervisorTemplateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + WorkMachinesClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [WorkMachinesClientConfig, ChargeFjsV2ClientConfig], + }), + ], + providers: [ChangeMachineSupervisorTemplateService], + exports: [ChangeMachineSupervisorTemplateService], +}) +export class ChangeMachineSupervisorTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts index 19943de99d75..764d1846aa36 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/aosh/deregister-machine/deregister-machine.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { DeregisterMachineTemplateService } from './deregister-machine.service' import { ConfigModule } from '@nestjs/config' import { @@ -9,20 +8,16 @@ import { } from '@island.is/clients/work-machines' import { ChargeFjsV2ClientConfig } from '@island.is/clients/charge-fjs-v2' -export class DeregisterMachineTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: DeregisterMachineTemplateModule, - imports: [ - SharedTemplateAPIModule, - WorkMachinesClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [WorkMachinesClientConfig, ChargeFjsV2ClientConfig], - }), - ], - providers: [DeregisterMachineTemplateService], - exports: [DeregisterMachineTemplateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + WorkMachinesClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [WorkMachinesClientConfig, ChargeFjsV2ClientConfig], + }), + ], + providers: [DeregisterMachineTemplateService], + exports: [DeregisterMachineTemplateService], +}) +export class DeregisterMachineTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts index e0d73f2277bd..11cddef26268 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/aosh/register-new-machine/register-new-machine.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { RegisterNewMachineTemplateService } from './register-new-machine.service' import { ConfigModule } from '@nestjs/config' import { @@ -9,20 +8,16 @@ import { } from '@island.is/clients/work-machines' import { ChargeFjsV2ClientConfig } from '@island.is/clients/charge-fjs-v2' -export class RegisterNewMachineTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: RegisterNewMachineTemplateModule, - imports: [ - SharedTemplateAPIModule, - WorkMachinesClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [WorkMachinesClientConfig, ChargeFjsV2ClientConfig], - }), - ], - providers: [RegisterNewMachineTemplateService], - exports: [RegisterNewMachineTemplateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + WorkMachinesClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [WorkMachinesClientConfig, ChargeFjsV2ClientConfig], + }), + ], + providers: [RegisterNewMachineTemplateService], + exports: [RegisterNewMachineTemplateService], +}) +export class RegisterNewMachineTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts index eca5c55a7589..056bf350fdff 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/aosh/request-inspection/request-inspection.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { RequestInspectionTemplateService } from './request-inspection.service' import { ConfigModule } from '@nestjs/config' import { @@ -9,20 +8,16 @@ import { } from '@island.is/clients/work-machines' import { ChargeFjsV2ClientConfig } from '@island.is/clients/charge-fjs-v2' -export class RequestInspectionTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: RequestInspectionTemplateModule, - imports: [ - SharedTemplateAPIModule, - WorkMachinesClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [WorkMachinesClientConfig, ChargeFjsV2ClientConfig], - }), - ], - providers: [RequestInspectionTemplateService], - exports: [RequestInspectionTemplateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + WorkMachinesClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [WorkMachinesClientConfig, ChargeFjsV2ClientConfig], + }), + ], + providers: [RequestInspectionTemplateService], + exports: [RequestInspectionTemplateService], +}) +export class RequestInspectionTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts index ae5da7ec0958..ea49bc8d1e76 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/aosh/street-registration/street-registration.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { StreetRegistrationTemplateService } from './street-registration.service' import { ConfigModule } from '@nestjs/config' import { @@ -12,21 +11,17 @@ import { ChargeFjsV2ClientModule, } from '@island.is/clients/charge-fjs-v2' -export class StreetRegistrationTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: StreetRegistrationTemplateModule, - imports: [ - SharedTemplateAPIModule, - WorkMachinesClientModule, - ChargeFjsV2ClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [WorkMachinesClientConfig, ChargeFjsV2ClientConfig], - }), - ], - providers: [StreetRegistrationTemplateService], - exports: [StreetRegistrationTemplateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + WorkMachinesClientModule, + ChargeFjsV2ClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [WorkMachinesClientConfig, ChargeFjsV2ClientConfig], + }), + ], + providers: [StreetRegistrationTemplateService], + exports: [StreetRegistrationTemplateService], +}) +export class StreetRegistrationTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts index f67ef1a7e170..ba9fc053688e 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/aosh/transfer-of-machine-ownership/transfer-of-machine-ownership.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { TransferOfMachineOwnershipTemplateService } from './transfer-of-machine-ownership.service' import { ConfigModule } from '@nestjs/config' import { @@ -12,21 +11,17 @@ import { ChargeFjsV2ClientModule, } from '@island.is/clients/charge-fjs-v2' -export class TransferOfMachineOwnershipTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: TransferOfMachineOwnershipTemplateModule, - imports: [ - SharedTemplateAPIModule, - WorkMachinesClientModule, - ChargeFjsV2ClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [WorkMachinesClientConfig, ChargeFjsV2ClientConfig], - }), - ], - providers: [TransferOfMachineOwnershipTemplateService], - exports: [TransferOfMachineOwnershipTemplateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + WorkMachinesClientModule, + ChargeFjsV2ClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [WorkMachinesClientConfig, ChargeFjsV2ClientConfig], + }), + ], + providers: [TransferOfMachineOwnershipTemplateService], + exports: [TransferOfMachineOwnershipTemplateService], +}) +export class TransferOfMachineOwnershipTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts index ab604c375259..b0a6df46fb83 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/car-recycling/car-recycling.module.ts @@ -1,24 +1,19 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { SharedTemplateAPIModule } from '../../shared' import { CarRecyclingService } from './car-recycling.service' import { ApplicationApiCoreModule } from '@island.is/application/api/core' import { CarRecyclingClientModule } from '@island.is/clients/car-recycling' import { VehiclesClientModule } from '@island.is/clients/vehicles' -export class CarRecyclingModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: CarRecyclingModule, - imports: [ - CarRecyclingClientModule, - SharedTemplateAPIModule, - ApplicationApiCoreModule, - VehiclesClientModule, - ], - providers: [CarRecyclingService], - exports: [CarRecyclingService], - } - } -} +@Module({ + imports: [ + CarRecyclingClientModule, + SharedTemplateAPIModule, + ApplicationApiCoreModule, + VehiclesClientModule, + ], + providers: [CarRecyclingService], + exports: [CarRecyclingService], +}) +export class CarRecyclingModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts index 8f744355ffda..a277964e967b 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change-v2/children-residence-change.module.ts @@ -1,23 +1,18 @@ -import { DynamicModule } from '@nestjs/common' -import { BaseTemplateAPIModuleConfig } from '../../../types' +import { Module } from '@nestjs/common' import { ChildrenResidenceChangeServiceV2 } from './children-residence-change.service' import { SyslumennClientModule } from '@island.is/clients/syslumenn' import { NationalRegistryClientModule } from '@island.is/clients/national-registry-v2' import { SharedTemplateAPIModule } from '../../shared' import { SmsModule } from '@island.is/nova-sms' -export class ChildrenResidenceChangeModuleV2 { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: ChildrenResidenceChangeModuleV2, - imports: [ - SyslumennClientModule, - SharedTemplateAPIModule, - SmsModule, - NationalRegistryClientModule, - ], - providers: [ChildrenResidenceChangeServiceV2], - exports: [ChildrenResidenceChangeServiceV2], - } - } -} +@Module({ + imports: [ + SyslumennClientModule, + SharedTemplateAPIModule, + SmsModule, + NationalRegistryClientModule, + ], + providers: [ChildrenResidenceChangeServiceV2], + exports: [ChildrenResidenceChangeServiceV2], +}) +export class ChildrenResidenceChangeModuleV2 {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts index 8fc12e90c841..4ab2fb23c17f 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/complaints-to-althingi-ombudsman.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { FileStorageModule } from '@island.is/file-storage' import { ComplaintsToAlthingiOmbudsmanTemplateService } from './complaints-to-althingi-ombudsman.service' import { COMPLAINTS_TO_ALTHINGI_OMBUDSMAN_CONFIG } from './config' @@ -19,29 +18,25 @@ const applicationSenderName = process.env.EMAIL_FROM_NAME ?? '' const applicationSenderEmail = process.env.EMAIL_FROM ?? 'development@island.is' -export class ComplaintsToAlthingiOmbudsmanTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: ComplaintsToAlthingiOmbudsmanTemplateModule, - imports: [ - SharedTemplateAPIModule, - FileStorageModule, - ClientsAlthingiOmbudsmanModule, - ], - providers: [ - { - provide: COMPLAINTS_TO_ALTHINGI_OMBUDSMAN_CONFIG, - useValue: { - applicationRecipientName, - applicationRecipientEmail, - applicationSenderName, - applicationSenderEmail, - }, - }, - ComplaintsToAlthingiOmbudsmanTemplateService, - ApplicationAttachmentProvider, - ], - exports: [ComplaintsToAlthingiOmbudsmanTemplateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + FileStorageModule, + ClientsAlthingiOmbudsmanModule, + ], + providers: [ + { + provide: COMPLAINTS_TO_ALTHINGI_OMBUDSMAN_CONFIG, + useValue: { + applicationRecipientName, + applicationRecipientEmail, + applicationSenderName, + applicationSenderEmail, + }, + }, + ComplaintsToAlthingiOmbudsmanTemplateService, + ApplicationAttachmentProvider, + ], + exports: [ComplaintsToAlthingiOmbudsmanTemplateService], +}) +export class ComplaintsToAlthingiOmbudsmanTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts index 19ccd3027a99..1db1fbf36717 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/criminal-record-submission.module.ts @@ -1,24 +1,18 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' - import { CriminalRecordSubmissionService } from './criminal-record-submission.service' import { CriminalRecordModule } from '@island.is/api/domains/criminal-record' import { SyslumennClientModule } from '@island.is/clients/syslumenn' -export class CriminalRecordSubmissionModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: CriminalRecordSubmissionModule, - imports: [ - SharedTemplateAPIModule, - CriminalRecordModule, - SyslumennClientModule, - ], - providers: [CriminalRecordSubmissionService], - exports: [CriminalRecordSubmissionService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + CriminalRecordModule, + SyslumennClientModule, + ], + providers: [CriminalRecordSubmissionService], + exports: [CriminalRecordSubmissionService], +}) +export class CriminalRecordSubmissionModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts index 8ac4e841f788..87480805b973 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/data-protection-complaint.module.ts @@ -1,12 +1,8 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../types' - // Here you import your module service import { DataProtectionComplaintService } from './data-protection-complaint.service' import { ClientsDataProtectionComplaintModule } from '@island.is/clients/data-protection-complaint' @@ -15,22 +11,18 @@ import { ApplicationAttachmentProvider } from './attachments/providers/applicati import { PdfFileProvider } from './attachments/providers/pdfFileProvider' import { AttachmentS3Service } from './attachments/attachment-s3.service' -export class DataProtectionComplaintModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: DataProtectionComplaintModule, - imports: [ - SharedTemplateAPIModule, - FileStorageModule, - ClientsDataProtectionComplaintModule, - ], - providers: [ - ApplicationAttachmentProvider, - PdfFileProvider, - AttachmentS3Service, - DataProtectionComplaintService, - ], - exports: [DataProtectionComplaintService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + FileStorageModule, + ClientsDataProtectionComplaintModule, + ], + providers: [ + ApplicationAttachmentProvider, + PdfFileProvider, + AttachmentS3Service, + DataProtectionComplaintService, + ], + exports: [DataProtectionComplaintService], +}) +export class DataProtectionComplaintModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts index 05c81347751c..21541b8f7cec 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/citizenship/citizenship.module.ts @@ -1,7 +1,6 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { CitizenshipService } from './citizenship.service' import { NationalRegistryClientModule } from '@island.is/clients/national-registry-v2' import { @@ -9,21 +8,17 @@ import { DirectorateOfImmigrationClientConfig, } from '@island.is/clients/directorate-of-immigration' -export class CitizenshipModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: CitizenshipModule, - imports: [ - SharedTemplateAPIModule, - DirectorateOfImmigrationClientModule, - NationalRegistryClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [DirectorateOfImmigrationClientConfig], - }), - ], - providers: [CitizenshipService], - exports: [CitizenshipService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + DirectorateOfImmigrationClientModule, + NationalRegistryClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [DirectorateOfImmigrationClientConfig], + }), + ], + providers: [CitizenshipService], + exports: [CitizenshipService], +}) +export class CitizenshipModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts index 483cfdd615dd..5bd4a6963fde 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/document-provider-onboarding/document-provider-onboarding.module.ts @@ -1,24 +1,19 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ClientsDocumentProviderModule } from '@island.is/clients/document-provider' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { DocumentProviderOnboardingService } from './document-provider-onboarding.service' const SERVICE_DOCUMENTS_BASEPATH = process.env.SERVICE_DOCUMENTS_BASEPATH ?? 'http://localhost:3369' -export class DocumentProviderOnboardingModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: DocumentProviderOnboardingModule, - imports: [ - SharedTemplateAPIModule, - ClientsDocumentProviderModule.register({ - basePath: SERVICE_DOCUMENTS_BASEPATH, - }), - ], - providers: [DocumentProviderOnboardingService], - exports: [DocumentProviderOnboardingService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + ClientsDocumentProviderModule.register({ + basePath: SERVICE_DOCUMENTS_BASEPATH, + }), + ], + providers: [DocumentProviderOnboardingService], + exports: [DocumentProviderOnboardingService], +}) +export class DocumentProviderOnboardingModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts index a10794c85ac6..10fec7ba2fc0 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/driving-learners-permit.module.ts @@ -1,23 +1,15 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../types' - // Here you import your module service import { DrivingLearnersPermitService } from './driving-learners-permit.service' import { DrivingLicenseApiModule } from '@island.is/clients/driving-license' -export class DrivingLearnersPermitModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: DrivingLearnersPermitModule, - imports: [DrivingLicenseApiModule, SharedTemplateAPIModule], - providers: [DrivingLearnersPermitService], - exports: [DrivingLearnersPermitService], - } - } -} +@Module({ + imports: [DrivingLicenseApiModule, SharedTemplateAPIModule], + providers: [DrivingLearnersPermitService], + exports: [DrivingLearnersPermitService], +}) +export class DrivingLearnersPermitModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts index 266afc6ac760..a0b795fdeddf 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/driving-license-book-update-instructor.module.ts @@ -1,16 +1,11 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { DrivingLicenseBookUpdateInstructorService } from './driving-license-book-update-instructor.service' import { DrivingLicenseBookClientModule } from '@island.is/clients/driving-license-book' -export class DrivingLicenseBookUpdateInstructorModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: DrivingLicenseBookUpdateInstructorModule, - imports: [SharedTemplateAPIModule, DrivingLicenseBookClientModule], - providers: [DrivingLicenseBookUpdateInstructorService], - exports: [DrivingLicenseBookUpdateInstructorService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, DrivingLicenseBookClientModule], + providers: [DrivingLicenseBookUpdateInstructorService], + exports: [DrivingLicenseBookUpdateInstructorService], +}) +export class DrivingLicenseBookUpdateInstructorModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts index 1bcce0a09a86..236c5eeeaa64 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/driving-license-duplicate.module.ts @@ -1,23 +1,15 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../types' - // Here you import your module service import { DrivingLicenseDuplicateService } from './driving-license-duplicate.service' import { DrivingLicenseModule } from '@island.is/api/domains/driving-license' -export class DrivingLicenseDuplicateModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: DrivingLicenseDuplicateModule, - imports: [SharedTemplateAPIModule, DrivingLicenseModule], - providers: [DrivingLicenseDuplicateService], - exports: [DrivingLicenseDuplicateService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, DrivingLicenseModule], + providers: [DrivingLicenseDuplicateService], + exports: [DrivingLicenseDuplicateService], +}) +export class DrivingLicenseDuplicateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts index 83acc3ef47f7..0d33fd2094aa 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission/driving-license-submission.module.ts @@ -1,23 +1,15 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../types' - // Here you import your module service import { DrivingLicenseSubmissionService } from './driving-license-submission.service' import { DrivingLicenseModule } from '@island.is/api/domains/driving-license' -export class DrivingLicenseSubmissionModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: DrivingLicenseSubmissionModule, - imports: [SharedTemplateAPIModule, DrivingLicenseModule], - providers: [DrivingLicenseSubmissionService], - exports: [DrivingLicenseSubmissionService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, DrivingLicenseModule], + providers: [DrivingLicenseSubmissionService], + exports: [DrivingLicenseSubmissionService], +}) +export class DrivingLicenseSubmissionModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/driving-school-confirmation/driving-school-confirmation.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/driving-school-confirmation/driving-school-confirmation.module.ts index 862beea08eb1..3822535ca611 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/driving-school-confirmation/driving-school-confirmation.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/driving-school-confirmation/driving-school-confirmation.module.ts @@ -1,15 +1,10 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { DrivingSchoolConfirmationService } from './driving-school-confirmation.service' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { DrivingLicenseBookModule } from '@island.is/api/domains/driving-license-book' -export class DrivingSchoolConfirmationModule { - static register(): DynamicModule { - return { - module: DrivingSchoolConfirmationModule, - imports: [DrivingLicenseBookModule], - providers: [DrivingSchoolConfirmationService], - exports: [DrivingSchoolConfirmationService], - } - } -} +@Module({ + imports: [DrivingLicenseBookModule], + providers: [DrivingSchoolConfirmationService], + exports: [DrivingSchoolConfirmationService], +}) +export class DrivingSchoolConfirmationModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts index 4a0a2d09c158..44dc66442778 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/energy-funds/energy-funds.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { EnergyFundsService } from './energy-funds.service' import { ConfigModule } from '@nestjs/config' import { @@ -12,21 +11,17 @@ import { VehiclesClientConfig, } from '@island.is/clients/vehicles' -export class EnergyFundsModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: EnergyFundsModule, - imports: [ - SharedTemplateAPIModule, - EnergyFundsClientModule, - VehiclesClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [EnergyFundsClientConfig, VehiclesClientConfig], - }), - ], - providers: [EnergyFundsService], - exports: [EnergyFundsService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + EnergyFundsClientModule, + VehiclesClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [EnergyFundsClientConfig, VehiclesClientConfig], + }), + ], + providers: [EnergyFundsService], + exports: [EnergyFundsService], +}) +export class EnergyFundsModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts index dfea7b1512cd..5165a6f353f2 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/estate/estate.module.ts @@ -1,19 +1,13 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' import { SyslumennClientModule } from '@island.is/clients/syslumenn' -import { BaseTemplateAPIModuleConfig } from '../../../types' - import { EstateTemplateService } from './estate.service' -export class EstateTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: EstateTemplateModule, - imports: [SharedTemplateAPIModule, SyslumennClientModule], - providers: [EstateTemplateService], - exports: [EstateTemplateService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, SyslumennClientModule], + providers: [EstateTemplateService], + exports: [EstateTemplateService], +}) +export class EstateTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts index fd2d4dc5f737..035139b05d16 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/european-health-insurance-card.module.ts @@ -1,16 +1,11 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { EuropeanHealthInsuranceCardService } from './european-health-insurance-card.service' import { EhicClientModule } from '@island.is/clients/ehic-client-v1' -export class EuropeanHealthInsuranceCardModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: EuropeanHealthInsuranceCardModule, - imports: [EhicClientModule, SharedTemplateAPIModule], - providers: [EuropeanHealthInsuranceCardService], - exports: [EuropeanHealthInsuranceCardService], - } - } -} +@Module({ + imports: [EhicClientModule, SharedTemplateAPIModule], + providers: [EuropeanHealthInsuranceCardService], + exports: [EuropeanHealthInsuranceCardService], +}) +export class EuropeanHealthInsuranceCardModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts index 0f43f8a9b221..7066e1a778e0 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions/examplePaymentActions.module.ts @@ -1,22 +1,14 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../types' - // Here you import your module service import { ExamplePaymentActionsService } from './examplePaymentActions.service' -export class ExamplePaymentActionsModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: ExamplePaymentActionsModule, - imports: [SharedTemplateAPIModule], - providers: [ExamplePaymentActionsService], - exports: [ExamplePaymentActionsService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule], + providers: [ExamplePaymentActionsService], + exports: [ExamplePaymentActionsService], +}) +export class ExamplePaymentActionsModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts index c1525d2ec880..bd849c289d41 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/financial-aid/financial-aid.module.ts @@ -1,21 +1,13 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { MunicipalitiesFinancialAidClientModule } from '@island.is/clients/municipalities-financial-aid' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { FinancialAidService } from './financial-aid.service' -export class FinancialAidModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: FinancialAidModule, - imports: [ - MunicipalitiesFinancialAidClientModule, - SharedTemplateAPIModule, - ], - providers: [FinancialAidService], - exports: [FinancialAidService], - } - } -} +@Module({ + imports: [MunicipalitiesFinancialAidClientModule, SharedTemplateAPIModule], + providers: [FinancialAidService], + exports: [FinancialAidService], +}) +export class FinancialAidModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts index 0c1cd8c4f64f..65507999bf93 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/financial-statement-cemetery.module.ts @@ -1,5 +1,4 @@ -import { DynamicModule } from '@nestjs/common' -import { BaseTemplateAPIModuleConfig } from '../../../types' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' import { ConfigModule } from '@nestjs/config' import { @@ -8,19 +7,15 @@ import { } from '@island.is/clients/financial-statements-inao' import { FinancialStatementCemeteryTemplateService } from './financial-statement-cemetery.service' -export class FinancialStatementCemeteryTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: FinancialStatementCemeteryTemplateModule, - imports: [ - SharedTemplateAPIModule, - ConfigModule.forRoot({ - load: [FinancialStatementsInaoClientConfig], - }), - FinancialStatementsInaoClientModule, - ], - providers: [FinancialStatementCemeteryTemplateService], - exports: [FinancialStatementCemeteryTemplateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + ConfigModule.forRoot({ + load: [FinancialStatementsInaoClientConfig], + }), + FinancialStatementsInaoClientModule, + ], + providers: [FinancialStatementCemeteryTemplateService], + exports: [FinancialStatementCemeteryTemplateService], +}) +export class FinancialStatementCemeteryTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts index 12438bc8fd8e..7994d629a4f8 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/financial-statement-individual-election.module.ts @@ -1,5 +1,4 @@ -import { DynamicModule } from '@nestjs/common' -import { BaseTemplateAPIModuleConfig } from '../../../types' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' import { FinancialStatementsInaoClientConfig, @@ -8,19 +7,15 @@ import { import { ConfigModule } from '@nestjs/config' import { FinancialStatementIndividualElectionService } from './financial-statement-individual-election.service' -export class FinancialStatementIndividualElectionModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: FinancialStatementIndividualElectionModule, - imports: [ - SharedTemplateAPIModule, - ConfigModule.forRoot({ - load: [FinancialStatementsInaoClientConfig], - }), - FinancialStatementsInaoClientModule, - ], - providers: [FinancialStatementIndividualElectionService], - exports: [FinancialStatementIndividualElectionService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + ConfigModule.forRoot({ + load: [FinancialStatementsInaoClientConfig], + }), + FinancialStatementsInaoClientModule, + ], + providers: [FinancialStatementIndividualElectionService], + exports: [FinancialStatementIndividualElectionService], +}) +export class FinancialStatementIndividualElectionModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts index 5191d2b3f3c1..9d4de2899dfc 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao/financial-statements-inao.module.ts @@ -3,25 +3,20 @@ import { FinancialStatementsInaoClientModule, } from '@island.is/clients/financial-statements-inao' -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { SharedTemplateAPIModule } from '../../shared' import { FinancialStatementsInaoTemplateService } from './financial-statements-inao.service' -export class FinancialStatementsInaoTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: FinancialStatementsInaoTemplateModule, - imports: [ - SharedTemplateAPIModule, - ConfigModule.forRoot({ - load: [FinancialStatementsInaoClientConfig], - }), - FinancialStatementsInaoClientModule, - ], - providers: [FinancialStatementsInaoTemplateService], - exports: [FinancialStatementsInaoTemplateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + ConfigModule.forRoot({ + load: [FinancialStatementsInaoClientConfig], + }), + FinancialStatementsInaoClientModule, + ], + providers: [FinancialStatementsInaoTemplateService], + exports: [FinancialStatementsInaoTemplateService], +}) +export class FinancialStatementsInaoTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts index a99f1df91b5a..284c4725dced 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/funding-government-projects.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { FileStorageModule } from '@island.is/file-storage' import { FUNDING_GOVERNMENT_PROJECTS_CONFIG } from './config/fundingFovernmentProjectsConfig' import { FundingGovernmentProjectsService } from './funding-government-projects.service' @@ -16,24 +15,20 @@ const applicationSenderName = process.env.EMAIL_FROM_NAME ?? '' const applicationSenderEmail = process.env.EMAIL_FROM ?? 'development@island.is' -export class FundingGovernmentProjectsModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: FundingGovernmentProjectsModule, - imports: [SharedTemplateAPIModule, FileStorageModule], - providers: [ - { - provide: FUNDING_GOVERNMENT_PROJECTS_CONFIG, - useValue: { - applicationRecipientName, - applicationRecipientEmail, - applicationSenderName, - applicationSenderEmail, - }, - }, - FundingGovernmentProjectsService, - ], - exports: [FundingGovernmentProjectsService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, FileStorageModule], + providers: [ + { + provide: FUNDING_GOVERNMENT_PROJECTS_CONFIG, + useValue: { + applicationRecipientName, + applicationRecipientEmail, + applicationSenderName, + applicationSenderEmail, + }, + }, + FundingGovernmentProjectsService, + ], + exports: [FundingGovernmentProjectsService], +}) +export class FundingGovernmentProjectsModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts index ddbe0ae40e5d..3d9ced39505f 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/general-fishing-license.module.ts @@ -1,16 +1,11 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { GeneralFishingLicenseService } from './general-fishing-license.service' import { FishingLicenseClientModule } from '@island.is/clients/fishing-license' -export class GeneralFishingLicenseModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: GeneralFishingLicenseModule, - imports: [SharedTemplateAPIModule, FishingLicenseClientModule], - providers: [GeneralFishingLicenseService], - exports: [GeneralFishingLicenseService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, FishingLicenseClientModule], + providers: [GeneralFishingLicenseService], + exports: [GeneralFishingLicenseService], +}) +export class GeneralFishingLicenseModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts index aa3f9cdacda9..ebeb8619d05a 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/grindavik-housing-buyout/grindavik-housing-buyout.module.ts @@ -1,25 +1,19 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' - -import { BaseTemplateAPIModuleConfig } from '../../../types' import { GrindavikHousingBuyoutService } from './grindavik-housing-buyout.service' import { SyslumennClientModule } from '@island.is/clients/syslumenn' import { NationalRegistryClientModule } from '@island.is/clients/national-registry-v2' import { AssetsClientModule } from '@island.is/clients/assets' -export class GrindavikHousingBuyoutModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: GrindavikHousingBuyoutModule, - imports: [ - SyslumennClientModule, - NationalRegistryClientModule, - AssetsClientModule, - SharedTemplateAPIModule, - ], - providers: [GrindavikHousingBuyoutService], - exports: [GrindavikHousingBuyoutService], - } - } -} +@Module({ + imports: [ + SyslumennClientModule, + NationalRegistryClientModule, + AssetsClientModule, + SharedTemplateAPIModule, + ], + providers: [GrindavikHousingBuyoutService], + exports: [GrindavikHousingBuyoutService], +}) +export class GrindavikHousingBuyoutModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts index f4e031209028..2b8b4743f9fc 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/health-insurance-declaration/health-insurance-declaration.module.ts @@ -1,25 +1,17 @@ -import { DynamicModule } from '@nestjs/common' -import { BaseTemplateAPIModuleConfig } from '../../../types' +import { Module } from '@nestjs/common' import { HealthInsuranceDeclarationService } from './health-insurance-declaration.service' import { RightsPortalClientModule } from '@island.is/clients/icelandic-health-insurance/rights-portal' import { FileStorageModule } from '@island.is/file-storage' import { ApplicationAttachmentProvider } from './attachments/provider' import { SharedTemplateAPIModule } from '../../shared' -export class HealthInsuranceDeclarationModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: HealthInsuranceDeclarationModule, - imports: [ - RightsPortalClientModule, - FileStorageModule, - SharedTemplateAPIModule, - ], - providers: [ - HealthInsuranceDeclarationService, - ApplicationAttachmentProvider, - ], - exports: [HealthInsuranceDeclarationService], - } - } -} +@Module({ + imports: [ + RightsPortalClientModule, + FileStorageModule, + SharedTemplateAPIModule, + ], + providers: [HealthInsuranceDeclarationService, ApplicationAttachmentProvider], + exports: [HealthInsuranceDeclarationService], +}) +export class HealthInsuranceDeclarationModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts index b2d39530a0a8..d566dc3f38f5 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/health-insurance/health-insurance.module.ts @@ -1,24 +1,16 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../types' - // Here you import your module service import { HealthInsuranceService } from './health-insurance.service' import { HealthInsuranceV2ClientModule } from '@island.is/clients/icelandic-health-insurance/health-insurance' import { BucketService } from './bucket/bucket.service' -export class HealthInsuranceModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: HealthInsuranceModule, - imports: [HealthInsuranceV2ClientModule, SharedTemplateAPIModule], - providers: [HealthInsuranceService, BucketService], - exports: [HealthInsuranceService], - } - } -} +@Module({ + imports: [HealthInsuranceV2ClientModule, SharedTemplateAPIModule], + providers: [HealthInsuranceService, BucketService], + exports: [HealthInsuranceService], +}) +export class HealthInsuranceModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts index c9d4669fc742..8e22579ef2e4 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/healthcare-license-certificate.module.ts @@ -1,27 +1,22 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { HealthcareLicenseCertificateService } from './healthcare-license-certificate.service' import { HealthDirectorateClientModule, HealthDirectorateClientConfig, } from '@island.is/clients/health-directorate' -export class HealthcareLicenseCertificateModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: HealthcareLicenseCertificateModule, - imports: [ - SharedTemplateAPIModule, - HealthDirectorateClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [HealthDirectorateClientConfig], - }), - ], - providers: [HealthcareLicenseCertificateService], - exports: [HealthcareLicenseCertificateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + HealthDirectorateClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [HealthDirectorateClientConfig], + }), + ], + providers: [HealthcareLicenseCertificateService], + exports: [HealthcareLicenseCertificateService], +}) +export class HealthcareLicenseCertificateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts index cbbae587f3c3..1648f7397e61 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/healthcare-work-permit.module.ts @@ -1,21 +1,16 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { HealthcareWorkPermitService } from './healthcare-work-permit.service' import { HealthDirectorateClientModule } from '@island.is/clients/health-directorate' import { UniversityCareersClientModule } from '@island.is/clients/university-careers' -export class HealthcareWorkPermitModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: HealthcareWorkPermitModule, - imports: [ - SharedTemplateAPIModule, - HealthDirectorateClientModule, - UniversityCareersClientModule, - ], - providers: [HealthcareWorkPermitService], - exports: [HealthcareWorkPermitService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + HealthDirectorateClientModule, + UniversityCareersClientModule, + ], + providers: [HealthcareWorkPermitService], + exports: [HealthcareWorkPermitService], +}) +export class HealthcareWorkPermitModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts index d1fa658bf6df..90cd270085aa 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/home-support/home-support.module.ts @@ -1,18 +1,12 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' - -import { BaseTemplateAPIModuleConfig } from '../../../types' import { HomeSupportService } from './home-support.service' import { ArborgWorkpointModule } from '@island.is/clients/workpoint/arborg' -export class HomeSupportModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: HomeSupportModule, - imports: [SharedTemplateAPIModule, ArborgWorkpointModule], - providers: [HomeSupportService], - exports: [HomeSupportService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, ArborgWorkpointModule], + providers: [HomeSupportService], + exports: [HomeSupportService], +}) +export class HomeSupportModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts index 213bab0cdfea..132d69bd98a4 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/id-card/id-card.module.ts @@ -1,7 +1,6 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { IdCardService } from './id-card.service' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { PassportsClientModule } from '@island.is/clients/passports' import { ConfigModule } from '@nestjs/config' import { @@ -9,21 +8,17 @@ import { ChargeFjsV2ClientModule, } from '@island.is/clients/charge-fjs-v2' -export class IdCardModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: IdCardModule, - imports: [ - SharedTemplateAPIModule, - ChargeFjsV2ClientModule, - PassportsClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [ChargeFjsV2ClientConfig], - }), - ], - providers: [IdCardService], - exports: [IdCardService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + ChargeFjsV2ClientModule, + PassportsClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [ChargeFjsV2ClientConfig], + }), + ], + providers: [IdCardService], + exports: [IdCardService], +}) +export class IdCardModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/index.ts b/libs/application/template-api-modules/src/lib/modules/templates/index.ts index 56279003dcc6..c425ffa7ab68 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/index.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/index.ts @@ -145,22 +145,26 @@ import { ParliamentaryListCreationService } from './signature-collection/parliam import { ParliamentaryListSigningModule } from './signature-collection/parliamentary-list-signing/parliamentary-list-signing.module' import { ParliamentaryListSigningService } from './signature-collection/parliamentary-list-signing/parliamentary-list-signing.service' +export const dynamicModules = [ + ParentalLeaveModule, + ChildrenResidenceChangeModule, + GeneralPetitionModule, + SocialInsuranceAdministrationModule, +] + export const modules = [ ReferenceTemplateModule, GeneralFishingLicenseModule, DataProtectionComplaintModule, PublicDebtPaymentPlanTemplateModule, - ParentalLeaveModule, DocumentProviderOnboardingModule, InstitutionCollaborationModule, HealthInsuranceModule, - ChildrenResidenceChangeModule, ChildrenResidenceChangeModuleV2, LoginServiceModule, FundingGovernmentProjectsModule, DrivingLicenseSubmissionModule, AccidentNotificationModule, - GeneralPetitionModule, CriminalRecordSubmissionModule, PSignSubmissionModule, AnnouncementOfDeathModule, @@ -193,7 +197,6 @@ export const modules = [ DrivingLicenseBookUpdateInstructorModule, DrivingLearnersPermitModule, DrivingLicenseDuplicateModule, - SocialInsuranceAdministrationModule, CarRecyclingModule, CitizenshipModule, EnergyFundsModule, diff --git a/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts index c5f5a1919b9b..3e22223815d3 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report/inheritance-report.module.ts @@ -1,24 +1,18 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' import { SyslumennClientModule } from '@island.is/clients/syslumenn' -import { BaseTemplateAPIModuleConfig } from '../../../types' - import { InheritanceReportService } from './inheritance-report.service' import { NationalRegistryXRoadModule } from '@island.is/api/domains/national-registry-x-road' -export class InheritanceReportModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: InheritanceReportModule, - imports: [ - SharedTemplateAPIModule, - SyslumennClientModule, - NationalRegistryXRoadModule, - ], - providers: [InheritanceReportService], - exports: [InheritanceReportService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + SyslumennClientModule, + NationalRegistryXRoadModule, + ], + providers: [InheritanceReportService], + exports: [InheritanceReportService], +}) +export class InheritanceReportModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts index fc9bb10d4c75..b2da6d698d31 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/institution-collaboration.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { InstitutionCollaborationService } from './institution-collaboration.service' import { INSTITUTION_COLLABORATION_CONFIG } from './config/institutionApplicationServiceConfig' import { FileStorageModule } from '@island.is/file-storage' @@ -16,24 +15,20 @@ const applicationSenderName = process.env.EMAIL_FROM_NAME ?? '' const applicationSenderEmail = process.env.EMAIL_FROM ?? 'development@island.is' -export class InstitutionCollaborationModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: InstitutionCollaborationModule, - imports: [SharedTemplateAPIModule, FileStorageModule], - providers: [ - { - provide: INSTITUTION_COLLABORATION_CONFIG, - useValue: { - applicationRecipientName, - applicationRecipientEmail, - applicationSenderName, - applicationSenderEmail, - }, - }, - InstitutionCollaborationService, - ], - exports: [InstitutionCollaborationService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, FileStorageModule], + providers: [ + { + provide: INSTITUTION_COLLABORATION_CONFIG, + useValue: { + applicationRecipientName, + applicationRecipientEmail, + applicationSenderName, + applicationSenderEmail, + }, + }, + InstitutionCollaborationService, + ], + exports: [InstitutionCollaborationService], +}) +export class InstitutionCollaborationModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts index fe39393d0713..4d2579b29dcd 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/login-service/login-service.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { LoginServiceService } from './login-service.service' import { LOGIN_SERVICE_CONFIG } from './config/loginServiceConfig' @@ -15,24 +14,20 @@ const applicationSenderName = process.env.EMAIL_FROM_NAME ?? '' const applicationSenderEmail = process.env.EMAIL_FROM ?? 'development@island.is' -export class LoginServiceModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: LoginServiceModule, - imports: [SharedTemplateAPIModule], - providers: [ - { - provide: LOGIN_SERVICE_CONFIG, - useValue: { - applicationRecipientName, - applicationRecipientEmail, - applicationSenderName, - applicationSenderEmail, - }, - }, - LoginServiceService, - ], - exports: [LoginServiceService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule], + providers: [ + { + provide: LOGIN_SERVICE_CONFIG, + useValue: { + applicationRecipientName, + applicationRecipientEmail, + applicationSenderName, + applicationSenderEmail, + }, + }, + LoginServiceService, + ], + exports: [LoginServiceService], +}) +export class LoginServiceModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts index 815c2e04af7a..a51c0761fe6c 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission/marriage-conditions-submission.module.ts @@ -1,21 +1,16 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SyslumennClientModule } from '@island.is/clients/syslumenn' import { MarriageConditionsSubmissionService } from './marriage-conditions-submission.service' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { NationalRegistryXRoadModule } from '@island.is/api/domains/national-registry-x-road' -export class MarriageConditionsSubmissionModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: MarriageConditionsSubmissionModule, - imports: [ - SyslumennClientModule, - SharedTemplateAPIModule, - NationalRegistryXRoadModule, - ], - providers: [MarriageConditionsSubmissionService], - exports: [MarriageConditionsSubmissionService], - } - } -} +@Module({ + imports: [ + SyslumennClientModule, + SharedTemplateAPIModule, + NationalRegistryXRoadModule, + ], + providers: [MarriageConditionsSubmissionService], + exports: [MarriageConditionsSubmissionService], +}) +export class MarriageConditionsSubmissionModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts index 2a19fda7e9ae..29d63a9b53ce 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/mortgage-certificate-submission.module.ts @@ -1,21 +1,16 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { MortgageCertificateSubmissionService } from './mortgage-certificate-submission.service' import { MortgageCertificateModule } from '@island.is/api/domains/mortgage-certificate' import { SyslumennClientModule } from '@island.is/clients/syslumenn' -export class MortgageCertificateSubmissionModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: MortgageCertificateSubmissionModule, - imports: [ - SharedTemplateAPIModule, - MortgageCertificateModule, - SyslumennClientModule, - ], - providers: [MortgageCertificateSubmissionService], - exports: [MortgageCertificateSubmissionService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + MortgageCertificateModule, + SyslumennClientModule, + ], + providers: [MortgageCertificateSubmissionService], + exports: [MortgageCertificateSubmissionService], +}) +export class MortgageCertificateSubmissionModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts index fb16a9591cfc..4933b7eac14e 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/new-primary-school.module.ts @@ -1,21 +1,16 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { NationalRegistryXRoadModule } from '@island.is/api/domains/national-registry-x-road' import { NewPrimarySchoolService } from './new-primary-school.service' import { FriggClientModule } from '@island.is/clients/mms/frigg' -export class NewPrimarySchoolModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: NewPrimarySchoolModule, - imports: [ - SharedTemplateAPIModule, - NationalRegistryXRoadModule, - FriggClientModule, - ], - providers: [NewPrimarySchoolService], - exports: [NewPrimarySchoolService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + NationalRegistryXRoadModule, + FriggClientModule, + ], + providers: [NewPrimarySchoolService], + exports: [NewPrimarySchoolService], +}) +export class NewPrimarySchoolModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts index 42e10c1b1609..af0f64f58a7d 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/no-debt-certificate.module.ts @@ -1,25 +1,20 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { NoDebtCertificateService } from './no-debt-certificate.service' import { FinanceClientModule } from '@island.is/clients/finance' import { ConfigModule } from '@nestjs/config' import { FinanceClientConfig } from '@island.is/clients/finance' -export class NoDebtCertificateModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: NoDebtCertificateModule, - imports: [ - SharedTemplateAPIModule, - FinanceClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [FinanceClientConfig], - }), - ], - providers: [NoDebtCertificateService], - exports: [NoDebtCertificateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + FinanceClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [FinanceClientConfig], + }), + ], + providers: [NoDebtCertificateService], + exports: [NoDebtCertificateService], +}) +export class NoDebtCertificateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts index cbfc72f1d639..e6b26e1218ab 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/official-journal-of-iceland.module.ts @@ -1,21 +1,16 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { OfficialJournalOfIcelandTemaplateService } from './official-journal-of-iceland.service' import { OfficialJournalOfIcelandModule } from '@island.is/api/domains/official-journal-of-iceland' import { OfficialJournalOfIcelandApplicationModule } from '@island.is/api/domains/official-journal-of-iceland-application' -export class OfficialJournalOfIcelandTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: OfficialJournalOfIcelandTemplateModule, - imports: [ - SharedTemplateAPIModule, - OfficialJournalOfIcelandModule, - OfficialJournalOfIcelandApplicationModule, - ], - providers: [OfficialJournalOfIcelandTemaplateService], - exports: [OfficialJournalOfIcelandTemaplateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + OfficialJournalOfIcelandModule, + OfficialJournalOfIcelandApplicationModule, + ], + providers: [OfficialJournalOfIcelandTemaplateService], + exports: [OfficialJournalOfIcelandTemaplateService], +}) +export class OfficialJournalOfIcelandTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts index 25cb317a359b..a5d782cbac26 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/operating-license/operatingLicense.module.ts @@ -1,25 +1,20 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { OperatingLicenseService } from './operatingLicense.service' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { SyslumennClientModule } from '@island.is/clients/syslumenn' import { CriminalRecordModule } from '@island.is/api/domains/criminal-record' import { FinanceClientModule } from '@island.is/clients/finance' import { JudicialAdministrationClientModule } from '@island.is/clients/judicial-administration' -export class OperatingLicenseModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: OperatingLicenseModule, - imports: [ - SyslumennClientModule, - SharedTemplateAPIModule, - CriminalRecordModule, - FinanceClientModule, - JudicialAdministrationClientModule, - ], - providers: [OperatingLicenseService], - exports: [OperatingLicenseService], - } - } -} +@Module({ + imports: [ + SyslumennClientModule, + SharedTemplateAPIModule, + CriminalRecordModule, + FinanceClientModule, + JudicialAdministrationClientModule, + ], + providers: [OperatingLicenseService], + exports: [OperatingLicenseService], +}) +export class OperatingLicenseModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts index 85eb2d224729..d92adecbe4cc 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission/p-sign-submission.module.ts @@ -1,16 +1,11 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SyslumennClientModule } from '@island.is/clients/syslumenn' import { PSignSubmissionService } from './p-sign-submission.service' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' -export class PSignSubmissionModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: PSignSubmissionModule, - imports: [SyslumennClientModule, SharedTemplateAPIModule], - providers: [PSignSubmissionService], - exports: [PSignSubmissionService], - } - } -} +@Module({ + imports: [SyslumennClientModule, SharedTemplateAPIModule], + providers: [PSignSubmissionService], + exports: [PSignSubmissionService], +}) +export class PSignSubmissionModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/passport-annulment/passport-annulment.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/passport-annulment/passport-annulment.module.ts index 04b0fa39c221..7f37bc364030 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/passport-annulment/passport-annulment.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/passport-annulment/passport-annulment.module.ts @@ -1,14 +1,10 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { PassportAnnulmentService } from './passport-annulment.service' import { PassportsClientModule } from '@island.is/clients/passports' -export class PassportAnnulmentModule { - static register(): DynamicModule { - return { - module: PassportAnnulmentModule, - imports: [PassportsClientModule], - providers: [PassportAnnulmentService], - exports: [PassportAnnulmentService], - } - } -} +@Module({ + imports: [PassportsClientModule], + providers: [PassportAnnulmentService], + exports: [PassportAnnulmentService], +}) +export class PassportAnnulmentModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/passport/passport.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/passport/passport.module.ts index c3862a0730a3..605597726167 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/passport/passport.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/passport/passport.module.ts @@ -1,16 +1,11 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { PassportService } from './passport.service' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { PassportsClientModule } from '@island.is/clients/passports' -export class PassportModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: PassportModule, - imports: [SharedTemplateAPIModule, PassportsClientModule], - providers: [PassportService], - exports: [PassportService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, PassportsClientModule], + providers: [PassportService], + exports: [PassportService], +}) +export class PassportModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan/public-debt-payment-plan.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan/public-debt-payment-plan.module.ts index e3deab45fd97..3c6db80ee2f3 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan/public-debt-payment-plan.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan/public-debt-payment-plan.module.ts @@ -1,25 +1,17 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../types' - // Here you import your module service import { PublicDebtPaymentPlanTemplateService } from './public-debt-payment-plan.service' import { PaymentScheduleClientModule } from '@island.is/clients/payment-schedule' import { PrerequisitesService } from './paymentPlanPrerequisites.service' -export class PublicDebtPaymentPlanTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: PublicDebtPaymentPlanTemplateModule, - imports: [SharedTemplateAPIModule, PaymentScheduleClientModule], - providers: [PublicDebtPaymentPlanTemplateService, PrerequisitesService], - exports: [PublicDebtPaymentPlanTemplateService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, PaymentScheduleClientModule], + providers: [PublicDebtPaymentPlanTemplateService, PrerequisitesService], + exports: [PublicDebtPaymentPlanTemplateService], +}) +export class PublicDebtPaymentPlanTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts index 58b15a639624..ba480162bf5c 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts @@ -1,4 +1,4 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../shared' @@ -10,13 +10,9 @@ import { BaseTemplateAPIModuleConfig } from '../../../types' // Here you import your module service import { ReferenceTemplateService } from './reference-template.service' -export class ReferenceTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: ReferenceTemplateModule, - imports: [SharedTemplateAPIModule], - providers: [ReferenceTemplateService], - exports: [ReferenceTemplateService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule], + providers: [ReferenceTemplateService], + exports: [ReferenceTemplateService], +}) +export class ReferenceTemplateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-creation/signature-list-creation.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-creation/signature-list-creation.module.ts index fc2cf4cb5d05..68b269a1cc41 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-creation/signature-list-creation.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-creation/signature-list-creation.module.ts @@ -1,23 +1,15 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../../types' - // Here you import your module service import { SignatureListCreationService } from './signature-list-creation.service' import { SignatureCollectionClientModule } from '@island.is/clients/signature-collection' -export class SignatureListCreationModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: SignatureListCreationModule, - imports: [SharedTemplateAPIModule, SignatureCollectionClientModule], - providers: [SignatureListCreationService], - exports: [SignatureListCreationService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, SignatureCollectionClientModule], + providers: [SignatureListCreationService], + exports: [SignatureListCreationService], +}) +export class SignatureListCreationModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-signing/signature-list-signing.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-signing/signature-list-signing.module.ts index 8fefb2e5ffe9..12ec7dcd7acf 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-signing/signature-list-signing.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/signature-list-signing/signature-list-signing.module.ts @@ -1,23 +1,15 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../../types' - // Here you import your module service import { SignatureListSigningService } from './signature-list-signing.service' import { SignatureCollectionClientModule } from '@island.is/clients/signature-collection' -export class SignatureListSigningModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: SignatureListSigningModule, - imports: [SharedTemplateAPIModule, SignatureCollectionClientModule], - providers: [SignatureListSigningService], - exports: [SignatureListSigningService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, SignatureCollectionClientModule], + providers: [SignatureListSigningService], + exports: [SignatureListSigningService], +}) +export class SignatureListSigningModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/anonymity-in-vehicle-registry/anonymity-in-vehicle-registry.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/anonymity-in-vehicle-registry/anonymity-in-vehicle-registry.module.ts index 17834268669a..9846c239bb60 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/anonymity-in-vehicle-registry/anonymity-in-vehicle-registry.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/anonymity-in-vehicle-registry/anonymity-in-vehicle-registry.module.ts @@ -1,27 +1,22 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { AnonymityInVehicleRegistryService } from './anonymity-in-vehicle-registry.service' import { VehicleInfolocksClientModule, VehicleInfolocksClientConfig, } from '@island.is/clients/transport-authority/vehicle-infolocks' -export class AnonymityInVehicleRegistryModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: AnonymityInVehicleRegistryModule, - imports: [ - SharedTemplateAPIModule, - VehicleInfolocksClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [VehicleInfolocksClientConfig], - }), - ], - providers: [AnonymityInVehicleRegistryService], - exports: [AnonymityInVehicleRegistryService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + VehicleInfolocksClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [VehicleInfolocksClientConfig], + }), + ], + providers: [AnonymityInVehicleRegistryService], + exports: [AnonymityInVehicleRegistryService], +}) +export class AnonymityInVehicleRegistryModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-co-owner-of-vehicle/change-co-owner-of-vehicle.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-co-owner-of-vehicle/change-co-owner-of-vehicle.module.ts index d6d3642dc33f..309d6e828221 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-co-owner-of-vehicle/change-co-owner-of-vehicle.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-co-owner-of-vehicle/change-co-owner-of-vehicle.module.ts @@ -1,7 +1,6 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { ChangeCoOwnerOfVehicleService } from './change-co-owner-of-vehicle.service' import { VehicleOwnerChangeClientModule, @@ -32,34 +31,30 @@ import { VehiclesMileageClientConfig, } from '@island.is/clients/vehicles-mileage' -export class ChangeCoOwnerOfVehicleModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: ChangeCoOwnerOfVehicleModule, - imports: [ - SharedTemplateAPIModule, - VehicleOwnerChangeClientModule, - VehicleOperatorsClientModule, - VehicleCodetablesClientModule, - ChargeFjsV2ClientModule, - VehicleServiceFjsV1ClientModule, - VehiclesClientModule, - VehiclesMileageClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [ - VehicleOwnerChangeClientConfig, - VehicleOperatorsClientConfig, - VehicleCodetablesClientConfig, - ChargeFjsV2ClientConfig, - VehicleServiceFjsV1ClientConfig, - VehiclesClientConfig, - VehiclesMileageClientConfig, - ], - }), +@Module({ + imports: [ + SharedTemplateAPIModule, + VehicleOwnerChangeClientModule, + VehicleOperatorsClientModule, + VehicleCodetablesClientModule, + ChargeFjsV2ClientModule, + VehicleServiceFjsV1ClientModule, + VehiclesClientModule, + VehiclesMileageClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [ + VehicleOwnerChangeClientConfig, + VehicleOperatorsClientConfig, + VehicleCodetablesClientConfig, + ChargeFjsV2ClientConfig, + VehicleServiceFjsV1ClientConfig, + VehiclesClientConfig, + VehiclesMileageClientConfig, ], - providers: [ChangeCoOwnerOfVehicleService], - exports: [ChangeCoOwnerOfVehicleService], - } - } -} + }), + ], + providers: [ChangeCoOwnerOfVehicleService], + exports: [ChangeCoOwnerOfVehicleService], +}) +export class ChangeCoOwnerOfVehicleModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-operator-of-vehicle/change-operator-of-vehicle.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-operator-of-vehicle/change-operator-of-vehicle.module.ts index 3a070990028c..b84269fd9549 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-operator-of-vehicle/change-operator-of-vehicle.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/change-operator-of-vehicle/change-operator-of-vehicle.module.ts @@ -1,7 +1,6 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { ChangeOperatorOfVehicleService } from './change-operator-of-vehicle.service' import { ChargeFjsV2ClientConfig, @@ -32,34 +31,30 @@ import { VehiclesMileageClientConfig, } from '@island.is/clients/vehicles-mileage' -export class ChangeOperatorOfVehicleModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: ChangeOperatorOfVehicleModule, - imports: [ - SharedTemplateAPIModule, - ChargeFjsV2ClientModule, - VehicleOperatorsClientModule, - VehicleOwnerChangeClientModule, - VehicleCodetablesClientModule, - VehicleServiceFjsV1ClientModule, - VehiclesClientModule, - VehiclesMileageClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [ - ChargeFjsV2ClientConfig, - VehicleOperatorsClientConfig, - VehicleOwnerChangeClientConfig, - VehicleCodetablesClientConfig, - VehicleServiceFjsV1ClientConfig, - VehiclesClientConfig, - VehiclesMileageClientConfig, - ], - }), +@Module({ + imports: [ + SharedTemplateAPIModule, + ChargeFjsV2ClientModule, + VehicleOperatorsClientModule, + VehicleOwnerChangeClientModule, + VehicleCodetablesClientModule, + VehicleServiceFjsV1ClientModule, + VehiclesClientModule, + VehiclesMileageClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [ + ChargeFjsV2ClientConfig, + VehicleOperatorsClientConfig, + VehicleOwnerChangeClientConfig, + VehicleCodetablesClientConfig, + VehicleServiceFjsV1ClientConfig, + VehiclesClientConfig, + VehiclesMileageClientConfig, ], - providers: [ChangeOperatorOfVehicleService], - exports: [ChangeOperatorOfVehicleService], - } - } -} + }), + ], + providers: [ChangeOperatorOfVehicleService], + exports: [ChangeOperatorOfVehicleService], +}) +export class ChangeOperatorOfVehicleModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-company-card/digital-tachograph-company-card.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-company-card/digital-tachograph-company-card.module.ts index 920cd0d893b3..620ba53a05bb 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-company-card/digital-tachograph-company-card.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-company-card/digital-tachograph-company-card.module.ts @@ -1,15 +1,10 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { DigitalTachographCompanyCardService } from './digital-tachograph-company-card.service' -export class DigitalTachographCompanyCardModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: DigitalTachographCompanyCardModule, - imports: [SharedTemplateAPIModule], - providers: [DigitalTachographCompanyCardService], - exports: [DigitalTachographCompanyCardService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule], + providers: [DigitalTachographCompanyCardService], + exports: [DigitalTachographCompanyCardService], +}) +export class DigitalTachographCompanyCardModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-drivers-card/digital-tachograph-drivers-card.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-drivers-card/digital-tachograph-drivers-card.module.ts index df4aa95ae8ad..10ff1852a1d2 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-drivers-card/digital-tachograph-drivers-card.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-drivers-card/digital-tachograph-drivers-card.module.ts @@ -1,7 +1,6 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { DigitalTachographDriversCardService } from './digital-tachograph-drivers-card.service' import { DigitalTachographDriversCardClientModule, @@ -9,21 +8,17 @@ import { } from '@island.is/clients/transport-authority/digital-tachograph-drivers-card' import { DrivingLicenseApiModule } from '@island.is/clients/driving-license' -export class DigitalTachographDriversCardModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: DigitalTachographDriversCardModule, - imports: [ - SharedTemplateAPIModule, - DigitalTachographDriversCardClientModule, - DrivingLicenseApiModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [DigitalTachographDriversCardClientConfig], - }), - ], - providers: [DigitalTachographDriversCardService], - exports: [DigitalTachographDriversCardService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + DigitalTachographDriversCardClientModule, + DrivingLicenseApiModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [DigitalTachographDriversCardClientConfig], + }), + ], + providers: [DigitalTachographDriversCardService], + exports: [DigitalTachographDriversCardService], +}) +export class DigitalTachographDriversCardModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-workshop-card/digital-tachograph-workshop-card.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-workshop-card/digital-tachograph-workshop-card.module.ts index 858b62b448f1..63f80c955f12 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-workshop-card/digital-tachograph-workshop-card.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/digital-tachograph-workshop-card/digital-tachograph-workshop-card.module.ts @@ -1,15 +1,10 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { DigitalTachographWorkshopCardService } from './digital-tachograph-workshop-card.service' -export class DigitalTachographWorkshopCardModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: DigitalTachographWorkshopCardModule, - imports: [SharedTemplateAPIModule], - providers: [DigitalTachographWorkshopCardService], - exports: [DigitalTachographWorkshopCardService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule], + providers: [DigitalTachographWorkshopCardService], + exports: [DigitalTachographWorkshopCardService], +}) +export class DigitalTachographWorkshopCardModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/license-plate-renewal/license-plate-renewal.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/license-plate-renewal/license-plate-renewal.module.ts index 56a891e8f43c..c54776649e1c 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/license-plate-renewal/license-plate-renewal.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/license-plate-renewal/license-plate-renewal.module.ts @@ -1,27 +1,22 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { LicensePlateRenewalService } from './license-plate-renewal.service' import { VehiclePlateRenewalClientModule, VehiclePlateRenewalClientConfig, } from '@island.is/clients/transport-authority/vehicle-plate-renewal' -export class LicensePlateRenewalModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: LicensePlateRenewalModule, - imports: [ - SharedTemplateAPIModule, - VehiclePlateRenewalClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [VehiclePlateRenewalClientConfig], - }), - ], - providers: [LicensePlateRenewalService], - exports: [LicensePlateRenewalService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + VehiclePlateRenewalClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [VehiclePlateRenewalClientConfig], + }), + ], + providers: [LicensePlateRenewalService], + exports: [LicensePlateRenewalService], +}) +export class LicensePlateRenewalModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-license-plate/order-vehicle-license-plate.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-license-plate/order-vehicle-license-plate.module.ts index f014ed57ba18..b640cba897ac 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-license-plate/order-vehicle-license-plate.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-license-plate/order-vehicle-license-plate.module.ts @@ -1,7 +1,6 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { OrderVehicleLicensePlateService } from './order-vehicle-license-plate.service' import { VehiclePlateOrderingClientModule, @@ -16,26 +15,22 @@ import { VehiclesClientConfig, } from '@island.is/clients/vehicles' -export class OrderVehicleLicensePlateModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: OrderVehicleLicensePlateModule, - imports: [ - SharedTemplateAPIModule, - VehiclePlateOrderingClientModule, - VehicleCodetablesClientModule, - VehiclesClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [ - VehiclePlateOrderingClientConfig, - VehicleCodetablesClientConfig, - VehiclesClientConfig, - ], - }), +@Module({ + imports: [ + SharedTemplateAPIModule, + VehiclePlateOrderingClientModule, + VehicleCodetablesClientModule, + VehiclesClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [ + VehiclePlateOrderingClientConfig, + VehicleCodetablesClientConfig, + VehiclesClientConfig, ], - providers: [OrderVehicleLicensePlateService], - exports: [OrderVehicleLicensePlateService], - } - } -} + }), + ], + providers: [OrderVehicleLicensePlateService], + exports: [OrderVehicleLicensePlateService], +}) +export class OrderVehicleLicensePlateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-registration-certificate/order-vehicle-registration-certificate.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-registration-certificate/order-vehicle-registration-certificate.module.ts index 5e5d0fa97b53..c4eaf027700a 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-registration-certificate/order-vehicle-registration-certificate.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/order-vehicle-registration-certificate/order-vehicle-registration-certificate.module.ts @@ -1,27 +1,22 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { OrderVehicleRegistrationCertificateService } from './order-vehicle-registration-certificate.service' import { VehiclePrintingClientModule, VehiclePrintingClientConfig, } from '@island.is/clients/transport-authority/vehicle-printing' -export class OrderVehicleRegistrationCertificateModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: OrderVehicleRegistrationCertificateModule, - imports: [ - SharedTemplateAPIModule, - VehiclePrintingClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [VehiclePrintingClientConfig], - }), - ], - providers: [OrderVehicleRegistrationCertificateService], - exports: [OrderVehicleRegistrationCertificateService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + VehiclePrintingClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [VehiclePrintingClientConfig], + }), + ], + providers: [OrderVehicleRegistrationCertificateService], + exports: [OrderVehicleRegistrationCertificateService], +}) +export class OrderVehicleRegistrationCertificateModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/transfer-of-vehicle-ownership/transfer-of-vehicle-ownership.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/transfer-of-vehicle-ownership/transfer-of-vehicle-ownership.module.ts index 06628c9c24a8..e13b9cfbce36 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/transfer-of-vehicle-ownership/transfer-of-vehicle-ownership.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/transfer-of-vehicle-ownership/transfer-of-vehicle-ownership.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../../types' import { TransferOfVehicleOwnershipService } from './transfer-of-vehicle-ownership.service' import { ConfigModule } from '@nestjs/config' import { @@ -28,32 +27,28 @@ import { VehiclesMileageClientModule, } from '@island.is/clients/vehicles-mileage' -export class TransferOfVehicleOwnershipModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: TransferOfVehicleOwnershipModule, - imports: [ - SharedTemplateAPIModule, - ChargeFjsV2ClientModule, - VehicleOwnerChangeClientModule, - VehicleCodetablesClientModule, - VehicleServiceFjsV1ClientModule, - VehiclesClientModule, - VehiclesMileageClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [ - ChargeFjsV2ClientConfig, - VehicleOwnerChangeClientConfig, - VehicleCodetablesClientConfig, - VehicleServiceFjsV1ClientConfig, - VehiclesClientConfig, - VehiclesMileageClientConfig, - ], - }), +@Module({ + imports: [ + SharedTemplateAPIModule, + ChargeFjsV2ClientModule, + VehicleOwnerChangeClientModule, + VehicleCodetablesClientModule, + VehicleServiceFjsV1ClientModule, + VehiclesClientModule, + VehiclesMileageClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [ + ChargeFjsV2ClientConfig, + VehicleOwnerChangeClientConfig, + VehicleCodetablesClientConfig, + VehicleServiceFjsV1ClientConfig, + VehiclesClientConfig, + VehiclesMileageClientConfig, ], - providers: [TransferOfVehicleOwnershipService], - exports: [TransferOfVehicleOwnershipService], - } - } -} + }), + ], + providers: [TransferOfVehicleOwnershipService], + exports: [TransferOfVehicleOwnershipService], +}) +export class TransferOfVehicleOwnershipModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/university/university.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/university/university.module.ts index 5f64d73cf26b..8355a09ea385 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/university/university.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/university/university.module.ts @@ -1,7 +1,6 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { ConfigModule } from '@nestjs/config' import { SharedTemplateAPIModule } from '../../shared' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { UniversityService } from './university.service' import { NationalRegistryClientModule } from '@island.is/clients/national-registry-v2' import { @@ -10,22 +9,18 @@ import { } from '@island.is/clients/university-gateway-api' import { InnaClientModule } from '@island.is/clients/inna' -export class UniversityModule { - static register(baseConfig: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: UniversityModule, - imports: [ - SharedTemplateAPIModule, - NationalRegistryClientModule, - InnaClientModule, - UniversityGatewayApiClientModule, - ConfigModule.forRoot({ - isGlobal: true, - load: [UniversityGatewayApiClientConfig], - }), - ], - providers: [UniversityService], - exports: [UniversityService], - } - } -} +@Module({ + imports: [ + SharedTemplateAPIModule, + NationalRegistryClientModule, + InnaClientModule, + UniversityGatewayApiClientModule, + ConfigModule.forRoot({ + isGlobal: true, + load: [UniversityGatewayApiClientConfig], + }), + ], + providers: [UniversityService], + exports: [UniversityService], +}) +export class UniversityModule {} From c49bc6244876602c42c19280b49f88f3d865326c Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Fri, 13 Sep 2024 14:08:43 +0000 Subject: [PATCH 11/26] Update readme --- .../template-api-modules/README.md | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/libs/application/template-api-modules/README.md b/libs/application/template-api-modules/README.md index be1687c444c5..501b57e4b2f1 100644 --- a/libs/application/template-api-modules/README.md +++ b/libs/application/template-api-modules/README.md @@ -19,28 +19,20 @@ Start by creating `{your_template_name}.module.ts` and `{your_template_name}.ser Example of a template API module: ```typescript -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../types' - // Here you import your module service import { ReferenceTemplateService } from './reference-template.service' -export class ReferenceTemplateModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: ReferenceTemplateModule, - imports: [SharedTemplateAPIModule], - providers: [ReferenceTemplateService], - exports: [ReferenceTemplateService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule], + providers: [ReferenceTemplateService], + exports: [ReferenceTemplateService], +}) +export class ReferenceTemplateModule {} ``` Create your service class that extends the `BaseTemplateApiService` and provide the application type to the `super` constructor. \ From 82d6c86606d97d78f1163b94322cd8cddfbbccdb Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Fri, 13 Sep 2024 14:58:20 +0000 Subject: [PATCH 12/26] Post merge conflict fix --- .../parliamentary-list-signing.module.ts | 25 ++++++------------- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-signing/parliamentary-list-signing.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-signing/parliamentary-list-signing.module.ts index fd40952c6ae3..2937ca4bb197 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-signing/parliamentary-list-signing.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/signature-collection/parliamentary-list-signing/parliamentary-list-signing.module.ts @@ -1,26 +1,15 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../../types' - // Here you import your module service import { ParliamentaryListSigningService } from './parliamentary-list-signing.service' import { SignatureCollectionClientModule } from '@island.is/clients/signature-collection' -export class ParliamentaryListSigningModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: ParliamentaryListSigningModule, - imports: [ - SharedTemplateAPIModule.register(config), - SignatureCollectionClientModule, - ], - providers: [ParliamentaryListSigningService], - exports: [ParliamentaryListSigningService], - } - } -} +@Module({ + imports: [SharedTemplateAPIModule, SignatureCollectionClientModule], + providers: [ParliamentaryListSigningService], + exports: [ParliamentaryListSigningService], +}) +export class ParliamentaryListSigningModule {} From 6ad1489d482f662cb3c9afef5d2a7577436dec24 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Mon, 16 Sep 2024 09:41:17 +0000 Subject: [PATCH 13/26] Cleanup --- .../directorate-of-immigration.module.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/directorate-of-immigration/directorate-of-immigration.module.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/directorate-of-immigration/directorate-of-immigration.module.ts index 1857ab1187d0..1ef09621a488 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/directorate-of-immigration/directorate-of-immigration.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/directorate-of-immigration/directorate-of-immigration.module.ts @@ -1,4 +1,4 @@ -import { DynamicModule, Module } from '@nestjs/common' +import { Module } from '@nestjs/common' import { DirectorateOfImmigrationService } from './directorate-of-immigration.service' import { DirectorateOfImmigrationClientModule } from '@island.is/clients/directorate-of-immigration' From 3b962797d8161d51fd15017524a95114fdccd17f Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Wed, 18 Sep 2024 15:16:13 +0000 Subject: [PATCH 14/26] fix shared.utils --- .../modules/shared/api/payment/payment.service.ts | 13 +++++++++++-- .../shared/api/user-profile/user-profile.service.ts | 4 ++-- .../src/lib/modules/shared/shared.utils.ts | 6 +++--- .../parental-leave/parental-leave.service.ts | 4 ++-- .../template-api-modules/src/lib/types/index.ts | 5 +++++ 5 files changed, 23 insertions(+), 9 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.service.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.service.ts index c6ceb34a56e1..b085fad392a3 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.service.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.service.ts @@ -4,7 +4,7 @@ import { PaymentCatalogParameters, } from '@island.is/application/types' import { - BaseTemplateAPIModuleConfig, + SharedModuleConfig, TemplateApiModuleActionProps, } from '../../../../types' import { ChargeFjsV2ClientService } from '@island.is/clients/charge-fjs-v2' @@ -23,7 +23,7 @@ export class PaymentService extends BaseTemplateApiService { private chargeFjsV2ClientService: ChargeFjsV2ClientService, private readonly paymentModelService: PaymentModelService, @Inject(ConfigService) - private readonly configService: ConfigService, + private readonly configService: ConfigService, ) { super('Payment') } @@ -82,6 +82,15 @@ export class PaymentService extends BaseTemplateApiService { ) const slug = getSlugFromType(application.typeId) + + console.log( + 'clientLocationOrigin', + getConfigValue(this.configService, 'clientLocationOrigin'), + ) + + console.log('configservice') + console.dir(this.configService) + const clientLocationOrigin = getConfigValue( this.configService, 'clientLocationOrigin', diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/user-profile/user-profile.service.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/user-profile/user-profile.service.ts index e8d773cebb1c..8c992c683fa1 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/user-profile/user-profile.service.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/user-profile/user-profile.service.ts @@ -4,7 +4,7 @@ import { IslyklarApi } from '@island.is/clients/islykill' import { V2MeApi } from '@island.is/clients/user-profile' import { isRunningOnEnvironment } from '@island.is/shared/utils' import { - BaseTemplateAPIModuleConfig, + SharedModuleConfig, TemplateApiModuleActionProps, } from '../../../../types' import { BaseTemplateApiService } from '../../../base-template-api.service' @@ -30,7 +30,7 @@ export class UserProfileService extends BaseTemplateApiService { @Inject(IdsClientConfig.KEY) private idsClientConfig: ConfigType, @Inject(ConfigService) - private readonly configService: ConfigService, + private readonly configService: ConfigService, ) { super('UserProfile') } diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts index 4d4021a3a45f..20f23dc24d05 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts @@ -3,7 +3,7 @@ import { ConfigService } from '@nestjs/config' import { Application } from '@island.is/application/types' -import { BaseTemplateAPIModuleConfig } from '../../types' +import { BaseTemplateAPIModuleConfig, SharedModuleConfig } from '../../types' export const createAssignToken = ( application: Application, @@ -25,10 +25,10 @@ export const createAssignToken = ( } export const getConfigValue = ( - configService: ConfigService, + configService: ConfigService, key: keyof BaseTemplateAPIModuleConfig, ) => { - const value = configService.get(key) + const value = configService.get('SharedModuleConfig')[key] if (value === undefined) { throw new Error( diff --git a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.ts b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.ts index 709d9423793b..dabd111613ca 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.ts @@ -57,7 +57,7 @@ import { LOGGER_PROVIDER } from '@island.is/logging' import { NationalRegistryClientService } from '@island.is/clients/national-registry-v2' import { ConfigService } from '@nestjs/config' import { - BaseTemplateAPIModuleConfig, + SharedModuleConfig, TemplateApiModuleActionProps, } from '../../../types' import { BaseTemplateApiService } from '../../base-template-api.service' @@ -112,7 +112,7 @@ export class ParentalLeaveService extends BaseTemplateApiService { private readonly sharedTemplateAPIService: SharedTemplateApiService, @Inject(APPLICATION_ATTACHMENT_BUCKET) private readonly attachmentBucket: string, - private readonly configService: ConfigService, + private readonly configService: ConfigService, private readonly childrenService: ChildrenService, private readonly nationalRegistryApi: NationalRegistryClientService, ) { diff --git a/libs/application/template-api-modules/src/lib/types/index.ts b/libs/application/template-api-modules/src/lib/types/index.ts index 9c19b3721967..05b8eba183a6 100644 --- a/libs/application/template-api-modules/src/lib/types/index.ts +++ b/libs/application/template-api-modules/src/lib/types/index.ts @@ -9,6 +9,7 @@ import { IslykillApiModuleConfig } from '@island.is/clients/islykill' import { Message } from '@island.is/email-service' import type { Locale } from '@island.is/shared/types' +import { sharedModuleConfig } from '../modules/shared' export interface BaseTemplateAPIModuleConfig { xRoadBasePathWithEnv: string @@ -37,6 +38,10 @@ export interface BaseTemplateAPIModuleConfig { islykill: IslykillApiModuleConfig } +export interface SharedModuleConfig { + SharedModuleConfig: typeof sharedModuleConfig +} + export interface TemplateApiModuleActionProps { application: ApplicationWithAttachments auth: User From 07370f0787257edf76cefd1094ae07f9aa12cb51 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Thu, 19 Sep 2024 09:10:21 +0000 Subject: [PATCH 15/26] Cleanup --- .../src/lib/modules/shared/api/payment/payment.service.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.service.ts b/libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.service.ts index b085fad392a3..894f96a328c2 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.service.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/api/payment/payment.service.ts @@ -83,14 +83,6 @@ export class PaymentService extends BaseTemplateApiService { const slug = getSlugFromType(application.typeId) - console.log( - 'clientLocationOrigin', - getConfigValue(this.configService, 'clientLocationOrigin'), - ) - - console.log('configservice') - console.dir(this.configService) - const clientLocationOrigin = getConfigValue( this.configService, 'clientLocationOrigin', From 18b10f41756590b62bb3049ab518a3a6bfbbb67b Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Thu, 3 Oct 2024 14:44:40 +0000 Subject: [PATCH 16/26] Fixes --- .../src/lib/modules/shared/shared.config.ts | 102 +++++++++++++++--- .../src/lib/modules/shared/shared.service.ts | 28 +++-- .../src/lib/modules/template-api.config.ts | 53 --------- 3 files changed, 99 insertions(+), 84 deletions(-) delete mode 100644 libs/application/template-api-modules/src/lib/modules/template-api.config.ts diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts index 55e08ee163f7..a26b5e0f1d94 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts @@ -2,33 +2,105 @@ import { defineConfig } from '@island.is/nest/config' import { z } from 'zod' const SharedModuleConfig = z.object({ - jwtSecret: z.string(), + baseApiUrl: z.string(), clientLocationOrigin: z.string(), - email: z.object({ - sender: z.string(), - address: z.string(), + audit: z.object({ + defaultNamespace: z.string(), + groupName: z.string(), + serviceName: z.string(), + }), + auth: z.object({ + issuer: z.string(), + audience: z.array(z.string()), + allowClientNationalId: z.boolean(), + }), + templateApi: z.object({ + clientLocationOrigin: z.string(), + email: z.object({ + sender: z.string(), + address: z.string(), + }), + jwtSecret: z.string(), + xRoadBasePathWithEnv: z.string(), + baseApiUrl: z.string(), + presignBucket: z.string(), + attachmentBucket: z.string(), + generalPetition: z.object({ + endorsementApiBasePath: z.string(), + }), + userProfile: z.object({ + serviceBasePath: z.string(), + }), + islykill: z.object({ + cert: z.string(), + passphrase: z.string(), + basePath: z.string(), + }), + }), + contentful: z.object({ + accessToken: z.string(), }), - baseApiUrl: z.string(), - attachmentBucket: z.string(), }) export const sharedModuleConfig = defineConfig({ name: 'SharedModuleConfig', schema: SharedModuleConfig, load: (env) => ({ - jwtSecret: env.required('AUTH_JWT_SECRET', 'supersecret'), + baseApiUrl: env.required('GRAPHQL_API_URL', 'http://localhost:4444'), clientLocationOrigin: env.required( 'CLIENT_LOCATION_ORIGIN', `http://localhost:${process.env.WEB_FRONTEND_PORT ?? '4242'}/umsoknir`, ), - email: { - sender: env.required('EMAIL_FROM_NAME', 'Devland.is'), - address: env.required('EMAIL_FROM', 'development@island.is'), + audit: { + defaultNamespace: '@island.is/applications', + groupName: env.required('AUDIT_GROUP_NAME', ''), + serviceName: 'application-system-api', + }, + auth: { + issuer: env.required( + 'IDENTITY_SERVER_ISSUER_URL', + 'https://identity-server.dev01.devland.is', + ), + audience: ['@island.is', '@admin.island.is'], + allowClientNationalId: true, + }, + templateApi: { + clientLocationOrigin: env.required( + 'CLIENT_LOCATION_ORIGIN', + `http://localhost:${process.env.WEB_FRONTEND_PORT ?? '4242'}/umsoknir`, + ), + email: { + sender: env.required('EMAIL_FROM_NAME', 'Devland.is'), + address: env.required('EMAIL_FROM', 'development@island.is'), + }, + jwtSecret: env.required('AUTH_JWT_SECRET', 'supersecret'), + xRoadBasePathWithEnv: env.required('XROAD_BASE_PATH_WITH_ENV', ''), + baseApiUrl: env.required('GRAPHQL_API_URL', 'http://localhost:4444'), + presignBucket: env.required('FILE_SERVICE_PRESIGN_BUCKET', ''), + attachmentBucket: env.required( + 'APPLICATION_ATTACHMENT_BUCKET', + 'island-is-dev-storage-application-system', + ), + generalPetition: { + endorsementApiBasePath: env.required( + 'ENDORSEMENTS_API_BASE_PATH', + 'http://localhost:4246', + ), + }, + userProfile: { + serviceBasePath: env.required( + 'SERVICE_USER_PROFILE_URL', + 'http://localhost:3366', + ), + }, + islykill: { + cert: env.required('ISLYKILL_CERT', ''), + passphrase: env.required('ISLYKILL_SERVICE_PASSPHRASE', ''), + basePath: env.required('ISLYKILL_SERVICE_BASEPATH', ''), + }, + }, + contentful: { + accessToken: env.required('CONTENTFUL_ACCESS_TOKEN'), }, - baseApiUrl: env.required('GRAPHQL_API_URL', 'http://localhost:4444'), - attachmentBucket: env.required( - 'APPLICATION_ATTACHMENT_BUCKET', - 'island-is-dev-storage-application-system', - ), }), }) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts index 622323d3c963..05e99d77ba1b 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.service.ts @@ -1,5 +1,5 @@ import { Inject, Injectable } from '@nestjs/common' -import { ConfigService, ConfigType } from '@nestjs/config' +import { ConfigType } from '@nestjs/config' import { EmailService } from '@island.is/email-service' import { Application, @@ -10,7 +10,6 @@ import { AssignmentEmailTemplateGenerator, AssignmentSmsTemplateGenerator, AttachmentEmailTemplateGenerator, - BaseTemplateApiApplicationService, EmailTemplateGenerator, SmsTemplateGenerator, } from '../../types' @@ -26,7 +25,6 @@ import { sharedModuleConfig } from './shared.config' import { ApplicationService } from '@island.is/application/api/core' import jwt from 'jsonwebtoken' import { uuid } from 'uuidv4' -import { TemplateAPIConfig } from '../..' import { AwsService } from '@island.is/nest/aws' @Injectable() @@ -41,8 +39,6 @@ export class SharedTemplateApiService { private readonly smsService: SmsService, @Inject(sharedModuleConfig.KEY) private config: ConfigType, - @Inject(ConfigService) - private readonly configService: ConfigService, private readonly applicationService: ApplicationService, private readonly paymentService: PaymentService, private readonly awsService: AwsService, @@ -53,7 +49,7 @@ export class SharedTemplateApiService { async createAssignToken(application: Application, expiresIn: number) { const token = await this.createToken( application, - this.config.jwtSecret, + this.config.templateApi.jwtSecret, expiresIn, ) @@ -64,7 +60,7 @@ export class SharedTemplateApiService { smsTemplateGenerator: SmsTemplateGenerator, application: Application, ): Promise { - const clientLocationOrigin = this.config.clientLocationOrigin + const clientLocationOrigin = this.config.templateApi.clientLocationOrigin const { phoneNumber, message } = smsTemplateGenerator(application, { clientLocationOrigin, @@ -78,7 +74,7 @@ export class SharedTemplateApiService { application: Application, token: string, ): Promise { - const clientLocationOrigin = this.config.clientLocationOrigin + const clientLocationOrigin = this.config.templateApi.clientLocationOrigin const assignLink = `${clientLocationOrigin}/tengjast-umsokn?token=${token}` @@ -95,9 +91,9 @@ export class SharedTemplateApiService { application: Application, locale = 'is', ) { - const clientLocationOrigin = this.config.clientLocationOrigin + const clientLocationOrigin = this.config.templateApi.clientLocationOrigin - const email = this.config.email + const email = this.config.templateApi.email const template = templateGenerator({ application, @@ -117,8 +113,8 @@ export class SharedTemplateApiService { token: string, locale = 'is', ) { - const clientLocationOrigin = this.config.clientLocationOrigin - const email = this.config.email + const clientLocationOrigin = this.config.templateApi.clientLocationOrigin + const email = this.config.templateApi.email const assignLink = `${clientLocationOrigin}/tengjast-umsokn?token=${token}` @@ -144,8 +140,8 @@ export class SharedTemplateApiService { recipientEmail: string, locale = 'is', ) { - const clientLocationOrigin = this.config.clientLocationOrigin - const email = this.config.email + const clientLocationOrigin = this.config.templateApi.clientLocationOrigin + const email = this.config.templateApi.email const template = templateGenerator( { @@ -260,7 +256,7 @@ export class SharedTemplateApiService { return Promise.reject('expiration must be positive') } - const bucket = this.config.attachmentBucket + const bucket = this.config.templateApi.attachmentBucket if (bucket == undefined) { return Promise.reject('could not find s3 bucket') @@ -283,7 +279,7 @@ export class SharedTemplateApiService { ContentEncoding?: string }, ): Promise { - const uploadBucket = this.configService.get('attachmentBucket') as string + const uploadBucket = this.config.templateApi.attachmentBucket if (!uploadBucket) throw new Error('No attachment bucket configured') const fileId = uuid() diff --git a/libs/application/template-api-modules/src/lib/modules/template-api.config.ts b/libs/application/template-api-modules/src/lib/modules/template-api.config.ts deleted file mode 100644 index e280f06929a5..000000000000 --- a/libs/application/template-api-modules/src/lib/modules/template-api.config.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { defineConfig } from '@island.is/nest/config' -import { z } from 'zod' - -const TemplateApiConfig = z.object({ - clientLocationOrigin: z.string(), - email: z.object({ - sender: z.string(), - address: z.string(), - }), - jwtSecret: z.string(), - xRoadBasePathWithEnv: z.string(), - baseApiUrl: z.string(), - presignBucket: z.string(), - attachmentBucket: z.string(), - generalPetition: z.object({ - endorsementsApiBasePath: z.string(), - }), - userProfile: z.object({ - serviceBasePath: z.string(), - }), -}) - -export const templateAPIConfig = defineConfig({ - name: 'TemplateAPIConfig', - schema: TemplateApiConfig, - load: (env) => ({ - clientLocationOrigin: env.required( - 'CLIENT_LOCATION_ORIGIN', - `http://localhost:${process.env.WEB_FRONTEND_PORT ?? '4242'}/umsoknir`, - ), - email: { - sender: env.required('EMAIL_FROM_NAME', 'Devland.is'), - address: env.required('EMAIL_FROM', 'development@island.is'), - }, - jwtSecret: env.required('AUTH_JWT_SECRET', 'supersecret'), - xRoadBasePathWithEnv: env.required('XROAD_BASE_PATH_WITH_ENV'), - baseApiUrl: env.required('GRAPHQL_API_URL', 'http://localhost:4444'), - presignBucket: env.required('FILE_SERVICE_PRESIGN_BUCKET'), - attachmentBucket: env.required('APPLICATION_ATTACHMENT_BUCKET'), - generalPetition: { - endorsementsApiBasePath: env.required( - 'ENDORSEMENTS_API_BASE_PATH', - 'http://localhost:4246', - ), - }, - userProfile: { - serviceBasePath: env.required( - 'SERVICE_USER_PROFILE_URL', - 'http://localhost:3366', - ), - }, - }), -}) From 021fd226eb1f473f9b6657c21514cb44b6a2669f Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Fri, 4 Oct 2024 09:37:18 +0000 Subject: [PATCH 17/26] Fix test --- .../application/e2e/application.spec.ts | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts b/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts index 81a9d3c788cc..8d77f37c4beb 100644 --- a/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts +++ b/apps/application-system/api/src/app/modules/application/e2e/application.spec.ts @@ -58,14 +58,32 @@ class MockContentfulRepository { } const mockConfig = { - jwtSecret: 'supersecret', clientLocationOrigin: 'http://localhost:4242', - email: { - sender: 'Devland.is', - address: 'development@island.is', - }, baseApiUrl: 'http://localhost:4444', attachmentBucket: 'attachmentBucket', + templateApi: { + clientLocationOrigin: 'http://localhost:4242/umsoknir', + email: { + sender: 'Devland.is', + address: 'development@island.is', + }, + jwtSecret: 'supersecret', + xRoadBasePathWithEnv: '', + baseApiUrl: 'http://localhost:4444', + presignBucket: '', + attachmentBucket: 'island-is-dev-storage-application-system', + generalPetition: { + endorsementApiBasePath: 'http://localhost:4246', + }, + userProfile: { + serviceBasePath: 'http://localhost:3366', + }, + islykill: { + cert: '', + passphrase: '', + basePath: '', + }, + }, } let server: request.SuperTest From 351b4a9efb89af7373255c4ea9a0ac3b8cb8f257 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Mon, 7 Oct 2024 09:05:06 +0000 Subject: [PATCH 18/26] fix tests --- .../lib/modules/shared/shared.utils.spec.ts | 59 ++++++++++++------- .../src/lib/modules/shared/shared.utils.ts | 4 +- .../src/lib/types/index.ts | 6 +- 3 files changed, 44 insertions(+), 25 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.spec.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.spec.ts index c50d7936de05..2e18c4316b07 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.spec.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.spec.ts @@ -1,7 +1,38 @@ -import { BaseTemplateAPIModuleConfig } from '../../types' +import { SharedModuleConfig } from '../../types' import { ConfigService } from '@nestjs/config' import * as utils from './shared.utils' +const mockConfig = { + clientLocationOrigin: 'http://localhost:4242', + baseApiUrl: 'http://localhost:4444', + attachmentBucket: 'attachmentBucket', + templateApi: { + clientLocationOrigin: 'http://localhost:4242/umsoknir', + email: { + sender: 'Devland.is', + address: 'development@island.is', + }, + jwtSecret: 'supersecret', + xRoadBasePathWithEnv: '', + baseApiUrl: 'http://localhost:4444', + presignBucket: '', + attachmentBucket: 'island-is-dev-storage-application-system', + generalPetition: { + endorsementApiBasePath: 'http://localhost:4246', + }, + userProfile: { + serviceBasePath: 'http://localhost:3366', + }, + islykill: { + cert: '', + passphrase: '', + basePath: '', + }, + }, +} + +beforeEach(() => {}) + describe('objectToXML', () => { it('should generate an acceptable xml from an object', () => { const objects = { @@ -59,28 +90,16 @@ describe('objectToXML', () => { }) }) -describe('getConfigValue', () => { - it('should return the correct config value', () => { - const mockClass = { - get: jest.fn(), - } as unknown as ConfigService - jest.spyOn(mockClass, 'get').mockImplementation(() => 'x') +describe('shared utils', () => { + let configService: ConfigService - const result = utils.getConfigValue(mockClass, 'attachmentBucket') - - expect(result).toEqual('x') + beforeEach(() => { + configService = new ConfigService(mockConfig) }) - it('should throw when a value for a key doesnt exist', () => { - const mockClass = { - get: jest.fn(), - } as unknown as ConfigService - jest.spyOn(mockClass, 'get').mockImplementation(() => undefined) - - const act = () => utils.getConfigValue(mockClass, 'attachmentBucket') + it('should get the client location origin from the config', () => { + const result = utils.getConfigValue(configService, 'clientLocationOrigin') - expect(act).toThrowError( - 'TemplateAPIModules.sharedService: Missing config value for attachmentBucket', - ) + expect(result).toEqual('http://localhost:4242') }) }) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts index 20f23dc24d05..dc593db2a9fd 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts @@ -26,9 +26,9 @@ export const createAssignToken = ( export const getConfigValue = ( configService: ConfigService, - key: keyof BaseTemplateAPIModuleConfig, + key: keyof SharedModuleConfig, ) => { - const value = configService.get('SharedModuleConfig')[key] + const value = configService.get(key) if (value === undefined) { throw new Error( diff --git a/libs/application/template-api-modules/src/lib/types/index.ts b/libs/application/template-api-modules/src/lib/types/index.ts index 05b8eba183a6..b934402f6731 100644 --- a/libs/application/template-api-modules/src/lib/types/index.ts +++ b/libs/application/template-api-modules/src/lib/types/index.ts @@ -10,6 +10,7 @@ import { Message } from '@island.is/email-service' import type { Locale } from '@island.is/shared/types' import { sharedModuleConfig } from '../modules/shared' +import { ConfigType } from '@nestjs/config' export interface BaseTemplateAPIModuleConfig { xRoadBasePathWithEnv: string @@ -38,9 +39,8 @@ export interface BaseTemplateAPIModuleConfig { islykill: IslykillApiModuleConfig } -export interface SharedModuleConfig { - SharedModuleConfig: typeof sharedModuleConfig -} +export interface SharedModuleConfig + extends ConfigType {} export interface TemplateApiModuleActionProps { application: ApplicationWithAttachments From 77ac31598720a30cfbdda85e9921b247ab188726 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Mon, 7 Oct 2024 09:26:34 +0000 Subject: [PATCH 19/26] Fix lint --- .../src/lib/modules/shared/shared.utils.spec.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.spec.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.spec.ts index 2e18c4316b07..6f45ba224eba 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.spec.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.spec.ts @@ -31,8 +31,6 @@ const mockConfig = { }, } -beforeEach(() => {}) - describe('objectToXML', () => { it('should generate an acceptable xml from an object', () => { const objects = { From 9c849aeb48c120ef50878b22b867a85e9b87c55e Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Mon, 7 Oct 2024 10:15:07 +0000 Subject: [PATCH 20/26] Update social-insurance-administration.service to static module --- .../social-insurance-administration.module.ts | 40 ++++++------------- ...social-insurance-administration.service.ts | 8 ++-- 2 files changed, 18 insertions(+), 30 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.module.ts index bb187e3f8cfe..f404de3950c1 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.module.ts @@ -1,33 +1,19 @@ -import { DynamicModule } from '@nestjs/common' -import { BaseTemplateAPIModuleConfig } from '../../../types' +import { Module } from '@nestjs/common' import { SharedTemplateAPIModule } from '../../shared' -import { - APPLICATION_ATTACHMENT_BUCKET, - SocialInsuranceAdministrationService, -} from './social-insurance-administration.service' +import { SocialInsuranceAdministrationService } from './social-insurance-administration.service' import { ApplicationApiCoreModule } from '@island.is/application/api/core' import { NationalRegistryClientModule } from '@island.is/clients/national-registry-v2' import { SocialInsuranceAdministrationClientModule } from '@island.is/clients/social-insurance-administration' -export class SocialInsuranceAdministrationModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: SocialInsuranceAdministrationModule, - imports: [ - SocialInsuranceAdministrationClientModule, - SharedTemplateAPIModule, - ApplicationApiCoreModule, - NationalRegistryClientModule, - ], - providers: [ - SocialInsuranceAdministrationService, - { - provide: APPLICATION_ATTACHMENT_BUCKET, - useFactory: () => config.attachmentBucket, - }, - ], - exports: [SocialInsuranceAdministrationService], - } - } -} +@Module({ + imports: [ + SocialInsuranceAdministrationClientModule, + SharedTemplateAPIModule, + ApplicationApiCoreModule, + NationalRegistryClientModule, + ], + providers: [SocialInsuranceAdministrationService], + exports: [SocialInsuranceAdministrationService], +}) +export class SocialInsuranceAdministrationModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.service.ts b/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.service.ts index 258b8d42d022..7a0101ba24ab 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.service.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.service.ts @@ -37,6 +37,8 @@ import { transformApplicationToOldAgePensionDTO, transformApplicationToPensionSupplementDTO, } from './social-insurance-administration-utils' +import { sharedModuleConfig } from '../../shared' +import { ConfigType } from '@nestjs/config' export const APPLICATION_ATTACHMENT_BUCKET = 'APPLICATION_ATTACHMENT_BUCKET' @@ -47,8 +49,8 @@ export class SocialInsuranceAdministrationService extends BaseTemplateApiService constructor( @Inject(LOGGER_PROVIDER) private logger: Logger, private siaClientService: SocialInsuranceAdministrationClientService, - @Inject(APPLICATION_ATTACHMENT_BUCKET) - private readonly attachmentBucket: string, + @Inject(sharedModuleConfig.KEY) + private config: ConfigType, ) { super('SocialInsuranceAdministration') } @@ -378,7 +380,7 @@ export class SocialInsuranceAdministrationService extends BaseTemplateApiService async getPdf(key: string) { const file = await this.s3 - .getObject({ Bucket: this.attachmentBucket, Key: key }) + .getObject({ Bucket: this.config.templateApi.attachmentBucket, Key: key }) .promise() const fileContent = file.Body as Buffer From f70c24c4d50902948d8bc36d4a3a45cd186e81b5 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Mon, 7 Oct 2024 10:18:36 +0000 Subject: [PATCH 21/26] Remove unused import --- .../templates/reference-template/reference-template.module.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts index ba480162bf5c..e5ef71eb5fa8 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/reference-template/reference-template.module.ts @@ -3,10 +3,6 @@ import { Module } from '@nestjs/common' // This is a shared module that gives you access to common methods import { SharedTemplateAPIModule } from '../../shared' -// The base config that template api modules are registered with by default -// (configurable inside `template-api.module.ts`) -import { BaseTemplateAPIModuleConfig } from '../../../types' - // Here you import your module service import { ReferenceTemplateService } from './reference-template.service' From e77a5edfab67f9ecc773e7148d855398ea467d27 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Mon, 7 Oct 2024 10:27:35 +0000 Subject: [PATCH 22/26] transition parental leave module to static --- .../parental-leave/parental-leave.module.ts | 44 +++++++------------ .../parental-leave/parental-leave.service.ts | 11 +++-- 2 files changed, 22 insertions(+), 33 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts index 618aeb7d0285..7a313cbbdaa9 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.module.ts @@ -1,6 +1,5 @@ -import { DynamicModule } from '@nestjs/common' +import { Module } from '@nestjs/common' import { VMSTModule } from '@island.is/clients/vmst' -import { BaseTemplateAPIModuleConfig } from '../../../types' import { SharedTemplateAPIModule } from '../../shared' import { ParentalLeaveService } from './parental-leave.service' import { SmsModule } from '@island.is/nova-sms' @@ -10,29 +9,20 @@ import { NationalRegistryClientModule, NationalRegistryClientService, } from '@island.is/clients/national-registry-v2' -import { APPLICATION_ATTACHMENT_BUCKET } from './constants' -export class ParentalLeaveModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: ParentalLeaveModule, - imports: [ - VMSTModule, - SharedTemplateAPIModule, - SmsModule, - ApplicationApiCoreModule, - NationalRegistryClientModule, - ], - providers: [ - ChildrenService, - ParentalLeaveService, - NationalRegistryClientService, - { - provide: APPLICATION_ATTACHMENT_BUCKET, - useFactory: () => config.attachmentBucket, - }, - ], - exports: [ParentalLeaveService], - } - } -} +@Module({ + imports: [ + VMSTModule, + SharedTemplateAPIModule, + SmsModule, + ApplicationApiCoreModule, + NationalRegistryClientModule, + ], + providers: [ + ChildrenService, + ParentalLeaveService, + NationalRegistryClientService, + ], + exports: [ParentalLeaveService], +}) +export class ParentalLeaveModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.ts b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.ts index dabd111613ca..46eab6bb06a3 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.ts @@ -55,17 +55,16 @@ import type { Logger } from '@island.is/logging' import { LOGGER_PROVIDER } from '@island.is/logging' import { NationalRegistryClientService } from '@island.is/clients/national-registry-v2' -import { ConfigService } from '@nestjs/config' +import { ConfigService, ConfigType } from '@nestjs/config' import { SharedModuleConfig, TemplateApiModuleActionProps, } from '../../../types' import { BaseTemplateApiService } from '../../base-template-api.service' -import { SharedTemplateApiService } from '../../shared' +import { SharedTemplateApiService, sharedModuleConfig } from '../../shared' import { getConfigValue } from '../../shared/shared.utils' import { ChildrenService } from './children/children.service' import { - APPLICATION_ATTACHMENT_BUCKET, SIX_MONTHS_IN_SECONDS_EXPIRES, apiConstants, rightsDescriptions, @@ -110,8 +109,8 @@ export class ParentalLeaveService extends BaseTemplateApiService { private parentalLeaveApi: ParentalLeaveApi, private applicationInformationAPI: ApplicationInformationApi, private readonly sharedTemplateAPIService: SharedTemplateApiService, - @Inject(APPLICATION_ATTACHMENT_BUCKET) - private readonly attachmentBucket: string, + @Inject(sharedModuleConfig.KEY) + private config: ConfigType, private readonly configService: ConfigService, private readonly childrenService: ChildrenService, private readonly nationalRegistryApi: NationalRegistryClientService, @@ -386,7 +385,7 @@ export class ParentalLeaveService extends BaseTemplateApiService { const Key = `${application.id}/${filename}` const file = await this.s3 - .getObject({ Bucket: this.attachmentBucket, Key }) + .getObject({ Bucket: this.config.templateApi.attachmentBucket, Key }) .promise() const fileContent = file.Body as Buffer From 8dd4611844a2e12144e513cf68b2192a347afbe8 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Mon, 7 Oct 2024 10:50:23 +0000 Subject: [PATCH 23/26] Transition children residence change to static module --- .../children-residence-change.module.ts | 40 ++++++------------- .../children-residence-change.service.ts | 13 +++--- 2 files changed, 21 insertions(+), 32 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts b/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts index b8c2f3f3fd56..2a1d18039c16 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.module.ts @@ -1,32 +1,18 @@ -import { DynamicModule } from '@nestjs/common' -import { BaseTemplateAPIModuleConfig } from '../../../types' -import { - ChildrenResidenceChangeService, - PRESIGNED_BUCKET, -} from './children-residence-change.service' +import { Module } from '@nestjs/common' +import { ChildrenResidenceChangeService } from './children-residence-change.service' import { SyslumennClientModule } from '@island.is/clients/syslumenn' import { NationalRegistryClientModule } from '@island.is/clients/national-registry-v2' import { SharedTemplateAPIModule } from '../../shared' import { SmsModule } from '@island.is/nova-sms' -export class ChildrenResidenceChangeModule { - static register(config: BaseTemplateAPIModuleConfig): DynamicModule { - return { - module: ChildrenResidenceChangeModule, - imports: [ - SyslumennClientModule, - SharedTemplateAPIModule, - SmsModule, - NationalRegistryClientModule, - ], - providers: [ - { - provide: PRESIGNED_BUCKET, - useFactory: () => config.presignBucket, - }, - ChildrenResidenceChangeService, - ], - exports: [ChildrenResidenceChangeService], - } - } -} +@Module({ + imports: [ + SyslumennClientModule, + SharedTemplateAPIModule, + SmsModule, + NationalRegistryClientModule, + ], + providers: [ChildrenResidenceChangeService], + exports: [ChildrenResidenceChangeService], +}) +export class ChildrenResidenceChangeModule {} diff --git a/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.service.ts b/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.service.ts index c531da5ef489..463d7c5f1ee3 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.service.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/children-residence-change/children-residence-change.service.ts @@ -14,7 +14,7 @@ import { import { Override } from '@island.is/application/templates/family-matters-core/types' import { CRCApplication } from '@island.is/application/templates/children-residence-change' import { S3 } from 'aws-sdk' -import { SharedTemplateApiService } from '../../shared' +import { SharedTemplateApiService, sharedModuleConfig } from '../../shared' import { generateApplicationSubmittedEmail, generateSyslumennNotificationEmail, @@ -26,8 +26,7 @@ import { syslumennDataFromPostalCode } from './utils' import { applicationRejectedEmail } from './emailGenerators/applicationRejected' import { BaseTemplateApiService } from '../../base-template-api.service' import { NationalRegistryClientService } from '@island.is/clients/national-registry-v2' - -export const PRESIGNED_BUCKET = 'PRESIGNED_BUCKET' +import { ConfigType } from '@nestjs/config' type props = Override< TemplateApiModuleActionProps, @@ -40,7 +39,8 @@ export class ChildrenResidenceChangeService extends BaseTemplateApiService { constructor( private readonly syslumennService: SyslumennService, - @Inject(PRESIGNED_BUCKET) private readonly presignedBucket: string, + @Inject(sharedModuleConfig.KEY) + private config: ConfigType, private readonly sharedTemplateAPIService: SharedTemplateApiService, private readonly smsService: SmsService, private nationalRegistryApi: NationalRegistryClientService, @@ -55,7 +55,10 @@ export class ChildrenResidenceChangeService extends BaseTemplateApiService { const applicant = nationalRegistry.data const s3FileName = `children-residence-change/${application.id}.pdf` const file = await this.s3 - .getObject({ Bucket: this.presignedBucket, Key: s3FileName }) + .getObject({ + Bucket: this.config.templateApi.presignBucket, + Key: s3FileName, + }) .promise() const fileContent = file.Body as Buffer From 8c4f492121669038b9eb4dd0769266fb06f10183 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Mon, 7 Oct 2024 10:54:16 +0000 Subject: [PATCH 24/26] cleanup shared utils --- .../template-api-modules/src/lib/modules/shared/shared.utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts index dc593db2a9fd..e096381aa961 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.utils.ts @@ -3,7 +3,7 @@ import { ConfigService } from '@nestjs/config' import { Application } from '@island.is/application/types' -import { BaseTemplateAPIModuleConfig, SharedModuleConfig } from '../../types' +import { SharedModuleConfig } from '../../types' export const createAssignToken = ( application: Application, From 4cf9c333ff00785702c4a6028bdfa2c7e74bca68 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Mon, 7 Oct 2024 11:14:07 +0000 Subject: [PATCH 25/26] fix test --- .../src/lib/modules/templates/index.ts | 10 ++++------ .../parental-leave.service.spec.ts | 11 ++-------- ...l-insurance-administration.service.spec.ts | 20 +++++++++++-------- 3 files changed, 18 insertions(+), 23 deletions(-) diff --git a/libs/application/template-api-modules/src/lib/modules/templates/index.ts b/libs/application/template-api-modules/src/lib/modules/templates/index.ts index c425ffa7ab68..fcc5c66b42d8 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/index.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/index.ts @@ -145,12 +145,7 @@ import { ParliamentaryListCreationService } from './signature-collection/parliam import { ParliamentaryListSigningModule } from './signature-collection/parliamentary-list-signing/parliamentary-list-signing.module' import { ParliamentaryListSigningService } from './signature-collection/parliamentary-list-signing/parliamentary-list-signing.service' -export const dynamicModules = [ - ParentalLeaveModule, - ChildrenResidenceChangeModule, - GeneralPetitionModule, - SocialInsuranceAdministrationModule, -] +export const dynamicModules = [GeneralPetitionModule] export const modules = [ ReferenceTemplateModule, @@ -219,6 +214,9 @@ export const modules = [ NewPrimarySchoolModule, ParliamentaryListCreationModule, ParliamentaryListSigningModule, + ParentalLeaveModule, + ChildrenResidenceChangeModule, + SocialInsuranceAdministrationModule, ] export const services = [ diff --git a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts index 5e19ce7d337b..936a8d36e06f 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/parental-leave.service.spec.ts @@ -32,12 +32,9 @@ import { import { EmailService } from '@island.is/email-service' import { SharedTemplateApiService } from '../../shared' -import { - BaseTemplateApiApplicationService, - TemplateApiModuleActionProps, -} from '../../../types' +import { TemplateApiModuleActionProps } from '../../../types' import { ParentalLeaveService } from './parental-leave.service' -import { APPLICATION_ATTACHMENT_BUCKET, apiConstants } from './constants' +import { apiConstants } from './constants' import { SmsService } from '@island.is/nova-sms' import { ChildrenService } from './children/children.service' import { NationalRegistryClientService } from '@island.is/clients/national-registry-v2' @@ -246,10 +243,6 @@ describe('ParentalLeaveService', () => { useValue: {}, }, SharedTemplateApiService, - { - provide: APPLICATION_ATTACHMENT_BUCKET, - useValue: 'attachmentBucket', - }, ], }).compile() diff --git a/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.service.spec.ts b/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.service.spec.ts index 5a33615c9ede..b8eea35cd156 100644 --- a/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.service.spec.ts +++ b/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration/social-insurance-administration.service.spec.ts @@ -1,13 +1,17 @@ import { createApplication } from '@island.is/application/testing' import { SocialInsuranceAdministrationClientService } from '@island.is/clients/social-insurance-administration' import { Test, TestingModule } from '@nestjs/testing' -import { - APPLICATION_ATTACHMENT_BUCKET, - SocialInsuranceAdministrationService, -} from './social-insurance-administration.service' +import { SocialInsuranceAdministrationService } from './social-insurance-administration.service' import { createCurrentUser } from '@island.is/testing/fixtures' import { LOGGER_PROVIDER, logger } from '@island.is/logging' import { ApplicationTypes } from '@island.is/application/types' +import { sharedModuleConfig } from '../../shared' + +const mockConfig = { + templateApi: { + attachmentBucket: 'island-is-dev-storage-application-system', + }, +} describe('SocialInsuranceAdministrationService', () => { let socialInsuranceAdministrationService: SocialInsuranceAdministrationService @@ -20,6 +24,10 @@ describe('SocialInsuranceAdministrationService', () => { provide: LOGGER_PROVIDER, useValue: logger, }, + { + provide: sharedModuleConfig.KEY, + useValue: mockConfig, + }, { provide: SocialInsuranceAdministrationClientService, useClass: jest.fn(() => ({ @@ -29,10 +37,6 @@ describe('SocialInsuranceAdministrationService', () => { }), })), }, - { - provide: APPLICATION_ATTACHMENT_BUCKET, - useValue: 'attachmentBucket', - }, ], }).compile() From 549f54610839b2479a4494242cfe6e7dd3e8c944 Mon Sep 17 00:00:00 2001 From: Gunnar K Vilbergsson Date: Wed, 9 Oct 2024 13:27:41 +0000 Subject: [PATCH 26/26] coderabbit suggestion --- .../src/lib/modules/shared/shared.config.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts b/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts index a26b5e0f1d94..06b00560f3fb 100644 --- a/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts +++ b/libs/application/template-api-modules/src/lib/modules/shared/shared.config.ts @@ -1,6 +1,8 @@ import { defineConfig } from '@island.is/nest/config' import { z } from 'zod' +export type SharedModuleConfigType = z.infer + const SharedModuleConfig = z.object({ baseApiUrl: z.string(), clientLocationOrigin: z.string(),