@myclub_se/data-access 2.6.2 → 2.7.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.
Files changed (37) hide show
  1. package/esm2020/lib/api-models/api-booking-settings.mjs +1 -1
  2. package/esm2020/lib/api-models/api-member/api-other-member-field.mjs +2 -0
  3. package/esm2020/lib/api-models/api-member/api-other-member.mjs +2 -0
  4. package/esm2020/lib/api-models/api-member/index.mjs +3 -1
  5. package/esm2020/lib/api-models/api-search-club.mjs +1 -1
  6. package/esm2020/lib/models/booking-settings.mjs +4 -2
  7. package/esm2020/lib/models/member/index.mjs +3 -1
  8. package/esm2020/lib/models/member/other-member-field.mjs +8 -0
  9. package/esm2020/lib/models/member/other-member.mjs +13 -0
  10. package/esm2020/lib/models/search-club.mjs +3 -2
  11. package/esm2020/lib/services/booking-calendar.service.mjs +85 -309
  12. package/esm2020/lib/services/factories/booking-settings-factory.mjs +2 -2
  13. package/esm2020/lib/services/factories/index.mjs +3 -1
  14. package/esm2020/lib/services/factories/other-member-factory.mjs +4 -0
  15. package/esm2020/lib/services/factories/other-member-field-factory.mjs +3 -0
  16. package/esm2020/lib/services/factories/search-club-factory.mjs +2 -2
  17. package/esm2020/lib/services/member.service.mjs +10 -10
  18. package/fesm2015/myclub_se-data-access.mjs +125 -321
  19. package/fesm2015/myclub_se-data-access.mjs.map +1 -1
  20. package/fesm2020/myclub_se-data-access.mjs +125 -321
  21. package/fesm2020/myclub_se-data-access.mjs.map +1 -1
  22. package/lib/api-models/api-booking-settings.d.ts +1 -0
  23. package/lib/api-models/api-member/api-other-member-field.d.ts +5 -0
  24. package/lib/api-models/api-member/api-other-member.d.ts +11 -0
  25. package/lib/api-models/api-member/index.d.ts +2 -0
  26. package/lib/api-models/api-search-club.d.ts +1 -0
  27. package/lib/models/booking-settings.d.ts +3 -1
  28. package/lib/models/member/index.d.ts +2 -0
  29. package/lib/models/member/other-member-field.d.ts +6 -0
  30. package/lib/models/member/other-member.d.ts +12 -0
  31. package/lib/models/search-club.d.ts +2 -1
  32. package/lib/services/booking-calendar.service.d.ts +17 -5
  33. package/lib/services/factories/index.d.ts +2 -0
  34. package/lib/services/factories/other-member-factory.d.ts +3 -0
  35. package/lib/services/factories/other-member-field-factory.d.ts +3 -0
  36. package/lib/services/member.service.d.ts +5 -5
  37. package/package.json +1 -1
@@ -447,11 +447,12 @@ class BookingCalendarSlotSession {
447
447
  }
448
448
 
449
449
  class BookingSettings {
450
- constructor(id, calendar_step, calendar_min_time, calendar_max_time, should_split_booking_into_zones) {
450
+ constructor(id, calendar_step, calendar_min_time, calendar_max_time, calendar_session_duration, should_split_booking_into_zones) {
451
451
  this.id = id;
452
452
  this.calendar_step = calendar_step;
453
453
  this.calendar_min_time = calendar_min_time;
454
454
  this.calendar_max_time = calendar_max_time;
455
+ this.calendar_session_duration = calendar_session_duration;
455
456
  this.should_split_booking_into_zones = should_split_booking_into_zones;
456
457
  }
457
458
  static asFormGroup(settings) {
@@ -460,6 +461,7 @@ class BookingSettings {
460
461
  calendar_step: new FormControl((settings === null || settings === void 0 ? void 0 : settings.calendar_step) || '01:00:00', [Validators.required]),
461
462
  calendar_min_time: new FormControl((settings === null || settings === void 0 ? void 0 : settings.calendar_min_time) || '00:00:00', [Validators.required]),
462
463
  calendar_max_time: new FormControl((settings === null || settings === void 0 ? void 0 : settings.calendar_max_time) || '23:00:00', [Validators.required]),
464
+ calendar_session_duration: new FormControl((settings === null || settings === void 0 ? void 0 : settings.calendar_session_duration) || '01:00:00', [Validators.required]),
463
465
  should_split_booking_into_zones: new FormControl(typeof (settings === null || settings === void 0 ? void 0 : settings.should_split_booking_into_zones) !== 'undefined' ? settings === null || settings === void 0 ? void 0 : settings.should_split_booking_into_zones : true, [Validators.required]),
464
466
  });
465
467
  }
@@ -1127,6 +1129,27 @@ class MemberValidationSettings {
1127
1129
  }
1128
1130
  }
1129
1131
 
1132
+ class OtherMember {
1133
+ constructor(id, country, created, firstName, image, lastName, name, fields) {
1134
+ this.id = id;
1135
+ this.country = country;
1136
+ this.created = created;
1137
+ this.firstName = firstName;
1138
+ this.image = image;
1139
+ this.lastName = lastName;
1140
+ this.name = name;
1141
+ this.fields = fields;
1142
+ }
1143
+ }
1144
+
1145
+ class OtherMemberField {
1146
+ constructor(displayName, fieldName, value) {
1147
+ this.displayName = displayName;
1148
+ this.fieldName = fieldName;
1149
+ this.value = value;
1150
+ }
1151
+ }
1152
+
1130
1153
  class SearchMember {
1131
1154
  constructor(id, club_id, team_id, address1, address2, calendar_url, country, district, email, first_name, image, last_name, mobile_phone, name, zip) {
1132
1155
  this.id = id;
@@ -1334,10 +1357,11 @@ var Role;
1334
1357
  })(Role || (Role = {}));
