@myclub_se/data-access 3.7.4 → 3.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/esm2022/index.mjs +2 -1
- package/esm2022/lib/api-models/api-activity-waiting-list-entry.mjs +2 -0
- package/esm2022/lib/api-models/api-activity.mjs +1 -1
- package/esm2022/lib/api-models/api-event.mjs +1 -1
- package/esm2022/lib/api-models/api-feature-flags.mjs +1 -1
- package/esm2022/lib/api-models/api-open-activity.mjs +1 -1
- package/esm2022/lib/api-models/index.mjs +2 -1
- package/esm2022/lib/models/activity-waiting-list-entry.mjs +35 -0
- package/esm2022/lib/models/activity.mjs +19 -3
- package/esm2022/lib/models/event.mjs +12 -2
- package/esm2022/lib/models/feature-flags.mjs +5 -3
- package/esm2022/lib/models/index.mjs +2 -1
- package/esm2022/lib/models/open-activity.mjs +23 -2
- package/esm2022/lib/services/activity.service.mjs +106 -6
- package/esm2022/lib/services/api.service.mjs +9 -1
- package/esm2022/lib/services/factories/activity-factory.mjs +2 -2
- package/esm2022/lib/services/factories/activity-waiting-list-entry-factory.mjs +3 -0
- package/esm2022/lib/services/factories/event-factory.mjs +2 -2
- package/esm2022/lib/services/factories/feature-flags-factory.mjs +2 -2
- package/esm2022/lib/services/factories/index.mjs +2 -1
- package/esm2022/lib/services/factories/open-activity-factory.mjs +2 -2
- package/esm2022/lib/store/actions/activity.actions.mjs +117 -1
- package/esm2022/lib/store/effects/activity.effects.mjs +121 -6
- package/esm2022/lib/store/interfaces/team-activity.interface.mjs +1 -1
- package/esm2022/lib/store/reducers/calendar.reducer.mjs +143 -6
- package/esm2022/lib/store/reducers/public.reducer.mjs +42 -3
- package/esm2022/lib/store/selectors/calendar.selectors.mjs +6 -1
- package/esm2022/lib/store/selectors/public.selectors.mjs +4 -1
- package/esm2022/lib/store/state/calendar.state.mjs +2 -1
- package/esm2022/lib/store/state/public.state.mjs +4 -1
- package/esm2022/lib/types/activity-waitlist-status-type.mjs +2 -0
- package/esm2022/lib/types/index.mjs +2 -1
- package/esm2022/lib/utils/index.mjs +2 -0
- package/esm2022/lib/utils/is-booking-reserved-for-waitlist.mjs +20 -0
- package/fesm2022/myclub_se-data-access.mjs +657 -24
- package/fesm2022/myclub_se-data-access.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/api-models/api-activity-waiting-list-entry.d.ts +17 -0
- package/lib/api-models/api-activity.d.ts +7 -0
- package/lib/api-models/api-event.d.ts +5 -0
- package/lib/api-models/api-feature-flags.d.ts +1 -0
- package/lib/api-models/api-open-activity.d.ts +9 -0
- package/lib/api-models/index.d.ts +1 -0
- package/lib/models/activity-waiting-list-entry.d.ts +18 -0
- package/lib/models/activity.d.ts +8 -1
- package/lib/models/event.d.ts +6 -1
- package/lib/models/feature-flags.d.ts +2 -1
- package/lib/models/index.d.ts +1 -0
- package/lib/models/open-activity.d.ts +10 -1
- package/lib/services/activity.service.d.ts +29 -4
- package/lib/services/api.service.d.ts +6 -0
- package/lib/services/factories/activity-waiting-list-entry-factory.d.ts +3 -0
- package/lib/services/factories/index.d.ts +1 -0
- package/lib/store/actions/activity.actions.d.ts +476 -2
- package/lib/store/effects/activity.effects.d.ts +169 -1
- package/lib/store/interfaces/team-activity.interface.d.ts +3 -1
- package/lib/store/selectors/calendar.selectors.d.ts +8 -0
- package/lib/store/selectors/public.selectors.d.ts +3 -0
- package/lib/store/state/calendar.state.d.ts +2 -1
- package/lib/store/state/public.state.d.ts +4 -1
- package/lib/types/activity-waitlist-status-type.d.ts +1 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/is-booking-reserved-for-waitlist.d.ts +21 -0
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Observable } from 'rxjs';
|
|
2
2
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
3
|
-
import { Activity, ActivityExtraMember, ActivityInvite, ActivityQuestion, ActivitySettings, Guest, MemberActivityInvite, OpenActivity, SearchMember } from '../../models';
|
|
3
|
+
import { Activity, ActivityExtraMember, ActivityInvite, ActivityQuestion, ActivitySettings, ActivityWaitingListEntry, Guest, MemberActivityInvite, OpenActivity, SearchMember } from '../../models';
|
|
4
4
|
import { ExtraMembersMixin } from './mixins/extra-members-mixin';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare class ActivityEffects extends ExtraMembersMixin {
|
|
@@ -180,6 +180,10 @@ export declare class ActivityEffects extends ExtraMembersMixin {
|
|
|
180
180
|
updateMemberActivityInvite$: Observable<({
|
|
181
181
|
payload: ActivityInvite;
|
|
182
182
|
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.UpdateMemberActivityInviteSuccess>) | ({
|
|
183
|
+
payload: {
|
|
184
|
+
activityInvite: ActivityInvite;
|
|
185
|
+
};
|
|
186
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RemoveMemberActivityInviteSuccess>) | ({
|
|
183
187
|
payload: HttpErrorResponse;
|
|
184
188
|
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.UpdateMemberActivityInviteFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
185
189
|
updateMemberOpenActivity$: Observable<({
|
|
@@ -190,11 +194,19 @@ export declare class ActivityEffects extends ExtraMembersMixin {
|
|
|
190
194
|
updatePublicActivityInvite$: Observable<({
|
|
191
195
|
payload: ActivityInvite;
|
|
192
196
|
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.UpdatePublicActivityInviteSuccess>) | ({
|
|
197
|
+
payload: {
|
|
198
|
+
activityInvite: ActivityInvite;
|
|
199
|
+
};
|
|
200
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RemovePublicActivityInviteSuccess>) | ({
|
|
193
201
|
payload: HttpErrorResponse;
|
|
194
202
|
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.UpdatePublicActivityInviteFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
195
203
|
updatePublicMemberActivityInvite$: Observable<({
|
|
196
204
|
payload: ActivityInvite;
|
|
197
205
|
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.UpdatePublicMemberActivityInviteSuccess>) | ({
|
|
206
|
+
payload: {
|
|
207
|
+
activityInvite: ActivityInvite;
|
|
208
|
+
};
|
|
209
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RemovePublicMemberActivityInviteSuccess>) | ({
|
|
198
210
|
payload: HttpErrorResponse;
|
|
199
211
|
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.UpdatePublicMemberActivityInviteFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
200
212
|
updatePublicMemberOpenActivity$: Observable<({
|
|
@@ -220,6 +232,162 @@ export declare class ActivityEffects extends ExtraMembersMixin {
|
|
|
220
232
|
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.UpdateTeamActivityQuestionSuccess>) | ({
|
|
221
233
|
payload: HttpErrorResponse;
|
|
222
234
|
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.UpdateTeamActivityQuestionFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
235
|
+
joinWaitingList$: Observable<({
|
|
236
|
+
payload: {
|
|
237
|
+
memberId: string;
|
|
238
|
+
activityId: string;
|
|
239
|
+
};
|
|
240
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrieveMemberActivity>) | ({
|
|
241
|
+
payload: {
|
|
242
|
+
memberId: string;
|
|
243
|
+
activityInviteId: string;
|
|
244
|
+
};
|
|
245
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrieveMemberActivityInvitation>) | ({
|
|
246
|
+
payload: {
|
|
247
|
+
memberId: string;
|
|
248
|
+
activityId: string;
|
|
249
|
+
};
|
|
250
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrieveMemberOpenActivity>) | ({
|
|
251
|
+
payload: ActivityWaitingListEntry;
|
|
252
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.JoinWaitingListSuccess>) | ({
|
|
253
|
+
payload: HttpErrorResponse;
|
|
254
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.JoinWaitingListFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
255
|
+
leaveWaitingList$: Observable<({
|
|
256
|
+
payload: {
|
|
257
|
+
memberId: string;
|
|
258
|
+
activityId: string;
|
|
259
|
+
};
|
|
260
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrieveMemberActivity>) | ({
|
|
261
|
+
payload: {
|
|
262
|
+
memberId: string;
|
|
263
|
+
activityInviteId: string;
|
|
264
|
+
};
|
|
265
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrieveMemberActivityInvitation>) | ({
|
|
266
|
+
payload: {
|
|
267
|
+
memberId: string;
|
|
268
|
+
activityId: string;
|
|
269
|
+
};
|
|
270
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrieveMemberOpenActivity>) | ({
|
|
271
|
+
payload: {
|
|
272
|
+
memberId: string;
|
|
273
|
+
activityId: string;
|
|
274
|
+
};
|
|
275
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LeaveWaitingListSuccess>) | ({
|
|
276
|
+
payload: HttpErrorResponse;
|
|
277
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LeaveWaitingListFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
278
|
+
retrieveMemberWaitingListEntry$: Observable<({
|
|
279
|
+
payload: ActivityWaitingListEntry;
|
|
280
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrieveMemberWaitingListEntrySuccess>) | ({
|
|
281
|
+
payload: HttpErrorResponse;
|
|
282
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrieveMemberWaitingListEntryFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
283
|
+
loadTeamActivityWaitingList$: Observable<({
|
|
284
|
+
payload: {
|
|
285
|
+
activityId: string;
|
|
286
|
+
entries: ActivityWaitingListEntry[];
|
|
287
|
+
outstandingOffer: ActivityWaitingListEntry | null;
|
|
288
|
+
};
|
|
289
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LoadTeamActivityWaitingListSuccess>) | ({
|
|
290
|
+
payload: HttpErrorResponse;
|
|
291
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LoadTeamActivityWaitingListFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
292
|
+
admitWaitlistEntry$: Observable<import("@ngrx/store").Action<import("../actions").ActivityActionTypes.AdmitWaitlistEntrySuccess> | ({
|
|
293
|
+
payload: {
|
|
294
|
+
teamId: string;
|
|
295
|
+
activityId: string;
|
|
296
|
+
};
|
|
297
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LoadTeamActivityWaitingList>) | ({
|
|
298
|
+
payload: HttpErrorResponse;
|
|
299
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.AdmitWaitlistEntryFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
300
|
+
reorderWaitlistEntry$: Observable<import("@ngrx/store").Action<import("../actions").ActivityActionTypes.ReorderWaitlistEntrySuccess> | ({
|
|
301
|
+
payload: {
|
|
302
|
+
teamId: string;
|
|
303
|
+
activityId: string;
|
|
304
|
+
};
|
|
305
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LoadTeamActivityWaitingList>) | ({
|
|
306
|
+
payload: HttpErrorResponse;
|
|
307
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.ReorderWaitlistEntryFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
308
|
+
remindWaitlistOffer$: Observable<import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RemindWaitlistOfferSuccess> | ({
|
|
309
|
+
payload: {
|
|
310
|
+
teamId: string;
|
|
311
|
+
activityId: string;
|
|
312
|
+
};
|
|
313
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LoadTeamActivityWaitingList>) | ({
|
|
314
|
+
payload: HttpErrorResponse;
|
|
315
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RemindWaitlistOfferFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
316
|
+
offerWaitlistEntry$: Observable<({
|
|
317
|
+
payload: {
|
|
318
|
+
teamId: string;
|
|
319
|
+
activityId: string;
|
|
320
|
+
};
|
|
321
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LoadTeamActivityWaitingList>) | ({
|
|
322
|
+
payload: ActivityWaitingListEntry;
|
|
323
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.OfferWaitlistEntrySuccess>) | ({
|
|
324
|
+
payload: HttpErrorResponse;
|
|
325
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.OfferWaitlistEntryFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
326
|
+
passWaitlistOffer$: Observable<import("@ngrx/store").Action<import("../actions").ActivityActionTypes.PassWaitlistOfferSuccess> | ({
|
|
327
|
+
payload: {
|
|
328
|
+
teamId: string;
|
|
329
|
+
activityId: string;
|
|
330
|
+
};
|
|
331
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LoadTeamActivityWaitingList>) | ({
|
|
332
|
+
payload: HttpErrorResponse;
|
|
333
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.PassWaitlistOfferFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
334
|
+
openWaitlistPlace$: Observable<import("@ngrx/store").Action<import("../actions").ActivityActionTypes.OpenWaitlistPlaceSuccess> | ({
|
|
335
|
+
payload: {
|
|
336
|
+
teamId: string;
|
|
337
|
+
activityId: string;
|
|
338
|
+
};
|
|
339
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LoadTeamActivityWaitingList>) | ({
|
|
340
|
+
payload: HttpErrorResponse;
|
|
341
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.OpenWaitlistPlaceFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
342
|
+
removeWaitlistEntry$: Observable<import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RemoveWaitlistEntrySuccess> | ({
|
|
343
|
+
payload: {
|
|
344
|
+
teamId: string;
|
|
345
|
+
activityId: string;
|
|
346
|
+
};
|
|
347
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LoadTeamActivityWaitingList>) | ({
|
|
348
|
+
payload: HttpErrorResponse;
|
|
349
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RemoveWaitlistEntryFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
350
|
+
retrievePublicWaitingListState$: Observable<({
|
|
351
|
+
payload: ActivityWaitingListEntry;
|
|
352
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrievePublicWaitingListStateSuccess>) | ({
|
|
353
|
+
payload: HttpErrorResponse;
|
|
354
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrievePublicWaitingListStateFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
355
|
+
joinPublicWaitingList$: Observable<({
|
|
356
|
+
payload: {
|
|
357
|
+
token: string;
|
|
358
|
+
activityInviteId: string;
|
|
359
|
+
};
|
|
360
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrievePublicActivityInvite>) | ({
|
|
361
|
+
payload: ActivityWaitingListEntry;
|
|
362
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.JoinPublicWaitingListSuccess>) | ({
|
|
363
|
+
payload: HttpErrorResponse;
|
|
364
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.JoinPublicWaitingListFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
365
|
+
leavePublicWaitingList$: Observable<import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LeavePublicWaitingListSuccess> | ({
|
|
366
|
+
payload: {
|
|
367
|
+
token: string;
|
|
368
|
+
activityInviteId: string;
|
|
369
|
+
};
|
|
370
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrievePublicActivityInvite>) | ({
|
|
371
|
+
payload: HttpErrorResponse;
|
|
372
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.LeavePublicWaitingListFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
373
|
+
retrievePublicWaitingListOffer$: Observable<({
|
|
374
|
+
payload: ActivityWaitingListEntry;
|
|
375
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrievePublicWaitingListOfferSuccess>) | ({
|
|
376
|
+
payload: HttpErrorResponse;
|
|
377
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrievePublicWaitingListOfferFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
378
|
+
retrievePublicOpenActivityWaitlistOffer$: Observable<({
|
|
379
|
+
payload: OpenActivity;
|
|
380
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrievePublicOpenActivityWaitlistOfferSuccess>) | ({
|
|
381
|
+
payload: HttpErrorResponse;
|
|
382
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RetrievePublicOpenActivityWaitlistOfferFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
383
|
+
respondPublicOpenActivityWaitlistOffer$: Observable<({
|
|
384
|
+
payload: OpenActivity;
|
|
385
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RespondPublicOpenActivityWaitlistOfferSuccess>) | ({
|
|
386
|
+
payload: HttpErrorResponse;
|
|
387
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.RespondPublicOpenActivityWaitlistOfferFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
388
|
+
declinePublicOpenActivityWaitlistOffer$: Observable<import("@ngrx/store").Action<import("../actions").ActivityActionTypes.DeclinePublicOpenActivityWaitlistOfferSuccess> | ({
|
|
389
|
+
payload: HttpErrorResponse;
|
|
390
|
+
} & import("@ngrx/store").Action<import("../actions").ActivityActionTypes.DeclinePublicOpenActivityWaitlistOfferFailure>)> & import("@ngrx/effects").CreateEffectMetadata;
|
|
223
391
|
static ɵfac: i0.ɵɵFactoryDeclaration<ActivityEffects, never>;
|
|
224
392
|
static ɵprov: i0.ɵɵInjectableDeclaration<ActivityEffects>;
|
|
225
393
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Activity, ActivityExtraMember, Guest, MemberTeam, MemberTeamThrough, SearchMember } from '../../models';
|
|
1
|
+
import { Activity, ActivityExtraMember, ActivityWaitingListEntry, Guest, MemberTeam, MemberTeamThrough, SearchMember } from '../../models';
|
|
2
2
|
export interface TeamActivityInterface {
|
|
3
3
|
activity: Activity;
|
|
4
4
|
extraMembers: Array<ActivityExtraMember>;
|
|
@@ -7,4 +7,6 @@ export interface TeamActivityInterface {
|
|
|
7
7
|
members: Array<MemberTeamThrough>;
|
|
8
8
|
participants: Array<SearchMember>;
|
|
9
9
|
team: MemberTeam;
|
|
10
|
+
waitingList: Array<ActivityWaitingListEntry>;
|
|
11
|
+
waitlistOutstandingOffer: ActivityWaitingListEntry | null;
|
|
10
12
|
}
|
|
@@ -17,3 +17,11 @@ export declare const selectNewTeamActivity: import("@ngrx/store").MemoizedSelect
|
|
|
17
17
|
export declare const selectTeamActivitySettings: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ActivitySettings> | undefined, (s1: CalendarState) => import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ActivitySettings> | undefined>;
|
|
18
18
|
export declare const selectTeamCalendarEvents: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").TeamCalendarEventResultInterface | undefined, (s1: CalendarState) => import("@myclub_se/data-access").TeamCalendarEventResultInterface | undefined>;
|
|
19
19
|
export declare const selectTeamActivityGuests: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").Guest[], (s1: import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").TeamActivityInterface> | undefined) => import("@myclub_se/data-access").Guest[]>;
|
|
20
|
+
export declare const selectTeamActivityWaitingList: import("@ngrx/store").MemoizedSelector<object, {
|
|
21
|
+
entries: import("@myclub_se/data-access").ActivityWaitingListEntry[];
|
|
22
|
+
outstandingOffer: import("@myclub_se/data-access").ActivityWaitingListEntry | null;
|
|
23
|
+
}, (s1: import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").TeamActivityInterface> | undefined) => {
|
|
24
|
+
entries: import("@myclub_se/data-access").ActivityWaitingListEntry[];
|
|
25
|
+
outstandingOffer: import("@myclub_se/data-access").ActivityWaitingListEntry | null;
|
|
26
|
+
}>;
|
|
27
|
+
export declare const selectMemberWaitingListEntry: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ActivityWaitingListEntry> | undefined, (s1: CalendarState) => import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ActivityWaitingListEntry> | undefined>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DataAccessState, PublicState } from '../state';
|
|
2
2
|
export declare const publicState: import("@ngrx/store").MemoizedSelector<object, PublicState, (s1: DataAccessState) => PublicState>;
|
|
3
3
|
export declare const selectPublicActivityInvite: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ActivityInvite> | undefined, (s1: PublicState) => import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ActivityInvite> | undefined>;
|
|
4
|
+
export declare const selectPublicOpenActivityWaitlistOffer: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").OpenActivity> | undefined, (s1: PublicState) => import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").OpenActivity> | undefined>;
|
|
4
5
|
export declare const selectPublicInvoice: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").MemberInvoice> | undefined, (s1: PublicState) => import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").MemberInvoice> | undefined>;
|
|
5
6
|
export declare const selectPublicInvoiceLogo: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ClubImage> | undefined, (s1: PublicState) => import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ClubImage> | undefined>;
|
|
6
7
|
export declare const selectPublicPaymentOrder: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").PaymentOrder> | undefined, (s1: PublicState) => import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").PaymentOrder> | undefined>;
|
|
@@ -14,3 +15,5 @@ export declare const selectPublicClubInfo: import("@ngrx/store").MemoizedSelecto
|
|
|
14
15
|
export declare const selectPublicMemberActivities: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").PublicMemberActivityResultInterface | undefined, (s1: PublicState) => import("@myclub_se/data-access").PublicMemberActivityResultInterface | undefined>;
|
|
15
16
|
export declare const selectPublicMemberActivity: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").Activity> | undefined, (s1: PublicState) => import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").Activity> | undefined>;
|
|
16
17
|
export declare const selectPublicMemberActivityInvite: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ActivityInvite> | undefined, (s1: PublicState) => import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ActivityInvite> | undefined>;
|
|
18
|
+
export declare const selectPublicWaitingListState: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ActivityWaitingListEntry> | undefined, (s1: PublicState) => import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ActivityWaitingListEntry> | undefined>;
|
|
19
|
+
export declare const selectPublicWaitingListOffer: import("@ngrx/store").MemoizedSelector<object, import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ActivityWaitingListEntry> | undefined, (s1: PublicState) => import("@myclub_se/data-access").RetrieveResultInterface<import("@myclub_se/data-access").ActivityWaitingListEntry> | undefined>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CalendarActivityLocationsInterface, CalendarActivityTypesInterface, CalendarOpenActivityResultInterface, ListResultInterface, MemberCalendarEventResultInterface, RetrieveResultInterface, TeamActivityInterface, TeamCalendarEventResultInterface } from '../interfaces';
|
|
2
|
-
import { Activity, ActivityInvite, ActivityLocation, ActivityQuestion, ActivitySettings, ActivityType, OpenActivity } from '../../models';
|
|
2
|
+
import { Activity, ActivityInvite, ActivityLocation, ActivityQuestion, ActivitySettings, ActivityType, ActivityWaitingListEntry, OpenActivity } from '../../models';
|
|
3
3
|
export interface CalendarState {
|
|
4
|
+
currentMemberWaitingListEntry: RetrieveResultInterface<ActivityWaitingListEntry> | undefined;
|
|
4
5
|
activityQuestions: Record<string, ListResultInterface<ActivityQuestion>> | undefined;
|
|
5
6
|
activitySettings: RetrieveResultInterface<ActivitySettings> | undefined;
|
|
6
7
|
activityInvites: ListResultInterface<ActivityInvite> | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Activity, ActivityInvite, ClubImage, MemberCard, MemberInvoice, PaymentOrder, SearchClub, SearchMember } from '../../models';
|
|
1
|
+
import { Activity, ActivityInvite, ActivityWaitingListEntry, ClubImage, MemberCard, MemberInvoice, OpenActivity, PaymentOrder, SearchClub, SearchMember } from '../../models';
|
|
2
2
|
import { ListResultInterface, MemberCardDealsInterface, MemberCardTicketsInterface, PublicMemberActivityResultInterface, RetrieveResultInterface } from '../interfaces';
|
|
3
3
|
export interface PublicState {
|
|
4
4
|
activityInvitation: RetrieveResultInterface<ActivityInvite> | undefined;
|
|
@@ -14,6 +14,9 @@ export interface PublicState {
|
|
|
14
14
|
publicClubInfo: RetrieveResultInterface<SearchClub> | undefined;
|
|
15
15
|
publicMemberActivities: PublicMemberActivityResultInterface | undefined;
|
|
16
16
|
publicMemberActivity: RetrieveResultInterface<Activity> | undefined;
|
|
17
|
+
publicOpenActivityWaitlistOffer: RetrieveResultInterface<OpenActivity> | undefined;
|
|
17
18
|
publicMemberActivityInvite: RetrieveResultInterface<ActivityInvite> | undefined;
|
|
19
|
+
publicWaitingListState: RetrieveResultInterface<ActivityWaitingListEntry> | undefined;
|
|
20
|
+
publicWaitingListOffer: RetrieveResultInterface<ActivityWaitingListEntry> | undefined;
|
|
18
21
|
}
|
|
19
22
|
export declare const initialPublicState: PublicState;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ActivityWaitlistStatusType = 'WAITING' | 'OFFERED' | 'EXPIRED' | 'CANCELLED';
|
package/lib/types/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './is-booking-reserved-for-waitlist';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The subset of activity fields needed to decide whether open seats are reserved
|
|
3
|
+
* for the waiting list. Both `Activity` and `OpenActivity` satisfy this shape.
|
|
4
|
+
*/
|
|
5
|
+
export interface WaitlistReservationFields {
|
|
6
|
+
allow_waiting_list: boolean;
|
|
7
|
+
waiting_list_count: number;
|
|
8
|
+
current_num_attendants: number;
|
|
9
|
+
max_num_attendants: number;
|
|
10
|
+
member_waiting_list_status: string | null;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Mirror of the backend rule: when an activity has a non-empty waiting list and there
|
|
14
|
+
* are open seats, those seats are reserved for the queue. Returns `true` when the
|
|
15
|
+
* current member must NOT be allowed to take an open seat because it is reserved.
|
|
16
|
+
*
|
|
17
|
+
* The leader exemption is the caller's responsibility — a leader does not consume
|
|
18
|
+
* participant capacity, so callers that know the invite is a leader should skip this
|
|
19
|
+
* check (see the backend `booking_blocked_by_waitlist` selector).
|
|
20
|
+
*/
|
|
21
|
+
export declare function isBookingReservedForWaitlist(activity: WaitlistReservationFields): boolean;
|
package/package.json
CHANGED