From 339b2bdab6b2805af57c85dbe3382f3772087f38 Mon Sep 17 00:00:00 2001 From: Firman Ramdhani <33869609+firmanramdhani@users.noreply.github.com> Date: Wed, 28 May 2025 15:48:36 +0700 Subject: [PATCH] feat: menambahkan validasi end time untuk create dan update time group --- .../usecases/managers/create-time-group.manager.ts | 10 ++++++++++ .../usecases/managers/update-time-group.manager.ts | 10 ++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/modules/item-related/time-group/domain/usecases/managers/create-time-group.manager.ts b/src/modules/item-related/time-group/domain/usecases/managers/create-time-group.manager.ts index efa3885..8dc54a5 100644 --- a/src/modules/item-related/time-group/domain/usecases/managers/create-time-group.manager.ts +++ b/src/modules/item-related/time-group/domain/usecases/managers/create-time-group.manager.ts @@ -40,6 +40,16 @@ export class CreateTimeGroupManager extends BaseCreateManager { 'Waktu maksimum penggunaan harus lebih kecil dari waktu selesai.', ); } + return; + } else if (this.data.start_time && this.data.end_time) { + const format = 'HH:mm'; + const start_time = moment(this.data.start_time, format); + const end_time = moment(this.data.end_time, format); + + if (end_time.isBefore(start_time)) { + throw new Error('Waktu akhir harus lebih besar dari waktu mulai.'); + } + return; } return; } diff --git a/src/modules/item-related/time-group/domain/usecases/managers/update-time-group.manager.ts b/src/modules/item-related/time-group/domain/usecases/managers/update-time-group.manager.ts index 399130a..904bfb4 100644 --- a/src/modules/item-related/time-group/domain/usecases/managers/update-time-group.manager.ts +++ b/src/modules/item-related/time-group/domain/usecases/managers/update-time-group.manager.ts @@ -41,6 +41,16 @@ export class UpdateTimeGroupManager extends BaseUpdateManager { 'Waktu maksimum penggunaan harus lebih kecil dari waktu selesai.', ); } + return; + } else if (this.data.start_time && this.data.end_time) { + const format = 'HH:mm'; + const start_time = moment(this.data.start_time, format); + const end_time = moment(this.data.end_time, format); + + if (end_time.isBefore(start_time)) { + throw new Error('Waktu akhir harus lebih besar dari waktu mulai.'); + } + return; } return; }