From 297a2fe5ad2df052583a42cb3bcd4c5151e092ca Mon Sep 17 00:00:00 2001 From: Abdalhamid Alhamad Date: Sun, 19 Oct 2025 09:57:35 +0300 Subject: [PATCH] ZOD-333-junior-incorrect-relationship-label-displayed-as-child-instead-of-daughter-or-son-in-child-confirmation-details-after-the-scan-the-qr-code --- .../qr-code-validation-details.response.dto.ts | 16 ++++++++++++++-- .../enums/child-relationship-label.enum.ts | 5 +++++ src/junior/enums/index.ts | 1 + 3 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 src/junior/enums/child-relationship-label.enum.ts diff --git a/src/junior/dtos/response/qr-code-validation-details.response.dto.ts b/src/junior/dtos/response/qr-code-validation-details.response.dto.ts index a3d0f3b..d1b093c 100644 --- a/src/junior/dtos/response/qr-code-validation-details.response.dto.ts +++ b/src/junior/dtos/response/qr-code-validation-details.response.dto.ts @@ -1,7 +1,8 @@ import { ApiProperty } from '@nestjs/swagger'; +import { Gender } from '~/customer/enums'; import { Guardian } from '~/guardian/entities/guradian.entity'; import { Junior } from '~/junior/entities'; -import { GuardianRelationship } from '~/junior/enums'; +import { ChildRelationshipLabel, GuardianRelationship, Relationship } from '~/junior/enums'; export class QrCodeValidationDetailsResponse { @ApiProperty() @@ -26,6 +27,17 @@ export class QrCodeValidationDetailsResponse { this.phoneNumber = person.customer.user.phoneNumber; this.email = person.customer.user.email; this.dateOfBirth = person.customer.dateOfBirth; - this.relationship = guardian ? junior.relationship : GuardianRelationship[junior.relationship]; + + if (guardian) { + this.relationship = junior.relationship; + } else { + if (junior.relationship === Relationship.PARENT) { + this.relationship = junior.customer.gender === Gender.MALE + ? ChildRelationshipLabel.SON + : ChildRelationshipLabel.DAUGHTER; + } else { + this.relationship = GuardianRelationship[junior.relationship]; + } + } } } diff --git a/src/junior/enums/child-relationship-label.enum.ts b/src/junior/enums/child-relationship-label.enum.ts new file mode 100644 index 0000000..61352ee --- /dev/null +++ b/src/junior/enums/child-relationship-label.enum.ts @@ -0,0 +1,5 @@ +export enum ChildRelationshipLabel { + SON = 'SON', + DAUGHTER = 'DAUGHTER', +} + diff --git a/src/junior/enums/index.ts b/src/junior/enums/index.ts index a729152..b7e1495 100644 --- a/src/junior/enums/index.ts +++ b/src/junior/enums/index.ts @@ -1,3 +1,4 @@ +export * from './child-relationship-label.enum'; export * from './guardian-relationship.enum'; export * from './relationship.enum'; export * from './theme-color.enum';