@myclub_se/data-access 2.9.0 → 2.9.1
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/esm2020/lib/api-models/api-booking-calendar-application-time.mjs +1 -1
- package/esm2020/lib/api-models/api-booking-calendar.mjs +1 -1
- package/esm2020/lib/models/booking-calendar-application-time.mjs +9 -2
- package/esm2020/lib/models/booking-calendar.mjs +4 -2
- package/esm2020/lib/services/booking-calendar.service.mjs +74 -3
- package/esm2020/lib/services/factories/booking-calendar-application-time-factory.mjs +2 -2
- package/esm2020/lib/services/factories/booking-calendar-factory.mjs +2 -2
- package/esm2020/lib/types/booking-calendar-slot-type.mjs +1 -1
- package/fesm2015/myclub_se-data-access.mjs +86 -6
- package/fesm2015/myclub_se-data-access.mjs.map +1 -1
- package/fesm2020/myclub_se-data-access.mjs +86 -6
- package/fesm2020/myclub_se-data-access.mjs.map +1 -1
- package/lib/api-models/api-booking-calendar-application-time.d.ts +7 -0
- package/lib/api-models/api-booking-calendar.d.ts +1 -0
- package/lib/models/booking-calendar-application-time.d.ts +8 -1
- package/lib/models/booking-calendar.d.ts +3 -1
- package/lib/services/booking-calendar.service.d.ts +11 -1
- package/lib/types/booking-calendar-slot-type.d.ts +1 -1
- package/package.json +1 -1
|
@@ -306,7 +306,7 @@ class Authentication {
|
|
|
306
306
|
}
|
|
307
307
|
|
|
308
308
|
class BookingCalendar {
|
|
309
|
-
constructor(id, club_id, section_id, team_id, club_name, name, section_name, team_name, status, location_groups) {
|
|
309
|
+
constructor(id, club_id, section_id, team_id, club_name, name, section_name, team_name, status, max_application_number, location_groups) {
|
|
310
310
|
this.id = id;
|
|
311
311
|
this.club_id = club_id;
|
|
312
312
|
this.section_id = section_id;
|
|
@@ -316,6 +316,7 @@ class BookingCalendar {
|
|
|
316
316
|
this.section_name = section_name;
|
|
317
317
|
this.team_name = team_name;
|
|
318
318
|
this.status = status;
|
|
319
|
+
this.max_application_number = max_application_number;
|
|
319
320
|
this.location_groups = location_groups;
|
|
320
321
|
}
|
|
321
322
|
static asFormGroup(calendar) {
|
|
@@ -336,12 +337,13 @@ class BookingCalendar {
|
|
|
336
337
|
team_name: new FormControl(calendar?.team_name || ''),
|
|
337
338
|
status: new FormControl(calendar?.status || 'preliminary'),
|
|
338
339
|
location_groups: new FormArray(locationGroups),
|
|
340
|
+
max_application_number: new FormControl(calendar?.max_application_number || 0),
|
|
339
341
|
});
|
|
340
342
|
}
|
|
341
343
|
}
|
|
342
344
|
|
|
343
345
|
class BookingCalendarApplicationTime {
|
|
344
|
-
constructor(id, section_id, slot_id, team_id, end_time, section_name, start_time, team_name, location_zones_taken, applicant_comment, reviewer_comment, status, location_part_id, location_part_name, location_id, repeat, activity_type_id) {
|
|
346
|
+
constructor(id, section_id, slot_id, team_id, end_time, section_name, start_time, team_name, location_zones_taken, applicant_comment, reviewer_comment, status, location_part_id, location_part_name, location_id, repeat, activity_type_id, color = null, slot_start_time, slot_end_time, slot_day, slot_number_of_available_sessions, slot_last_repeating_date, created) {
|
|
345
347
|
this.id = id;
|
|
346
348
|
this.section_id = section_id;
|
|
347
349
|
this.slot_id = slot_id;
|
|
@@ -359,6 +361,13 @@ class BookingCalendarApplicationTime {
|
|
|
359
361
|
this.location_id = location_id;
|
|
360
362
|
this.repeat = repeat;
|
|
361
363
|
this.activity_type_id = activity_type_id;
|
|
364
|
+
this.color = color;
|
|
365
|
+
this.slot_start_time = slot_start_time;
|
|
366
|
+
this.slot_end_time = slot_end_time;
|
|
367
|
+
this.slot_day = slot_day;
|
|
368
|
+
this.slot_number_of_available_sessions = slot_number_of_available_sessions;
|
|
369
|
+
this.slot_last_repeating_date = slot_last_repeating_date;
|
|
370
|
+
this.created = created;
|
|
362
371
|
}
|
|
363
372
|
static asFormGroup(session) {
|
|
364
373
|
return new FormGroup({
|
|
@@ -1681,9 +1690,9 @@ const authTeamFactory = (apiAuthTeam) => new AuthTeam(apiAuthTeam.id, apiAuthTea
|
|
|
1681
1690
|
|
|
1682
1691
|
const authFactory = (apiAuth) => new Auth(apiAuth.id, apiAuth.name, apiAuth.club_admin, apiAuth.is_section_club, apiAuth.members.map((apiAuthMember) => authMemberFactory(apiAuthMember)), apiAuth.registration_enabled, apiAuth.sections.map((apiAuthSection) => authSectionFactory(apiAuthSection)), apiAuth.site_enabled, apiAuth.teams.map((apiAuthTeam) => authTeamFactory(apiAuthTeam)), apiAuth.user_name);
|
|
1683
1692
|
|
|
1684
|
-
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.location_groups && apiBookingCalendar.location_groups.length ? apiBookingCalendar.location_groups.map((apiActivityLocationGroup) => activityLocationGroupFactory(apiActivityLocationGroup)) : []);
|
|
1693
|
+
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.location_groups && apiBookingCalendar.location_groups.length ? apiBookingCalendar.location_groups.map((apiActivityLocationGroup) => activityLocationGroupFactory(apiActivityLocationGroup)) : []);
|
|
1685
1694
|
|
|
1686
|
-
const bookingCalendarApplicationTimeFactory = (apiBookingApplicationTime) => new BookingCalendarApplicationTime(apiBookingApplicationTime.id, apiBookingApplicationTime.section_id, apiBookingApplicationTime.slot_id, apiBookingApplicationTime.team_id, apiBookingApplicationTime.end_time, apiBookingApplicationTime.section_name, apiBookingApplicationTime.start_time, apiBookingApplicationTime.team_name, apiBookingApplicationTime.location_zones_taken, apiBookingApplicationTime.applicant_comment, apiBookingApplicationTime.reviewer_comment, apiBookingApplicationTime.status, apiBookingApplicationTime.location_part_id, apiBookingApplicationTime.location_part_name, apiBookingApplicationTime.location_id, apiBookingApplicationTime.repeat, apiBookingApplicationTime.activity_type_id);
|
|
1695
|
+
const bookingCalendarApplicationTimeFactory = (apiBookingApplicationTime) => new BookingCalendarApplicationTime(apiBookingApplicationTime.id, apiBookingApplicationTime.section_id, apiBookingApplicationTime.slot_id, apiBookingApplicationTime.team_id, apiBookingApplicationTime.end_time, apiBookingApplicationTime.section_name, apiBookingApplicationTime.start_time, apiBookingApplicationTime.team_name, apiBookingApplicationTime.location_zones_taken, apiBookingApplicationTime.applicant_comment, apiBookingApplicationTime.reviewer_comment, apiBookingApplicationTime.status, apiBookingApplicationTime.location_part_id, apiBookingApplicationTime.location_part_name, apiBookingApplicationTime.location_id, 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);
|
|
1687
1696
|
|
|
1688
1697
|
const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new BookingCalendarSlotSession(apiBookingSlotSession.id, apiBookingSlotSession.section_id, apiBookingSlotSession.slot_id, apiBookingSlotSession.team_id, apiBookingSlotSession.end_time, apiBookingSlotSession.section_name, apiBookingSlotSession.start_time, apiBookingSlotSession.team_name, apiBookingSlotSession.is_overbooked, apiBookingSlotSession.type, apiBookingSlotSession.location_zones_taken, apiBookingSlotSession.slot_index, apiBookingSlotSession.comment, apiBookingSlotSession.location_part_id, apiBookingSlotSession.location_part_name, apiBookingSlotSession.location_id, apiBookingSlotSession.repeat, apiBookingSlotSession.activity_type_id, apiBookingSlotSession.color);
|
|
1689
1698
|
|
|
@@ -2443,6 +2452,7 @@ const CLUB_BOOKING_CALENDAR_SLOT_SESSIONS_PATH = ':clubId/activities/sessions/';
|
|
|
2443
2452
|
const CLUB_BOOKING_CALENDAR_SLOT_SESSION_PATH = ':clubId/activities/sessions/:id/';
|
|
2444
2453
|
const CLUB_BOOKING_SETTINGS_PATH = ':clubId/activities/booking-settings/';
|
|
2445
2454
|
const CLUB_BOOKING_CALENDAR_APPLICATION_TIME_PATH = ':clubId/activities/application-times/:id/';
|
|
2455
|
+
const CLUB_BOOKING_CALENDAR_APPLICATION_TIMES_PATH = ':clubId/activities/application-times/';
|
|
2446
2456
|
const SECTION_BOOKING_CALENDARS_PATH = ':sectionId/activities/calendars/';
|
|
2447
2457
|
const SECTION_BOOKING_CALENDAR_PATH = ':sectionId/activities/calendars/:id/';
|
|
2448
2458
|
const SECTION_BOOKING_CALENDAR_SLOTS_PATH = ':sectionId/activities/slots/';
|
|
@@ -2456,6 +2466,7 @@ const SECTION_BOOKING_CALENDAR_SLOT_SESSIONS_PATH = ':sectionId/activities/sessi
|
|
|
2456
2466
|
const SECTION_BOOKING_CALENDAR_SLOT_SESSION_PATH = ':sectionId/activities/sessions/:id/';
|
|
2457
2467
|
const SECTION_BOOKING_SETTINGS_PATH = ':sectionId/activities/booking-settings/';
|
|
2458
2468
|
const SECTION_BOOKING_CALENDAR_APPLICATION_TIME_PATH = ':sectionId/activities/application-times/:id/';
|
|
2469
|
+
const SECTION_BOOKING_CALENDAR_APPLICATION_TIMES_PATH = ':sectionId/activities/application-times/';
|
|
2459
2470
|
const TEAM_BOOKING_CALENDARS_PATH = ':teamId/activities/calendars/';
|
|
2460
2471
|
const TEAM_BOOKING_CALENDAR_SLOTS_PATH = ':teamId/activities/slots/';
|
|
2461
2472
|
const TEAM_BOOKING_CALENDAR_SLOTS_SYNC_PATH = ':teamId/activities/slots/sync/';
|
|
@@ -2463,10 +2474,11 @@ const TEAM_BOOKING_CALENDAR_SLOTS_APPLICATION_TIMES_PATH = ':teamId/activities/s
|
|
|
2463
2474
|
const TEAM_BOOKING_SETTINGS_PATH = ':teamId/activities/booking-settings/';
|
|
2464
2475
|
const TEAM_BOOKING_CALENDAR_SLOT_SESSIONS_PATH = ':teamId/activities/sessions/';
|
|
2465
2476
|
const TEAM_BOOKING_CALENDAR_SLOT_SESSION_PATH = ':teamId/activities/sessions/:id/';
|
|
2477
|
+
const TEAM_BOOKING_CALENDAR_SLOT_PATH = ':teamId/activities/slots/:id/';
|
|
2466
2478
|
const TEAM_BOOKING_CALENDAR_APPLICATION_TIMES_PATH = ':teamId/activities/application-times/';
|
|
2467
2479
|
const TEAM_BOOKING_CALENDAR_APPLICATION_TIME_PATH = ':teamId/activities/application-times/:id/';
|
|
2468
2480
|
class BookingSlotFilter {
|
|
2469
|
-
constructor(startDate = null, endDate = null, calendarIds = [], locationIds = [], tagIds = [], teamIds = [], locationGroupIds = [], activityTypeIds = [], hasOpenSessions = null) {
|
|
2481
|
+
constructor(startDate = null, endDate = null, calendarIds = [], locationIds = [], tagIds = [], teamIds = [], locationGroupIds = [], activityTypeIds = [], hasOpenSessions = null, showApplicationTimes = null, sortBy = null) {
|
|
2470
2482
|
this.startDate = startDate;
|
|
2471
2483
|
this.endDate = endDate;
|
|
2472
2484
|
this.calendarIds = calendarIds;
|
|
@@ -2476,9 +2488,11 @@ class BookingSlotFilter {
|
|
|
2476
2488
|
this.locationGroupIds = locationGroupIds;
|
|
2477
2489
|
this.activityTypeIds = activityTypeIds;
|
|
2478
2490
|
this.hasOpenSessions = hasOpenSessions;
|
|
2491
|
+
this.showApplicationTimes = showApplicationTimes;
|
|
2492
|
+
this.sortBy = sortBy;
|
|
2479
2493
|
}
|
|
2480
2494
|
static fromFilter(filter) {
|
|
2481
|
-
return new this(filter.startDate, filter.endDate, filter.calendarIds, filter.locationIds, filter.tagIds, filter.teamIds, filter.locationGroupIds, filter.activityTypeIds, filter.hasOpenSessions);
|
|
2495
|
+
return new this(filter.startDate, filter.endDate, filter.calendarIds, filter.locationIds, filter.tagIds, filter.teamIds, filter.locationGroupIds, filter.activityTypeIds, filter.hasOpenSessions, filter.showApplicationTimes, filter.sortBy);
|
|
2482
2496
|
}
|
|
2483
2497
|
toParams() {
|
|
2484
2498
|
const params = { limit: 'null' };
|
|
@@ -2509,6 +2523,12 @@ class BookingSlotFilter {
|
|
|
2509
2523
|
if (typeof this.hasOpenSessions === 'boolean') {
|
|
2510
2524
|
params['has_open_sessions'] = String(this.hasOpenSessions);
|
|
2511
2525
|
}
|
|
2526
|
+
if (typeof this.showApplicationTimes === 'boolean') {
|
|
2527
|
+
params['show_application_times'] = String(this.showApplicationTimes);
|
|
2528
|
+
}
|
|
2529
|
+
if (this.sortBy) {
|
|
2530
|
+
params['order'] = this.sortBy;
|
|
2531
|
+
}
|
|
2512
2532
|
return params;
|
|
2513
2533
|
}
|
|
2514
2534
|
}
|
|
@@ -2668,6 +2688,36 @@ class BookingCalendarService {
|
|
|
2668
2688
|
params
|
|
2669
2689
|
});
|
|
2670
2690
|
}
|
|
2691
|
+
getBookingCalendarSlot(role, clubOrSectionOrTeamId, slotId) {
|
|
2692
|
+
if (role == Role.ClubAdmin) {
|
|
2693
|
+
return this.getClubBookingCalendarSlot(clubOrSectionOrTeamId, slotId);
|
|
2694
|
+
}
|
|
2695
|
+
else if (role == Role.SectionAdmin) {
|
|
2696
|
+
return this.getSectionBookingCalendarSlot(clubOrSectionOrTeamId, slotId);
|
|
2697
|
+
}
|
|
2698
|
+
return this.getTeamBookingCalendarSlot(clubOrSectionOrTeamId, slotId);
|
|
2699
|
+
}
|
|
2700
|
+
getClubBookingCalendarSlot(clubId, slotId) {
|
|
2701
|
+
return this.apiService
|
|
2702
|
+
.getResource(bookingCalendarSlotFactory, Role.ClubAdmin, CLUB_BOOKING_CALENDAR_SLOT_PATH, {
|
|
2703
|
+
clubId,
|
|
2704
|
+
id: slotId
|
|
2705
|
+
});
|
|
2706
|
+
}
|
|
2707
|
+
getSectionBookingCalendarSlot(sectionId, slotId) {
|
|
2708
|
+
return this.apiService
|
|
2709
|
+
.getResource(bookingCalendarSlotFactory, Role.SectionAdmin, SECTION_BOOKING_CALENDAR_SLOT_PATH, {
|
|
2710
|
+
sectionId,
|
|
2711
|
+
id: slotId
|
|
2712
|
+
});
|
|
2713
|
+
}
|
|
2714
|
+
getTeamBookingCalendarSlot(teamId, slotId) {
|
|
2715
|
+
return this.apiService
|
|
2716
|
+
.getResource(bookingCalendarSlotFactory, Role.TeamAdmin, TEAM_BOOKING_CALENDAR_SLOT_PATH, {
|
|
2717
|
+
teamId,
|
|
2718
|
+
id: slotId
|
|
2719
|
+
});
|
|
2720
|
+
}
|
|
2671
2721
|
getBookingCalendarApplicationTimeSlots(role, clubOrSectionOrTeamId, bookingSlotFilter) {
|
|
2672
2722
|
if (role == Role.ClubAdmin) {
|
|
2673
2723
|
return this.getClubBookingCalendarApplicationTimeSlots(clubOrSectionOrTeamId, bookingSlotFilter);
|
|
@@ -2698,6 +2748,36 @@ class BookingCalendarService {
|
|
|
2698
2748
|
params
|
|
2699
2749
|
});
|
|
2700
2750
|
}
|
|
2751
|
+
getBookingCalendarApplicationTimes(role, clubOrSectionOrTeamId, bookingSlotFilter) {
|
|
2752
|
+
if (role == Role.ClubAdmin) {
|
|
2753
|
+
return this.getClubBookingCalendarApplicationTimes(clubOrSectionOrTeamId, bookingSlotFilter);
|
|
2754
|
+
}
|
|
2755
|
+
else if (role == Role.SectionAdmin) {
|
|
2756
|
+
return this.getSectionBookingCalendarApplicationTimes(clubOrSectionOrTeamId, bookingSlotFilter);
|
|
2757
|
+
}
|
|
2758
|
+
return this.getTeamBookingCalendarApplicationTimes(clubOrSectionOrTeamId, bookingSlotFilter);
|
|
2759
|
+
}
|
|
2760
|
+
getClubBookingCalendarApplicationTimes(clubId, bookingSlotFilter) {
|
|
2761
|
+
const params = bookingSlotFilter.toParams();
|
|
2762
|
+
return this.apiService
|
|
2763
|
+
.getCollection(bookingCalendarApplicationTimeFactory, Role.ClubAdmin, CLUB_BOOKING_CALENDAR_APPLICATION_TIMES_PATH, { clubId }, {
|
|
2764
|
+
params
|
|
2765
|
+
});
|
|
2766
|
+
}
|
|
2767
|
+
getSectionBookingCalendarApplicationTimes(sectionId, bookingSlotFilter) {
|
|
2768
|
+
const params = bookingSlotFilter.toParams();
|
|
2769
|
+
return this.apiService
|
|
2770
|
+
.getCollection(bookingCalendarApplicationTimeFactory, Role.SectionAdmin, SECTION_BOOKING_CALENDAR_APPLICATION_TIMES_PATH, { sectionId }, {
|
|
2771
|
+
params
|
|
2772
|
+
});
|
|
2773
|
+
}
|
|
2774
|
+
getTeamBookingCalendarApplicationTimes(teamId, bookingSlotFilter) {
|
|
2775
|
+
const params = bookingSlotFilter.toParams();
|
|
2776
|
+
return this.apiService
|
|
2777
|
+
.getCollection(bookingCalendarApplicationTimeFactory, Role.TeamAdmin, TEAM_BOOKING_CALENDAR_APPLICATION_TIMES_PATH, { teamId }, {
|
|
2778
|
+
params
|
|
2779
|
+
});
|
|
2780
|
+
}
|
|
2701
2781
|
copyBookingCalendarSlots(role, clubOrSectionOrTeamId, weekRelativeIndexes, onlyCopySlots = false, bookingSlotFilter) {
|
|
2702
2782
|
if (role === Role.ClubAdmin) {
|
|
2703
2783
|
return this.copyClubBookingCalendarSlots(clubOrSectionOrTeamId, weekRelativeIndexes, onlyCopySlots, bookingSlotFilter);
|