@myclub_se/data-access 2.5.15 → 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.
- package/esm2020/lib/api-models/api-activity-location.mjs +1 -1
- package/esm2020/lib/models/activity-location-part.mjs +8 -1
- package/esm2020/lib/models/activity-location-tag.mjs +8 -1
- package/esm2020/lib/models/activity-location.mjs +26 -2
- package/esm2020/lib/services/activity.service.mjs +39 -5
- package/esm2020/lib/services/factories/activity-location-factory.mjs +4 -2
- package/fesm2015/myclub_se-data-access.mjs +95 -28
- package/fesm2015/myclub_se-data-access.mjs.map +1 -1
- package/fesm2020/myclub_se-data-access.mjs +95 -28
- package/fesm2020/myclub_se-data-access.mjs.map +1 -1
- package/lib/api-models/api-activity-location.d.ts +5 -0
- package/lib/models/activity-location-part.d.ts +5 -0
- package/lib/models/activity-location-tag.d.ts +5 -0
- package/lib/models/activity-location.d.ts +15 -1
- package/lib/services/activity.service.d.ts +11 -6
- package/package.json +1 -1
|
@@ -127,42 +127,75 @@ class ActivityInvite {
|
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
class
|
|
131
|
-
constructor(id, club_id, section_id,
|
|
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?.id || ''),
|
|
140
|
+
name: new FormControl(tag?.name || '', Validators.required),
|
|
141
|
+
});
|
|
142
|
+
}
|
|
140
143
|
}
|
|
141
144
|
|
|
142
|
-
class
|
|
143
|
-
constructor(id,
|
|
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
|
-
|
|
149
|
+
}
|
|
150
|
+
static asFormGroup(tag) {
|
|
151
|
+
return new FormGroup({
|
|
152
|
+
id: new FormControl(tag?.id || ''),
|
|
153
|
+
name: new FormControl(tag?.name || '', Validators.required),
|
|
154
|
+
});
|
|
150
155
|
}
|
|
151
156
|
}
|
|
152
157
|
|
|
153
|
-
class
|
|
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?.tags) {
|
|
175
|
+
location.tags.forEach((tag) => tags.push(ActivityLocationTag.asFormGroup(tag)));
|
|
176
|
+
}
|
|
177
|
+
if (location?.parts) {
|
|
178
|
+
location.parts.forEach((part) => parts.push(ActivityLocationPart.asFormGroup(part)));
|
|
179
|
+
}
|
|
180
|
+
return new FormGroup({
|
|
181
|
+
id: new FormControl(location?.id || ''),
|
|
182
|
+
club_id: new FormControl(location?.club_id || '', Validators.required),
|
|
183
|
+
active: new FormControl(typeof location?.active !== 'undefined' ? location?.active : false),
|
|
184
|
+
group_id: new FormControl(location?.group_id || ''),
|
|
185
|
+
tags: new FormArray(tags),
|
|
186
|
+
parts: new FormArray(parts),
|
|
187
|
+
});
|
|
159
188
|
}
|
|
160
189
|
}
|
|
161
190
|
|
|
162
|
-
class
|
|
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
|
|
|
@@ -1489,14 +1522,18 @@ const unpaidInvoiceFactory = (apiUnpaidInvoice) => new UnpaidMemberInvoice(apiUn
|
|
|
1489
1522
|
|
|
1490
1523
|
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);
|
|
1491
1524
|
|
|
1492
|
-
const
|
|
1525
|
+
const activityLocationTagFactory = (apiActivityLocationTag) => {
|
|
1526
|
+
return new ActivityLocationTag(apiActivityLocationTag.id, apiActivityLocationTag.club_id, apiActivityLocationTag.section_id, apiActivityLocationTag.name);
|
|
1527
|
+
};
|
|
1493
1528
|
|
|
1494
|
-
const
|
|
1495
|
-
return new
|
|
1529
|
+
const activityLocationPartFactory = (apiActivityLocationPart) => {
|
|
1530
|
+
return new ActivityLocationPart(apiActivityLocationPart.id, apiActivityLocationPart.name);
|
|
1496
1531
|
};
|
|
1497
1532
|
|
|
1498
|
-
const
|
|
1499
|
-
|
|
1533
|
+
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)) : []);
|
|
1534
|
+
|
|
1535
|
+
const activityLocationGroupFactory = (apiActivityLocationGroup) => {
|
|
1536
|
+
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)) : []);
|
|
1500
1537
|
};
|
|
1501
1538
|
|
|
1502
1539
|
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);
|
|
@@ -1702,10 +1739,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
1702
1739
|
}]
|
|
1703
1740
|
}], ctorParameters: function () { return [{ type: ApiService }]; } });
|
|
1704
1741
|
|
|
1705
|
-
const activityLocationPartFactory = (apiActivityLocationPart) => {
|
|
1706
|
-
return new ActivityLocationPart(apiActivityLocationPart.id, apiActivityLocationPart.name);
|
|
1707
|
-
};
|
|
1708
|
-
|
|
1709
1742
|
const MEMBER_ACTIVITY_INVITE_PATH = ':memberId/activities/:activityInviteId/';
|
|
1710
1743
|
const MEMBER_ACTIVITY_INVITES_PATH = ':memberId/activities/';
|
|
1711
1744
|
const MEMBER_CALENDAR_PATH = ':memberId/activities/calendar/';
|
|
@@ -1722,6 +1755,7 @@ const CLUB_ACTIVITY_SETTINGS_PATH = ':clubId/activities/settings/';
|
|
|
1722
1755
|
const TEAM_ACTIVITY_TYPES_PATH = ':teamId/activities/types/';
|
|
1723
1756
|
const TEAM_CALENDAR_PATH = ':teamId/activities/calendar/';
|
|
1724
1757
|
const CLUB_ACTIVITY_LOCATIONS_PATH = ':clubId/activities/locations/';
|
|
1758
|
+
const CLUB_ACTIVITY_LOCATION_PATH = ':clubId/activities/locations/:locationId/';
|
|
1725
1759
|
const CLUB_ACTIVITY_LOCATION_GROUPS_PATH = ':clubId/activities/locations/groups/';
|
|
1726
1760
|
const CLUB_ACTIVITY_LOCATION_TAGS_PATH = ':clubId/activities/locations/tags/';
|
|
1727
1761
|
const CLUB_ACTIVITY_LOCATION_PARTS_PATH = ':clubId/activities/locations/:locationId/parts/';
|
|
@@ -1801,8 +1835,14 @@ class ActivityService {
|
|
|
1801
1835
|
return this.apiService
|
|
1802
1836
|
.getResource(activityFactory, Role.TeamAdmin, TEAM_ACTIVITY_PATH, { teamId, id });
|
|
1803
1837
|
}
|
|
1804
|
-
|
|
1805
|
-
if (
|
|
1838
|
+
getActivityLocations(role, clubOrTeamId, force = false) {
|
|
1839
|
+
if (role == Role.ClubAdmin) {
|
|
1840
|
+
return this.getClubActivityLocations(clubOrTeamId, force);
|
|
1841
|
+
}
|
|
1842
|
+
return this.getTeamActivityLocations(clubOrTeamId, force);
|
|
1843
|
+
}
|
|
1844
|
+
getTeamActivityLocations(teamId, force = false) {
|
|
1845
|
+
if (this.activityLocationResponseDate && this.activityLocationResponseDate > sub(new Date(), { hours: 1 }) && !force) {
|
|
1806
1846
|
return of(this.activityLocationCollection);
|
|
1807
1847
|
}
|
|
1808
1848
|
return this.apiService
|
|
@@ -1811,8 +1851,8 @@ class ActivityService {
|
|
|
1811
1851
|
this.activityLocationCollection = activityLocationCollection;
|
|
1812
1852
|
}));
|
|
1813
1853
|
}
|
|
1814
|
-
getClubActivityLocations(clubId) {
|
|
1815
|
-
if (this.activityLocationResponseDate && this.activityLocationResponseDate > sub(new Date(), { hours: 1 })) {
|
|
1854
|
+
getClubActivityLocations(clubId, force = false) {
|
|
1855
|
+
if (this.activityLocationResponseDate && this.activityLocationResponseDate > sub(new Date(), { hours: 1 }) && !force) {
|
|
1816
1856
|
return of(this.activityLocationCollection);
|
|
1817
1857
|
}
|
|
1818
1858
|
return this.apiService
|
|
@@ -1821,6 +1861,13 @@ class ActivityService {
|
|
|
1821
1861
|
this.activityLocationCollection = activityLocationCollection;
|
|
1822
1862
|
}));
|
|
1823
1863
|
}
|
|
1864
|
+
updateClubActivityLocation(clubId, location) {
|
|
1865
|
+
return this.apiService
|
|
1866
|
+
.updateResource(activityLocationFactory, Role.ClubAdmin, CLUB_ACTIVITY_LOCATION_PATH, {
|
|
1867
|
+
clubId,
|
|
1868
|
+
locationId: location.id
|
|
1869
|
+
}, location);
|
|
1870
|
+
}
|
|
1824
1871
|
getActivityLocationGroups(role, clubOrTeamId) {
|
|
1825
1872
|
if (role == Role.ClubAdmin) {
|
|
1826
1873
|
return this.getClubActivityLocationGroups(clubOrTeamId);
|
|
@@ -1849,6 +1896,26 @@ class ActivityService {
|
|
|
1849
1896
|
return this.apiService
|
|
1850
1897
|
.getCollection(activityLocationTagFactory, Role.TeamAdmin, TEAM_ACTIVITY_LOCATION_TAGS_PATH, { teamId }, { params: { limit: 'null' } });
|
|
1851
1898
|
}
|
|
1899
|
+
createActivityLocationTag(role, clubOrTeamId, tag) {
|
|
1900
|
+
if (role == Role.ClubAdmin) {
|
|
1901
|
+
return this.createClubActivityLocationTag(clubOrTeamId, tag);
|
|
1902
|
+
}
|
|
1903
|
+
return this.createTeamActivityLocationTag(clubOrTeamId, tag);
|
|
1904
|
+
}
|
|
1905
|
+
createClubActivityLocationTag(clubId, tag) {
|
|
1906
|
+
delete tag.id;
|
|
1907
|
+
return this.apiService
|
|
1908
|
+
.postResource(activityLocationTagFactory, Role.ClubAdmin, CLUB_ACTIVITY_LOCATION_TAGS_PATH, {
|
|
1909
|
+
clubId,
|
|
1910
|
+
}, tag);
|
|
1911
|
+
}
|
|
1912
|
+
createTeamActivityLocationTag(teamId, tag) {
|
|
1913
|
+
delete tag.id;
|
|
1914
|
+
return this.apiService
|
|
1915
|
+
.postResource(activityLocationTagFactory, Role.TeamAdmin, TEAM_ACTIVITY_LOCATION_TAGS_PATH, {
|
|
1916
|
+
teamId,
|
|
1917
|
+
}, tag);
|
|
1918
|
+
}
|
|
1852
1919
|
getActivityLocationParts(role, clubOrTeamId, locationId) {
|
|
1853
1920
|
if (role == Role.ClubAdmin) {
|
|
1854
1921
|
return this.getClubActivityLocationParts(clubOrTeamId, locationId);
|