diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 316ae92..7c65903 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -877,7 +877,10 @@ model HostParent { id Int @id @default(autoincrement()) hostXid Int @map("host_xid") host HostHeader @relation(fields: [hostXid], references: [id], onDelete: Cascade) - companyName String? @map("company_name") @db.VarChar(100) + companyName String? @map("company_name") @db.VarChar(100) + firstName String? @map("first_name") @db.VarChar(50) + lastName String? @map("last_name") @db.VarChar(50) + mobileNumber String? @map("mobile_number") @db.VarChar(15) address1 String? @map("address_1") @db.VarChar(150) address2 String? @map("address_2") @db.VarChar(150) cityXid Int? @map("city_xid") diff --git a/src/common/utils/validation/host/hostCompanyDetails.validation.ts b/src/common/utils/validation/host/hostCompanyDetails.validation.ts index a6ca41a..194fd88 100644 --- a/src/common/utils/validation/host/hostCompanyDetails.validation.ts +++ b/src/common/utils/validation/host/hostCompanyDetails.validation.ts @@ -46,6 +46,18 @@ export const parentCompanySchema = z.object({ companyTypeXid: z.number() .optional(), + firstName: z.string() + .max(50, "First name cannot exceed 50 characters") + .optional(), + + lastName: z.string() + .max(50, "Last name cannot exceed 50 characters") + .optional(), + + mobileNumber: z.string() + .max(15, "Mobile number cannot exceed 15 characters") + .optional(), + websiteUrl: z.string().nullable().optional(), instagramUrl: z.string().nullable().optional(), facebookUrl: z.string().nullable().optional(), diff --git a/src/modules/host/services/host.service.ts b/src/modules/host/services/host.service.ts index 27032d2..9c8b9e3 100644 --- a/src/modules/host/services/host.service.ts +++ b/src/modules/host/services/host.service.ts @@ -1655,6 +1655,9 @@ export class HostService { data: { host: { connect: { id: createdHost.id } }, companyName: parentCompanyData.companyName || null, + firstName: parentCompanyData.firstName || null, + lastName: parentCompanyData.lastName || null, + mobileNumber: parentCompanyData.mobileNumber || null, address1: parentCompanyData.address1 || null, address2: parentCompanyData.address2 || null, // Safely handle city connection - only connect if valid ID exists @@ -1691,7 +1694,7 @@ export class HostService { facebookUrl: parentCompanyData.facebookUrl || null, linkedinUrl: parentCompanyData.linkedinUrl || null, twitterUrl: parentCompanyData.twitterUrl || null, - }, + } as any, }); // parent docs @@ -1871,6 +1874,9 @@ export class HostService { data: { host: { connect: { id: updatedHost.id } }, companyName: parentCompanyData.companyName || null, + firstName: parentCompanyData.firstName || null, + lastName: parentCompanyData.lastName || null, + mobileNumber: parentCompanyData.mobileNumber || null, address1: parentCompanyData.address1 || null, address2: parentCompanyData.address2 || null, cities: @@ -1910,7 +1916,7 @@ export class HostService { facebookUrl: parentCompanyData.facebookUrl || null, linkedinUrl: parentCompanyData.linkedinUrl || null, twitterUrl: parentCompanyData.twitterUrl || null, - }, + } as any, }); if (parentDocuments?.length) { @@ -1930,6 +1936,9 @@ export class HostService { where: { id: parentRecord.id }, data: { companyName: parentCompanyData.companyName || null, + firstName: parentCompanyData.firstName || null, + lastName: parentCompanyData.lastName || null, + mobileNumber: parentCompanyData.mobileNumber || null, address1: parentCompanyData.address1 || null, address2: parentCompanyData.address2 || null, cities: @@ -1969,7 +1978,7 @@ export class HostService { facebookUrl: parentCompanyData.facebookUrl || null, linkedinUrl: parentCompanyData.linkedinUrl || null, twitterUrl: parentCompanyData.twitterUrl || null, - }, + } as any, }); // if (parentDocuments?.length) {