From 35e9b606b24813af94f6a5ecab679a65c89fcf07 Mon Sep 17 00:00:00 2001 From: Rafeek-Khoudare Date: Mon, 7 Jul 2025 15:40:49 +0300 Subject: [PATCH] use param to send Update Api for unbookable to be bookable --- .../send_bookable_spaces_to_api_params.dart | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 lib/pages/access_management/manage_bookable_spaces/domain/service/send_bookable_spaces_to_api_params.dart diff --git a/lib/pages/access_management/manage_bookable_spaces/domain/service/send_bookable_spaces_to_api_params.dart b/lib/pages/access_management/manage_bookable_spaces/domain/service/send_bookable_spaces_to_api_params.dart new file mode 100644 index 00000000..caa489c0 --- /dev/null +++ b/lib/pages/access_management/manage_bookable_spaces/domain/service/send_bookable_spaces_to_api_params.dart @@ -0,0 +1,38 @@ +import 'package:syncrow_web/pages/access_management/manage_bookable_spaces/domain/models/bookable_space_model.dart'; + +class SendBookableSpacesToApiParams { + List spaceUuids; + List daysAvailable; + String startTime; + String endTime; + int points; + SendBookableSpacesToApiParams({ + required this.spaceUuids, + required this.daysAvailable, + required this.startTime, + required this.endTime, + required this.points, + }); + + static SendBookableSpacesToApiParams fromBookableSpacesModel( + List bookableSpaces) { + return SendBookableSpacesToApiParams( + spaceUuids: bookableSpaces.map((space) => space.spaceUuid).toList(), + daysAvailable: bookableSpaces + .expand((space) => space.spaceConfig.bookableDays) + .toSet() + .toList(), + startTime: bookableSpaces.first.spaceConfig.bookingStartTime, + endTime: bookableSpaces.first.spaceConfig.bookingEndTime, + points: bookableSpaces.first.spaceConfig.cost, + ); + } + + Map toJson() => { + 'spaceUuids': spaceUuids, + 'daysAvailable': daysAvailable, + 'startTime': startTime, + 'endTime': endTime, + 'points': points + }; +}