@myclub_se/data-access 3.7.7 → 3.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/api-models/api-booking-calendar-slot-session.mjs +1 -1
- package/esm2022/lib/api-models/api-booking-calendar.mjs +1 -1
- package/esm2022/lib/models/booking-calendar-slot-session.mjs +4 -2
- package/esm2022/lib/models/booking-calendar.mjs +12 -2
- package/esm2022/lib/services/booking-calendar.service.mjs +15 -1
- package/esm2022/lib/services/factories/booking-calendar-factory.mjs +2 -2
- package/esm2022/lib/services/factories/booking-calendar-slot-session-factory.mjs +2 -2
- package/fesm2022/myclub_se-data-access.mjs +30 -4
- package/fesm2022/myclub_se-data-access.mjs.map +1 -1
- package/lib/api-models/api-booking-calendar-slot-session.d.ts +1 -0
- package/lib/api-models/api-booking-calendar.d.ts +2 -0
- package/lib/models/booking-calendar-slot-session.d.ts +2 -1
- package/lib/models/booking-calendar.d.ts +3 -1
- package/lib/services/booking-calendar.service.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BookingCalendar } from "../../models";
|
|
2
2
|
import { searchTeamFactory } from "./search-team-factory";
|
|
3
3
|
import { bookableItemFactory } from "./bookable-item-factory";
|
|
4
|
-
export const bookingCalendarFactory = (apiBookingCalendar) => new BookingCalendar(apiBookingCalendar.id, apiBookingCalendar.club_id, apiBookingCalendar.section_id, apiBookingCalendar.team_id, apiBookingCalendar.club_name, apiBookingCalendar.name, apiBookingCalendar.section_name, apiBookingCalendar.team_name, apiBookingCalendar.status, apiBookingCalendar.max_application_number, apiBookingCalendar.allow_team_export, apiBookingCalendar.allow_repeated_bookings, apiBookingCalendar.is_default, apiBookingCalendar.payment_limit_in_minutes, apiBookingCalendar.price_per_slot, apiBookingCalendar.send_team_application_created, apiBookingCalendar.send_team_application_updated, apiBookingCalendar.send_admin_team_booking_created, apiBookingCalendar.send_team_booking_created, apiBookingCalendar.send_team_booking_deleted, apiBookingCalendar.send_member_booking_created, apiBookingCalendar.send_member_booking_deleted, apiBookingCalendar.available_for_teams && apiBookingCalendar.available_for_teams.length ? apiBookingCalendar.available_for_teams.map((apiSearchTeam) => searchTeamFactory(apiSearchTeam)) : [], apiBookingCalendar.bookable_items && apiBookingCalendar.bookable_items.length ? apiBookingCalendar.bookable_items.map((apiBookableItem) => bookableItemFactory(apiBookableItem)) : [], apiBookingCalendar.type, apiBookingCalendar.type_display, apiBookingCalendar.member_fee_id, apiBookingCalendar.service_fee_id, apiBookingCalendar.info_email, apiBookingCalendar.saved_search_id);
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
export const bookingCalendarFactory = (apiBookingCalendar) => new BookingCalendar(apiBookingCalendar.id, apiBookingCalendar.club_id, apiBookingCalendar.section_id, apiBookingCalendar.team_id, apiBookingCalendar.club_name, apiBookingCalendar.name, apiBookingCalendar.section_name, apiBookingCalendar.team_name, apiBookingCalendar.status, apiBookingCalendar.max_application_number, apiBookingCalendar.allow_team_export, apiBookingCalendar.allow_repeated_bookings, apiBookingCalendar.is_default, apiBookingCalendar.payment_limit_in_minutes, apiBookingCalendar.price_per_slot, apiBookingCalendar.send_team_application_created, apiBookingCalendar.send_team_application_updated, apiBookingCalendar.send_admin_team_booking_created, apiBookingCalendar.send_team_booking_created, apiBookingCalendar.send_team_booking_deleted, apiBookingCalendar.send_member_booking_created, apiBookingCalendar.send_member_booking_deleted, apiBookingCalendar.available_for_teams && apiBookingCalendar.available_for_teams.length ? apiBookingCalendar.available_for_teams.map((apiSearchTeam) => searchTeamFactory(apiSearchTeam)) : [], apiBookingCalendar.bookable_items && apiBookingCalendar.bookable_items.length ? apiBookingCalendar.bookable_items.map((apiBookableItem) => bookableItemFactory(apiBookableItem)) : [], apiBookingCalendar.type, apiBookingCalendar.type_display, apiBookingCalendar.member_fee_id, apiBookingCalendar.service_fee_id, apiBookingCalendar.info_email, apiBookingCalendar.saved_search_id, apiBookingCalendar.can_use_fees ?? true, apiBookingCalendar.club_has_direct_payments ?? true);
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2luZy1jYWxlbmRhci1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zZXJ2aWNlcy9mYWN0b3JpZXMvYm9va2luZy1jYWxlbmRhci1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDN0MsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFNUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxrQkFBc0MsRUFBRSxFQUFFLENBQy9FLElBQUksZUFBZSxDQUNqQixrQkFBa0IsQ0FBQyxFQUFFLEVBQ3JCLGtCQUFrQixDQUFDLE9BQU8sRUFDMUIsa0JBQWtCLENBQUMsVUFBVSxFQUM3QixrQkFBa0IsQ0FBQyxPQUFPLEVBQzFCLGtCQUFrQixDQUFDLFNBQVMsRUFDNUIsa0JBQWtCLENBQUMsSUFBSSxFQUN2QixrQkFBa0IsQ0FBQyxZQUFZLEVBQy9CLGtCQUFrQixDQUFDLFNBQVMsRUFDNUIsa0JBQWtCLENBQUMsTUFBTSxFQUN6QixrQkFBa0IsQ0FBQyxzQkFBc0IsRUFDekMsa0JBQWtCLENBQUMsaUJBQWlCLEVBQ3BDLGtCQUFrQixDQUFDLHVCQUF1QixFQUMxQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQzdCLGtCQUFrQixDQUFDLHdCQUF3QixFQUMzQyxrQkFBa0IsQ0FBQyxjQUFjLEVBQ2pDLGtCQUFrQixDQUFDLDZCQUE2QixFQUNoRCxrQkFBa0IsQ0FBQyw2QkFBNkIsRUFDaEQsa0JBQWtCLENBQUMsK0JBQStCLEVBQ2xELGtCQUFrQixDQUFDLHlCQUF5QixFQUM1QyxrQkFBa0IsQ0FBQyx5QkFBeUIsRUFDNUMsa0JBQWtCLENBQUMsMkJBQTJCLEVBQzlDLGtCQUFrQixDQUFDLDJCQUEyQixFQUM5QyxrQkFBa0IsQ0FBQyxtQkFBbUIsSUFBSSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FDbEksQ0FBQyxhQUE0QixFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FDbkUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUNOLGtCQUFrQixDQUFDLGNBQWMsSUFBSSxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUNuSCxDQUFDLGVBQWdDLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUMzRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ04sa0JBQWtCLENBQUMsSUFBSSxFQUN2QixrQkFBa0IsQ0FBQyxZQUFZLEVBQy9CLGtCQUFrQixDQUFDLGFBQWEsRUFDaEMsa0JBQWtCLENBQUMsY0FBYyxFQUNqQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQzdCLGtCQUFrQixDQUFDLGVBQWUsRUFDbEMsa0JBQWtCLENBQUMsWUFBWSxJQUFJLElBQUksRUFDdkMsa0JBQWtCLENBQUMsd0JBQXdCLElBQUksSUFBSSxDQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcGlCb29rYWJsZUl0ZW0sIEFwaUJvb2tpbmdDYWxlbmRhciwgQXBpU2VhcmNoVGVhbX0gZnJvbSBcIi4uLy4uL2FwaS1tb2RlbHNcIjtcbmltcG9ydCB7Qm9va2luZ0NhbGVuZGFyfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XG5pbXBvcnQge3NlYXJjaFRlYW1GYWN0b3J5fSBmcm9tIFwiLi9zZWFyY2gtdGVhbS1mYWN0b3J5XCI7XG5pbXBvcnQge2Jvb2thYmxlSXRlbUZhY3Rvcnl9IGZyb20gXCIuL2Jvb2thYmxlLWl0ZW0tZmFjdG9yeVwiO1xuXG5leHBvcnQgY29uc3QgYm9va2luZ0NhbGVuZGFyRmFjdG9yeSA9IChhcGlCb29raW5nQ2FsZW5kYXI6IEFwaUJvb2tpbmdDYWxlbmRhcikgPT5cbiAgbmV3IEJvb2tpbmdDYWxlbmRhcihcbiAgICBhcGlCb29raW5nQ2FsZW5kYXIuaWQsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLmNsdWJfaWQsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLnNlY3Rpb25faWQsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLnRlYW1faWQsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLmNsdWJfbmFtZSxcbiAgICBhcGlCb29raW5nQ2FsZW5kYXIubmFtZSxcbiAgICBhcGlCb29raW5nQ2FsZW5kYXIuc2VjdGlvbl9uYW1lLFxuICAgIGFwaUJvb2tpbmdDYWxlbmRhci50ZWFtX25hbWUsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLnN0YXR1cyxcbiAgICBhcGlCb29raW5nQ2FsZW5kYXIubWF4X2FwcGxpY2F0aW9uX251bWJlcixcbiAgICBhcGlCb29raW5nQ2FsZW5kYXIuYWxsb3dfdGVhbV9leHBvcnQsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLmFsbG93X3JlcGVhdGVkX2Jvb2tpbmdzLFxuICAgIGFwaUJvb2tpbmdDYWxlbmRhci5pc19kZWZhdWx0LFxuICAgIGFwaUJvb2tpbmdDYWxlbmRhci5wYXltZW50X2xpbWl0X2luX21pbnV0ZXMsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLnByaWNlX3Blcl9zbG90LFxuICAgIGFwaUJvb2tpbmdDYWxlbmRhci5zZW5kX3RlYW1fYXBwbGljYXRpb25fY3JlYXRlZCxcbiAgICBhcGlCb29raW5nQ2FsZW5kYXIuc2VuZF90ZWFtX2FwcGxpY2F0aW9uX3VwZGF0ZWQsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLnNlbmRfYWRtaW5fdGVhbV9ib29raW5nX2NyZWF0ZWQsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLnNlbmRfdGVhbV9ib29raW5nX2NyZWF0ZWQsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLnNlbmRfdGVhbV9ib29raW5nX2RlbGV0ZWQsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLnNlbmRfbWVtYmVyX2Jvb2tpbmdfY3JlYXRlZCxcbiAgICBhcGlCb29raW5nQ2FsZW5kYXIuc2VuZF9tZW1iZXJfYm9va2luZ19kZWxldGVkLFxuICAgIGFwaUJvb2tpbmdDYWxlbmRhci5hdmFpbGFibGVfZm9yX3RlYW1zICYmIGFwaUJvb2tpbmdDYWxlbmRhci5hdmFpbGFibGVfZm9yX3RlYW1zLmxlbmd0aCA/IGFwaUJvb2tpbmdDYWxlbmRhci5hdmFpbGFibGVfZm9yX3RlYW1zLm1hcChcbiAgICAgIChhcGlTZWFyY2hUZWFtOiBBcGlTZWFyY2hUZWFtKSA9PiBzZWFyY2hUZWFtRmFjdG9yeShhcGlTZWFyY2hUZWFtKSxcbiAgICApIDogW10sXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLmJvb2thYmxlX2l0ZW1zICYmIGFwaUJvb2tpbmdDYWxlbmRhci5ib29rYWJsZV9pdGVtcy5sZW5ndGggPyBhcGlCb29raW5nQ2FsZW5kYXIuYm9va2FibGVfaXRlbXMubWFwKFxuICAgICAgKGFwaUJvb2thYmxlSXRlbTogQXBpQm9va2FibGVJdGVtKSA9PiBib29rYWJsZUl0ZW1GYWN0b3J5KGFwaUJvb2thYmxlSXRlbSlcbiAgICApIDogW10sXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLnR5cGUsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLnR5cGVfZGlzcGxheSxcbiAgICBhcGlCb29raW5nQ2FsZW5kYXIubWVtYmVyX2ZlZV9pZCxcbiAgICBhcGlCb29raW5nQ2FsZW5kYXIuc2VydmljZV9mZWVfaWQsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLmluZm9fZW1haWwsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLnNhdmVkX3NlYXJjaF9pZCxcbiAgICBhcGlCb29raW5nQ2FsZW5kYXIuY2FuX3VzZV9mZWVzID8/IHRydWUsXG4gICAgYXBpQm9va2luZ0NhbGVuZGFyLmNsdWJfaGFzX2RpcmVjdF9wYXltZW50cyA/PyB0cnVlLFxuICApO1xuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { BookingCalendarSlotSession } from "../../models";
|
|
2
|
-
export const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.title, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.last_repeating_date, apiBookingSlotSession.type, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.day, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color, null, apiBookingSlotSession.bookable_zones_taken, apiBookingSlotSession.bookable_zones_taken_display, apiBookingSlotSession.bookable_part_id, apiBookingSlotSession.bookable_part_name, apiBookingSlotSession.bookable_name, apiBookingSlotSession.bookable_id, apiBookingSlotSession.member_id, apiBookingSlotSession.member_name, apiBookingSlotSession.member_email, apiBookingSlotSession.price, apiBookingSlotSession.payment_order_id, apiBookingSlotSession.pay_until, apiBookingSlotSession.is_paid, apiBookingSlotSession.group_id, apiBookingSlotSession.calendar_id);
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.title, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.last_repeating_date, apiBookingSlotSession.type, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.day, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color, null, apiBookingSlotSession.bookable_zones_taken, apiBookingSlotSession.bookable_zones_taken_display, apiBookingSlotSession.bookable_part_id, apiBookingSlotSession.bookable_part_name, apiBookingSlotSession.bookable_name, apiBookingSlotSession.bookable_id, apiBookingSlotSession.member_id, apiBookingSlotSession.member_name, apiBookingSlotSession.member_email, apiBookingSlotSession.price, apiBookingSlotSession.payment_order_id, apiBookingSlotSession.pay_until, apiBookingSlotSession.is_paid, apiBookingSlotSession.group_id, apiBookingSlotSession.split_batch_id, apiBookingSlotSession.calendar_id);
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2luZy1jYWxlbmRhci1zbG90LXNlc3Npb24tZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc2VydmljZXMvZmFjdG9yaWVzL2Jvb2tpbmctY2FsZW5kYXItc2xvdC1zZXNzaW9uLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFELE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQUMscUJBQW9ELEVBQUUsRUFBRSxDQUN4RyxJQUFJLDBCQUEwQixDQUM1QixxQkFBcUIsQ0FBQyxFQUFFLEVBQ3hCLHFCQUFxQixDQUFDLFVBQVUsRUFDaEMscUJBQXFCLENBQUMsT0FBTyxFQUM3QixxQkFBcUIsQ0FBQyxPQUFPLEVBQzdCLHFCQUFxQixDQUFDLEtBQUssRUFDM0IscUJBQXFCLENBQUMsUUFBUSxFQUM5QixxQkFBcUIsQ0FBQyxZQUFZLEVBQ2xDLHFCQUFxQixDQUFDLFVBQVUsRUFDaEMscUJBQXFCLENBQUMsU0FBUyxFQUMvQixxQkFBcUIsQ0FBQyxhQUFhLEVBQ25DLHFCQUFxQixDQUFDLG1CQUFtQixFQUN6QyxxQkFBcUIsQ0FBQyxJQUFJLEVBQzFCLHFCQUFxQixDQUFDLFVBQVUsRUFDaEMscUJBQXFCLENBQUMsT0FBTyxFQUM3QixxQkFBcUIsQ0FBQyxHQUFHLEVBQ3pCLHFCQUFxQixDQUFDLGdCQUFnQixFQUN0QyxxQkFBcUIsQ0FBQyxLQUFLLEVBQzNCLElBQUksRUFDSixxQkFBcUIsQ0FBQyxvQkFBb0IsRUFDMUMscUJBQXFCLENBQUMsNEJBQTRCLEVBQ2xELHFCQUFxQixDQUFDLGdCQUFnQixFQUN0QyxxQkFBcUIsQ0FBQyxrQkFBa0IsRUFDeEMscUJBQXFCLENBQUMsYUFBYSxFQUNuQyxxQkFBcUIsQ0FBQyxXQUFXLEVBQ2pDLHFCQUFxQixDQUFDLFNBQVMsRUFDL0IscUJBQXFCLENBQUMsV0FBVyxFQUNqQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQ2xDLHFCQUFxQixDQUFDLEtBQUssRUFDM0IscUJBQXFCLENBQUMsZ0JBQWdCLEVBQ3RDLHFCQUFxQixDQUFDLFNBQVMsRUFDL0IscUJBQXFCLENBQUMsT0FBTyxFQUM3QixxQkFBcUIsQ0FBQyxRQUFRLEVBQzlCLHFCQUFxQixDQUFDLGNBQWMsRUFDcEMscUJBQXFCLENBQUMsV0FBVyxDQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpQm9va2luZ0NhbGVuZGFyU2xvdFNlc3Npb24gfSBmcm9tIFwiLi4vLi4vYXBpLW1vZGVsc1wiO1xuaW1wb3J0IHsgQm9va2luZ0NhbGVuZGFyU2xvdFNlc3Npb24gfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XG5cbmV4cG9ydCBjb25zdCBib29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbkZhY3RvcnkgPSAoYXBpQm9va2luZ1Nsb3RTZXNzaW9uOiBBcGlCb29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbikgPT5cbiAgbmV3IEJvb2tpbmdDYWxlbmRhclNsb3RTZXNzaW9uKFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc2VjdGlvbl9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc2xvdF9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24udGVhbV9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24udGl0bGUsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLmVuZF90aW1lLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5zZWN0aW9uX25hbWUsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnN0YXJ0X3RpbWUsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnRlYW1fbmFtZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uaXNfb3ZlcmJvb2tlZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubGFzdF9yZXBlYXRpbmdfZGF0ZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24udHlwZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc2xvdF9pbmRleCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uY29tbWVudCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uZGF5LFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5hY3Rpdml0eV90eXBlX2lkLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5jb2xvcixcbiAgICBudWxsLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5ib29rYWJsZV96b25lc190YWtlbixcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uYm9va2FibGVfem9uZXNfdGFrZW5fZGlzcGxheSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uYm9va2FibGVfcGFydF9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uYm9va2FibGVfcGFydF9uYW1lLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5ib29rYWJsZV9uYW1lLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5ib29rYWJsZV9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubWVtYmVyX2lkLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5tZW1iZXJfbmFtZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubWVtYmVyX2VtYWlsLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5wcmljZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ucGF5bWVudF9vcmRlcl9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ucGF5X3VudGlsLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5pc19wYWlkLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5ncm91cF9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc3BsaXRfYmF0Y2hfaWQsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLmNhbGVuZGFyX2lkLFxuICApO1xuIl19
|
|
@@ -2205,11 +2205,11 @@ const sectionFactory = (apiSection) => new Section(apiSection.id, apiSection.nam
|
|
|
2205
2205
|
|
|
2206
2206
|
const searchTeamFactory = (apiSearchTeam) => new SearchTeam(apiSearchTeam.club ? clubFactory(apiSearchTeam.club) : undefined, apiSearchTeam.section ? sectionFactory(apiSearchTeam.section) : undefined, apiSearchTeam.id, apiSearchTeam.club_name, apiSearchTeam.name, apiSearchTeam.section_name, apiSearchTeam.show_memberships, apiSearchTeam.team_admin_2fa_required);
|
|
2207
2207
|
|
|
2208
|
-
const bookingCalendarFactory = (apiBookingCalendar) => new BookingCalendar(apiBookingCalendar.id, apiBookingCalendar.club_id, apiBookingCalendar.section_id, apiBookingCalendar.team_id, apiBookingCalendar.club_name, apiBookingCalendar.name, apiBookingCalendar.section_name, apiBookingCalendar.team_name, apiBookingCalendar.status, apiBookingCalendar.max_application_number, apiBookingCalendar.allow_team_export, apiBookingCalendar.allow_repeated_bookings, apiBookingCalendar.is_default, apiBookingCalendar.payment_limit_in_minutes, apiBookingCalendar.price_per_slot, apiBookingCalendar.send_team_application_created, apiBookingCalendar.send_team_application_updated, apiBookingCalendar.send_admin_team_booking_created, apiBookingCalendar.send_team_booking_created, apiBookingCalendar.send_team_booking_deleted, apiBookingCalendar.send_member_booking_created, apiBookingCalendar.send_member_booking_deleted, apiBookingCalendar.available_for_teams && apiBookingCalendar.available_for_teams.length ? apiBookingCalendar.available_for_teams.map((apiSearchTeam) => searchTeamFactory(apiSearchTeam)) : [], apiBookingCalendar.bookable_items && apiBookingCalendar.bookable_items.length ? apiBookingCalendar.bookable_items.map((apiBookableItem) => bookableItemFactory(apiBookableItem)) : [], apiBookingCalendar.type, apiBookingCalendar.type_display, apiBookingCalendar.member_fee_id, apiBookingCalendar.service_fee_id, apiBookingCalendar.info_email, apiBookingCalendar.saved_search_id);
|
|
2208
|
+
const bookingCalendarFactory = (apiBookingCalendar) => new BookingCalendar(apiBookingCalendar.id, apiBookingCalendar.club_id, apiBookingCalendar.section_id, apiBookingCalendar.team_id, apiBookingCalendar.club_name, apiBookingCalendar.name, apiBookingCalendar.section_name, apiBookingCalendar.team_name, apiBookingCalendar.status, apiBookingCalendar.max_application_number, apiBookingCalendar.allow_team_export, apiBookingCalendar.allow_repeated_bookings, apiBookingCalendar.is_default, apiBookingCalendar.payment_limit_in_minutes, apiBookingCalendar.price_per_slot, apiBookingCalendar.send_team_application_created, apiBookingCalendar.send_team_application_updated, apiBookingCalendar.send_admin_team_booking_created, apiBookingCalendar.send_team_booking_created, apiBookingCalendar.send_team_booking_deleted, apiBookingCalendar.send_member_booking_created, apiBookingCalendar.send_member_booking_deleted, apiBookingCalendar.available_for_teams && apiBookingCalendar.available_for_teams.length ? apiBookingCalendar.available_for_teams.map((apiSearchTeam) => searchTeamFactory(apiSearchTeam)) : [], apiBookingCalendar.bookable_items && apiBookingCalendar.bookable_items.length ? apiBookingCalendar.bookable_items.map((apiBookableItem) => bookableItemFactory(apiBookableItem)) : [], apiBookingCalendar.type, apiBookingCalendar.type_display, apiBookingCalendar.member_fee_id, apiBookingCalendar.service_fee_id, apiBookingCalendar.info_email, apiBookingCalendar.saved_search_id, apiBookingCalendar.can_use_fees ?? true, apiBookingCalendar.club_has_direct_payments ?? true);
|
|
2209
2209
|
|
|
2210
2210
|
const bookingCalendarApplicationTimeFactory = (apiBookingApplicationTime) => new BookingCalendarApplicationTime(apiBookingApplicationTime.id, apiBookingApplicationTime.section_id, apiBookingApplicationTime.slot_id, apiBookingApplicationTime.team_id, apiBookingApplicationTime.title, apiBookingApplicationTime.end_time, apiBookingApplicationTime.section_name, apiBookingApplicationTime.start_time, apiBookingApplicationTime.team_name, apiBookingApplicationTime.applicant_comment, apiBookingApplicationTime.reviewer_comment, apiBookingApplicationTime.status, apiBookingApplicationTime.repeat, apiBookingApplicationTime.activity_type_id, apiBookingApplicationTime.color, apiBookingApplicationTime.slot_start_time, apiBookingApplicationTime.slot_end_time, apiBookingApplicationTime.slot_day, apiBookingApplicationTime.slot_number_of_available_sessions, apiBookingApplicationTime.slot_last_repeating_date, apiBookingApplicationTime.created, apiBookingApplicationTime.bookable_zones_taken, apiBookingApplicationTime.bookable_zones_taken_display, apiBookingApplicationTime.bookable_part_id, apiBookingApplicationTime.bookable_part_name, apiBookingApplicationTime.bookable_id, apiBookingApplicationTime.bookable_name, apiBookingApplicationTime.member_id, apiBookingApplicationTime.member_name, apiBookingApplicationTime.member_email, apiBookingApplicationTime.price, false);
|
|
2211
2211
|
|
|
2212
|
-
const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.title, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.last_repeating_date, apiBookingSlotSession.type, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.day, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color, null, apiBookingSlotSession.bookable_zones_taken, apiBookingSlotSession.bookable_zones_taken_display, apiBookingSlotSession.bookable_part_id, apiBookingSlotSession.bookable_part_name, apiBookingSlotSession.bookable_name, apiBookingSlotSession.bookable_id, apiBookingSlotSession.member_id, apiBookingSlotSession.member_name, apiBookingSlotSession.member_email, apiBookingSlotSession.price, apiBookingSlotSession.payment_order_id, apiBookingSlotSession.pay_until, apiBookingSlotSession.is_paid, apiBookingSlotSession.group_id, apiBookingSlotSession.calendar_id);
|
|
2212
|
+
const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.title, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.last_repeating_date, apiBookingSlotSession.type, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.day, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color, null, apiBookingSlotSession.bookable_zones_taken, apiBookingSlotSession.bookable_zones_taken_display, apiBookingSlotSession.bookable_part_id, apiBookingSlotSession.bookable_part_name, apiBookingSlotSession.bookable_name, apiBookingSlotSession.bookable_id, apiBookingSlotSession.member_id, apiBookingSlotSession.member_name, apiBookingSlotSession.member_email, apiBookingSlotSession.price, apiBookingSlotSession.payment_order_id, apiBookingSlotSession.pay_until, apiBookingSlotSession.is_paid, apiBookingSlotSession.group_id, apiBookingSlotSession.split_batch_id, apiBookingSlotSession.calendar_id);
|
|
2213
2213
|
|
|
2214
2214
|
const bookingCalendarSlotFactory = (apiBookingSlot) => new BookingCalendarSlot(apiBookingSlot.id, apiBookingSlot.calendar_id, apiBookingSlot.calendar_status, apiBookingSlot.color, apiBookingSlot.day, apiBookingSlot.end_time, apiBookingSlot.group_id, apiBookingSlot.number_of_available_sessions, apiBookingSlot.sessions && apiBookingSlot.sessions.length ? apiBookingSlot.sessions.map((apiBookingSlotSession) => bookingCalendarSlotSessionFactory(apiBookingSlotSession)) : [], apiBookingSlot.open_sessions && apiBookingSlot.open_sessions.length ? apiBookingSlot.open_sessions.map((apiBookingSlotSession) => bookingCalendarSlotSessionFactory(apiBookingSlotSession)) : [], apiBookingSlot.start_time, apiBookingSlot.type, 'none', null, false, 6, format(new Date(), 'yyyy-MM-dd'), 'repeat_until', apiBookingSlot.reserved_time, apiBookingSlot.reserved_time_position, apiBookingSlot.application_times && apiBookingSlot.application_times.length ? apiBookingSlot.application_times.map((apiBookingApplicationTime) => bookingCalendarApplicationTimeFactory(apiBookingApplicationTime)) : [], apiBookingSlot.last_repeating_date, apiBookingSlot.bookable_name, apiBookingSlot.bookable_id, apiBookingSlot.price);
|
|
2215
2215
|
|
|
@@ -3244,6 +3244,8 @@ class BookingCalendar {
|
|
|
3244
3244
|
service_fee_id;
|
|
3245
3245
|
info_email;
|
|
3246
3246
|
saved_search_id;
|
|
3247
|
+
can_use_fees;
|
|
3248
|
+
club_has_direct_payments;
|
|
3247
3249
|
static asFormGroup(calendar) {
|
|
3248
3250
|
const bookableItems = [];
|
|
3249
3251
|
const availableForTeams = [];
|
|
@@ -3289,7 +3291,13 @@ class BookingCalendar {
|
|
|
3289
3291
|
send_member_booking_deleted: new FormControl(calendar?.send_member_booking_deleted || false),
|
|
3290
3292
|
});
|
|
3291
3293
|
}
|
|
3292
|
-
constructor(id, club_id, section_id, team_id, club_name, name, section_name, team_name, status, max_application_number, allow_team_export, allow_repeated_bookings, is_default, payment_limit_in_minutes = 0, price_per_slot = 0, send_team_application_created = true, send_team_application_updated = true, send_admin_team_booking_created = true, send_team_booking_created = true, send_team_booking_deleted = true, send_member_booking_created = true, send_member_booking_deleted = true, available_for_teams, bookable_items, type, type_display, member_fee_id, service_fee_id, info_email, saved_search_id
|
|
3294
|
+
constructor(id, club_id, section_id, team_id, club_name, name, section_name, team_name, status, max_application_number, allow_team_export, allow_repeated_bookings, is_default, payment_limit_in_minutes = 0, price_per_slot = 0, send_team_application_created = true, send_team_application_updated = true, send_admin_team_booking_created = true, send_team_booking_created = true, send_team_booking_deleted = true, send_member_booking_created = true, send_member_booking_deleted = true, available_for_teams, bookable_items, type, type_display, member_fee_id, service_fee_id, info_email, saved_search_id,
|
|
3295
|
+
// Read-only server-computed flags used to gate the fee UI:
|
|
3296
|
+
// can_use_fees - false when the calendar's section may not use invoices
|
|
3297
|
+
// club_has_direct_payments - false when the club has no direct-payment method
|
|
3298
|
+
// Default permissive so manually-constructed (new) calendars don't gate before the
|
|
3299
|
+
// server response is available.
|
|
3300
|
+
can_use_fees = true, club_has_direct_payments = true) {
|
|
3293
3301
|
this.id = id;
|
|
3294
3302
|
this.club_id = club_id;
|
|
3295
3303
|
this.section_id = section_id;
|
|
@@ -3320,6 +3328,8 @@ class BookingCalendar {
|
|
|
3320
3328
|
this.service_fee_id = service_fee_id;
|
|
3321
3329
|
this.info_email = info_email;
|
|
3322
3330
|
this.saved_search_id = saved_search_id;
|
|
3331
|
+
this.can_use_fees = can_use_fees;
|
|
3332
|
+
this.club_has_direct_payments = club_has_direct_payments;
|
|
3323
3333
|
}
|
|
3324
3334
|
}
|
|
3325
3335
|
|
|
@@ -3525,6 +3535,7 @@ class BookingCalendarSlotSession {
|
|
|
3525
3535
|
pay_until;
|
|
3526
3536
|
is_paid;
|
|
3527
3537
|
group_id;
|
|
3538
|
+
split_batch_id;
|
|
3528
3539
|
calendar_id;
|
|
3529
3540
|
static asFormGroup(session) {
|
|
3530
3541
|
return new FormGroup({
|
|
@@ -3548,7 +3559,7 @@ class BookingCalendarSlotSession {
|
|
|
3548
3559
|
member_id: new FormControl(session?.member_id || '')
|
|
3549
3560
|
});
|
|
3550
3561
|
}
|
|
3551
|
-
constructor(id, section_id, slot_id, team_id, title, end_time, section_name, start_time, team_name, is_overbooked, last_repeating_date, type, slot_index, comment, day, activity_type_id, color = null, update_dates = null, bookable_zones_taken, bookable_zones_taken_display, bookable_part_id, bookable_part_name, bookable_name, bookable_id, member_id, member_name, member_email, price = 0, payment_order_id, pay_until, is_paid, group_id, calendar_id) {
|
|
3562
|
+
constructor(id, section_id, slot_id, team_id, title, end_time, section_name, start_time, team_name, is_overbooked, last_repeating_date, type, slot_index, comment, day, activity_type_id, color = null, update_dates = null, bookable_zones_taken, bookable_zones_taken_display, bookable_part_id, bookable_part_name, bookable_name, bookable_id, member_id, member_name, member_email, price = 0, payment_order_id, pay_until, is_paid, group_id, split_batch_id, calendar_id) {
|
|
3552
3563
|
this.id = id;
|
|
3553
3564
|
this.section_id = section_id;
|
|
3554
3565
|
this.slot_id = slot_id;
|
|
@@ -3581,6 +3592,7 @@ class BookingCalendarSlotSession {
|
|
|
3581
3592
|
this.pay_until = pay_until;
|
|
3582
3593
|
this.is_paid = is_paid;
|
|
3583
3594
|
this.group_id = group_id;
|
|
3595
|
+
this.split_batch_id = split_batch_id;
|
|
3584
3596
|
this.calendar_id = calendar_id;
|
|
3585
3597
|
}
|
|
3586
3598
|
}
|
|
@@ -6566,6 +6578,7 @@ const MEMBER_BOOKING_CALENDAR_SLOT_SESSION_PATH = ':memberId/activities/sessions
|
|
|
6566
6578
|
const MEMBER_BOOKING_CALENDAR_SLOT_PATH = ':memberId/activities/slots/:id/';
|
|
6567
6579
|
const MEMBER_BOOKING_CALENDAR_SLOT_GROUP_PATH = ':memberId/activities/slots/:id/group/';
|
|
6568
6580
|
const MEMBER_BOOKING_CALENDAR_SESSION_GROUP_PATH = ':memberId/activities/sessions/:id/group/';
|
|
6581
|
+
const MEMBER_BOOKING_CALENDAR_SESSION_SPLIT_BATCH_PATH = ':memberId/activities/sessions/:id/split-batch/';
|
|
6569
6582
|
const MEMBER_BOOKING_CALENDAR_APPLICATION_TIMES_PATH = ':memberId/activities/application-times/';
|
|
6570
6583
|
const MEMBER_BOOKING_CALENDAR_APPLICATION_TIME_PATH = ':memberId/activities/application-times/:id/';
|
|
6571
6584
|
const MEMBER_BOOKING_CALENDAR_BOOKABLE_SLOTS_PATH = ':memberId/activities/bookables/:bookableId/slots/';
|
|
@@ -7394,6 +7407,19 @@ class BookingCalendarService {
|
|
|
7394
7407
|
getMemberSessionGroupItems(memberId, id) {
|
|
7395
7408
|
return this.apiService.getCollection(bookingCalendarSlotSessionGroupItemFactory, Role.MemberAdmin, MEMBER_BOOKING_CALENDAR_SESSION_GROUP_PATH, { memberId, id });
|
|
7396
7409
|
}
|
|
7410
|
+
// Cancel every session booked together with the given session (its split batch).
|
|
7411
|
+
// Only supported for members; other roles use the repeatable-delete flow.
|
|
7412
|
+
deleteSplitBatch(role, itemId, id, sendNotification = false) {
|
|
7413
|
+
switch (role) {
|
|
7414
|
+
case Role.MemberAdmin:
|
|
7415
|
+
return this.deleteMemberSplitBatch(itemId, id, sendNotification);
|
|
7416
|
+
default:
|
|
7417
|
+
throw invalidRoleError;
|
|
7418
|
+
}
|
|
7419
|
+
}
|
|
7420
|
+
deleteMemberSplitBatch(memberId, id, sendNotification = false) {
|
|
7421
|
+
return this.apiService.deleteResourceWithBody(Role.MemberAdmin, MEMBER_BOOKING_CALENDAR_SESSION_SPLIT_BATCH_PATH, { memberId, id }, { body: { send_notification: sendNotification } });
|
|
7422
|
+
}
|
|
7397
7423
|
// endregion
|
|
7398
7424
|
// region Booking Setting
|
|
7399
7425
|
getBookingSettings(role, itemId) {
|