@myclub_se/data-access 2.5.14 → 2.5.16

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 (31) hide show
  1. package/esm2020/lib/api-models/api-activity-location.mjs +1 -1
  2. package/esm2020/lib/api-models/api-booking-calendar-application-time.mjs +1 -1
  3. package/esm2020/lib/api-models/api-booking-calendar-slot-session.mjs +1 -1
  4. package/esm2020/lib/api-models/api-booking-calendar-slot.mjs +1 -1
  5. package/esm2020/lib/models/activity-location-part.mjs +8 -1
  6. package/esm2020/lib/models/activity-location-tag.mjs +8 -1
  7. package/esm2020/lib/models/activity-location.mjs +26 -2
  8. package/esm2020/lib/models/booking-calendar-application-time.mjs +4 -2
  9. package/esm2020/lib/models/booking-calendar-slot-session.mjs +4 -2
  10. package/esm2020/lib/models/booking-calendar-slot.mjs +3 -2
  11. package/esm2020/lib/services/activity.service.mjs +39 -5
  12. package/esm2020/lib/services/factories/activity-location-factory.mjs +4 -2
  13. package/esm2020/lib/services/factories/booking-calendar-application-time-factory.mjs +2 -2
  14. package/esm2020/lib/services/factories/booking-calendar-slot-factory.mjs +2 -2
  15. package/esm2020/lib/services/factories/booking-calendar-slot-session-factory.mjs +2 -2
  16. package/fesm2015/myclub_se-data-access.mjs +106 -34
  17. package/fesm2015/myclub_se-data-access.mjs.map +1 -1
  18. package/fesm2020/myclub_se-data-access.mjs +106 -34
  19. package/fesm2020/myclub_se-data-access.mjs.map +1 -1
  20. package/lib/api-models/api-activity-location.d.ts +5 -0
  21. package/lib/api-models/api-booking-calendar-application-time.d.ts +1 -0
  22. package/lib/api-models/api-booking-calendar-slot-session.d.ts +1 -0
  23. package/lib/api-models/api-booking-calendar-slot.d.ts +1 -0
  24. package/lib/models/activity-location-part.d.ts +5 -0
  25. package/lib/models/activity-location-tag.d.ts +5 -0
  26. package/lib/models/activity-location.d.ts +15 -1
  27. package/lib/models/booking-calendar-application-time.d.ts +3 -1
  28. package/lib/models/booking-calendar-slot-session.d.ts +3 -1
  29. package/lib/models/booking-calendar-slot.d.ts +2 -1
  30. package/lib/services/activity.service.d.ts +11 -6
  31. package/package.json +1 -1