1335
1358
 
1336
1359
  class SearchClub {
1337
- constructor(id, leader_member_search, member_search, name) {
1360
+ constructor(id, leader_member_search, member_search, member_view, name) {
1338
1361
  this.id = id;
1339
1362
  this.leader_member_search = leader_member_search;
1340
1363
  this.member_search = member_search;
1364
+ this.member_view = member_view;
1341
1365
  this.name = name;
1342
1366
  }
1343
1367
  }
@@ -1570,7 +1594,7 @@ const bookingCalendarSlotSessionFactory = (apiBookingSlotSession) => new Booking
1570
1594
 
1571
1595
  const bookingCalendarSlotFactory = (apiBookingSlot) => new BookingCalendarSlot(apiBookingSlot.id, apiBookingSlot.calendar_id, apiBookingSlot.calendar_status, apiBookingSlot.location_id, apiBookingSlot.color, apiBookingSlot.day, apiBookingSlot.end_time, apiBookingSlot.group_id, apiBookingSlot.location_name, 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', false, 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);
1572
1596
 
1573
- const bookingSettingsFactory = (apiBookingSettings) => new BookingSettings(apiBookingSettings.id, apiBookingSettings.calendar_step, apiBookingSettings.calendar_min_time, apiBookingSettings.calendar_max_time, apiBookingSettings.should_split_booking_into_zones);
1597
+ const bookingSettingsFactory = (apiBookingSettings) => new BookingSettings(apiBookingSettings.id, apiBookingSettings.calendar_step, apiBookingSettings.calendar_min_time, apiBookingSettings.calendar_max_time, apiBookingSettings.calendar_session_duration, apiBookingSettings.should_split_booking_into_zones);
1574
1598
 
1575
1599
  const imageUrlsFactory = (apiImageUrls) => new ImageUrls(apiImageUrls.lg, apiImageUrls.md, apiImageUrls.raw, apiImageUrls.sm, apiImageUrls.xs);
1576
1600
 
@@ -1666,6 +1690,10 @@ const memberTeamThroughFactory = (apiMemberTeamThrough) => new MemberTeamThrough
1666
1690
 
1667
1691
  const newsFactory = (apiNews) => new News(apiNews.id, apiNews.club_id, apiNews.created, apiNews.created_by_id, apiNews.section_id, apiNews.team_id, apiNews.active_to, apiNews.author, apiNews.ingress, apiNews.news_image, apiNews.news_image_text, apiNews.published_date, apiNews.read, apiNews.show_on_my_pages, apiNews.show_on_webpage, apiNews.text, apiNews.title, apiNews.updated, apiNews.urls ? imageUrlsFactory(apiNews.urls) : null);
1668
1692
 
1693
+ const otherMemberFieldFactory = (apiOtherMemberFieldFactory) => new OtherMemberField(apiOtherMemberFieldFactory.display_name, apiOtherMemberFieldFactory.field_name, apiOtherMemberFieldFactory.value);
1694
+
1695
+ const otherMemberFactory = (apiOtherMember) => new OtherMember(apiOtherMember.id, apiOtherMember.country, apiOtherMember.created, apiOtherMember.first_name, apiOtherMember.image, apiOtherMember.last_name, apiOtherMember.name, apiOtherMember.fields ? apiOtherMember.fields.map((memberField) => otherMemberFieldFactory(memberField)) : []);
1696
+
1669
1697
  const paymentAttemptFactory = (apiPaymentAttempt) => {
1670
1698
  var _a;
1671
1699
  let paymentAttemptData = null;
@@ -1689,7 +1717,7 @@ const paymentAttemptFactory = (apiPaymentAttempt) => {
1689
1717
  return new PaymentAttempt(apiPaymentAttempt.id, apiPaymentAttempt.amount, apiPaymentAttempt.error, apiPaymentAttempt.invoice_id, apiPaymentAttempt.paid_date, paymentAttemptData, apiPaymentAttempt.status, apiPaymentAttempt.type);
1690
1718
  };
1691
1719
 
1692
- const searchClubFactory = (apiSearchClub) => new SearchClub(apiSearchClub.id, apiSearchClub.leader_member_search, apiSearchClub.member_search, apiSearchClub.name);
1720
+ const searchClubFactory = (apiSearchClub) => new SearchClub(apiSearchClub.id, apiSearchClub.leader_member_search, apiSearchClub.member_search, apiSearchClub.member_view, apiSearchClub.name);
1693
1721
 
1694
1722
  const searchMemberCardFactory = (apiSearchMemberCard) => new SearchMemberCard(apiSearchMemberCard.id, apiSearchMemberCard.name, apiSearchMemberCard.notification_count, apiSearchMemberCard.pdf_url);
1695
1723
 
@@ -2212,6 +2240,46 @@ const TEAM_BOOKING_CALENDAR_SLOT_SESSIONS_PATH = ':teamId/activities/sessions/';
2212
2240
  const TEAM_BOOKING_CALENDAR_SLOT_SESSION_PATH = ':teamId/activities/sessions/:id/';
2213
2241
  const TEAM_BOOKING_CALENDAR_APPLICATION_TIMES_PATH = ':teamId/activities/application-times/';
2214
2242
  const TEAM_BOOKING_CALENDAR_APPLICATION_TIME_PATH = ':teamId/activities/application-times/:id/';
2243
+ class BookingSlotFilter {
2244
+ constructor(startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, locationGroupIds = null, hasOpenSessions = null) {
2245
+ this.startDate = startDate;
2246
+ this.endDate = endDate;
2247
+ this.calendarIds = calendarIds;
2248
+ this.locationIds = locationIds;
2249
+ this.tagIds = tagIds;
2250
+ this.teamIds = teamIds;
2251
+ this.locationGroupIds = locationGroupIds;
2252
+ this.hasOpenSessions = hasOpenSessions;
2253
+ }
2254
+ toParams() {
2255
+ const params = { limit: 'null' };
2256
+ if (this.startDate) {
2257
+ params['day__gte'] = this.startDate;
2258
+ }
2259
+ if (this.endDate) {
2260
+ params['day__lte'] = this.endDate;
2261
+ }
2262
+ if (this.calendarIds && this.calendarIds.length) {
2263
+ params['calendar_id'] = this.calendarIds.join(',');
2264
+ }
2265
+ if (this.locationIds && this.locationIds.length) {
2266
+ params['location_id'] = this.locationIds.join(',');
2267
+ }
2268
+ if (this.locationGroupIds && this.locationGroupIds.length) {
2269
+ params['location_group_id'] = this.locationGroupIds.join(',');
2270
+ }
2271
+ if (this.tagIds && this.tagIds.length) {
2272
+ params['tag_id'] = this.tagIds.join(',');
2273
+ }
2274
+ if (this.teamIds && this.teamIds.length) {
2275
+ params['team_id'] = this.teamIds.join(',');
2276
+ }
2277
+ if (typeof this.hasOpenSessions === 'boolean') {
2278
+ params['has_open_sessions'] = String(this.hasOpenSessions);
2279
+ }
2280
+ return params;
2281
+ }
2282
+ }
2215
2283
  class BookingCalendarService {
2216
2284
  constructor(apiService) {
2217
2285
  this.apiService = apiService;
@@ -2338,221 +2406,74 @@ class BookingCalendarService {
2338
2406
  sectionId,
2339
2407
  }, slot);
2340
2408
  }
2341
- getBookingCalendarSlots(role, clubOrSectionOrTeamId, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2409
+ getBookingCalendarSlots(role, clubOrSectionOrTeamId, bookingSlotFilter) {
2342
2410
  if (role == Role.ClubAdmin) {
2343
- return this.getClubBookingCalendarSlots(clubOrSectionOrTeamId, startDate, endDate, calendarIds, locationIds, tagIds, teamIds, hasOpenSessions);
2411
+ return this.getClubBookingCalendarSlots(clubOrSectionOrTeamId, bookingSlotFilter);
2344
2412
  }
2345
2413
  else if (role == Role.SectionAdmin) {
2346
- return this.getSectionBookingCalendarSlots(clubOrSectionOrTeamId, startDate, endDate, calendarIds, locationIds, tagIds, teamIds, hasOpenSessions);
2414
+ return this.getSectionBookingCalendarSlots(clubOrSectionOrTeamId, bookingSlotFilter);
2347
2415
  }
2348
- return this.getTeamBookingCalendarSlots(clubOrSectionOrTeamId, startDate, endDate, calendarIds, locationIds, tagIds, teamIds, hasOpenSessions);
2416
+ return this.getTeamBookingCalendarSlots(clubOrSectionOrTeamId, bookingSlotFilter);
2349
2417
  }
2350
- getClubBookingCalendarSlots(clubId, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2351
- const params = { limit: 'null' };
2352
- if (startDate) {
2353
- params['day__gte'] = startDate;
2354
- }
2355
- if (endDate) {
2356
- params['day__lte'] = endDate;
2357
- }
2358
- if (calendarIds && calendarIds.length) {
2359
- params['calendar_id'] = calendarIds.join(',');
2360
- }
2361
- if (locationIds && locationIds.length) {
2362
- params['location_id'] = locationIds.join(',');
2363
- }
2364
- if (tagIds && tagIds.length) {
2365
- params['tag_id'] = tagIds.join(',');
2366
- }
2367
- if (teamIds && teamIds.length) {
2368
- params['team_id'] = teamIds.join(',');
2369
- }
2370
- if (typeof hasOpenSessions === 'boolean') {
2371
- params['has_open_sessions'] = String(hasOpenSessions);
2372
- }
2418
+ getClubBookingCalendarSlots(clubId, bookingSlotFilter) {
2419
+ const params = bookingSlotFilter.toParams();
2373
2420
  return this.apiService
2374
2421
  .getCollection(bookingCalendarSlotFactory, Role.ClubAdmin, CLUB_BOOKING_CALENDAR_SLOTS_PATH, { clubId }, {
2375
2422
  params
2376
2423
  });
2377
2424
  }
2378
- getSectionBookingCalendarSlots(sectionId, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2379
- const params = { limit: 'null' };
2380
- if (startDate) {
2381
- params['day__gte'] = startDate;
2382
- }
2383
- if (endDate) {
2384
- params['day__lte'] = endDate;
2385
- }
2386
- if (calendarIds && calendarIds.length) {
2387
- params['calendar_id'] = calendarIds.join(',');
2388
- }
2389
- if (locationIds && locationIds.length) {
2390
- params['location_id'] = locationIds.join(',');
2391
- }
2392
- if (tagIds && tagIds.length) {
2393
- params['tag_id'] = tagIds.join(',');
2394
- }
2395
- if (teamIds && teamIds.length) {
2396
- params['team_id'] = teamIds.join(',');
2397
- }
2398
- if (typeof hasOpenSessions === 'boolean') {
2399
- params['has_open_sessions'] = String(hasOpenSessions);
2400
- }
2425
+ getSectionBookingCalendarSlots(sectionId, bookingSlotFilter) {
2426
+ const params = bookingSlotFilter.toParams();
2401
2427
  return this.apiService
2402
2428
  .getCollection(bookingCalendarSlotFactory, Role.SectionAdmin, SECTION_BOOKING_CALENDAR_SLOTS_PATH, { sectionId }, {
2403
2429
  params
2404
2430
  });
2405
2431
  }
2406
- getTeamBookingCalendarSlots(teamId, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2407
- const params = { limit: 'null' };
2408
- if (startDate) {
2409
- params['day__gte'] = startDate;
2410
- }
2411
- if (endDate) {
2412
- params['day__lte'] = endDate;
2413
- }
2414
- if (calendarIds && calendarIds.length) {
2415
- params['calendar_id'] = calendarIds.join(',');
2416
- }
2417
- if (locationIds && locationIds.length) {
2418
- params['location_id'] = locationIds.join(',');
2419
- }
2420
- if (tagIds && tagIds.length) {
2421
- params['tag_id'] = tagIds.join(',');
2422
- }
2423
- if (teamIds && teamIds.length) {
2424
- params['team_id'] = teamIds.join(',');
2425
- }
2426
- if (typeof hasOpenSessions === 'boolean') {
2427
- params['has_open_sessions'] = String(hasOpenSessions);
2428
- }
2432
+ getTeamBookingCalendarSlots(teamId, bookingSlotFilter) {
2433
+ const params = bookingSlotFilter.toParams();
2429
2434
  return this.apiService
2430
2435
  .getCollection(bookingCalendarSlotFactory, Role.TeamAdmin, TEAM_BOOKING_CALENDAR_SLOTS_PATH, { teamId }, {
2431
2436
  params
2432
2437
  });
2433
2438
  }
2434
- getBookingCalendarApplicationTimeSlots(role, clubOrSectionOrTeamId, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2439
+ getBookingCalendarApplicationTimeSlots(role, clubOrSectionOrTeamId, bookingSlotFilter) {
2435
2440
  if (role == Role.ClubAdmin) {
2436
- return this.getClubBookingCalendarApplicationTimeSlots(clubOrSectionOrTeamId, startDate, endDate, calendarIds, locationIds, tagIds, teamIds, hasOpenSessions);
2441
+ return this.getClubBookingCalendarApplicationTimeSlots(clubOrSectionOrTeamId, bookingSlotFilter);
2437
2442
  }
2438
2443
  else if (role == Role.SectionAdmin) {
2439
- return this.getSectionBookingCalendarApplicationTimeSlots(clubOrSectionOrTeamId, startDate, endDate, calendarIds, locationIds, tagIds, teamIds, hasOpenSessions);
2444
+ return this.getSectionBookingCalendarApplicationTimeSlots(clubOrSectionOrTeamId, bookingSlotFilter);
2440
2445
  }
2441
- return this.getTeamBookingCalendarApplicationTimeSlots(clubOrSectionOrTeamId, startDate, endDate, calendarIds, locationIds, tagIds, teamIds, hasOpenSessions);
2446
+ return this.getTeamBookingCalendarApplicationTimeSlots(clubOrSectionOrTeamId, bookingSlotFilter);
2442
2447
  }
2443
- getClubBookingCalendarApplicationTimeSlots(clubId, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2444
- const params = { limit: 'null' };
2445
- if (startDate) {
2446
- params['day__gte'] = startDate;
2447
- }
2448
- if (endDate) {
2449
- params['day__lte'] = endDate;
2450
- }
2451
- if (calendarIds && calendarIds.length) {
2452
- params['calendar_id'] = calendarIds.join(',');
2453
- }
2454
- if (locationIds && locationIds.length) {
2455
- params['location_id'] = locationIds.join(',');
2456
- }
2457
- if (tagIds && tagIds.length) {
2458
- params['tag_id'] = tagIds.join(',');
2459
- }
2460
- if (teamIds && teamIds.length) {
2461
- params['team_id'] = teamIds.join(',');
2462
- }
2463
- if (typeof hasOpenSessions === 'boolean') {
2464
- params['has_open_sessions'] = String(hasOpenSessions);
2465
- }
2448
+ getClubBookingCalendarApplicationTimeSlots(clubId, bookingSlotFilter) {
2449
+ const params = bookingSlotFilter.toParams();
2466
2450
  return this.apiService
2467
2451
  .getCollection(bookingCalendarSlotFactory, Role.ClubAdmin, CLUB_BOOKING_CALENDAR_SLOTS_APPLICATION_TIMES_PATH, { clubId }, {
2468
2452
  params
2469
2453
  });
2470
2454
  }
2471
- getSectionBookingCalendarApplicationTimeSlots(sectionId, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2472
- const params = { limit: 'null' };
2473
- if (startDate) {
2474
- params['day__gte'] = startDate;
2475
- }
2476
- if (endDate) {
2477
- params['day__lte'] = endDate;
2478
- }
2479
- if (calendarIds && calendarIds.length) {
2480
- params['calendar_id'] = calendarIds.join(',');
2481
- }
2482
- if (locationIds && locationIds.length) {
2483
- params['location_id'] = locationIds.join(',');
2484
- }
2485
- if (tagIds && tagIds.length) {
2486
- params['tag_id'] = tagIds.join(',');
2487
- }
2488
- if (teamIds && teamIds.length) {
2489
- params['team_id'] = teamIds.join(',');
2490
- }
2491
- if (typeof hasOpenSessions === 'boolean') {
2492
- params['has_open_sessions'] = String(hasOpenSessions);
2493
- }
2455
+ getSectionBookingCalendarApplicationTimeSlots(sectionId, bookingSlotFilter) {
2456
+ const params = bookingSlotFilter.toParams();
2494
2457
  return this.apiService
2495
2458
  .getCollection(bookingCalendarSlotFactory, Role.SectionAdmin, SECTION_BOOKING_CALENDAR_SLOTS_APPLICATION_TIMES_PATH, { sectionId }, {
2496
2459
  params
2497
2460
  });
2498
2461
  }
2499
- getTeamBookingCalendarApplicationTimeSlots(teamId, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2500
- const params = { limit: 'null' };
2501
- if (startDate) {
2502
- params['day__gte'] = startDate;
2503
- }
2504
- if (endDate) {
2505
- params['day__lte'] = endDate;
2506
- }
2507
- if (calendarIds && calendarIds.length) {
2508
- params['calendar_id'] = calendarIds.join(',');
2509
- }
2510
- if (locationIds && locationIds.length) {
2511
- params['location_id'] = locationIds.join(',');
2512
- }
2513
- if (tagIds && tagIds.length) {
2514
- params['tag_id'] = tagIds.join(',');
2515
- }
2516
- if (teamIds && teamIds.length) {
2517
- params['team_id'] = teamIds.join(',');
2518
- }
2519
- if (typeof hasOpenSessions === 'boolean') {
2520
- params['has_open_sessions'] = String(hasOpenSessions);
2521
- }
2462
+ getTeamBookingCalendarApplicationTimeSlots(teamId, bookingSlotFilter) {
2463
+ const params = bookingSlotFilter.toParams();
2522
2464
  return this.apiService
2523
2465
  .getCollection(bookingCalendarSlotFactory, Role.TeamAdmin, TEAM_BOOKING_CALENDAR_SLOTS_APPLICATION_TIMES_PATH, { teamId }, {
2524
2466
  params
2525
2467
  });
2526
2468
  }
2527
- copyBookingCalendarSlots(role, clubOrSectionOrTeamId, weekRelativeIndexes, onlyCopySlots = false, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2469
+ copyBookingCalendarSlots(role, clubOrSectionOrTeamId, weekRelativeIndexes, onlyCopySlots = false, bookingSlotFilter) {
2528
2470
  if (role === Role.ClubAdmin) {
2529
- return this.copyClubBookingCalendarSlots(clubOrSectionOrTeamId, weekRelativeIndexes, onlyCopySlots, startDate, endDate, calendarIds, locationIds, tagIds, teamIds, hasOpenSessions);
2471
+ return this.copyClubBookingCalendarSlots(clubOrSectionOrTeamId, weekRelativeIndexes, onlyCopySlots, bookingSlotFilter);
2530
2472
  }
2531
- return this.copySectionBookingCalendarSlots(clubOrSectionOrTeamId, weekRelativeIndexes, onlyCopySlots, startDate, endDate, calendarIds, locationIds, tagIds, teamIds, hasOpenSessions);
2473
+ return this.copySectionBookingCalendarSlots(clubOrSectionOrTeamId, weekRelativeIndexes, onlyCopySlots, bookingSlotFilter);
2532
2474
  }
2533
- copyClubBookingCalendarSlots(clubId, weekRelativeIndexes, onlyCopySlots = false, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2534
- const params = { limit: 'null' };
2535
- if (startDate) {
2536
- params['day__gte'] = startDate;
2537
- }
2538
- if (endDate) {
2539
- params['day__lte'] = endDate;
2540
- }
2541
- if (calendarIds && calendarIds.length) {
2542
- params['calendar_id'] = calendarIds.join(',');
2543
- }
2544
- if (locationIds && locationIds.length) {
2545
- params['location_id'] = locationIds.join(',');
2546
- }
2547
- if (tagIds && tagIds.length) {
2548
- params['tag_id'] = tagIds.join(',');
2549
- }
2550
- if (teamIds && teamIds.length) {
2551
- params['team_id'] = teamIds.join(',');
2552
- }
2553
- if (typeof hasOpenSessions === 'boolean') {
2554
- params['has_open_sessions'] = String(hasOpenSessions);
2555
- }
2475
+ copyClubBookingCalendarSlots(clubId, weekRelativeIndexes, onlyCopySlots = false, bookingSlotFilter) {
2476
+ const params = bookingSlotFilter.toParams();
2556
2477
  return this.apiService
2557
2478
  .postResourceNoResponse(Role.ClubAdmin, CLUB_BOOKING_CALENDAR_SLOTS_COPY_PATH, { clubId }, {
2558
2479
  week_relative_indexes: weekRelativeIndexes,
@@ -2561,29 +2482,8 @@ class BookingCalendarService {
2561
2482
  params
2562
2483
  });
2563
2484
  }
2564
- copySectionBookingCalendarSlots(sectionId, weekRelativeIndexes, onlyCopySlots = false, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2565
- const params = { limit: 'null' };
2566
- if (startDate) {
2567
- params['day__gte'] = startDate;
2568
- }
2569
- if (endDate) {
2570
- params['day__lte'] = endDate;
2571
- }
2572
- if (calendarIds && calendarIds.length) {
2573
- params['calendar_id'] = calendarIds.join(',');
2574
- }
2575
- if (locationIds && locationIds.length) {
2576
- params['location_id'] = locationIds.join(',');
2577
- }
2578
- if (tagIds && tagIds.length) {
2579
- params['tag_id'] = tagIds.join(',');
2580
- }
2581
- if (teamIds && teamIds.length) {
2582
- params['team_id'] = teamIds.join(',');
2583
- }
2584
- if (typeof hasOpenSessions === 'boolean') {
2585
- params['has_open_sessions'] = String(hasOpenSessions);
2586
- }
2485
+ copySectionBookingCalendarSlots(sectionId, weekRelativeIndexes, onlyCopySlots = false, bookingSlotFilter) {
2486
+ const params = bookingSlotFilter.toParams();
2587
2487
  return this.apiService
2588
2488
  .postResourceNoResponse(Role.SectionAdmin, SECTION_BOOKING_CALENDAR_SLOTS_COPY_PATH, { sectionId }, {
2589
2489
  week_relative_indexes: weekRelativeIndexes,
@@ -2592,35 +2492,14 @@ class BookingCalendarService {
2592
2492
  params
2593
2493
  });
2594
2494
  }
2595
- clearBookingCalendarSlots(role, clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, onlyDeleteSessions = false, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2495
+ clearBookingCalendarSlots(role, clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, onlyDeleteSessions = false, bookingSlotFilter) {
2596
2496
  if (role === Role.ClubAdmin) {
2597
- return this.clearClubBookingCalendarSlots(clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, onlyDeleteSessions, startDate, endDate, calendarIds, locationIds, tagIds, teamIds, hasOpenSessions);
2497
+ return this.clearClubBookingCalendarSlots(clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, onlyDeleteSessions, bookingSlotFilter);
2598
2498
  }
2599
- return this.clearSectionBookingCalendarSlots(clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, onlyDeleteSessions, startDate, endDate, calendarIds, locationIds, tagIds, teamIds, hasOpenSessions);
2499
+ return this.clearSectionBookingCalendarSlots(clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, onlyDeleteSessions, bookingSlotFilter);
2600
2500
  }
2601
- clearClubBookingCalendarSlots(clubId, currentWeekStartDate, weekRelativeIndexes, onlyDeleteSessions = false, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2602
- const params = { limit: 'null' };
2603
- if (startDate) {
2604
- params['day__gte'] = startDate;
2605
- }
2606
- if (endDate) {
2607
- params['day__lte'] = endDate;
2608
- }
2609
- if (calendarIds && calendarIds.length) {
2610
- params['calendar_id'] = calendarIds.join(',');
2611
- }
2612
- if (locationIds && locationIds.length) {
2613
- params['location_id'] = locationIds.join(',');
2614
- }
2615
- if (tagIds && tagIds.length) {
2616
- params['tag_id'] = tagIds.join(',');
2617
- }
2618
- if (teamIds && teamIds.length) {
2619
- params['team_id'] = teamIds.join(',');
2620
- }
2621
- if (typeof hasOpenSessions === 'boolean') {
2622
- params['has_open_sessions'] = String(hasOpenSessions);
2623
- }
2501
+ clearClubBookingCalendarSlots(clubId, currentWeekStartDate, weekRelativeIndexes, onlyDeleteSessions = false, bookingSlotFilter) {
2502
+ const params = bookingSlotFilter.toParams();
2624
2503
  return this.apiService
2625
2504
  .deleteResourceWithBody(Role.ClubAdmin, CLUB_BOOKING_CALENDAR_SLOTS_CLEAR_PATH, { clubId }, {
2626
2505
  body: {
@@ -2631,29 +2510,8 @@ class BookingCalendarService {
2631
2510
  params,
2632
2511
  });
2633
2512
  }
2634
- clearSectionBookingCalendarSlots(sectionId, currentWeekStartDate, weekRelativeIndexes, onlyDeleteSessions = false, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null, hasOpenSessions = null) {
2635
- const params = { limit: 'null' };
2636
- if (startDate) {
2637
- params['day__gte'] = startDate;
2638
- }
2639
- if (endDate) {
2640
- params['day__lte'] = endDate;
2641
- }
2642
- if (calendarIds && calendarIds.length) {
2643
- params['calendar_id'] = calendarIds.join(',');
2644
- }
2645
- if (locationIds && locationIds.length) {
2646
- params['location_id'] = locationIds.join(',');
2647
- }
2648
- if (tagIds && tagIds.length) {
2649
- params['tag_id'] = tagIds.join(',');
2650
- }
2651
- if (teamIds && teamIds.length) {
2652
- params['team_id'] = teamIds.join(',');
2653
- }
2654
- if (typeof hasOpenSessions === 'boolean') {
2655
- params['has_open_sessions'] = String(hasOpenSessions);
2656
- }
2513
+ clearSectionBookingCalendarSlots(sectionId, currentWeekStartDate, weekRelativeIndexes, onlyDeleteSessions = false, bookingSlotFilter) {
2514
+ const params = bookingSlotFilter.toParams();
2657
2515
  return this.apiService
2658
2516
  .deleteResourceWithBody(Role.SectionAdmin, SECTION_BOOKING_CALENDAR_SLOTS_CLEAR_PATH, { sectionId }, {
2659
2517
  body: {
@@ -2664,87 +2522,33 @@ class BookingCalendarService {
2664
2522
  params,
2665
2523
  });
2666
2524
  }
2667
- syncBookingCalendarSlots(role, clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null) {
2525
+ syncBookingCalendarSlots(role, clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, bookingSlotFilter) {
2668
2526
  if (role == Role.ClubAdmin) {
2669
- return this.syncClubBookingCalendarSlots(clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, startDate, endDate, calendarIds, locationIds, teamIds);
2527
+ return this.syncClubBookingCalendarSlots(clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, bookingSlotFilter);
2670
2528
  }
2671
2529
  else if (role == Role.SectionAdmin) {
2672
- return this.syncSectionBookingCalendarSlots(clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, startDate, endDate, calendarIds, locationIds, teamIds);
2530
+ return this.syncSectionBookingCalendarSlots(clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, bookingSlotFilter);
2673
2531
  }
2674
- return this.syncTeamBookingCalendarSlots(clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, startDate, endDate, calendarIds, locationIds, teamIds);
2532
+ return this.syncTeamBookingCalendarSlots(clubOrSectionOrTeamId, currentWeekStartDate, weekRelativeIndexes, bookingSlotFilter);
2675
2533
  }
2676
- syncClubBookingCalendarSlots(clubId, currentWeekStartDate, weekRelativeIndexes, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null) {
2677
- const params = { limit: 'null' };
2678
- if (startDate) {
2679
- params['day__gte'] = startDate;
2680
- }
2681
- if (endDate) {
2682
- params['day__lte'] = endDate;
2683
- }
2684
- if (calendarIds && calendarIds.length) {
2685
- params['calendar_id'] = calendarIds.join(',');
2686
- }
2687
- if (locationIds && locationIds.length) {
2688
- params['location_id'] = locationIds.join(',');
2689
- }
2690
- if (tagIds && tagIds.length) {
2691
- params['tag_id'] = tagIds.join(',');
2692
- }
2693
- if (teamIds && teamIds.length) {
2694
- params['team_id'] = teamIds.join(',');
2695
- }
2534
+ syncClubBookingCalendarSlots(clubId, currentWeekStartDate, weekRelativeIndexes, bookingSlotFilter) {
2535
+ const params = bookingSlotFilter.toParams();
2696
2536
  return this.apiService
2697
2537
  .postResourceNoResponse(Role.ClubAdmin, CLUB_BOOKING_CALENDAR_SLOTS_SYNC_PATH, { clubId }, {
2698
2538
  current_week_start_date: currentWeekStartDate,
2699
2539
  week_relative_indexes: weekRelativeIndexes,
2700
2540
  }, { params });
2701
2541
  }
2702
- syncSectionBookingCalendarSlots(sectionId, currentWeekStartDate, weekRelativeIndexes, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null) {
2703
- const params = { limit: 'null' };
2704
- if (startDate) {
2705
- params['day__gte'] = startDate;
2706
- }
2707
- if (endDate) {
2708
- params['day__lte'] = endDate;
2709
- }
2710
- if (calendarIds && calendarIds.length) {
2711
- params['calendar_id'] = calendarIds.join(',');
2712
- }
2713
- if (locationIds && locationIds.length) {
2714
- params['location_id'] = locationIds.join(',');
2715
- }
2716
- if (tagIds && tagIds.length) {
2717
- params['tag_id'] = tagIds.join(',');
2718
- }
2719
- if (teamIds && teamIds.length) {
2720
- params['team_id'] = teamIds.join(',');
2721
- }
2542
+ syncSectionBookingCalendarSlots(sectionId, currentWeekStartDate, weekRelativeIndexes, bookingSlotFilter) {
2543
+ const params = bookingSlotFilter.toParams();
2722
2544
  return this.apiService
2723
2545
  .postResourceNoResponse(Role.SectionAdmin, SECTION_BOOKING_CALENDAR_SLOTS_SYNC_PATH, { sectionId }, {
2724
2546
  current_week_start_date: currentWeekStartDate,
2725
2547
  week_relative_indexes: weekRelativeIndexes,
2726
2548
  }, { params });
2727
2549
  }
2728
- syncTeamBookingCalendarSlots(teamId, currentWeekStartDate, weekRelativeIndexes, startDate = null, endDate = null, calendarIds = null, locationIds = null, tagIds = null, teamIds = null) {
2729
- const params = { limit: 'null' };
2730
- if (startDate) {
2731
- params['day__gte'] = startDate;
2732
- }
2733
- if (endDate) {
2734
- params['day__lte'] = endDate;
2735
- }
2736
- if (calendarIds && calendarIds.length) {
2737
- params['calendar_id'] = calendarIds.join(',');
2738
- }
2739
- if (locationIds && locationIds.length) {
2740
- params['location_id'] = locationIds.join(',');
2741
- }
2742
- if (tagIds && tagIds.length) {
2743
- params['tag_id'] = tagIds.join(',');
2744
- }
2745
- if (teamIds && teamIds.length) {
2746
- params['team_id'] = teamIds.join(',');
2747
- }
2550
+ syncTeamBookingCalendarSlots(teamId, currentWeekStartDate, weekRelativeIndexes, bookingSlotFilter) {
2551
+ const params = bookingSlotFilter.toParams();
2748
2552
  return this.apiService
2749
2553
  .postResourceNoResponse(Role.TeamAdmin, TEAM_BOOKING_CALENDAR_SLOTS_SYNC_PATH, { teamId }, {
2750
2554
  current_week_start_date: currentWeekStartDate,
@@ -3392,13 +3196,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
3392
3196
  }]
3393
3197
  }], ctorParameters: function () { return []; } });
3394
3198
 
3395
- const MEMBER_OTHER_MEMBER_PATH = ':memberId/others/clubmembers/:id/';
3396
- const MEMBER_OTHER_MEMBER_SEARCH_PATH = ':memberId/others/clubmembers/';
3199
+ const MEMBER_OTHER_MEMBER_PATH = ':memberId/others/clubmembersv2/:id/';
3200
+ const MEMBER_OTHER_MEMBER_SEARCH_PATH = ':memberId/others/clubmembersv2/';
3397
3201
  const MEMBER_PROFILE_CONTACT_PATH = ':memberId/member-detail/contacts/:contactId/';
3398
3202
  const MEMBER_PROFILE_PATH = ':memberId/member-detail/';
3399
3203
  const TEAM_MEMBER_CONTACT_PATH = ':teamId/team-members/:memberId/contacts/:contactId/';
3400
- const TEAM_OTHER_MEMBER_PATH = ':teamId/team-members/others/:id/';
3401
- const TEAM_OTHER_MEMBER_SEARCH_PATH = ':teamId/team-members/others/';
3204
+ const TEAM_OTHER_MEMBER_PATH = ':teamId/team-members/othersv2/:id/';
3205
+ const TEAM_OTHER_MEMBER_SEARCH_PATH = ':teamId/team-members/othersv2/';
3402
3206
  class MemberService {
3403
3207
  constructor(apiService) {
3404
3208
  this.apiService = apiService;
@@ -3409,11 +3213,11 @@ class MemberService {
3409
3213
  }
3410
3214
  getMemberOtherMember(memberId, id) {
3411
3215
  return this.apiService
3412
- .getResource(memberFactory, Role.MemberAdmin, MEMBER_OTHER_MEMBER_PATH, { memberId, id });
3216
+ .getResource(otherMemberFactory, Role.MemberAdmin, MEMBER_OTHER_MEMBER_PATH, { memberId, id });
3413
3217
  }
3414
3218
  getTeamOtherMember(teamId, id) {
3415
3219
  return this.apiService
3416
- .getResource(memberFactory, Role.MemberAdmin, TEAM_OTHER_MEMBER_PATH, { teamId, id });
3220
+ .getResource(otherMemberFactory, Role.TeamAdmin, TEAM_OTHER_MEMBER_PATH, { teamId, id });
3417
3221
  }
3418
3222
  removeMemberProfileContact(memberId, contactId) {
3419
3223
  return this.apiService
@@ -3425,11 +3229,11 @@ class MemberService {
3425
3229
  }
3426
3230
  searchMemberOtherMembers(memberId, searchTerm) {
3427
3231
  return this.apiService
3428
- .getCollection(searchMemberFactory, Role.MemberAdmin, MEMBER_OTHER_MEMBER_SEARCH_PATH, { memberId }, { params: { q: searchTerm } });
3232
+ .getCollection(otherMemberFactory, Role.MemberAdmin, MEMBER_OTHER_MEMBER_SEARCH_PATH, { memberId }, { params: { q: searchTerm } });
3429
3233
  }
3430
3234
  searchTeamOtherMembers(teamId, searchTerm) {
3431
3235
  return this.apiService
3432
- .getCollection(searchMemberFactory, Role.TeamAdmin, TEAM_OTHER_MEMBER_SEARCH_PATH, { teamId }, { params: { q: searchTerm } });
3236
+ .getCollection(otherMemberFactory, Role.TeamAdmin, TEAM_OTHER_MEMBER_SEARCH_PATH, { teamId }, { params: { q: searchTerm } });
3433
3237
  }
3434
3238
  updateMemberProfile(memberId, memberProfile) {
3435
3239
  return this.apiService
@@ -4106,5 +3910,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
4106
3910
  * Generated bundle index. Do not edit.
4107
3911
  */
4108
3912
 
4109
- export { APP, Activity, ActivityExtraMember, ActivityInvite, ActivityLocation, ActivityLocationGroup, ActivityLocationPart, ActivityLocationTag, ActivityService, ActivitySettings, ActivityType, Auth, AuthMember, AuthSection, AuthService, AuthTeam, AuthTeamSection, AuthenticatedGuard, Authentication, AuthenticationInterceptor, AuthenticationService, BookingCalendar, BookingCalendarApplicationTime, BookingCalendarService, BookingCalendarSlot, BookingCalendarSlotSession, BookingSettings, Calendar, CalendarEvent, Card, CardDeal, CardLogo, CardLogoUrls, CardMemberTicket, CardTheme, CardTicket, CardTicketLocation, Club, ClubImage, ClubSection, ClubService, Collection, ConstantService, Contact, CreditCard, DataAccessModule, Directory, Email, EmailService, Event, ExternalLink, ExternalLinkService, FileObject, FileService, GeneralImage, Giro, GroupRole, HandleGrantTokenGuard, HomeTeam, ImageUrls, InvoiceService, MaintenanceModeService, Member, MemberActivityInvite, MemberAttribute, MemberCard, MemberCardService, MemberContact, MemberFee, MemberFunction, MemberInvoice, MemberInvoiceRow, MemberPublicForm, MemberPublicFormField, MemberPublicFormFieldOption, MemberPublicFormService, MemberService, MemberTeam, MemberTeamThrough, MemberType, MemberValidationSettings, News, NewsService, Partner, PaymentAttempt, PaymentAttemptService, Role, SearchClub, SearchMember, SearchMemberCard, SearchMemberInvoice, SearchTeam, Section, SectionService, Swish, SwishQrCode, TeamService, Token, TokenService, USER_NOTIFICATIONS_PATH, UnpaidMemberInvoice, User, UserNotification, UserNotificationService, UserService, Zimpler };
3913
+ export { APP, Activity, ActivityExtraMember, ActivityInvite, ActivityLocation, ActivityLocationGroup, ActivityLocationPart, ActivityLocationTag, ActivityService, ActivitySettings, ActivityType, Auth, AuthMember, AuthSection, AuthService, AuthTeam, AuthTeamSection, AuthenticatedGuard, Authentication, AuthenticationInterceptor, AuthenticationService, BookingCalendar, BookingCalendarApplicationTime, BookingCalendarService, BookingCalendarSlot, BookingCalendarSlotSession, BookingSettings, BookingSlotFilter, Calendar, CalendarEvent, Card, CardDeal, CardLogo, CardLogoUrls, CardMemberTicket, CardTheme, CardTicket, CardTicketLocation, Club, ClubImage, ClubSection, ClubService, Collection, ConstantService, Contact, CreditCard, DataAccessModule, Directory, Email, EmailService, Event, ExternalLink, ExternalLinkService, FileObject, FileService, GeneralImage, Giro, GroupRole, HandleGrantTokenGuard, HomeTeam, ImageUrls, InvoiceService, MaintenanceModeService, Member, MemberActivityInvite, MemberAttribute, MemberCard, MemberCardService, MemberContact, MemberFee, MemberFunction, MemberInvoice, MemberInvoiceRow, MemberPublicForm, MemberPublicFormField, MemberPublicFormFieldOption, MemberPublicFormService, MemberService, MemberTeam, MemberTeamThrough, MemberType, MemberValidationSettings, News, NewsService, OtherMember, OtherMemberField, Partner, PaymentAttempt, PaymentAttemptService, Role, SearchClub, SearchMember, SearchMemberCard, SearchMemberInvoice, SearchTeam, Section, SectionService, Swish, SwishQrCode, TeamService, Token, TokenService, USER_NOTIFICATIONS_PATH, UnpaidMemberInvoice, User, UserNotification, UserNotificationService, UserService, Zimpler };
4110
3914
  //# sourceMappingURL=myclub_se-data-access.mjs.map