From 463a3cafd8b19b601971237cc741da64e37fe831 Mon Sep 17 00:00:00 2001 From: Kanjana Date: Fri, 11 Jul 2025 15:49:49 +0700 Subject: [PATCH] feat: add relation businessType --- prisma/schema.prisma | 5 ++++- src/controllers/03-employee-work-controller.ts | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 771f8f2..90927eb 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -789,6 +789,7 @@ model BusinessType { updatedByUserId String? customerBranch CustomerBranch[] + employeeWork EmployeeWork[] } model Employee { @@ -965,7 +966,6 @@ model EmployeeWork { ownerName String? positionName String? - businessTypeId String? workplace String? identityNo String? workPermitNo String? @@ -973,6 +973,9 @@ model EmployeeWork { workPermitExpireDate DateTime? @db.Date workPermitAt String? + businessType BusinessType? @relation(fields: [businessTypeId], references: [id], onDelete: SetNull) + businessTypeId String? + createdAt DateTime @default(now()) createdBy User? @relation(name: "EmployeeWorkCreatedByUser", fields: [createdByUserId], references: [id], onDelete: SetNull) createdByUserId String? diff --git a/src/controllers/03-employee-work-controller.ts b/src/controllers/03-employee-work-controller.ts index ebf4dac..af3a7d1 100644 --- a/src/controllers/03-employee-work-controller.ts +++ b/src/controllers/03-employee-work-controller.ts @@ -72,6 +72,7 @@ export class EmployeeWorkController extends Controller { include: { createdBy: true, updatedBy: true, + businessType: true, }, where: { id: workId, employeeId }, }); @@ -86,10 +87,17 @@ export class EmployeeWorkController extends Controller { @Path() employeeId: string, @Body() body: EmployeeWorkPayload, ) { + const businessType = await prisma.businessType.findUnique({ + where: { id: body.businessTypeId }, + }); + + if (!businessType) throw notFoundError("Business Type"); + const record = await prisma.employeeWork.create({ include: { createdBy: true, updatedBy: true, + businessType: true, }, data: { ...body, @@ -120,6 +128,7 @@ export class EmployeeWorkController extends Controller { include: { createdBy: true, updatedBy: true, + businessType: true, }, where: { id: workId, employeeId }, data: { ...body, updatedByUserId: req.user.sub }, @@ -137,6 +146,7 @@ export class EmployeeWorkController extends Controller { include: { createdBy: true, updatedBy: true, + businessType: true, }, where: { id: workId, employeeId }, });