From c2b24b1ecd0eaab0cedec92a4d02a27e3145d14f Mon Sep 17 00:00:00 2001 From: wayanrivan Date: Wed, 15 Apr 2026 15:02:02 +0700 Subject: [PATCH] update room to pharmacy --- src/controllers/room_to_pharmacy.ts | 31 ++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/src/controllers/room_to_pharmacy.ts b/src/controllers/room_to_pharmacy.ts index fdb4cd5..3f138cb 100644 --- a/src/controllers/room_to_pharmacy.ts +++ b/src/controllers/room_to_pharmacy.ts @@ -422,11 +422,7 @@ export class RoomToPharmacyController { relations: ["room", "pharmacy_room"] }); - if (!data) { - throw new Error("RoomToPharmacy data not found"); - } - - // ✅ ambil pharmacy room baru + // ambil pharmacy room const pharmacyRoom = await OrmHelper.DB.getRepository(Room).findOneBy({ id: param.pharmacy_room_id }); @@ -435,11 +431,28 @@ export class RoomToPharmacyController { throw new Error("Pharmacy Room not found"); } - // ✅ update - data.pharmacy_room = pharmacyRoom; - data.updated_by = req.auth?.data.name; + if (data) { + // ✅ UPDATE (replace pharmacy_room) + data.pharmacy_room = pharmacyRoom; + data.updated_by = req.auth?.data.name; - await repo.save(data); + await repo.save(data); + } else { + // ✅ INSERT baru + const room = await OrmHelper.DB.getRepository(Room).findOneBy({ + id: param.room_id + }); + + if (!room) throw new Error("Room not found"); + + data = new RoomToPharmacy(); + data.room = room; + data.pharmacy_room = pharmacyRoom; + data.created_by = req.auth?.data.name; + data.updated_by = req.auth?.data.name; + + await repo.save(data); + } return ReturnHelper.successResponseAny( res,