@@ -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.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);
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2luZy1jYWxlbmRhci1zbG90LXNlc3Npb24tZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc2VydmljZXMvZmFjdG9yaWVzL2Jvb2tpbmctY2FsZW5kYXItc2xvdC1zZXNzaW9uLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRXhELE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQUMscUJBQW9ELEVBQUUsRUFBRSxDQUN4RyxJQUFJLDBCQUEwQixDQUM1QixxQkFBcUIsQ0FBQyxFQUFFLEVBQ3hCLHFCQUFxQixDQUFDLFVBQVUsRUFDaEMscUJBQXFCLENBQUMsT0FBTyxFQUM3QixxQkFBcUIsQ0FBQyxPQUFPLEVBQzdCLHFCQUFxQixDQUFDLFFBQVEsRUFDOUIscUJBQXFCLENBQUMsWUFBWSxFQUNsQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQ2hDLHFCQUFxQixDQUFDLFNBQVMsRUFDL0IscUJBQXFCLENBQUMsYUFBYSxFQUNuQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQzFCLHFCQUFxQixDQUFDLG9CQUFvQixFQUMxQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQ2hDLHFCQUFxQixDQUFDLE9BQU8sRUFDN0IscUJBQXFCLENBQUMsZ0JBQWdCLEVBQ3RDLHFCQUFxQixDQUFDLGtCQUFrQixFQUN4QyxxQkFBcUIsQ0FBQyxXQUFXLENBQ2xDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FwaUJvb2tpbmdDYWxlbmRhclNsb3RTZXNzaW9ufSBmcm9tIFwiLi4vLi4vYXBpLW1vZGVsc1wiO1xuaW1wb3J0IHtCb29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbn0gZnJvbSBcIi4uLy4uL21vZGVsc1wiO1xuXG5leHBvcnQgY29uc3QgYm9va2luZ0NhbGVuZGFyU2xvdFNlc3Npb25GYWN0b3J5ID0gKGFwaUJvb2tpbmdTbG90U2Vzc2lvbjogQXBpQm9va2luZ0NhbGVuZGFyU2xvdFNlc3Npb24pID0+XG4gIG5ldyBCb29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbihcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uaWQsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnNlY3Rpb25faWQsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnNsb3RfaWQsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnRlYW1faWQsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLmVuZF90aW1lLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5zZWN0aW9uX25hbWUsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnN0YXJ0X3RpbWUsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnRlYW1fbmFtZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uaXNfb3ZlcmJvb2tlZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24udHlwZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubG9jYXRpb25fem9uZXNfdGFrZW4sXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnNsb3RfaW5kZXgsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLmNvbW1lbnQsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLmxvY2F0aW9uX3BhcnRfaWQsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLmxvY2F0aW9uX3BhcnRfbmFtZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubG9jYXRpb25faWQsXG4gICk7XG4iXX0=
2
+ export 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);
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2luZy1jYWxlbmRhci1zbG90LXNlc3Npb24tZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc2VydmljZXMvZmFjdG9yaWVzL2Jvb2tpbmctY2FsZW5kYXItc2xvdC1zZXNzaW9uLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRXhELE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLENBQUMscUJBQW9ELEVBQUUsRUFBRSxDQUN4RyxJQUFJLDBCQUEwQixDQUM1QixxQkFBcUIsQ0FBQyxFQUFFLEVBQ3hCLHFCQUFxQixDQUFDLFVBQVUsRUFDaEMscUJBQXFCLENBQUMsT0FBTyxFQUM3QixxQkFBcUIsQ0FBQyxPQUFPLEVBQzdCLHFCQUFxQixDQUFDLFFBQVEsRUFDOUIscUJBQXFCLENBQUMsWUFBWSxFQUNsQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQ2hDLHFCQUFxQixDQUFDLFNBQVMsRUFDL0IscUJBQXFCLENBQUMsYUFBYSxFQUNuQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQzFCLHFCQUFxQixDQUFDLG9CQUFvQixFQUMxQyxxQkFBcUIsQ0FBQyxVQUFVLEVBQ2hDLHFCQUFxQixDQUFDLE9BQU8sRUFDN0IscUJBQXFCLENBQUMsZ0JBQWdCLEVBQ3RDLHFCQUFxQixDQUFDLGtCQUFrQixFQUN4QyxxQkFBcUIsQ0FBQyxXQUFXLEVBQ2pDLHFCQUFxQixDQUFDLE1BQU0sQ0FDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXBpQm9va2luZ0NhbGVuZGFyU2xvdFNlc3Npb259IGZyb20gXCIuLi8uLi9hcGktbW9kZWxzXCI7XG5pbXBvcnQge0Jvb2tpbmdDYWxlbmRhclNsb3RTZXNzaW9ufSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XG5cbmV4cG9ydCBjb25zdCBib29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbkZhY3RvcnkgPSAoYXBpQm9va2luZ1Nsb3RTZXNzaW9uOiBBcGlCb29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbikgPT5cbiAgbmV3IEJvb2tpbmdDYWxlbmRhclNsb3RTZXNzaW9uKFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc2VjdGlvbl9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc2xvdF9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24udGVhbV9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uZW5kX3RpbWUsXG4gICAgYXBpQm9va2luZ1Nsb3RTZXNzaW9uLnNlY3Rpb25fbmFtZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc3RhcnRfdGltZSxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24udGVhbV9uYW1lLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5pc19vdmVyYm9va2VkLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi50eXBlLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5sb2NhdGlvbl96b25lc190YWtlbixcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uc2xvdF9pbmRleCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24uY29tbWVudCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubG9jYXRpb25fcGFydF9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ubG9jYXRpb25fcGFydF9uYW1lLFxuICAgIGFwaUJvb2tpbmdTbG90U2Vzc2lvbi5sb2NhdGlvbl9pZCxcbiAgICBhcGlCb29raW5nU2xvdFNlc3Npb24ucmVwZWF0LFxuICApO1xuIl19
@@ -127,42 +127,75 @@ class ActivityInvite {
127
127
  }
