From 2ed718ccd06b6ad338847cc7a26f480156fb7fe8 Mon Sep 17 00:00:00 2001 From: Methapon2001 <61303214+Methapon2001@users.noreply.github.com> Date: Mon, 5 Aug 2024 10:59:44 +0700 Subject: [PATCH] refactor: change relationship --- .../20240805035626_change_relation_1_to_1/migration.sql | 8 ++++++++ prisma/schema.prisma | 4 ++-- src/controllers/employee-controller.ts | 6 ++++-- 3 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 prisma/migrations/20240805035626_change_relation_1_to_1/migration.sql diff --git a/prisma/migrations/20240805035626_change_relation_1_to_1/migration.sql b/prisma/migrations/20240805035626_change_relation_1_to_1/migration.sql new file mode 100644 index 0000000..758ce4d --- /dev/null +++ b/prisma/migrations/20240805035626_change_relation_1_to_1/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - A unique constraint covering the columns `[employeeId]` on the table `EmployeeOtherInfo` will be added. If there are existing duplicate values, this will fail. + +*/ +-- CreateIndex +CREATE UNIQUE INDEX "EmployeeOtherInfo_employeeId_key" ON "EmployeeOtherInfo"("employeeId"); diff --git a/prisma/schema.prisma b/prisma/schema.prisma index d477750..61be7da 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -545,7 +545,7 @@ model Employee { employeeCheckup EmployeeCheckup[] employeeWork EmployeeWork[] - employeeOtherInfo EmployeeOtherInfo[] + employeeOtherInfo EmployeeOtherInfo? editHistory EmployeeHistory[] quotationWorker QuotationWorker[] @@ -620,7 +620,7 @@ model EmployeeOtherInfo { id String @id @default(uuid()) employee Employee @relation(fields: [employeeId], references: [id], onDelete: Cascade) - employeeId String + employeeId String @unique citizenId String? fatherBirthPlace String? diff --git a/src/controllers/employee-controller.ts b/src/controllers/employee-controller.ts index 3863413..4fcf5cb 100644 --- a/src/controllers/employee-controller.ts +++ b/src/controllers/employee-controller.ts @@ -323,6 +323,9 @@ export class EmployeeController extends Controller { async getById(@Path() employeeId: string) { const record = await prisma.employee.findFirst({ include: { + employeeWork: true, + employeeCheckup: true, + employeeOtherInfo: true, province: true, district: true, subDistrict: true, @@ -669,8 +672,7 @@ export class EmployeeController extends Controller { : undefined, employeeOtherInfo: employeeOtherInfo ? { - deleteMany: {}, - create: employeeOtherInfo, + update: employeeOtherInfo, } : undefined, province: {