diff --git a/libs/api/domains/rights-portal/src/lib/overview/models/insuranceOverview.model.ts b/libs/api/domains/rights-portal/src/lib/overview/models/insuranceOverview.model.ts index c67dae07c1fa..da214cc700b8 100644 --- a/libs/api/domains/rights-portal/src/lib/overview/models/insuranceOverview.model.ts +++ b/libs/api/domains/rights-portal/src/lib/overview/models/insuranceOverview.model.ts @@ -9,14 +9,14 @@ export class InsuranceOverview { @Field({ nullable: true }) explanation?: string - @Field(() => Date) - from!: Date + @Field(() => Date, { nullable: true }) + from?: Date | null @Field(() => InsuranceStatus) status!: InsuranceStatus - @Field(() => Int) - maximumPayment!: number + @Field(() => Int, { nullable: true }) + maximumPayment?: number | null @Field(() => Date, { nullable: true }) ehicCardExpiryDate?: Date diff --git a/libs/api/domains/rights-portal/src/lib/overview/models/insuranceStatus.model.ts b/libs/api/domains/rights-portal/src/lib/overview/models/insuranceStatus.model.ts index a25fdc96ba40..deeb175c2528 100644 --- a/libs/api/domains/rights-portal/src/lib/overview/models/insuranceStatus.model.ts +++ b/libs/api/domains/rights-portal/src/lib/overview/models/insuranceStatus.model.ts @@ -7,9 +7,9 @@ registerEnumType(InsuranceStatusType, { @ObjectType('RightsPortalInsuranceStatus') export class InsuranceStatus { - @Field() - display!: string + @Field(() => String, { nullable: true }) + display?: string | null - @Field(() => InsuranceStatusType) - code!: InsuranceStatusType + @Field(() => InsuranceStatusType, { nullable: true }) + code?: string | null } diff --git a/libs/api/domains/rights-portal/src/lib/overview/overview.service.ts b/libs/api/domains/rights-portal/src/lib/overview/overview.service.ts index 50ae2db98f38..1cad975ea225 100644 --- a/libs/api/domains/rights-portal/src/lib/overview/overview.service.ts +++ b/libs/api/domains/rights-portal/src/lib/overview/overview.service.ts @@ -29,9 +29,12 @@ export class OverviewService { } if (!data.fileName || !data.contentType || !data.data) { - this.logger.warning('Missing data from external service', { - category: LOG_CATEGORY, - }) + this.logger.warn( + 'Missing data for getInsuranceConfirmation from external service', + { + category: LOG_CATEGORY, + }, + ) return null } @@ -51,41 +54,22 @@ export class OverviewService { if (!data) { return null } - if ( - !data.isInsured || - !data.from || - !data.status?.display || - !data.status?.code || - !data.maximumPayment - ) { - this.logger.warning('Missing data from external service', { - category: LOG_CATEGORY, - }) - return null - } const codeEnum: InsuranceStatusType | undefined = - data.status.code in InsuranceStatusType + data.status?.code && data.status.code in InsuranceStatusType ? InsuranceStatusType[ data.status.code as keyof typeof InsuranceStatusType ] : undefined - if (!codeEnum) { - this.logger.warning('Invalid insurance status code provided', { - category: LOG_CATEGORY, - }) - return null - } - return { - isInsured: data.isInsured, + isInsured: !!data.isInsured, explanation: data.explanation ?? '', from: data.from, maximumPayment: data.maximumPayment, ehicCardExpiryDate: data.ehicCardExpiryDate ?? undefined, status: { - display: data.status.display, + display: data.status?.display, code: codeEnum, }, } diff --git a/libs/service-portal/health/src/screens/HealthOverview/HealthOverview.tsx b/libs/service-portal/health/src/screens/HealthOverview/HealthOverview.tsx index 2ff1b071ee22..07d96a889632 100644 --- a/libs/service-portal/health/src/screens/HealthOverview/HealthOverview.tsx +++ b/libs/service-portal/health/src/screens/HealthOverview/HealthOverview.tsx @@ -92,31 +92,6 @@ export const HealthOverview = () => { serviceProviderSlug={SJUKRATRYGGINGAR_SLUG} serviceProviderTooltip={formatMessage(messages.healthTooltip)} /> - - - - - - - - - {error ? ( @@ -135,13 +110,40 @@ export const HealthOverview = () => { /> ) : ( + + + + + + + + +