@myclub_se/data-access 3.7.9 → 3.7.11
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/lib/api-models/api-invoice/api-payment-attempt-create.mjs +1 -8
- package/esm2022/lib/authentication/authentication.interceptor.mjs +6 -8
- package/esm2022/lib/authentication/authentication.service.mjs +8 -11
- package/esm2022/lib/authentication/guards/authenticated.guard.mjs +4 -6
- package/esm2022/lib/authentication/guards/handle-grant-token.guard.mjs +4 -7
- package/esm2022/lib/data-access.module.mjs +6 -6
- package/esm2022/lib/maintenance/maintenance.interceptor.mjs +4 -5
- package/esm2022/lib/models/activity-extra-member.mjs +1 -8
- package/esm2022/lib/models/activity-invite.mjs +1 -23
- package/esm2022/lib/models/activity-location-group.mjs +1 -7
- package/esm2022/lib/models/activity-location-part.mjs +1 -3
- package/esm2022/lib/models/activity-location-tag.mjs +1 -6
- package/esm2022/lib/models/activity-location.mjs +1 -11
- package/esm2022/lib/models/activity-participant.mjs +1 -8
- package/esm2022/lib/models/activity-question-connection.mjs +1 -8
- package/esm2022/lib/models/activity-question-response.mjs +1 -3
- package/esm2022/lib/models/activity-question.mjs +1 -8
- package/esm2022/lib/models/activity-rule-relation.mjs +1 -9
- package/esm2022/lib/models/activity-rule.mjs +1 -8
- package/esm2022/lib/models/activity-settings.mjs +1 -18
- package/esm2022/lib/models/activity-type.mjs +1 -9
- package/esm2022/lib/models/activity-waiting-list-entry.mjs +1 -16
- package/esm2022/lib/models/activity.mjs +1 -82
- package/esm2022/lib/models/app-settings.mjs +1 -5
- package/esm2022/lib/models/auth/auth-member.mjs +3 -7
- package/esm2022/lib/models/auth/auth-section.mjs +1 -6
- package/esm2022/lib/models/auth/auth-team-section.mjs +1 -3
- package/esm2022/lib/models/auth/auth-team.mjs +1 -6
- package/esm2022/lib/models/auth/auth.mjs +1 -17
- package/esm2022/lib/models/authentication.mjs +1 -3
- package/esm2022/lib/models/bookable-item.mjs +1 -11
- package/esm2022/lib/models/bookable-part.mjs +1 -3
- package/esm2022/lib/models/bookable-tag.mjs +1 -6
- package/esm2022/lib/models/booking-calendar-application-time.mjs +1 -33
- package/esm2022/lib/models/booking-calendar-slot-session.mjs +1 -35
- package/esm2022/lib/models/booking-calendar-slot-validate-copy-result.mjs +1 -5
- package/esm2022/lib/models/booking-calendar-slot.mjs +1 -26
- package/esm2022/lib/models/booking-calendar.mjs +1 -33
- package/esm2022/lib/models/booking-settings.mjs +1 -8
- package/esm2022/lib/models/booking-slot-filter.mjs +1 -12
- package/esm2022/lib/models/calendar-event.mjs +1 -16
- package/esm2022/lib/models/calendar.mjs +1 -6
- package/esm2022/lib/models/card/card-deal.mjs +1 -6
- package/esm2022/lib/models/card/card-logo-urls.mjs +1 -9
- package/esm2022/lib/models/card/card-logo.mjs +1 -4
- package/esm2022/lib/models/card/card-member-ticket.mjs +1 -7
- package/esm2022/lib/models/card/card-theme.mjs +1 -6
- package/esm2022/lib/models/card/card-ticket-location.mjs +1 -5
- package/esm2022/lib/models/card/card-ticket.mjs +1 -17
- package/esm2022/lib/models/card/card.mjs +1 -9
- package/esm2022/lib/models/card/home-team.mjs +1 -4
- package/esm2022/lib/models/card/member-card.mjs +1 -11
- package/esm2022/lib/models/card/search-member-card.mjs +1 -5
- package/esm2022/lib/models/card/selected-field.mjs +1 -3
- package/esm2022/lib/models/club-image.mjs +1 -14
- package/esm2022/lib/models/club-section.mjs +1 -3
- package/esm2022/lib/models/club.mjs +1 -3
- package/esm2022/lib/models/collection.mjs +1 -5
- package/esm2022/lib/models/contact.mjs +1 -19
- package/esm2022/lib/models/databank-category.mjs +1 -7
- package/esm2022/lib/models/databank-item.mjs +1 -7
- package/esm2022/lib/models/directory.mjs +1 -10
- package/esm2022/lib/models/email.mjs +1 -4
- package/esm2022/lib/models/event.mjs +1 -28
- package/esm2022/lib/models/external-link.mjs +1 -3
- package/esm2022/lib/models/feature-flags.mjs +1 -14
- package/esm2022/lib/models/file-object.mjs +1 -10
- package/esm2022/lib/models/general-image.mjs +1 -4
- package/esm2022/lib/models/group-role.mjs +1 -7
- package/esm2022/lib/models/guest.mjs +1 -5
- package/esm2022/lib/models/image-urls.mjs +1 -6
- package/esm2022/lib/models/invoice/member-fee.mjs +1 -6
- package/esm2022/lib/models/invoice/member-invoice-row.mjs +1 -14
- package/esm2022/lib/models/invoice/member-invoice.mjs +1 -24
- package/esm2022/lib/models/invoice/payment-attempt.mjs +1 -10
- package/esm2022/lib/models/invoice/payment-order-row.mjs +1 -3
- package/esm2022/lib/models/invoice/payment-order.mjs +1 -18
- package/esm2022/lib/models/invoice/payment-types/credit-card.mjs +1 -12
- package/esm2022/lib/models/invoice/payment-types/giro.mjs +1 -7
- package/esm2022/lib/models/invoice/payment-types/swish.mjs +1 -14
- package/esm2022/lib/models/invoice/payment-types/zimpler.mjs +1 -8
- package/esm2022/lib/models/invoice/search-member-invoice.mjs +1 -10
- package/esm2022/lib/models/invoice/swish-qr-code.mjs +1 -2
- package/esm2022/lib/models/invoice/unpaid-member-invoice.mjs +1 -5
- package/esm2022/lib/models/leader-activity.mjs +1 -12
- package/esm2022/lib/models/member/member-attribute.mjs +1 -12
- package/esm2022/lib/models/member/member-contact.mjs +1 -6
- package/esm2022/lib/models/member/member-function.mjs +1 -6
- package/esm2022/lib/models/member/member-validation-settings.mjs +1 -9
- package/esm2022/lib/models/member/member.mjs +1 -27
- package/esm2022/lib/models/member/other-member-field.mjs +1 -4
- package/esm2022/lib/models/member/other-member.mjs +1 -9
- package/esm2022/lib/models/member/search-member.mjs +1 -17
- package/esm2022/lib/models/member-activity-invite.mjs +1 -12
- package/esm2022/lib/models/member-public-form-field-option.mjs +1 -5
- package/esm2022/lib/models/member-public-form-field.mjs +1 -12
- package/esm2022/lib/models/member-public-form.mjs +1 -26
- package/esm2022/lib/models/member-team-through.mjs +1 -10
- package/esm2022/lib/models/member-team.mjs +1 -10
- package/esm2022/lib/models/member-type.mjs +1 -4
- package/esm2022/lib/models/mypages-menu-item.mjs +1 -4
- package/esm2022/lib/models/news.mjs +1 -20
- package/esm2022/lib/models/open-activity.mjs +3 -79
- package/esm2022/lib/models/optional-fee.mjs +2 -7
- package/esm2022/lib/models/overbooked-bookable-item.mjs +1 -6
- package/esm2022/lib/models/overbooked-location.mjs +1 -6
- package/esm2022/lib/models/partner.mjs +1 -5
- package/esm2022/lib/models/public-authentication.mjs +1 -3
- package/esm2022/lib/models/registration-qr-code.mjs +1 -8
- package/esm2022/lib/models/retrieve-2fa.mjs +1 -3
- package/esm2022/lib/models/saved-search.mjs +1 -3
- package/esm2022/lib/models/search-attribute.mjs +1 -5
- package/esm2022/lib/models/search-club.mjs +1 -10
- package/esm2022/lib/models/search-team.mjs +1 -9
- package/esm2022/lib/models/section.mjs +1 -3
- package/esm2022/lib/models/swish-incident.mjs +1 -11
- package/esm2022/lib/models/token.mjs +1 -4
- package/esm2022/lib/models/user-notification.mjs +1 -9
- package/esm2022/lib/models/user.mjs +1 -13
- package/esm2022/lib/services/activity.service.mjs +4 -7
- package/esm2022/lib/services/api.service.mjs +4 -6
- package/esm2022/lib/services/auth.service.mjs +4 -5
- package/esm2022/lib/services/bookable.service.mjs +4 -5
- package/esm2022/lib/services/booking-calendar.service.mjs +22 -6
- package/esm2022/lib/services/club.service.mjs +4 -5
- package/esm2022/lib/services/constant.service.mjs +4 -5
- package/esm2022/lib/services/databank.service.mjs +4 -5
- package/esm2022/lib/services/email.service.mjs +4 -5
- package/esm2022/lib/services/external-link.service.mjs +4 -5
- package/esm2022/lib/services/feature-flags.service.mjs +4 -5
- package/esm2022/lib/services/file.service.mjs +4 -5
- package/esm2022/lib/services/invoice/invoice.service.mjs +4 -5
- package/esm2022/lib/services/invoice/payment-attempt.service.mjs +4 -5
- package/esm2022/lib/services/invoice/payment-order.service.mjs +4 -5
- package/esm2022/lib/services/leader-notification.service.mjs +4 -5
- package/esm2022/lib/services/maintenance-mode.service.mjs +8 -7
- package/esm2022/lib/services/member-card.service.mjs +4 -5
- package/esm2022/lib/services/member-fee.service.mjs +4 -5
- package/esm2022/lib/services/member-public-form.service.mjs +4 -5
- package/esm2022/lib/services/member.service.mjs +4 -5
- package/esm2022/lib/services/news.service.mjs +4 -5
- package/esm2022/lib/services/registration-qr-code.service.mjs +4 -5
- package/esm2022/lib/services/saved-search.service.mjs +4 -5
- package/esm2022/lib/services/section.service.mjs +4 -5
- package/esm2022/lib/services/storage.service.mjs +5 -6
- package/esm2022/lib/services/swish-incident.service.mjs +4 -5
- package/esm2022/lib/services/team.service.mjs +4 -5
- package/esm2022/lib/services/token.service.mjs +4 -5
- package/esm2022/lib/services/user-notification.service.mjs +4 -5
- package/esm2022/lib/services/user.service.mjs +4 -5
- package/esm2022/lib/store/actions/booking.actions.mjs +7 -1
- package/esm2022/lib/store/effects/activity.effects.mjs +358 -355
- package/esm2022/lib/store/effects/auth.effects.mjs +121 -111
- package/esm2022/lib/store/effects/booking.effects.mjs +139 -134
- package/esm2022/lib/store/effects/calendar.effects.mjs +61 -59
- package/esm2022/lib/store/effects/club-info.effects.mjs +17 -15
- package/esm2022/lib/store/effects/constant.effects.mjs +78 -76
- package/esm2022/lib/store/effects/databank.effects.mjs +23 -21
- package/esm2022/lib/store/effects/email.effects.mjs +16 -14
- package/esm2022/lib/store/effects/external-link.effects.mjs +11 -9
- package/esm2022/lib/store/effects/file.effects.mjs +92 -90
- package/esm2022/lib/store/effects/invoice.effects.mjs +176 -174
- package/esm2022/lib/store/effects/member-card.effects.mjs +73 -71
- package/esm2022/lib/store/effects/member-fee.effects.mjs +9 -7
- package/esm2022/lib/store/effects/member.effects.mjs +41 -39
- package/esm2022/lib/store/effects/mixins/extra-members-mixin.mjs +4 -2
- package/esm2022/lib/store/effects/news.effects.mjs +47 -45
- package/esm2022/lib/store/effects/public-form.effects.mjs +24 -22
- package/esm2022/lib/store/effects/registration-qr-code.effects.mjs +14 -12
- package/esm2022/lib/store/effects/saved-search.effects.mjs +9 -7
- package/esm2022/lib/store/effects/swish-incidents.effects.mjs +11 -9
- package/esm2022/lib/store/effects/team.effects.mjs +83 -76
- package/esm2022/lib/store/effects/token.effects.mjs +93 -91
- package/esm2022/lib/store/effects/user.effects.mjs +35 -35
- package/fesm2022/myclub_se-data-access.mjs +1771 -2845
- package/fesm2022/myclub_se-data-access.mjs.map +1 -1
- package/lib/services/booking-calendar.service.d.ts +3 -0
- package/lib/store/actions/booking.actions.d.ts +24 -0
- package/lib/store/effects/booking.effects.d.ts +5 -0
- package/package.json +1 -1
|
@@ -7,48 +7,50 @@ import { catchError, map, switchMap } from 'rxjs/operators';
|
|
|
7
7
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class NewsEffects {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
.
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
collectedNews.
|
|
35
|
-
|
|
10
|
+
constructor() {
|
|
11
|
+
this.actions$ = inject(Actions);
|
|
12
|
+
this.newsService = inject(NewsService);
|
|
13
|
+
this.createTeamNews$ = createEffect(() => this.actions$
|
|
14
|
+
.pipe(ofType(createTeamNewsAction), exhaustMap(({ payload }) => this.newsService.createTeamNews(payload.teamId, { ...payload.news })
|
|
15
|
+
.pipe(map((news) => createTeamNewsSuccessAction({ payload: news })), catchError((error) => of(createTeamNewsFailureAction({ payload: error })))))));
|
|
16
|
+
this.deleteTeamNews$ = createEffect(() => this.actions$
|
|
17
|
+
.pipe(ofType(deleteTeamNewsAction), exhaustMap(({ payload }) => this.newsService.deleteTeamNews(payload.teamId, payload.newsId)
|
|
18
|
+
.pipe(map((success) => {
|
|
19
|
+
if (success) {
|
|
20
|
+
return deleteTeamNewsSuccessAction({ payload: { newsId: payload.newsId } });
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return deleteTeamNewsFailureAction({ payload: new HttpErrorResponse({ status: 400 }) });
|
|
24
|
+
}
|
|
25
|
+
}), catchError((error) => of(deleteTeamNewsFailureAction({ payload: error })))))));
|
|
26
|
+
this.listMemberNews$ = createEffect(() => this.actions$.pipe(ofType(listMemberNewsAction), mergeMap(({ payload }) => forkJoin(payload.map((id) => this.getAllMemberNews(id).pipe(map((news) => ({ id, news })), catchError((error) => of({ id, error }))))).pipe(mergeMap((results) => {
|
|
27
|
+
const errors = results.filter(result => result.error);
|
|
28
|
+
if (errors.length) {
|
|
29
|
+
return of(listMemberNewsFailureAction({ payload: errors[0].error }));
|
|
30
|
+
}
|
|
31
|
+
const collectedNews = [];
|
|
32
|
+
results.forEach(({ news }) => {
|
|
33
|
+
news?.forEach(newsItem => {
|
|
34
|
+
if (!collectedNews.find(existingNews => existingNews.id === newsItem.id)) {
|
|
35
|
+
collectedNews.push(newsItem);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
36
38
|
});
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
.
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
39
|
+
return of(listMemberNewsSuccessAction({ payload: collectedNews }));
|
|
40
|
+
})))));
|
|
41
|
+
this.listTeamNews$ = createEffect(() => this.actions$
|
|
42
|
+
.pipe(ofType(listTeamNewsAction), exhaustMap(({ payload }) => this.getAllTeamNews(payload)
|
|
43
|
+
.pipe(map((news) => listTeamNewsSuccessAction({ payload: news })), catchError((error) => of(listTeamNewsFailureAction({ payload: error })))))));
|
|
44
|
+
this.retrieveMemberNews$ = createEffect(() => this.actions$
|
|
45
|
+
.pipe(ofType(retrieveMemberNewsAction), exhaustMap(({ payload }) => this.newsService.getMemberNews(payload.memberId, payload.newsId)
|
|
46
|
+
.pipe(map((news) => retrieveMemberNewsSuccessAction({ payload: news })), catchError((error) => of(retrieveMemberNewsFailureAction({ payload: error })))))));
|
|
47
|
+
this.retrieveTeamNews$ = createEffect(() => this.actions$
|
|
48
|
+
.pipe(ofType(retrieveTeamNewsAction), exhaustMap(({ payload }) => this.newsService.getTeamNews(payload.teamId, payload.newsId)
|
|
49
|
+
.pipe(map((news) => retrieveTeamNewsSuccessAction({ payload: news })), catchError((error) => of(retrieveTeamNewsFailureAction({ payload: error })))))));
|
|
50
|
+
this.updateTeamNews$ = createEffect(() => this.actions$
|
|
51
|
+
.pipe(ofType(updateTeamNewsAction), exhaustMap(({ payload }) => this.newsService.updateTeamNews(payload.teamId, payload.news.id, payload.news)
|
|
52
|
+
.pipe(map((news) => updateTeamNewsSuccessAction({ payload: news })), catchError((error) => of(updateTeamNewsFailureAction({ payload: error })))))));
|
|
53
|
+
}
|
|
52
54
|
getAllMemberNews(memberId, offset = 0, collectedNews = []) {
|
|
53
55
|
return this.newsService.listMemberNews(memberId, offset).pipe(switchMap((response) => {
|
|
54
56
|
const news = response.toArray();
|
|
@@ -73,10 +75,10 @@ export class NewsEffects {
|
|
|
73
75
|
}
|
|
74
76
|
}), catchError((error) => throwError(() => error)));
|
|
75
77
|
}
|
|
76
|
-
static
|
|
77
|
-
static
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NewsEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
79
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NewsEffects }); }
|
|
78
80
|
}
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NewsEffects, decorators: [{
|
|
80
82
|
type: Injectable
|
|
81
83
|
}] });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3cy5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL25ld3MuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIsK0JBQStCLEVBQy9CLCtCQUErQixFQUMvQixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUM1QixNQUFNLFlBQVksQ0FBQztBQUVwQixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHekQsTUFBTSxPQUFPLFdBQVc7SUFDZCxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLFdBQVcsR0FBRyxNQUFNLENB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O1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO0lBRU8sY0FBYyxDQUFDLE1BQWMsRUFBRSxTQUFpQixDQUFDLEVBQUUsZ0JBQTZCLEVBQUU7UUFDeEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUN2RCxTQUFTLENBQUMsQ0FBQyxRQUEwQixFQUFFLEVBQUU7WUFDdkMsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2hDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFM0MsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDcEUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3JCLENBQUM7UUFDSCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDbEUsQ0FBQztJQUNKLENBQUM7dUdBaEpVLFdBQVc7MkdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IE5ld3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlVGVhbU5ld3NBY3Rpb24sXG4gIGNyZWF0ZVRlYW1OZXdzRmFpbHVyZUFjdGlvbixcbiAgY3JlYXRlVGVhbU5ld3NTdWNjZXNzQWN0aW9uLFxuICBkZWxldGVUZWFtTmV3c0FjdGlvbixcbiAgZGVsZXRlVGVhbU5ld3NGYWlsdXJlQWN0aW9uLFxuICBkZWxldGVUZWFtTmV3c1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RNZW1iZXJOZXdzQWN0aW9uLFxuICBsaXN0TWVtYmVyTmV3c0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RNZW1iZXJOZXdzU3VjY2Vzc0FjdGlvbixcbiAgbGlzdFRlYW1OZXdzQWN0aW9uLFxuICBsaXN0VGVhbU5ld3NGYWlsdXJlQWN0aW9uLFxuICBsaXN0VGVhbU5ld3NTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlck5ld3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTmV3c0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTmV3c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlVGVhbU5ld3NBY3Rpb24sXG4gIHJldHJpZXZlVGVhbU5ld3NGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1OZXdzU3VjY2Vzc0FjdGlvbixcbiAgdXBkYXRlVGVhbU5ld3NBY3Rpb24sXG4gIHVwZGF0ZVRlYW1OZXdzRmFpbHVyZUFjdGlvbixcbiAgdXBkYXRlVGVhbU5ld3NTdWNjZXNzQWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiwgTmV3cyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBmb3JrSm9pbiwgbWVyZ2VNYXAsIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmV3c0VmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIG5ld3NTZXJ2aWNlID0gaW5qZWN0KE5ld3NTZXJ2aWNlKTtcblxuICBjcmVhdGVUZWFtTmV3cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGNyZWF0ZVRlYW1OZXdzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgbmV3czogUGFydGlhbDxOZXdzPn19KSA9PiB0aGlzLm5ld3NTZXJ2aWNlLmNyZWF0ZVRlYW1OZXdzKHBheWxvYWQudGVhbUlkLCB7Li4ucGF5bG9hZC5uZXdzfSlcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChuZXdzOiBOZXdzKSA9PiBjcmVhdGVUZWFtTmV3c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG5ld3N9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihjcmVhdGVUZWFtTmV3c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGRlbGV0ZVRlYW1OZXdzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoZGVsZXRlVGVhbU5ld3NBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3RlYW1JZDogc3RyaW5nLCBuZXdzSWQ6IHN0cmluZ319KSA9PiB0aGlzLm5ld3NTZXJ2aWNlLmRlbGV0ZVRlYW1OZXdzKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLm5ld3NJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChzdWNjZXNzOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICAgICAgICByZXR1cm4gZGVsZXRlVGVhbU5ld3NTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB7bmV3c0lkOiBwYXlsb2FkLm5ld3NJZH19KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBkZWxldGVUZWFtTmV3c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IG5ldyBIdHRwRXJyb3JSZXNwb25zZSh7c3RhdHVzOiA0MDB9KX0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihkZWxldGVUZWFtTmV3c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RNZW1iZXJOZXdzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKGxpc3RNZW1iZXJOZXdzQWN0aW9uKSxcbiAgICBtZXJnZU1hcCgoeyBwYXlsb2FkIH06IHsgcGF5bG9hZDogc3RyaW5nW10gfSkgPT5cbiAgICAgIGZvcmtKb2luKFxuICAgICAgICBwYXlsb2FkLm1hcCgoaWQ6IHN0cmluZykgPT5cbiAgICAgICAgICB0aGlzLmdldEFsbE1lbWJlck5ld3MoaWQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKG5ld3M6IE5ld3NbXSkgPT4gKHsgaWQsIG5ld3MgfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZih7IGlkLCBlcnJvciB9KSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgICkucGlwZShcbiAgICAgICAgbWVyZ2VNYXAoKHJlc3VsdHM6IEFycmF5PHsgaWQ6IHN0cmluZywgbmV3cz86IE5ld3NbXSwgZXJyb3I/OiBIdHRwRXJyb3JSZXNwb25zZSB9PikgPT4ge1xuICAgICAgICAgIGNvbnN0IGVycm9ycyA9IHJlc3VsdHMuZmlsdGVyKHJlc3VsdCA9PiByZXN1bHQuZXJyb3IpO1xuICAgICAgICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobGlzdE1lbWJlck5ld3NGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcnNbMF0uZXJyb3IgYXMgSHR0cEVycm9yUmVzcG9uc2V9KSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgY29sbGVjdGVkTmV3czogTmV3c1tdID0gW107XG4gICAgICAgICAgcmVzdWx0cy5mb3JFYWNoKCh7IG5ld3MgfSkgPT4ge1xuICAgICAgICAgICAgbmV3cz8uZm9yRWFjaChuZXdzSXRlbSA9PiB7XG4gICAgICAgICAgICAgIGlmICghY29sbGVjdGVkTmV3cy5maW5kKGV4aXN0aW5nTmV3cyA9PiBleGlzdGluZ05ld3MuaWQgPT09IG5ld3NJdGVtLmlkKSkge1xuICAgICAgICAgICAgICAgIGNvbGxlY3RlZE5ld3MucHVzaChuZXdzSXRlbSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgcmV0dXJuIG9mKGxpc3RNZW1iZXJOZXdzU3VjY2Vzc0FjdGlvbih7IHBheWxvYWQ6IGNvbGxlY3RlZE5ld3MgfSkpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgIClcbiAgKSk7XG5cbiAgbGlzdFRlYW1OZXdzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdFRlYW1OZXdzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHN0cmluZ30pID0+IHRoaXMuZ2V0QWxsVGVhbU5ld3MocGF5bG9hZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChuZXdzOiBBcnJheTxOZXdzPikgPT4gbGlzdFRlYW1OZXdzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbmV3c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RUZWFtTmV3c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyTmV3cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyTmV3c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgbmV3c0lkOiBzdHJpbmd9fSkgPT4gdGhpcy5uZXdzU2VydmljZS5nZXRNZW1iZXJOZXdzKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQubmV3c0lkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG5ld3M6IE5ld3MpID0+IHJldHJpZXZlTWVtYmVyTmV3c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG5ld3N9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZU1lbWJlck5ld3NGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVRlYW1OZXdzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVUZWFtTmV3c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7dGVhbUlkOiBzdHJpbmcsIG5ld3NJZDogc3RyaW5nfX0pID0+IHRoaXMubmV3c1NlcnZpY2UuZ2V0VGVhbU5ld3MocGF5bG9hZC50ZWFtSWQsIHBheWxvYWQubmV3c0lkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG5ld3M6IE5ld3MpID0+IHJldHJpZXZlVGVhbU5ld3NTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBuZXdzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVUZWFtTmV3c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHVwZGF0ZVRlYW1OZXdzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUodXBkYXRlVGVhbU5ld3NBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3RlYW1JZDogc3RyaW5nLCBuZXdzOiBOZXdzfX0pID0+IHRoaXMubmV3c1NlcnZpY2UudXBkYXRlVGVhbU5ld3MocGF5bG9hZC50ZWFtSWQsIHBheWxvYWQubmV3cy5pZCwgcGF5bG9hZC5uZXdzKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG5ld3M6IE5ld3MpID0+IHVwZGF0ZVRlYW1OZXdzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbmV3c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHVwZGF0ZVRlYW1OZXdzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcHJpdmF0ZSBnZXRBbGxNZW1iZXJOZXdzKG1lbWJlcklkOiBzdHJpbmcsIG9mZnNldDogbnVtYmVyID0gMCwgY29sbGVjdGVkTmV3czogQXJyYXk8TmV3cz4gPSBbXSk6IE9ic2VydmFibGU8QXJyYXk8TmV3cz4+IHtcbiAgICByZXR1cm4gdGhpcy5uZXdzU2VydmljZS5saXN0TWVtYmVyTmV3cyhtZW1iZXJJZCwgb2Zmc2V0KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChyZXNwb25zZTogQ29sbGVjdGlvbjxOZXdzPikgPT4ge1xuICAgICAgICBjb25zdCBuZXdzID0gcmVzcG9uc2UudG9BcnJheSgpO1xuICAgICAgICBjb25zdCBhbGxOZXdzID0gY29sbGVjdGVkTmV3cy5jb25jYXQobmV3cyk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLm5leHQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGxNZW1iZXJOZXdzKG1lbWJlcklkLCBvZmZzZXQgKyBuZXdzLmxlbmd0aCwgYWxsTmV3cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGFsbE5ld3MpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcikpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsVGVhbU5ld3ModGVhbUlkOiBzdHJpbmcsIG9mZnNldDogbnVtYmVyID0gMCwgY29sbGVjdGVkTmV3czogQXJyYXk8TmV3cz4gPSBbXSk6IE9ic2VydmFibGU8QXJyYXk8TmV3cz4+IHtcbiAgICByZXR1cm4gdGhpcy5uZXdzU2VydmljZS5saXN0VGVhbU5ld3ModGVhbUlkLCBvZmZzZXQpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHJlc3BvbnNlOiBDb2xsZWN0aW9uPE5ld3M+KSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld3MgPSByZXNwb25zZS50b0FycmF5KCk7XG4gICAgICAgIGNvbnN0IGFsbE5ld3MgPSBjb2xsZWN0ZWROZXdzLmNvbmNhdChuZXdzKTtcblxuICAgICAgICBpZiAocmVzcG9uc2UubmV4dCkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmdldEFsbFRlYW1OZXdzKHRlYW1JZCwgb2Zmc2V0ICsgbmV3cy5sZW5ndGgsIGFsbE5ld3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBvZihhbGxOZXdzKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRocm93RXJyb3IoKCkgPT4gZXJyb3IpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3cy5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL25ld3MuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUMzQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIsK0JBQStCLEVBQy9CLCtCQUErQixFQUMvQixzQkFBc0IsRUFDdEIsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLDJCQUEyQixFQUM1QixNQUFNLFlBQVksQ0FBQztBQUVwQixPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHekQsTUFBTSxPQUFPLFdBQVc7SUFEeEI7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLGdCQUFXLEdBQUcs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T0FBTyxDQUFDLENBQUM7WUFDckIsQ0FBQztRQUNILENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFjLEVBQUUsU0FBaUIsQ0FBQyxFQUFFLGdCQUE2QixFQUFFO1FBQ3hGLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDdkQsU0FBUyxDQUFDLENBQUMsUUFBMEIsRUFBRSxFQUFFO1lBQ3ZDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQyxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRTNDLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNyQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDOytHQWhKVSxXQUFXO21IQUFYLFdBQVc7OzRGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBOZXdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gIGNyZWF0ZVRlYW1OZXdzQWN0aW9uLFxuICBjcmVhdGVUZWFtTmV3c0ZhaWx1cmVBY3Rpb24sXG4gIGNyZWF0ZVRlYW1OZXdzU3VjY2Vzc0FjdGlvbixcbiAgZGVsZXRlVGVhbU5ld3NBY3Rpb24sXG4gIGRlbGV0ZVRlYW1OZXdzRmFpbHVyZUFjdGlvbixcbiAgZGVsZXRlVGVhbU5ld3NTdWNjZXNzQWN0aW9uLFxuICBsaXN0TWVtYmVyTmV3c0FjdGlvbixcbiAgbGlzdE1lbWJlck5ld3NGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVyTmV3c1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RUZWFtTmV3c0FjdGlvbixcbiAgbGlzdFRlYW1OZXdzRmFpbHVyZUFjdGlvbixcbiAgbGlzdFRlYW1OZXdzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJOZXdzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlck5ld3NGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlck5ld3NTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1OZXdzQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1OZXdzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVUZWFtTmV3c1N1Y2Nlc3NBY3Rpb24sXG4gIHVwZGF0ZVRlYW1OZXdzQWN0aW9uLFxuICB1cGRhdGVUZWFtTmV3c0ZhaWx1cmVBY3Rpb24sXG4gIHVwZGF0ZVRlYW1OZXdzU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IENvbGxlY3Rpb24sIE5ld3MgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgZXhoYXVzdE1hcCwgZm9ya0pvaW4sIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5ld3NFZmZlY3RzIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJpdmF0ZSBuZXdzU2VydmljZSA9IGluamVjdChOZXdzU2VydmljZSk7XG5cbiAgY3JlYXRlVGVhbU5ld3MkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjcmVhdGVUZWFtTmV3c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7dGVhbUlkOiBzdHJpbmcsIG5ld3M6IFBhcnRpYWw8TmV3cz59fSkgPT4gdGhpcy5uZXdzU2VydmljZS5jcmVhdGVUZWFtTmV3cyhwYXlsb2FkLnRlYW1JZCwgey4uLnBheWxvYWQubmV3c30pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgobmV3czogTmV3cykgPT4gY3JlYXRlVGVhbU5ld3NTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBuZXdzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoY3JlYXRlVGVhbU5ld3NGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBkZWxldGVUZWFtTmV3cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGRlbGV0ZVRlYW1OZXdzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgbmV3c0lkOiBzdHJpbmd9fSkgPT4gdGhpcy5uZXdzU2VydmljZS5kZWxldGVUZWFtTmV3cyhwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5uZXdzSWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoc3VjY2VzczogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbGV0ZVRlYW1OZXdzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDoge25ld3NJZDogcGF5bG9hZC5uZXdzSWR9fSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gZGVsZXRlVGVhbU5ld3NGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBuZXcgSHR0cEVycm9yUmVzcG9uc2Uoe3N0YXR1czogNDAwfSl9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoZGVsZXRlVGVhbU5ld3NGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyTmV3cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShsaXN0TWVtYmVyTmV3c0FjdGlvbiksXG4gICAgbWVyZ2VNYXAoKHsgcGF5bG9hZCB9OiB7IHBheWxvYWQ6IHN0cmluZ1tdIH0pID0+XG4gICAgICBmb3JrSm9pbihcbiAgICAgICAgcGF5bG9hZC5tYXAoKGlkOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5nZXRBbGxNZW1iZXJOZXdzKGlkKS5waXBlKFxuICAgICAgICAgICAgbWFwKChuZXdzOiBOZXdzW10pID0+ICh7IGlkLCBuZXdzIH0pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoeyBpZCwgZXJyb3IgfSkpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApLnBpcGUoXG4gICAgICAgIG1lcmdlTWFwKChyZXN1bHRzOiBBcnJheTx7IGlkOiBzdHJpbmcsIG5ld3M/OiBOZXdzW10sIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2UgfT4pID0+IHtcbiAgICAgICAgICBjb25zdCBlcnJvcnMgPSByZXN1bHRzLmZpbHRlcihyZXN1bHQgPT4gcmVzdWx0LmVycm9yKTtcbiAgICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIG9mKGxpc3RNZW1iZXJOZXdzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3JzWzBdLmVycm9yIGFzIEh0dHBFcnJvclJlc3BvbnNlfSkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGNvbGxlY3RlZE5ld3M6IE5ld3NbXSA9IFtdO1xuICAgICAgICAgIHJlc3VsdHMuZm9yRWFjaCgoeyBuZXdzIH0pID0+IHtcbiAgICAgICAgICAgIG5ld3M/LmZvckVhY2gobmV3c0l0ZW0gPT4ge1xuICAgICAgICAgICAgICBpZiAoIWNvbGxlY3RlZE5ld3MuZmluZChleGlzdGluZ05ld3MgPT4gZXhpc3RpbmdOZXdzLmlkID09PSBuZXdzSXRlbS5pZCkpIHtcbiAgICAgICAgICAgICAgICBjb2xsZWN0ZWROZXdzLnB1c2gobmV3c0l0ZW0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHJldHVybiBvZihsaXN0TWVtYmVyTmV3c1N1Y2Nlc3NBY3Rpb24oeyBwYXlsb2FkOiBjb2xsZWN0ZWROZXdzIH0pKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApXG4gICkpO1xuXG4gIGxpc3RUZWFtTmV3cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxpc3RUZWFtTmV3c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiBzdHJpbmd9KSA9PiB0aGlzLmdldEFsbFRlYW1OZXdzKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgobmV3czogQXJyYXk8TmV3cz4pID0+IGxpc3RUZWFtTmV3c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG5ld3N9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0VGVhbU5ld3NGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZU1lbWJlck5ld3MkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlck5ld3NBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIG5ld3NJZDogc3RyaW5nfX0pID0+IHRoaXMubmV3c1NlcnZpY2UuZ2V0TWVtYmVyTmV3cyhwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLm5ld3NJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChuZXdzOiBOZXdzKSA9PiByZXRyaWV2ZU1lbWJlck5ld3NTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBuZXdzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJOZXdzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVUZWFtTmV3cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlVGVhbU5ld3NBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3RlYW1JZDogc3RyaW5nLCBuZXdzSWQ6IHN0cmluZ319KSA9PiB0aGlzLm5ld3NTZXJ2aWNlLmdldFRlYW1OZXdzKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLm5ld3NJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChuZXdzOiBOZXdzKSA9PiByZXRyaWV2ZVRlYW1OZXdzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbmV3c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlVGVhbU5ld3NGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICB1cGRhdGVUZWFtTmV3cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHVwZGF0ZVRlYW1OZXdzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgbmV3czogTmV3c319KSA9PiB0aGlzLm5ld3NTZXJ2aWNlLnVwZGF0ZVRlYW1OZXdzKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLm5ld3MuaWQsIHBheWxvYWQubmV3cylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChuZXdzOiBOZXdzKSA9PiB1cGRhdGVUZWFtTmV3c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG5ld3N9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZih1cGRhdGVUZWFtTmV3c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHByaXZhdGUgZ2V0QWxsTWVtYmVyTmV3cyhtZW1iZXJJZDogc3RyaW5nLCBvZmZzZXQ6IG51bWJlciA9IDAsIGNvbGxlY3RlZE5ld3M6IEFycmF5PE5ld3M+ID0gW10pOiBPYnNlcnZhYmxlPEFycmF5PE5ld3M+PiB7XG4gICAgcmV0dXJuIHRoaXMubmV3c1NlcnZpY2UubGlzdE1lbWJlck5ld3MobWVtYmVySWQsIG9mZnNldCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcG9uc2U6IENvbGxlY3Rpb248TmV3cz4pID0+IHtcbiAgICAgICAgY29uc3QgbmV3cyA9IHJlc3BvbnNlLnRvQXJyYXkoKTtcbiAgICAgICAgY29uc3QgYWxsTmV3cyA9IGNvbGxlY3RlZE5ld3MuY29uY2F0KG5ld3MpO1xuXG4gICAgICAgIGlmIChyZXNwb25zZS5uZXh0KSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QWxsTWVtYmVyTmV3cyhtZW1iZXJJZCwgb2Zmc2V0ICsgbmV3cy5sZW5ndGgsIGFsbE5ld3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBvZihhbGxOZXdzKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHRocm93RXJyb3IoKCkgPT4gZXJyb3IpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldEFsbFRlYW1OZXdzKHRlYW1JZDogc3RyaW5nLCBvZmZzZXQ6IG51bWJlciA9IDAsIGNvbGxlY3RlZE5ld3M6IEFycmF5PE5ld3M+ID0gW10pOiBPYnNlcnZhYmxlPEFycmF5PE5ld3M+PiB7XG4gICAgcmV0dXJuIHRoaXMubmV3c1NlcnZpY2UubGlzdFRlYW1OZXdzKHRlYW1JZCwgb2Zmc2V0KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChyZXNwb25zZTogQ29sbGVjdGlvbjxOZXdzPikgPT4ge1xuICAgICAgICBjb25zdCBuZXdzID0gcmVzcG9uc2UudG9BcnJheSgpO1xuICAgICAgICBjb25zdCBhbGxOZXdzID0gY29sbGVjdGVkTmV3cy5jb25jYXQobmV3cyk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLm5leHQpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZXRBbGxUZWFtTmV3cyh0ZWFtSWQsIG9mZnNldCArIG5ld3MubGVuZ3RoLCBhbGxOZXdzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoYWxsTmV3cyk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKSlcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -6,28 +6,30 @@ import { forkJoin, mergeMap, of } from 'rxjs';
|
|
|
6
6
|
import { catchError, map } from 'rxjs/operators';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class PublicFormEffects {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
9
|
+
constructor() {
|
|
10
|
+
this.actions$ = inject(Actions);
|
|
11
|
+
this.memberPublicFormService = inject(MemberPublicFormService);
|
|
12
|
+
this.listPublicForms$ = createEffect(() => {
|
|
13
|
+
return this.actions$
|
|
14
|
+
.pipe(ofType(listPublicFormAction), mergeMap(({ payload }) => forkJoin(payload.map((id) => this.memberPublicFormService.getMemberMemberPublicForms(id)
|
|
15
|
+
.pipe(map((forms) => ({ id, forms: forms.toArray() })), catchError((error) => of({ id, error }))))).pipe(map(results => {
|
|
16
|
+
const resultMap = new Map();
|
|
17
|
+
results.forEach((result) => {
|
|
18
|
+
if (result.forms) {
|
|
19
|
+
resultMap.set(result.id, result.forms);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
return listPublicFormSuccessAction({ payload: resultMap });
|
|
23
|
+
}), catchError((error) => of(listPublicFormFailureAction({ payload: error }))))));
|
|
24
|
+
});
|
|
25
|
+
this.retrievePublicForm$ = createEffect(() => this.actions$
|
|
26
|
+
.pipe(ofType(retrievePublicFormAction), mergeMap(({ payload }) => this.memberPublicFormService.getMemberMemberPublicForm(payload.memberId, payload.id)
|
|
27
|
+
.pipe(map((form) => retrievePublicFormSuccessAction({ payload: form })), catchError((error) => of(retrievePublicFormFailureAction({ payload: error })))))));
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PublicFormEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
30
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PublicFormEffects }); }
|
|
29
31
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PublicFormEffects, decorators: [{
|
|
31
33
|
type: Injectable
|
|
32
34
|
}] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWZvcm0uZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9wdWJsaWMtZm9ybS5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0Isd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDaEMsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSWpELE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLDRCQUF1QixHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBRWxFLHFCQUFnQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUMsUUFBUTtpQkFDakIsSUFBSSxDQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxFQUM1QixRQUFRLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBNkIsRUFBRSxFQUFFLENBQ2pELFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FDbEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQztpQkFDeEQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEtBQW1DLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFDNUUsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUMsRUFBRSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FDMUQsQ0FDSixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDWixNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBbUMsQ0FBQztnQkFDN0QsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQWtGLEVBQUUsRUFBRTtvQkFDckcsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQ2pCLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3pDLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTywyQkFBMkIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDO1lBQzNELENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDNUYsQ0FDRixDQUNGLENBQUM7UUFDTixDQUFDLENBQ0YsQ0FBQztRQUVGLHdCQUFtQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTthQUNuRCxJQUFJLENBQ0gsTUFBTSxDQUFDLHdCQUF3QixDQUFDLEVBQ2hDLFFBQVEsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUVmLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7YUFDdkYsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLElBQXNCLEVBQUUsRUFBRSxDQUFDLCtCQUErQixDQUFDLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUMsRUFDakYsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLCtCQUErQixDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUNoRyxDQUNKLENBQ0YsQ0FDRixDQUFDO0tBQ0g7K0dBN0NZLGlCQUFpQjttSEFBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUQ3QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHtcbiAgbGlzdFB1YmxpY0Zvcm1BY3Rpb24sXG4gIGxpc3RQdWJsaWNGb3JtRmFpbHVyZUFjdGlvbixcbiAgbGlzdFB1YmxpY0Zvcm1TdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY0Zvcm1BY3Rpb24sXG4gIHJldHJpZXZlUHVibGljRm9ybUZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljRm9ybVN1Y2Nlc3NBY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBNZW1iZXJQdWJsaWNGb3JtU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IENvbGxlY3Rpb24sIE1lbWJlclB1YmxpY0Zvcm0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIG1lcmdlTWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQdWJsaWNGb3JtRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgbWVtYmVyUHVibGljRm9ybVNlcnZpY2UgPSBpbmplY3QoTWVtYmVyUHVibGljRm9ybVNlcnZpY2UpO1xuXG4gIGxpc3RQdWJsaWNGb3JtcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMuYWN0aW9ucyRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgb2ZUeXBlKGxpc3RQdWJsaWNGb3JtQWN0aW9uKSxcbiAgICAgICAgICBtZXJnZU1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IEFycmF5PHN0cmluZz4gfSkgPT5cbiAgICAgICAgICAgIGZvcmtKb2luKHBheWxvYWQubWFwKChpZDogc3RyaW5nKSA9PlxuICAgICAgICAgICAgICB0aGlzLm1lbWJlclB1YmxpY0Zvcm1TZXJ2aWNlLmdldE1lbWJlck1lbWJlclB1YmxpY0Zvcm1zKGlkKVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgbWFwKChmb3JtczogQ29sbGVjdGlvbjxNZW1iZXJQdWJsaWNGb3JtPikgPT4gKHtpZCwgZm9ybXM6IGZvcm1zLnRvQXJyYXkoKX0pKSxcbiAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2Yoe2lkLCBlcnJvcn0pKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApKS5waXBlKFxuICAgICAgICAgICAgICBtYXAocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0TWFwID0gbmV3IE1hcDxzdHJpbmcsIEFycmF5PE1lbWJlclB1YmxpY0Zvcm0+PigpO1xuICAgICAgICAgICAgICAgIHJlc3VsdHMuZm9yRWFjaCgocmVzdWx0OiB7IGlkOiBzdHJpbmcsIGZvcm1zPzogQXJyYXk8TWVtYmVyUHVibGljRm9ybT4sIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHJlc3VsdC5mb3Jtcykge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHRNYXAuc2V0KHJlc3VsdC5pZCwgcmVzdWx0LmZvcm1zKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbGlzdFB1YmxpY0Zvcm1TdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiByZXN1bHRNYXB9KTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdFB1YmxpY0Zvcm1GYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuICApO1xuXG4gIHJldHJpZXZlUHVibGljRm9ybSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlUHVibGljRm9ybUFjdGlvbiksXG4gICAgICBtZXJnZU1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyBtZW1iZXJJZDogc3RyaW5nLCBpZDogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy5tZW1iZXJQdWJsaWNGb3JtU2VydmljZS5nZXRNZW1iZXJNZW1iZXJQdWJsaWNGb3JtKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuaWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGZvcm06IE1lbWJlclB1YmxpY0Zvcm0pID0+IHJldHJpZXZlUHVibGljRm9ybVN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGZvcm19KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlUHVibGljRm9ybUZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG59XG4iXX0=
|
|
@@ -6,18 +6,20 @@ import { exhaustMap, of } from 'rxjs';
|
|
|
6
6
|
import { catchError, map } from 'rxjs/operators';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class RegistrationQRCodeEffects {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
constructor() {
|
|
10
|
+
this.actions$ = inject(Actions);
|
|
11
|
+
this.registrationQRCodeService = inject(RegistrationQRCodeService);
|
|
12
|
+
this.registerMemberRegistration$ = createEffect(() => this.actions$
|
|
13
|
+
.pipe(ofType(registerMemberRegistrationQRCodeAction), exhaustMap(({ payload }) => this.registrationQRCodeService.registerMemberRegistrationQRCode(payload.clubId, payload.id, payload.memberId)
|
|
14
|
+
.pipe(map(() => registerMemberRegistrationQRCodeSuccessAction()), catchError((error) => of(registerMemberRegistrationQRCodeFailureAction({ payload: error })))))));
|
|
15
|
+
this.retrieveRegisterQRCode$ = createEffect(() => this.actions$
|
|
16
|
+
.pipe(ofType(retrieveRegistrationQRCodeAction), exhaustMap(({ payload }) => this.registrationQRCodeService.getRegistrationQRCode(payload.clubId, payload.id)
|
|
17
|
+
.pipe(map((value) => retrieveRegistrationQRCodeSuccessAction({ payload: value })), catchError((error) => of(retrieveRegistrationQRCodeFailureAction({ payload: error })))))));
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegistrationQRCodeEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
20
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegistrationQRCodeEffects }); }
|
|
19
21
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegistrationQRCodeEffects, decorators: [{
|
|
21
23
|
type: Injectable
|
|
22
24
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cmF0aW9uLXFyLWNvZGUuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9yZWdpc3RyYXRpb24tcXItY29kZS5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsc0NBQXNDLEVBQ3RDLDZDQUE2QyxFQUM3Qyw2Q0FBNkMsRUFDN0MsZ0NBQWdDLEVBQ2hDLHVDQUF1QyxFQUN2Qyx1Q0FBdUMsRUFDeEMsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLakQsTUFBTSxPQUFPLHlCQUF5QjtJQUR0QztRQUVVLGFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsOEJBQXlCLEdBQUcsTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFdEUsZ0NBQTJCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO2FBQzNELElBQUksQ0FDSCxNQUFNLENBQUMsc0NBQXNDLENBQUMsRUFDOUMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQTRELEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQzthQUMvTCxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLDZDQUE2QyxFQUFFLENBQUMsRUFDMUQsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLDZDQUE2QyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUM5RyxDQUNGLENBQ0YsQ0FDRixDQUFDO1FBRUYsNEJBQXVCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO2FBQ3ZELElBQUksQ0FDSCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsRUFDeEMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQTBDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUM7YUFDaEosSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEtBQXlCLEVBQUUsRUFBRSxDQUFDLHVDQUF1QyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsRUFDN0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLHVDQUF1QyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUN4RyxDQUNGLENBQ0YsQ0FDRixDQUFDO0tBQ0g7K0dBM0JZLHlCQUF5QjttSEFBekIseUJBQXlCOzs0RkFBekIseUJBQXlCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgUmVnaXN0cmF0aW9uUVJDb2RlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gIHJlZ2lzdGVyTWVtYmVyUmVnaXN0cmF0aW9uUVJDb2RlQWN0aW9uLFxuICByZWdpc3Rlck1lbWJlclJlZ2lzdHJhdGlvblFSQ29kZUZhaWx1cmVBY3Rpb24sXG4gIHJlZ2lzdGVyTWVtYmVyUmVnaXN0cmF0aW9uUVJDb2RlU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVSZWdpc3RyYXRpb25RUkNvZGVBY3Rpb24sXG4gIHJldHJpZXZlUmVnaXN0cmF0aW9uUVJDb2RlRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVSZWdpc3RyYXRpb25RUkNvZGVTdWNjZXNzQWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgZXhoYXVzdE1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUmVnaXN0cmF0aW9uUVJDb2RlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJlZ2lzdHJhdGlvblFSQ29kZUVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIHJlZ2lzdHJhdGlvblFSQ29kZVNlcnZpY2UgPSBpbmplY3QoUmVnaXN0cmF0aW9uUVJDb2RlU2VydmljZSk7XG5cbiAgcmVnaXN0ZXJNZW1iZXJSZWdpc3RyYXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZWdpc3Rlck1lbWJlclJlZ2lzdHJhdGlvblFSQ29kZUFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7Y2x1YklkOiBzdHJpbmcsIGlkOiBzdHJpbmcsIG1lbWJlcklkOiBzdHJpbmd9fSkgPT4gdGhpcy5yZWdpc3RyYXRpb25RUkNvZGVTZXJ2aWNlLnJlZ2lzdGVyTWVtYmVyUmVnaXN0cmF0aW9uUVJDb2RlKHBheWxvYWQuY2x1YklkLCBwYXlsb2FkLmlkLCBwYXlsb2FkLm1lbWJlcklkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKCkgPT4gcmVnaXN0ZXJNZW1iZXJSZWdpc3RyYXRpb25RUkNvZGVTdWNjZXNzQWN0aW9uKCkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmVnaXN0ZXJNZW1iZXJSZWdpc3RyYXRpb25RUkNvZGVGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVJlZ2lzdGVyUVJDb2RlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVSZWdpc3RyYXRpb25RUkNvZGVBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge2NsdWJJZDogc3RyaW5nLCBpZDogc3RyaW5nfX0pID0+IHRoaXMucmVnaXN0cmF0aW9uUVJDb2RlU2VydmljZS5nZXRSZWdpc3RyYXRpb25RUkNvZGUocGF5bG9hZC5jbHViSWQsIHBheWxvYWQuaWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodmFsdWU6IFJlZ2lzdHJhdGlvblFSQ29kZSkgPT4gcmV0cmlldmVSZWdpc3RyYXRpb25RUkNvZGVTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB2YWx1ZX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlUmVnaXN0cmF0aW9uUVJDb2RlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG59XG4iXX0=
|
|
@@ -6,13 +6,15 @@ import { exhaustMap, of } from 'rxjs';
|
|
|
6
6
|
import { catchError, map } from 'rxjs/operators';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class SavedSearchEffects {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
constructor() {
|
|
10
|
+
this.actions$ = inject(Actions);
|
|
11
|
+
this.savedSearchService = inject(SavedSearchService);
|
|
12
|
+
this.listSavedSearches$ = createEffect(() => this.actions$.pipe(ofType(listSavedSearchesAction), exhaustMap(({ role, itemId }) => this.savedSearchService.getSavedSearches(role, itemId).pipe(map((collection) => listSavedSearchesSuccessAction({ searches: collection.toArray() })), catchError((error) => of(listSavedSearchesFailureAction({ payload: error })))))));
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SavedSearchEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SavedSearchEffects }); }
|
|
14
16
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SavedSearchEffects, decorators: [{
|
|
16
18
|
type: Injectable
|
|
17
19
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtc2VhcmNoLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL3N0b3JlL2VmZmVjdHMvc2F2ZWQtc2VhcmNoLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSw4QkFBOEIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNySCxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUlqRCxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRVUsYUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQix1QkFBa0IsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUV4RCx1QkFBa0IsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3hELE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxFQUMvQixVQUFVLENBQ1IsQ0FBQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQWlDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUM3RyxHQUFHLENBQUMsQ0FBQyxVQUFtQyxFQUFFLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxFQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQzlHLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDL0YsQ0FDRixDQUNGLENBQUMsQ0FBQztLQUNKOytHQWJZLGtCQUFrQjttSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiwgUm9sZSwgU2F2ZWRTZWFyY2ggfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgU2F2ZWRTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgbGlzdFNhdmVkU2VhcmNoZXNBY3Rpb24sIGxpc3RTYXZlZFNlYXJjaGVzRmFpbHVyZUFjdGlvbiwgbGlzdFNhdmVkU2VhcmNoZXNTdWNjZXNzQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTYXZlZFNlYXJjaEVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIHNhdmVkU2VhcmNoU2VydmljZSA9IGluamVjdChTYXZlZFNlYXJjaFNlcnZpY2UpO1xuXG4gIGxpc3RTYXZlZFNlYXJjaGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKGxpc3RTYXZlZFNlYXJjaGVzQWN0aW9uKSxcbiAgICBleGhhdXN0TWFwKFxuICAgICAgKHtyb2xlLCBpdGVtSWR9OiB7IHJvbGU6IFJvbGUsIGl0ZW1JZDogc3RyaW5nIH0pID0+IHRoaXMuc2F2ZWRTZWFyY2hTZXJ2aWNlLmdldFNhdmVkU2VhcmNoZXMocm9sZSwgaXRlbUlkKS5waXBlKFxuICAgICAgICBtYXAoKGNvbGxlY3Rpb246IENvbGxlY3Rpb248U2F2ZWRTZWFyY2g+KSA9PiBsaXN0U2F2ZWRTZWFyY2hlc1N1Y2Nlc3NBY3Rpb24oe3NlYXJjaGVzOiBjb2xsZWN0aW9uLnRvQXJyYXkoKX0pKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0U2F2ZWRTZWFyY2hlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKSxcbiAgICAgICksXG4gICAgKSxcbiAgKSk7XG59XG4iXX0=
|
|
@@ -6,15 +6,17 @@ import { exhaustMap, of } from 'rxjs';
|
|
|
6
6
|
import { catchError, map } from 'rxjs/operators';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class SwishIncidentsEffects {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
constructor() {
|
|
10
|
+
this.actions$ = inject(Actions);
|
|
11
|
+
this.swishIncidentService = inject(SwishIncidentService);
|
|
12
|
+
this.listSwishIncidents$ = createEffect(() => this.actions$
|
|
13
|
+
.pipe(ofType(listSwishIncidentsAction), exhaustMap(() => this.swishIncidentService.listSwishIncidents()
|
|
14
|
+
.pipe(map((incidents) => listSwishIncidentsSuccessAction({ payload: incidents.toArray() })), catchError((error) => of(listSwishIncidentsFailureAction({ payload: error })))))));
|
|
15
|
+
}
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwishIncidentsEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
17
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwishIncidentsEffects }); }
|
|
16
18
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SwishIncidentsEffects, decorators: [{
|
|
18
20
|
type: Injectable
|
|
19
21
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpc2gtaW5jaWRlbnRzLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL3N0b3JlL2VmZmVjdHMvc3dpc2gtaW5jaWRlbnRzLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsK0JBQStCLEVBQy9CLCtCQUErQixHQUNoQyxNQUFNLFlBQVksQ0FBQztBQUVwQixPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUlqRCxNQUFNLE9BQU8scUJBQXFCO0lBRGxDO1FBRVUsYUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQix5QkFBb0IsR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUU1RCx3QkFBbUIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVE7YUFDbkQsSUFBSSxDQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxFQUNoQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGtCQUFrQixFQUFFO2FBQzVELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxTQUFvQyxFQUFFLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQzlHLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDaEcsQ0FDRixDQUNGLENBQ0YsQ0FBQTtLQUNGOytHQWZZLHFCQUFxQjttSEFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3dpc2hJbmNpZGVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zd2lzaC1pbmNpZGVudC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIGxpc3RTd2lzaEluY2lkZW50c0FjdGlvbixcbiAgbGlzdFN3aXNoSW5jaWRlbnRzRmFpbHVyZUFjdGlvbixcbiAgbGlzdFN3aXNoSW5jaWRlbnRzU3VjY2Vzc0FjdGlvbixcbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBTd2lzaEluY2lkZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN3aXNoSW5jaWRlbnRzRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgc3dpc2hJbmNpZGVudFNlcnZpY2UgPSBpbmplY3QoU3dpc2hJbmNpZGVudFNlcnZpY2UpO1xuXG4gIGxpc3RTd2lzaEluY2lkZW50cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxpc3RTd2lzaEluY2lkZW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuc3dpc2hJbmNpZGVudFNlcnZpY2UubGlzdFN3aXNoSW5jaWRlbnRzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChpbmNpZGVudHM6IENvbGxlY3Rpb248U3dpc2hJbmNpZGVudD4pID0+IGxpc3RTd2lzaEluY2lkZW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGluY2lkZW50cy50b0FycmF5KCl9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0U3dpc2hJbmNpZGVudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKVxufVxuIl19
|