@myclub_se/data-access 2.7.2 → 2.7.4

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.
@@ -318,7 +318,7 @@ class BookingCalendar {
318
318
  }
319
319
 
320
320
  class BookingCalendarApplicationTime {
321
- 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) {
321
+ 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) {
322
322
  this.id = id;
323
323
  this.section_id = section_id;
324
324
  this.slot_id = slot_id;
@@ -335,6 +335,7 @@ class BookingCalendarApplicationTime {
335
335
  this.location_part_name = location_part_name;
336
336
  this.location_id = location_id;
337
337
  this.repeat = repeat;
338
+ this.activity_type_id = activity_type_id;
338
339
  }
339
340
  static asFormGroup(session) {
340
341
  return new FormGroup({
@@ -352,6 +353,7 @@ class BookingCalendarApplicationTime {
352
353
  status: new FormControl(session?.status || ''),
353
354
  location_part_id: new FormControl(session?.location_part_id || ''),
354
355
  repeat: new FormControl(session?.repeat || false),
356
+ activity_type_id: new FormControl(session?.activity_type_id || null),
355
357
  });
356
358
  }
357
359
  }
@@ -407,7 +409,7 @@ class BookingCalendarSlot {
407
409
  }
408
410
 
409
411
  class BookingCalendarSlotSession {
410
- constructor(id, section_id, slot_id, team_id, end_time, section_name, start_time, team_name, is_overbooked, type, location_zones_taken, slot_index, comment, location_part_id, location_part_name, location_id, repeat) {
412
+ constructor(id, section_id, slot_id, team_id, end_time, section_name, start_time, team_name, is_overbooked, type, location_zones_taken, slot_index, comment, location_part_id, location_part_name, location_id, repeat, activity_type_id) {
411
413
  this.id = id;
412
414
  this.section_id = section_id;
413
415
  this.slot_id = slot_id;
@@ -425,6 +427,7 @@ class BookingCalendarSlotSession {
425
427
  this.location_part_name = location_part_name;
426
428
  this.location_id = location_id;
427
429
  this.repeat = repeat;
430
+ this.activity_type_id = activity_type_id;
428
431
  }
429
432
  static asFormGroup(session) {
430
433
  return new FormGroup({
@@ -442,6 +445,7 @@ class BookingCalendarSlotSession {
442
445
  comment: new FormControl(session?.comment || ''),
443
446
  location_part_id: new FormControl(session?.location_part_id || ''),
444
447
  repeat: new FormControl(session?.repeat || false),
448
+ activity_type_id: new FormControl(session?.activity_type_id || null),
445
449
  });
446
450
  }
447
451
  }
@@ -1585,9 +1589,9 @@ const authFactory = (apiAuth) => new Auth(apiAuth.id, apiAuth.name, apiAuth.club
1585
1589
 
1586
1590
  const bookingCalendarFactory = (apiBookingCalendar) => new BookingCalendar(apiBookingCalendar.id, apiBookingCalendar.club_id, apiBookingCalendar.section_id, apiBookingCalendar.team_id, apiBookingCalendar.club_name, apiBookingCalendar.color, apiBookingCalendar.name, apiBookingCalendar.section_name, apiBookingCalendar.team_name, apiBookingCalendar.status);
1587
1591
 
1588
- 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);
1592
+ 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);
1589
1593
 
1590
- 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);
1594
+ 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);
1591
1595
 
1592
1596
  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);
1593
1597
 
@@ -1798,6 +1802,7 @@ const CLUB_ACTIVITY_LOCATION_GROUPS_PATH = ':clubId/activities/locations/groups/
1798
1802
  const CLUB_ACTIVITY_LOCATION_GROUP_PATH = ':clubId/activities/locations/groups/:groupId/';
1799
1803
  const CLUB_ACTIVITY_LOCATION_TAGS_PATH = ':clubId/activities/locations/tags/';
1800
1804
  const CLUB_ACTIVITY_LOCATION_PARTS_PATH = ':clubId/activities/locations/:locationId/parts/';
