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,