From ba68fec147b3ec9c532ad16d433ea221b218cd91 Mon Sep 17 00:00:00 2001 From: Dammycodes-all Date: Fri, 12 Jun 2026 12:09:30 +0100 Subject: [PATCH] feat: add data field to the employer notification so FE can build a link from it --- src/modules/employer/dto/employer-notification.dto.ts | 3 +++ src/modules/employer/employer-notification.mapper.ts | 2 ++ src/modules/employer/employer.controller.spec.ts | 1 + src/modules/employer/employer.service.spec.ts | 1 + 4 files changed, 7 insertions(+) diff --git a/src/modules/employer/dto/employer-notification.dto.ts b/src/modules/employer/dto/employer-notification.dto.ts index c677c3aa..9f0e6555 100644 --- a/src/modules/employer/dto/employer-notification.dto.ts +++ b/src/modules/employer/dto/employer-notification.dto.ts @@ -29,6 +29,9 @@ export class EmployerNotificationItemDto { @ApiPropertyOptional({ type: EmployerNotificationLinkDto, nullable: true }) link: EmployerNotificationLinkDto | null; + + @ApiPropertyOptional({ nullable: true }) + data: Record | null; } export class EmployerNotificationsListResponseDto { diff --git a/src/modules/employer/employer-notification.mapper.ts b/src/modules/employer/employer-notification.mapper.ts index 801fffa0..1ff3d70b 100644 --- a/src/modules/employer/employer-notification.mapper.ts +++ b/src/modules/employer/employer-notification.mapper.ts @@ -13,6 +13,7 @@ export type EmployerNotificationItem = { timestamp: string; read: boolean; link: EmployerNotificationLink | null; + data: Record | null; }; export function mapEmployerNotificationType(type: NotificationType): string { @@ -73,5 +74,6 @@ export function toEmployerNotificationItem( timestamp: item.created_at, read: item.is_read, link: buildEmployerNotificationLink(item.data), + data: item.data, }; } diff --git a/src/modules/employer/employer.controller.spec.ts b/src/modules/employer/employer.controller.spec.ts index c82974d8..1c5aa6cb 100644 --- a/src/modules/employer/employer.controller.spec.ts +++ b/src/modules/employer/employer.controller.spec.ts @@ -290,6 +290,7 @@ describe('EmployerController', () => { timestamp: '2026-06-01T10:00:00.000Z', read: false, link: { entity_id: 'offer-1', entity_type: 'offer' }, + data: { offerId: 'offer-1' }, }, ], }); diff --git a/src/modules/employer/employer.service.spec.ts b/src/modules/employer/employer.service.spec.ts index 52766c11..c800af28 100644 --- a/src/modules/employer/employer.service.spec.ts +++ b/src/modules/employer/employer.service.spec.ts @@ -459,6 +459,7 @@ describe('EmployerService', () => { timestamp: '2026-06-03T10:00:00.000Z', read: false, link: { entity_id: 'candidate-2', entity_type: 'candidate' }, + data: { candidateUserId: 'candidate-2' }, }); }); });