1805
+ const CLUB_ACTIVITY_TYPES_PATH = ':clubId/activities/types/';
1801
1806
  const TEAM_ACTIVITY_LOCATIONS_PATH = ':teamId/activities/locations/';
1802
1807
  const TEAM_ACTIVITY_LOCATION_GROUPS_PATH = ':teamId/activities/locations/groups/';
1803
1808
  const TEAM_ACTIVITY_LOCATION_TAGS_PATH = ':teamId/activities/locations/tags/';
@@ -1808,6 +1813,7 @@ const SECTION_ACTIVITY_LOCATION_GROUPS_PATH = ':sectionId/activities/locations/g
1808
1813
  const SECTION_ACTIVITY_LOCATION_GROUP_PATH = ':sectionId/activities/locations/groups/:groupId/';
1809
1814
  const SECTION_ACTIVITY_LOCATION_TAGS_PATH = ':sectionId/activities/locations/tags/';
1810
1815
  const SECTION_ACTIVITY_LOCATION_PARTS_PATH = ':sectionId/activities/locations/:locationId/parts/';
1816
+ const SECTION_ACTIVITY_TYPES_PATH = ':sectionId/activities/types/';
1811
1817
  class ActivityService {
1812
1818
  constructor(apiService) {
1813
1819
  this.apiService = apiService;
@@ -1994,6 +2000,7 @@ class ActivityService {
1994
2000
  }, locationGroup);
1995
2001
  }
1996
2002
  createSectionActivityLocationGroup(sectionId, locationGroup) {
2003
+ delete locationGroup.id;
1997
2004
  return this.apiService
1998
2005
  .postResource(activityLocationGroupFactory, Role.SectionAdmin, SECTION_ACTIVITY_LOCATION_GROUPS_PATH, {
1999
2006
  sectionId,
@@ -2109,15 +2116,26 @@ class ActivityService {
2109
2116
  clubId,
2110
2117
  });
2111
2118
  }
2112
- getTeamActivityTypes(teamId) {
2113
- if (this.activityTypeResponseDate && this.activityTypeResponseDate > sub(new Date(), { hours: 1 })) {
2114
- return of(this.activityTypeCollection);
2119
+ getActivityTypes(role, clubOrSectionOrTeamId) {
2120
+ if (role === Role.ClubAdmin) {
2121
+ return this.getClubActivityTypes(clubOrSectionOrTeamId);
2122
+ }
2123
+ else if (role === Role.SectionAdmin) {
2124
+ return this.getSectionActivityTypes(clubOrSectionOrTeamId);
2115
2125
  }
2126
+ return this.getTeamActivityTypes(clubOrSectionOrTeamId);
2127
+ }
2128
+ getTeamActivityTypes(teamId) {
2116
2129
  return this.apiService
2117
- .getCollection(activityTypeFactory, Role.TeamAdmin, TEAM_ACTIVITY_TYPES_PATH, { teamId }, { params: { limit: 'null' } }).pipe(tap((activityTypeCollection) => {
2118
- this.activityTypeResponseDate = new Date();
2119
- this.activityTypeCollection = activityTypeCollection;
2120
- }));
2130
+ .getCollection(activityTypeFactory, Role.TeamAdmin, TEAM_ACTIVITY_TYPES_PATH, { teamId }, { params: { limit: 'null' } });
2131
+ }
2132
+ getClubActivityTypes(clubId) {
2133
+ return this.apiService
2134
+ .getCollection(activityTypeFactory, Role.ClubAdmin, CLUB_ACTIVITY_TYPES_PATH, { clubId }, { params: { limit: 'null' } });
2135
+ }
2136
+ getSectionActivityTypes(sectionId) {
2137
+ return this.apiService
2138
+ .getCollection(activityTypeFactory, Role.SectionAdmin, SECTION_ACTIVITY_TYPES_PATH, { sectionId }, { params: { limit: 'null' } });
2121
2139
  }
2122
2140
  getTeamCalendarEvents(teamId, startDate = null, endDate = null) {
2123
2141
  const params = { limit: 'null' };