128
128
  }
129
129
 
130
- class ActivityLocation {
131
- constructor(id, club_id, section_id, active, mun_location_city_area, mun_location_name, name) {
130
+ class ActivityLocationTag {
131
+ constructor(id, club_id, section_id, name) {
132
132
  this.id = id;
133
133
  this.club_id = club_id;
134
134
  this.section_id = section_id;
135
- this.active = active;
136
- this.mun_location_city_area = mun_location_city_area;
137
- this.mun_location_name = mun_location_name;
138
135
  this.name = name;
139
136
  }
137
+ static asFormGroup(tag) {
138
+ return new FormGroup({
139
+ id: new FormControl((tag === null || tag === void 0 ? void 0 : tag.id) || ''),
140
+ name: new FormControl((tag === null || tag === void 0 ? void 0 : tag.name) || '', Validators.required),
141
+ });
142
+ }
140
143
  }
141
144
 
142
- class ActivityLocationGroup {
143
- constructor(id, club_id, section_id, active, name, locations) {
145
+ class ActivityLocationPart {
146
+ constructor(id, name) {
144
147
  this.id = id;
145
- this.club_id = club_id;
146
- this.section_id = section_id;
147
- this.active = active;
148
148
  this.name = name;
149
- this.locations = locations;
149
+ }
150
+ static asFormGroup(tag) {
151
+ return new FormGroup({
152
+ id: new FormControl((tag === null || tag === void 0 ? void 0 : tag.id) || ''),
153
+ name: new FormControl((tag === null || tag === void 0 ? void 0 : tag.name) || '', Validators.required),
154
+ });
150
155
  }
151
156
  }
152
157
 
153
- class ActivityLocationTag {
154
- constructor(id, club_id, section_id, name) {
158
+ class ActivityLocation {
159
+ constructor(id, club_id, section_id, group_id, active, mun_location_city_area, mun_location_name, name, tags, parts) {
155
160
  this.id = id;
156
161
  this.club_id = club_id;
157
162
  this.section_id = section_id;
163
+ this.group_id = group_id;
164
+ this.active = active;
165
+ this.mun_location_city_area = mun_location_city_area;
166
+ this.mun_location_name = mun_location_name;
158
167
  this.name = name;
168
+ this.tags = tags;
169
+ this.parts = parts;
170
+ }
171
+ static asFormGroup(location) {
172
+ const tags = [];
173
+ const parts = [];
174
+ if (location === null || location === void 0 ? void 0 : location.tags) {
175
+ location.tags.forEach((tag) => tags.push(ActivityLocationTag.asFormGroup(tag)));
176
+ }
177
+ if (location === null || location === void 0 ? void 0 : location.parts) {
178
+ location.parts.forEach((part) => parts.push(ActivityLocationPart.asFormGroup(part)));
179
+ }
180
+ return new FormGroup({
181
+ id: new FormControl((location === null || location === void 0 ? void 0 : location.id) || ''),
182
+ club_id: new FormControl((location === null || location === void 0 ? void 0 : location.club_id) || '', Validators.required),
183
+ active: new FormControl(typeof (location === null || location === void 0 ? void 0 : location.active) !== 'undefined' ? location === null || location === void 0 ? void 0 : location.active : false),
184
+ group_id: new FormControl((location === null || location === void 0 ? void 0 : location.group_id) || ''),
185
+ tags: new FormArray(tags),
186
+ parts: new FormArray(parts),
187
+ });
159
188
  }
160
189
  }
161
190
 
162
- class ActivityLocationPart {
163
- constructor(id, name) {
191
+ class ActivityLocationGroup {
192
+ constructor(id, club_id, section_id, active, name, locations) {
164
193
  this.id = id;
194
+ this.club_id = club_id;
195
+ this.section_id = section_id;
196
+ this.active = active;
165
197
  this.name = name;
198
+ this.locations = locations;
166
199
  }
167
200
  }
168
201
 
@@ -276,7 +309,7 @@ class BookingCalendar {
276
309
  }
277
310
 
278
311
  class BookingCalendarApplicationTime {
279
- 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) {
312
+ 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) {
280
313
  this.id = id;
281
314
  this.section_id = section_id;
282
315
  this.slot_id = slot_id;
@@ -292,6 +325,7 @@ class BookingCalendarApplicationTime {
292
325
  this.location_part_id = location_part_id;
293
326
  this.location_part_name = location_part_name;
294
327
  this.location_id = location_id;
328
+ this.repeat = repeat;
295
329
  }
296
330
  static asFormGroup(session) {
297
331
  return new FormGroup({
@@ -308,12 +342,13 @@ class BookingCalendarApplicationTime {
308
342
  reviewer_comment: new FormControl((session === null || session === void 0 ? void 0 : session.reviewer_comment) || null),
309
343
  status: new FormControl((session === null || session === void 0 ? void 0 : session.status) || ''),
310
344
  location_part_id: new FormControl((session === null || session === void 0 ? void 0 : session.location_part_id) || ''),
345
+ repeat: new FormControl((session === null || session === void 0 ? void 0 : session.repeat) || false),
311
346
  });
312
347
  }
313
348
  }
314
349
 
315
350
  class BookingCalendarSlot {
316
- constructor(id, calendar_id, calendar_status, location_id, color, day, end_time, group_id, location_name, number_of_available_sessions, sessions, open_sessions, start_time, type, repeat, update_repeating, reserved_time_enabled, repeat_num, repeat_to_day, repeat_type, reserved_time, reserved_time_position, application_times) {
351
+ constructor(id, calendar_id, calendar_status, location_id, color, day, end_time, group_id, location_name, number_of_available_sessions, sessions, open_sessions, start_time, type, repeat, update_repeating, reserved_time_enabled, repeat_num, repeat_to_day, repeat_type, reserved_time, reserved_time_position, application_times, last_repeating_date) {
317
352
  this.id = id;
318
353
  this.calendar_id = calendar_id;
319
354
  this.calendar_status = calendar_status;
@@ -337,6 +372,7 @@ class BookingCalendarSlot {
337
372
  this.reserved_time = reserved_time;
338
373
  this.reserved_time_position = reserved_time_position;
339
374
  this.application_times = application_times;
375
+ this.last_repeating_date = last_repeating_date;
340
376
  }
341
377
  static asFormGroup(slot) {
342
378
  return new FormGroup({
@@ -362,7 +398,7 @@ class BookingCalendarSlot {
362
398
  }
363
399
 
364
400
  class BookingCalendarSlotSession {
365
- 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) {
401
+ 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) {
366
402
  this.id = id;
367
403
  this.section_id = section_id;
368
404
  this.slot_id = slot_id;
@@ -379,6 +415,7 @@ class BookingCalendarSlotSession {
379
415
  this.location_part_id = location_part_id;
380
416
  this.location_part_name = location_part_name;
381
417
  this.location_id = location_id;
418
+ this.repeat = repeat;
382
419
  }
383
420
  static asFormGroup(session) {
384
421
  return new FormGroup({
@@ -395,6 +432,7 @@ class BookingCalendarSlotSession {
395
432
  location_zones_taken: new FormControl((session === null || session === void 0 ? void 0 : session.location_zones_taken) || 1, [Validators.min(1), Validators.required]),
396
433
  comment: new FormControl((session === null || session === void 0 ? void 0 : session.comment) || ''),
397
434
  location_part_id: new FormControl((session === null || session === void 0 ? void 0 : session.location_part_id) || ''),
435
+ repeat: new FormControl((session === null || session === void 0 ? void 0 : session.repeat) || false),
398
436
  });
399
437
  }
400
438
  }
@@ -1487,14 +1525,18 @@ const unpaidInvoiceFactory = (apiUnpaidInvoice) => new UnpaidMemberInvoice(apiUn
1487
1525
 
1488
1526
  const activityInviteFactory = (apiActivityInvite) => new ActivityInvite(apiActivityInvite.id, activityFactory(apiActivityInvite.activity), apiActivityInvite.comment, apiActivityInvite.created, apiActivityInvite.has_unpaid_invoices, apiActivityInvite.last_invite, apiActivityInvite.leader, searchMemberFactory(apiActivityInvite.member), apiActivityInvite.next_invite, apiActivityInvite.reminded, apiActivityInvite.response_date, apiActivityInvite.status, apiActivityInvite.token, apiActivityInvite.unpaid_invoices && apiActivityInvite.unpaid_invoices.length ? apiActivityInvite.unpaid_invoices.map((apiUnpaidInvoice) => unpaidInvoiceFactory(apiUnpaidInvoice)) : [], apiActivityInvite.updated);
1489
1527
 
1490
- const activityLocationFactory = (apiActivityLocation) => new ActivityLocation(apiActivityLocation.id, apiActivityLocation.club_id, apiActivityLocation.section_id, apiActivityLocation.active, apiActivityLocation.mun_location_city_area, apiActivityLocation.mun_location_name, apiActivityLocation.name);
1528
+ const activityLocationTagFactory = (apiActivityLocationTag) => {
1529
+ return new ActivityLocationTag(apiActivityLocationTag.id, apiActivityLocationTag.club_id, apiActivityLocationTag.section_id, apiActivityLocationTag.name);
1530
+ };
1491
1531
 
1492
- const activityLocationGroupFactory = (apiActivityLocationGroup) => {
1493
- return new ActivityLocationGroup(apiActivityLocationGroup.id, apiActivityLocationGroup.club_id, apiActivityLocationGroup.section_id, apiActivityLocationGroup.active, apiActivityLocationGroup.name, apiActivityLocationGroup.locations && apiActivityLocationGroup.locations.length ? apiActivityLocationGroup.locations.map((apiActivityLocation) => activityLocationFactory(apiActivityLocation)) : []);
1532
+ const activityLocationPartFactory = (apiActivityLocationPart) => {
1533
+ return new ActivityLocationPart(apiActivityLocationPart.id, apiActivityLocationPart.name);
1494
1534
  };
1495
1535
 
1496
- const activityLocationTagFactory = (apiActivityLocationTag) => {
1497
- return new ActivityLocationTag(apiActivityLocationTag.id, apiActivityLocationTag.club_id, apiActivityLocationTag.section_id, apiActivityLocationTag.name);
1536
+ const activityLocationFactory = (apiActivityLocation) => new ActivityLocation(apiActivityLocation.id, apiActivityLocation.club_id, apiActivityLocation.section_id, apiActivityLocation.group_id, apiActivityLocation.active, apiActivityLocation.mun_location_city_area, apiActivityLocation.mun_location_name, apiActivityLocation.name, apiActivityLocation.tags && apiActivityLocation.tags.length > 0 ? apiActivityLocation.tags.map((apiActivityLocationTag) => activityLocationTagFactory(apiActivityLocationTag)) : [], apiActivityLocation.parts && apiActivityLocation.parts.length > 0 ? apiActivityLocation.parts.map((apiActivityLocationPart) => activityLocationPartFactory(apiActivityLocationPart)) : []);
1537
+
1538
+ const activityLocationGroupFactory = (apiActivityLocationGroup) => {
1539
+ return new ActivityLocationGroup(apiActivityLocationGroup.id, apiActivityLocationGroup.club_id, apiActivityLocationGroup.section_id, apiActivityLocationGroup.active, apiActivityLocationGroup.name, apiActivityLocationGroup.locations && apiActivityLocationGroup.locations.length ? apiActivityLocationGroup.locations.map((apiActivityLocation) => activityLocationFactory(apiActivityLocation)) : []);
1498
1540
  };
1499
1541
 
1500
1542
  const activitySettingsFactory = (apiActivitySettings) => new ActivitySettings(apiActivitySettings.day_options, apiActivitySettings.hour_options, apiActivitySettings.invite_group_options, apiActivitySettings.invite_settings_options, apiActivitySettings.max_attendance_options, apiActivitySettings.meet_up_time_options, apiActivitySettings.remind_receiver_options, apiActivitySettings.repeat_options, apiActivitySettings.repeat_type_options);
@@ -1513,11 +1555,11 @@ const authFactory = (apiAuth) => new Auth(apiAuth.id, apiAuth.name, apiAuth.club
1513
1555
 
1514
1556
  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);
1515
1557
 
1516
- 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);
1558
+ 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);
1517
1559
 
1518
- 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);
1560
+ 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);
1519
1561
 
1520
- 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)) : []);
1562
+ 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);
1521
1563
 
1522
1564
  const bookingSettingsFactory = (apiBookingSettings) => new BookingSettings(apiBookingSettings.id, apiBookingSettings.calendar_step, apiBookingSettings.calendar_min_time, apiBookingSettings.calendar_max_time, apiBookingSettings.should_split_booking_into_zones);
1523
1565
 
@@ -1701,10 +1743,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
1701
1743
  }]
1702
1744
  }], ctorParameters: function () { return [{ type: ApiService }]; } });
1703
1745
 
1704
- const activityLocationPartFactory = (apiActivityLocationPart) => {
1705
- return new ActivityLocationPart(apiActivityLocationPart.id, apiActivityLocationPart.name);
1706
- };
1707
-
1708
1746
  const MEMBER_ACTIVITY_INVITE_PATH = ':memberId/activities/:activityInviteId/';
1709
1747
  const MEMBER_ACTIVITY_INVITES_PATH = ':memberId/activities/';
1710
1748
  const MEMBER_CALENDAR_PATH = ':memberId/activities/calendar/';
@@ -1721,6 +1759,7 @@ const CLUB_ACTIVITY_SETTINGS_PATH = ':clubId/activities/settings/';
1721
1759
  const TEAM_ACTIVITY_TYPES_PATH = ':teamId/activities/types/';
1722
1760
  const TEAM_CALENDAR_PATH = ':teamId/activities/calendar/';
1723
1761
  const CLUB_ACTIVITY_LOCATIONS_PATH = ':clubId/activities/locations/';
1762
+ const CLUB_ACTIVITY_LOCATION_PATH = ':clubId/activities/locations/:locationId/';
1724
1763
  const CLUB_ACTIVITY_LOCATION_GROUPS_PATH = ':clubId/activities/locations/groups/';
1725
1764
  const CLUB_ACTIVITY_LOCATION_TAGS_PATH = ':clubId/activities/locations/tags/';
1726
1765
  const CLUB_ACTIVITY_LOCATION_PARTS_PATH = ':clubId/activities/locations/:locationId/parts/';
@@ -1800,8 +1839,14 @@ class ActivityService {
1800
1839
  return this.apiService
1801
1840
  .getResource(activityFactory, Role.TeamAdmin, TEAM_ACTIVITY_PATH, { teamId, id });
1802
1841
  }
1803
- getTeamActivityLocations(teamId) {
1804
- if (this.activityLocationResponseDate && this.activityLocationResponseDate > sub(new Date(), { hours: 1 })) {
1842
+ getActivityLocations(role, clubOrTeamId, force = false) {
1843
+ if (role == Role.ClubAdmin) {
1844
+ return this.getClubActivityLocations(clubOrTeamId, force);
1845
+ }
1846
+ return this.getTeamActivityLocations(clubOrTeamId, force);
1847
+ }
1848
+ getTeamActivityLocations(teamId, force = false) {
1849
+ if (this.activityLocationResponseDate && this.activityLocationResponseDate > sub(new Date(), { hours: 1 }) && !force) {
1805
1850
  return of(this.activityLocationCollection);
1806
1851
  }
1807
1852
  return this.apiService
@@ -1810,8 +1855,8 @@ class ActivityService {
1810
1855
  this.activityLocationCollection = activityLocationCollection;
1811
1856
  }));
1812
1857
  }
1813
- getClubActivityLocations(clubId) {
1814
- if (this.activityLocationResponseDate && this.activityLocationResponseDate > sub(new Date(), { hours: 1 })) {
1858
+ getClubActivityLocations(clubId, force = false) {
1859
+ if (this.activityLocationResponseDate && this.activityLocationResponseDate > sub(new Date(), { hours: 1 }) && !force) {
1815
1860
  return of(this.activityLocationCollection);
1816
1861
  }
1817
1862
  return this.apiService
@@ -1820,6 +1865,13 @@ class ActivityService {
1820
1865
  this.activityLocationCollection = activityLocationCollection;
1821
1866
  }));
1822
1867
  }
1868
+ updateClubActivityLocation(clubId, location) {
1869
+ return this.apiService
1870
+ .updateResource(activityLocationFactory, Role.ClubAdmin, CLUB_ACTIVITY_LOCATION_PATH, {
1871
+ clubId,
1872
+ locationId: location.id
1873
+ }, location);
1874
+ }
1823
1875
  getActivityLocationGroups(role, clubOrTeamId) {
1824
1876
  if (role == Role.ClubAdmin) {
1825
1877
  return this.getClubActivityLocationGroups(clubOrTeamId);
@@ -1848,6 +1900,26 @@ class ActivityService {
1848
1900
  return this.apiService
1849
1901
  .getCollection(activityLocationTagFactory, Role.TeamAdmin, TEAM_ACTIVITY_LOCATION_TAGS_PATH, { teamId }, { params: { limit: 'null' } });
1850
1902
  }
1903
+ createActivityLocationTag(role, clubOrTeamId, tag) {
1904
+ if (role == Role.ClubAdmin) {
1905
+ return this.createClubActivityLocationTag(clubOrTeamId, tag);
1906
+ }
1907
+ return this.createTeamActivityLocationTag(clubOrTeamId, tag);
1908
+ }
1909
+ createClubActivityLocationTag(clubId, tag) {
1910
+ delete tag.id;
1911
+ return this.apiService
1912
+ .postResource(activityLocationTagFactory, Role.ClubAdmin, CLUB_ACTIVITY_LOCATION_TAGS_PATH, {
1913
+ clubId,
1914
+ }, tag);
1915
+ }
1916
+ createTeamActivityLocationTag(teamId, tag) {
1917
+ delete tag.id;
1918
+ return this.apiService
1919
+ .postResource(activityLocationTagFactory, Role.TeamAdmin, TEAM_ACTIVITY_LOCATION_TAGS_PATH, {
1920
+ teamId,
1921
+ }, tag);
1922
+ }
1851
1923
  getActivityLocationParts(role, clubOrTeamId, locationId) {
1852
1924
  if (role == Role.ClubAdmin) {
1853
1925
  return this.getClubActivityLocationParts(clubOrTeamId, locationId);