feat: add reschedule functionality for admin bookings

- Implemented rescheduleAdminBooking service to allow users to change court and time for confirmed bookings.
- Added validation for court availability, maintenance status, and overlapping bookings.
- Created reschedule-admin-booking handler to process rescheduling requests and send confirmation emails.
- Updated booking email service to include rescheduling notifications.
- Enhanced frontend components to support booking rescheduling, including a new dialog for selecting new court and time.
- Added tests for rescheduling logic, covering various scenarios including validation errors and successful reschedules.
- Updated Prisma schema to log previous court and time for audit purposes.
This commit is contained in:
Jose Selesan
2026-06-24 08:38:10 -03:00
parent fd4d8b7abd
commit dce312d426
23 changed files with 1231 additions and 17 deletions

View File

@@ -22,6 +22,11 @@ export const dbMock = {
user: prismaMock.user,
complexInvitation: prismaMock.complexInvitation,
sport: prismaMock.sport,
court: prismaMock.court,
courtBooking: prismaMock.courtBooking,
courtBookingLog: prismaMock.courtBookingLog,
courtAvailability: prismaMock.courtAvailability,
courtPriceRule: prismaMock.courtPriceRule,
$transaction: transactionMock,
};