@myclub_se/data-access 2.7.3 → 2.7.5
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-activity-location-tag.mjs +1 -1
- package/esm2020/lib/api-models/api-activity-type.mjs +1 -1
- package/esm2020/lib/api-models/api-booking-calendar.mjs +1 -1
- package/esm2020/lib/models/activity-location-tag.mjs +3 -2
- package/esm2020/lib/models/activity-type.mjs +17 -2
- package/esm2020/lib/models/booking-calendar.mjs +2 -4
- package/esm2020/lib/services/activity.service.mjs +66 -1
- package/esm2020/lib/services/booking-calendar.service.mjs +5 -2
- package/esm2020/lib/services/factories/activity-location-tag-factory.mjs +2 -2
- package/esm2020/lib/services/factories/activity-type-factory.mjs +2 -2
- package/esm2020/lib/services/factories/booking-calendar-factory.mjs +2 -2
- package/fesm2015/myclub_se-data-access.mjs +90 -9
- package/fesm2015/myclub_se-data-access.mjs.map +1 -1
- package/fesm2020/myclub_se-data-access.mjs +90 -9
- package/fesm2020/myclub_se-data-access.mjs.map +1 -1
- package/lib/api-models/api-activity-location-tag.d.ts +1 -0
- package/lib/api-models/api-activity-type.d.ts +2 -0
- package/lib/api-models/api-booking-calendar.d.ts +0 -1
- package/lib/models/activity-location-tag.d.ts +2 -1
- package/lib/models/activity-type.d.ts +14 -1
- package/lib/models/booking-calendar.d.ts +1 -3
- package/lib/services/activity.service.d.ts +10 -1
- package/lib/services/booking-calendar.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -128,11 +128,12 @@ class ActivityInvite {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
class ActivityLocationTag {
|
|
131
|
-
constructor(id, club_id, section_id, name) {
|
|
131
|
+
constructor(id, club_id, section_id, name, location_names = []) {
|
|
132
132
|
this.id = id;
|
|
133
133
|
this.club_id = club_id;
|
|
134
134
|
this.section_id = section_id;
|
|
135
135
|
this.name = name;
|
|
136
|
+
this.location_names = location_names;
|
|
136
137
|
}
|
|
137
138
|
static asFormGroup(tag) {
|
|
138
139
|
return new FormGroup({
|
|
@@ -223,13 +224,27 @@ class ActivitySettings {
|
|
|
223
224
|
}
|
|
224
225
|
|
|
225
226
|
class ActivityType {
|
|
226
|
-
constructor(id, club_id, section_id, active, base_type, name) {
|
|
227
|
+
constructor(id, club_id, section_id, active, base_type, name, is_available_for_booking = true, color = '#FFFFFF') {
|
|
227
228
|
this.id = id;
|
|
228
229
|
this.club_id = club_id;
|
|
229
230
|
this.section_id = section_id;
|
|
230
231
|
this.active = active;
|
|
231
232
|
this.base_type = base_type;
|
|
232
233
|
this.name = name;
|
|
234
|
+
this.is_available_for_booking = is_available_for_booking;
|
|
235
|
+
this.color = color;
|
|
236
|
+
}
|
|
237
|
+
static asFormGroup(type) {
|
|
238
|
+
return new FormGroup({
|
|
239
|
+
id: new FormControl(type?.id || ''),
|
|
240
|
+
club_id: new FormControl(type?.club_id || ''),
|
|
241
|
+
section_id: new FormControl(type?.section_id || ''),
|
|
242
|
+
active: new FormControl(typeof type?.active === 'undefined' ? true : type?.active),
|
|
243
|
+
base_type: new FormControl(type?.base_type || ''),
|
|
244
|
+
name: new FormControl(type?.name || '', Validators.required),
|
|
245
|
+
is_available_for_booking: new FormControl(typeof type?.is_available_for_booking === 'undefined' ? true : type?.is_available_for_booking),
|
|
246
|
+
color: new FormControl(type?.color || '#FFFFFF'),
|
|
247
|
+
});
|
|
233
248
|
}
|
|
234
249
|
}
|
|
235
250
|
|
|
@@ -289,13 +304,12 @@ class Authentication {
|
|
|
289
304
|
}
|
|
290
305
|
|
|
291
306
|
class BookingCalendar {
|
|
292
|
-
constructor(id, club_id, section_id, team_id, club_name,
|
|
307
|
+
constructor(id, club_id, section_id, team_id, club_name, name, section_name, team_name, status) {
|
|
293
308
|
this.id = id;
|
|
294
309
|
this.club_id = club_id;
|
|
295
310
|
this.section_id = section_id;
|
|
296
311
|
this.team_id = team_id;
|
|
297
312
|
this.club_name = club_name;
|
|
298
|
-
this.color = color;
|
|
299
313
|
this.name = name;
|
|
300
314
|
this.section_name = section_name;
|
|
301
315
|
this.team_name = team_name;
|
|
@@ -308,7 +322,6 @@ class BookingCalendar {
|
|
|
308
322
|
section_id: new FormControl(calendar?.section_id || ''),
|
|
309
323
|
team_id: new FormControl(calendar?.team_id || ''),
|
|
310
324
|
club_name: new FormControl(calendar?.club_name || ''),
|
|
311
|
-
color: new FormControl(calendar?.color || '', Validators.required),
|
|
312
325
|
name: new FormControl(calendar?.name || '', Validators.required),
|
|
313
326
|
section_name: new FormControl(calendar?.section_name || ''),
|
|
314
327
|
team_name: new FormControl(calendar?.team_name || ''),
|
|
@@ -1560,7 +1573,7 @@ const unpaidInvoiceFactory = (apiUnpaidInvoice) => new UnpaidMemberInvoice(apiUn
|
|
|
1560
1573
|
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);
|
|
1561
1574
|
|
|
1562
1575
|
const activityLocationTagFactory = (apiActivityLocationTag) => {
|
|
1563
|
-
return new ActivityLocationTag(apiActivityLocationTag.id, apiActivityLocationTag.club_id, apiActivityLocationTag.section_id, apiActivityLocationTag.name);
|
|
1576
|
+
return new ActivityLocationTag(apiActivityLocationTag.id, apiActivityLocationTag.club_id, apiActivityLocationTag.section_id, apiActivityLocationTag.name, apiActivityLocationTag.location_names);
|
|
1564
1577
|
};
|
|
1565
1578
|
|
|
1566
1579
|
const activityLocationPartFactory = (apiActivityLocationPart) => {
|
|
@@ -1575,7 +1588,7 @@ const activityLocationGroupFactory = (apiActivityLocationGroup) => {
|
|
|
1575
1588
|
|
|
1576
1589
|
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);
|
|
1577
1590
|
|
|
1578
|
-
const activityTypeFactory = (apiActivityType) => new ActivityType(apiActivityType.id, apiActivityType.club_id, apiActivityType.section_id, apiActivityType.active, apiActivityType.base_type, apiActivityType.name);
|
|
1591
|
+
const activityTypeFactory = (apiActivityType) => new ActivityType(apiActivityType.id, apiActivityType.club_id, apiActivityType.section_id, apiActivityType.active, apiActivityType.base_type, apiActivityType.name, apiActivityType.is_available_for_booking, apiActivityType.color);
|
|
1579
1592
|
|
|
1580
1593
|
const authSectionFactory = (apiAuthSection) => new AuthSection(apiAuthSection.id, apiAuthSection.name);
|
|
1581
1594
|
|
|
@@ -1587,7 +1600,7 @@ const authTeamFactory = (apiAuthTeam) => new AuthTeam(apiAuthTeam.id, apiAuthTea
|
|
|
1587
1600
|
|
|
1588
1601
|
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);
|
|
1589
1602
|
|
|
1590
|
-
const bookingCalendarFactory = (apiBookingCalendar) => new BookingCalendar(apiBookingCalendar.id, apiBookingCalendar.club_id, apiBookingCalendar.section_id, apiBookingCalendar.team_id, apiBookingCalendar.club_name, apiBookingCalendar.
|
|
1603
|
+
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);
|
|
1591
1604
|
|
|
1592
1605
|
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);
|
|
1593
1606
|
|
|
@@ -1801,8 +1814,10 @@ const CLUB_ACTIVITY_LOCATION_PATH = ':clubId/activities/locations/:locationId/';
|
|
|
1801
1814
|
const CLUB_ACTIVITY_LOCATION_GROUPS_PATH = ':clubId/activities/locations/groups/';
|
|
1802
1815
|
const CLUB_ACTIVITY_LOCATION_GROUP_PATH = ':clubId/activities/locations/groups/:groupId/';
|
|
1803
1816
|
const CLUB_ACTIVITY_LOCATION_TAGS_PATH = ':clubId/activities/locations/tags/';
|
|
1817
|
+
const CLUB_ACTIVITY_LOCATION_TAG_PATH = ':clubId/activities/locations/tags/:tagId/';
|
|
1804
1818
|
const CLUB_ACTIVITY_LOCATION_PARTS_PATH = ':clubId/activities/locations/:locationId/parts/';
|
|
1805
1819
|
const CLUB_ACTIVITY_TYPES_PATH = ':clubId/activities/types/';
|
|
1820
|
+
const CLUB_ACTIVITY_TYPE_PATH = ':clubId/activities/types/:typeId/';
|
|
1806
1821
|
const TEAM_ACTIVITY_LOCATIONS_PATH = ':teamId/activities/locations/';
|
|
1807
1822
|
const TEAM_ACTIVITY_LOCATION_GROUPS_PATH = ':teamId/activities/locations/groups/';
|
|
1808
1823
|
const TEAM_ACTIVITY_LOCATION_TAGS_PATH = ':teamId/activities/locations/tags/';
|
|
@@ -1812,8 +1827,10 @@ const SECTION_ACTIVITY_LOCATION_PATH = ':sectionId/activities/locations/:locatio
|
|
|
1812
1827
|
const SECTION_ACTIVITY_LOCATION_GROUPS_PATH = ':sectionId/activities/locations/groups/';
|
|
1813
1828
|
const SECTION_ACTIVITY_LOCATION_GROUP_PATH = ':sectionId/activities/locations/groups/:groupId/';
|
|
1814
1829
|
const SECTION_ACTIVITY_LOCATION_TAGS_PATH = ':sectionId/activities/locations/tags/';
|
|
1830
|
+
const SECTION_ACTIVITY_LOCATION_TAG_PATH = ':sectionId/activities/locations/tags/:tagId/';
|
|
1815
1831
|
const SECTION_ACTIVITY_LOCATION_PARTS_PATH = ':sectionId/activities/locations/:locationId/parts/';
|
|
1816
1832
|
const SECTION_ACTIVITY_TYPES_PATH = ':sectionId/activities/types/';
|
|
1833
|
+
const SECTION_ACTIVITY_TYPE_PATH = ':sectionId/activities/types/:typeId/';
|
|
1817
1834
|
class ActivityService {
|
|
1818
1835
|
constructor(apiService) {
|
|
1819
1836
|
this.apiService = apiService;
|
|
@@ -2000,6 +2017,7 @@ class ActivityService {
|
|
|
2000
2017
|
}, locationGroup);
|
|
2001
2018
|
}
|
|
2002
2019
|
createSectionActivityLocationGroup(sectionId, locationGroup) {
|
|
2020
|
+
delete locationGroup.id;
|
|
2003
2021
|
return this.apiService
|
|
2004
2022
|
.postResource(activityLocationGroupFactory, Role.SectionAdmin, SECTION_ACTIVITY_LOCATION_GROUPS_PATH, {
|
|
2005
2023
|
sectionId,
|
|
@@ -2056,6 +2074,46 @@ class ActivityService {
|
|
|
2056
2074
|
teamId,
|
|
2057
2075
|
}, tag);
|
|
2058
2076
|
}
|
|
2077
|
+
updateActivityLocationTag(role, clubOrSectionOrTeamId, tag) {
|
|
2078
|
+
if (role == Role.ClubAdmin) {
|
|
2079
|
+
return this.updateClubActivityLocationTag(clubOrSectionOrTeamId, tag);
|
|
2080
|
+
}
|
|
2081
|
+
return this.updateSectionActivityLocationTag(clubOrSectionOrTeamId, tag);
|
|
2082
|
+
}
|
|
2083
|
+
updateClubActivityLocationTag(clubId, tag) {
|
|
2084
|
+
return this.apiService
|
|
2085
|
+
.updateResource(activityLocationTagFactory, Role.ClubAdmin, CLUB_ACTIVITY_LOCATION_TAG_PATH, {
|
|
2086
|
+
clubId,
|
|
2087
|
+
tagId: tag.id,
|
|
2088
|
+
}, tag);
|
|
2089
|
+
}
|
|
2090
|
+
updateSectionActivityLocationTag(sectionId, tag) {
|
|
2091
|
+
return this.apiService
|
|
2092
|
+
.updateResource(activityLocationTagFactory, Role.SectionAdmin, SECTION_ACTIVITY_LOCATION_TAG_PATH, {
|
|
2093
|
+
sectionId,
|
|
2094
|
+
tagId: tag.id,
|
|
2095
|
+
}, tag);
|
|
2096
|
+
}
|
|
2097
|
+
deleteActivityLocationTag(role, clubOrSectionOrTeamId, tag) {
|
|
2098
|
+
if (role == Role.ClubAdmin) {
|
|
2099
|
+
return this.deleteClubActivityLocationTag(clubOrSectionOrTeamId, tag);
|
|
2100
|
+
}
|
|
2101
|
+
return this.deleteSectionActivityLocationTag(clubOrSectionOrTeamId, tag);
|
|
2102
|
+
}
|
|
2103
|
+
deleteClubActivityLocationTag(clubId, tag) {
|
|
2104
|
+
return this.apiService
|
|
2105
|
+
.deleteResource(Role.ClubAdmin, CLUB_ACTIVITY_LOCATION_TAG_PATH, {
|
|
2106
|
+
clubId,
|
|
2107
|
+
tagId: tag.id,
|
|
2108
|
+
});
|
|
2109
|
+
}
|
|
2110
|
+
deleteSectionActivityLocationTag(sectionId, tag) {
|
|
2111
|
+
return this.apiService
|
|
2112
|
+
.deleteResource(Role.SectionAdmin, SECTION_ACTIVITY_LOCATION_TAG_PATH, {
|
|
2113
|
+
sectionId,
|
|
2114
|
+
tagId: tag.id,
|
|
2115
|
+
});
|
|
2116
|
+
}
|
|
2059
2117
|
getActivityLocationParts(role, clubOrSectionOrTeamId, locationId) {
|
|
2060
2118
|
if (role == Role.ClubAdmin) {
|
|
2061
2119
|
return this.getClubActivityLocationParts(clubOrSectionOrTeamId, locationId);
|
|
@@ -2136,6 +2194,26 @@ class ActivityService {
|
|
|
2136
2194
|
return this.apiService
|
|
2137
2195
|
.getCollection(activityTypeFactory, Role.SectionAdmin, SECTION_ACTIVITY_TYPES_PATH, { sectionId }, { params: { limit: 'null' } });
|
|
2138
2196
|
}
|
|
2197
|
+
updateActivityType(role, clubOrSectionOrTeamId, activityType) {
|
|
2198
|
+
if (role === Role.ClubAdmin) {
|
|
2199
|
+
return this.updateClubActivityType(clubOrSectionOrTeamId, activityType);
|
|
2200
|
+
}
|
|
2201
|
+
return this.updateSectionActivityType(clubOrSectionOrTeamId, activityType);
|
|
2202
|
+
}
|
|
2203
|
+
updateClubActivityType(clubId, activityType) {
|
|
2204
|
+
return this.apiService
|
|
2205
|
+
.updateResource(activityTypeFactory, Role.ClubAdmin, CLUB_ACTIVITY_TYPE_PATH, {
|
|
2206
|
+
clubId,
|
|
2207
|
+
typeId: activityType.id,
|
|
2208
|
+
}, activityType);
|
|
2209
|
+
}
|
|
2210
|
+
updateSectionActivityType(sectionId, activityType) {
|
|
2211
|
+
return this.apiService
|
|
2212
|
+
.updateResource(activityTypeFactory, Role.SectionAdmin, SECTION_ACTIVITY_TYPE_PATH, {
|
|
2213
|
+
sectionId,
|
|
2214
|
+
typeId: activityType.id,
|
|
2215
|
+
}, activityType);
|
|
2216
|
+
}
|
|
2139
2217
|
getTeamCalendarEvents(teamId, startDate = null, endDate = null) {
|
|
2140
2218
|
const params = { limit: 'null' };
|
|
2141
2219
|
if (startDate) {
|
|
@@ -2254,7 +2332,7 @@ const TEAM_BOOKING_CALENDAR_SLOT_SESSION_PATH = ':teamId/activities/sessions/:id
|
|
|
2254
2332
|
const TEAM_BOOKING_CALENDAR_APPLICATION_TIMES_PATH = ':teamId/activities/application-times/';
|
|
2255
2333
|
const TEAM_BOOKING_CALENDAR_APPLICATION_TIME_PATH = ':teamId/activities/application-times/:id/';
|
|
2256
2334
|
class BookingSlotFilter {
|
|
2257
|
-
constructor(startDate = null, endDate = null, calendarIds =
|
|
2335
|
+
constructor(startDate = null, endDate = null, calendarIds = [], locationIds = [], tagIds = [], teamIds = [], locationGroupIds = [], hasOpenSessions = null) {
|
|
2258
2336
|
this.startDate = startDate;
|
|
2259
2337
|
this.endDate = endDate;
|
|
2260
2338
|
this.calendarIds = calendarIds;
|
|
@@ -2264,6 +2342,9 @@ class BookingSlotFilter {
|
|
|
2264
2342
|
this.locationGroupIds = locationGroupIds;
|
|
2265
2343
|
this.hasOpenSessions = hasOpenSessions;
|
|
2266
2344
|
}
|
|
2345
|
+
static fromFilter(filter) {
|
|
2346
|
+
return new this(filter.startDate, filter.endDate, filter.calendarIds, filter.locationIds, filter.tagIds, filter.teamIds, filter.locationGroupIds, filter.hasOpenSessions);
|
|
2347
|
+
}
|
|
2267
2348
|
toParams() {
|
|
2268
2349
|
const params = { limit: 'null' };
|
|
2269
2350
|
if (this.startDate) {
|