@myclub_se/data-access 1.1.0
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/README.md +22 -0
- package/esm2020/index.mjs +10 -0
- package/esm2020/lib/api-models/api-activity-extra-member.mjs +2 -0
- package/esm2020/lib/api-models/api-activity-invite.mjs +2 -0
- package/esm2020/lib/api-models/api-activity-location.mjs +2 -0
- package/esm2020/lib/api-models/api-activity-settings.mjs +2 -0
- package/esm2020/lib/api-models/api-activity-type.mjs +2 -0
- package/esm2020/lib/api-models/api-activity.mjs +2 -0
- package/esm2020/lib/api-models/api-auth/api-auth-member.mjs +2 -0
- package/esm2020/lib/api-models/api-auth/api-auth-section.mjs +2 -0
- package/esm2020/lib/api-models/api-auth/api-auth-team-section.mjs +2 -0
- package/esm2020/lib/api-models/api-auth/api-auth-team.mjs +2 -0
- package/esm2020/lib/api-models/api-auth/api-auth.mjs +2 -0
- package/esm2020/lib/api-models/api-auth/index.mjs +6 -0
- package/esm2020/lib/api-models/api-calendar-event.mjs +2 -0
- package/esm2020/lib/api-models/api-calendar.mjs +2 -0
- package/esm2020/lib/api-models/api-card/api-card-deal.mjs +2 -0
- package/esm2020/lib/api-models/api-card/api-card-logo-urls.mjs +2 -0
- package/esm2020/lib/api-models/api-card/api-card-logo.mjs +2 -0
- package/esm2020/lib/api-models/api-card/api-card-member-ticket.mjs +2 -0
- package/esm2020/lib/api-models/api-card/api-card-theme.mjs +2 -0
- package/esm2020/lib/api-models/api-card/api-card-ticket-location.mjs +2 -0
- package/esm2020/lib/api-models/api-card/api-card-ticket.mjs +2 -0
- package/esm2020/lib/api-models/api-card/api-card.mjs +2 -0
- package/esm2020/lib/api-models/api-card/api-home-team.mjs +2 -0
- package/esm2020/lib/api-models/api-card/api-member-card.mjs +2 -0
- package/esm2020/lib/api-models/api-card/api-search-member-card.mjs +2 -0
- package/esm2020/lib/api-models/api-card/index.mjs +12 -0
- package/esm2020/lib/api-models/api-club-image.mjs +2 -0
- package/esm2020/lib/api-models/api-club-section.mjs +2 -0
- package/esm2020/lib/api-models/api-club-team.mjs +2 -0
- package/esm2020/lib/api-models/api-club.mjs +2 -0
- package/esm2020/lib/api-models/api-collection.mjs +2 -0
- package/esm2020/lib/api-models/api-directory.mjs +2 -0
- package/esm2020/lib/api-models/api-event.mjs +2 -0
- package/esm2020/lib/api-models/api-external-link.mjs +2 -0
- package/esm2020/lib/api-models/api-file-object.mjs +2 -0
- package/esm2020/lib/api-models/api-general-image.mjs +2 -0
- package/esm2020/lib/api-models/api-image-urls.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/api-invoice-payments/api-credit-card.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/api-invoice-payments/api-giro.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/api-invoice-payments/api-swish.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/api-invoice-payments/api-zimpler.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/api-invoice-payments/index.mjs +5 -0
- package/esm2020/lib/api-models/api-invoice/api-member-fee.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/api-member-invoice-row.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/api-member-invoice.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/api-payment-attempt-create.mjs +7 -0
- package/esm2020/lib/api-models/api-invoice/api-payment-attempt.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/api-search-member-invoice.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/api-swish-qr-code.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/api-unpaid-member-invoice.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/index.mjs +11 -0
- package/esm2020/lib/api-models/api-invoice/payment-attempt-data-types/api-payment-attempt-credit-card-data-type.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/payment-attempt-data-types/api-payment-attempt-swish-data-type.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/payment-attempt-data-types/api-payment-attempt-zimpler-data-type.mjs +2 -0
- package/esm2020/lib/api-models/api-invoice/payment-attempt-data-types/index.mjs +4 -0
- package/esm2020/lib/api-models/api-member/api-contact.mjs +2 -0
- package/esm2020/lib/api-models/api-member/api-member-attribute.mjs +2 -0
- package/esm2020/lib/api-models/api-member/api-member-contact.mjs +2 -0
- package/esm2020/lib/api-models/api-member/api-member-function.mjs +2 -0
- package/esm2020/lib/api-models/api-member/api-member-validation-settings.mjs +2 -0
- package/esm2020/lib/api-models/api-member/api-member.mjs +2 -0
- package/esm2020/lib/api-models/api-member/api-search-member.mjs +2 -0
- package/esm2020/lib/api-models/api-member/index.mjs +8 -0
- package/esm2020/lib/api-models/api-member-activity-invite.mjs +2 -0
- package/esm2020/lib/api-models/api-member-public-form.mjs +2 -0
- package/esm2020/lib/api-models/api-member-team-through.mjs +2 -0
- package/esm2020/lib/api-models/api-member-team.mjs +2 -0
- package/esm2020/lib/api-models/api-news.mjs +2 -0
- package/esm2020/lib/api-models/api-partner.mjs +2 -0
- package/esm2020/lib/api-models/api-search-club.mjs +2 -0
- package/esm2020/lib/api-models/api-search-member-team.mjs +2 -0
- package/esm2020/lib/api-models/api-section-team.mjs +2 -0
- package/esm2020/lib/api-models/api-section.mjs +2 -0
- package/esm2020/lib/api-models/api-token.mjs +2 -0
- package/esm2020/lib/api-models/api-user-notification.mjs +2 -0
- package/esm2020/lib/api-models/api-user.mjs +2 -0
- package/esm2020/lib/api-models/index.mjs +36 -0
- package/esm2020/lib/authentication/authentication.config.mjs +2 -0
- package/esm2020/lib/authentication/authentication.interceptor.mjs +44 -0
- package/esm2020/lib/authentication/authentication.service.mjs +73 -0
- package/esm2020/lib/authentication/guards/authenticated.guard.mjs +36 -0
- package/esm2020/lib/authentication/guards/handle-grant-token.guard.mjs +29 -0
- package/esm2020/lib/authentication/index.mjs +5 -0
- package/esm2020/lib/data-access.module.mjs +29 -0
- package/esm2020/lib/interfaces/index.mjs +3 -0
- package/esm2020/lib/interfaces/new-account.interface.mjs +2 -0
- package/esm2020/lib/interfaces/option.interface.mjs +2 -0
- package/esm2020/lib/models/activity-extra-member.mjs +12 -0
- package/esm2020/lib/models/activity-invite.mjs +18 -0
- package/esm2020/lib/models/activity-location.mjs +12 -0
- package/esm2020/lib/models/activity-settings.mjs +14 -0
- package/esm2020/lib/models/activity-type.mjs +11 -0
- package/esm2020/lib/models/activity.mjs +87 -0
- package/esm2020/lib/models/auth/auth-member.mjs +10 -0
- package/esm2020/lib/models/auth/auth-section.mjs +7 -0
- package/esm2020/lib/models/auth/auth-team-section.mjs +7 -0
- package/esm2020/lib/models/auth/auth-team.mjs +9 -0
- package/esm2020/lib/models/auth/auth.mjs +15 -0
- package/esm2020/lib/models/auth/index.mjs +6 -0
- package/esm2020/lib/models/authentication.mjs +7 -0
- package/esm2020/lib/models/calendar-event.mjs +20 -0
- package/esm2020/lib/models/calendar.mjs +10 -0
- package/esm2020/lib/models/card/card-deal.mjs +10 -0
- package/esm2020/lib/models/card/card-logo-urls.mjs +13 -0
- package/esm2020/lib/models/card/card-logo.mjs +8 -0
- package/esm2020/lib/models/card/card-member-ticket.mjs +11 -0
- package/esm2020/lib/models/card/card-theme.mjs +10 -0
- package/esm2020/lib/models/card/card-ticket-location.mjs +9 -0
- package/esm2020/lib/models/card/card-ticket.mjs +21 -0
- package/esm2020/lib/models/card/card.mjs +13 -0
- package/esm2020/lib/models/card/home-team.mjs +8 -0
- package/esm2020/lib/models/card/index.mjs +12 -0
- package/esm2020/lib/models/card/member-card.mjs +12 -0
- package/esm2020/lib/models/card/search-member-card.mjs +8 -0
- package/esm2020/lib/models/club-image.mjs +18 -0
- package/esm2020/lib/models/club-section.mjs +7 -0
- package/esm2020/lib/models/club-team.mjs +7 -0
- package/esm2020/lib/models/club.mjs +7 -0
- package/esm2020/lib/models/collection.mjs +15 -0
- package/esm2020/lib/models/contact.mjs +46 -0
- package/esm2020/lib/models/directory.mjs +20 -0
- package/esm2020/lib/models/email-recipient.mjs +7 -0
- package/esm2020/lib/models/email.mjs +8 -0
- package/esm2020/lib/models/event.mjs +20 -0
- package/esm2020/lib/models/external-link.mjs +7 -0
- package/esm2020/lib/models/file-object.mjs +13 -0
- package/esm2020/lib/models/general-image.mjs +8 -0
- package/esm2020/lib/models/image-urls.mjs +10 -0
- package/esm2020/lib/models/index.mjs +42 -0
- package/esm2020/lib/models/invoice/index.mjs +10 -0
- package/esm2020/lib/models/invoice/member-fee.mjs +9 -0
- package/esm2020/lib/models/invoice/member-invoice-row.mjs +17 -0
- package/esm2020/lib/models/invoice/member-invoice.mjs +24 -0
- package/esm2020/lib/models/invoice/payment-attempt-data-types/index.mjs +4 -0
- package/esm2020/lib/models/invoice/payment-attempt-data-types/payment-attempt-credit-card-data-type.mjs +2 -0
- package/esm2020/lib/models/invoice/payment-attempt-data-types/payment-attempt-swish-data-type.mjs +2 -0
- package/esm2020/lib/models/invoice/payment-attempt-data-types/payment-attempt-zimpler-data-type.mjs +2 -0
- package/esm2020/lib/models/invoice/payment-attempt.mjs +13 -0
- package/esm2020/lib/models/invoice/payment-types/credit-card.mjs +16 -0
- package/esm2020/lib/models/invoice/payment-types/giro.mjs +11 -0
- package/esm2020/lib/models/invoice/payment-types/index.mjs +5 -0
- package/esm2020/lib/models/invoice/payment-types/swish.mjs +14 -0
- package/esm2020/lib/models/invoice/payment-types/zimpler.mjs +12 -0
- package/esm2020/lib/models/invoice/search-member-invoice.mjs +17 -0
- package/esm2020/lib/models/invoice/swish-qr-code.mjs +6 -0
- package/esm2020/lib/models/invoice/unpaid-member-invoice.mjs +9 -0
- package/esm2020/lib/models/member/index.mjs +7 -0
- package/esm2020/lib/models/member/member-attribute.mjs +24 -0
- package/esm2020/lib/models/member/member-contact.mjs +21 -0
- package/esm2020/lib/models/member/member-function.mjs +19 -0
- package/esm2020/lib/models/member/member-validation-settings.mjs +13 -0
- package/esm2020/lib/models/member/member.mjs +75 -0
- package/esm2020/lib/models/member/search-member.mjs +20 -0
- package/esm2020/lib/models/member-activity-invite.mjs +27 -0
- package/esm2020/lib/models/member-public-form.mjs +10 -0
- package/esm2020/lib/models/member-team-through.mjs +14 -0
- package/esm2020/lib/models/member-team.mjs +11 -0
- package/esm2020/lib/models/news.mjs +22 -0
- package/esm2020/lib/models/partner.mjs +9 -0
- package/esm2020/lib/models/role.mjs +10 -0
- package/esm2020/lib/models/search-club.mjs +9 -0
- package/esm2020/lib/models/search-member-team.mjs +9 -0
- package/esm2020/lib/models/section-team.mjs +7 -0
- package/esm2020/lib/models/section.mjs +7 -0
- package/esm2020/lib/models/token.mjs +7 -0
- package/esm2020/lib/models/user-notification.mjs +13 -0
- package/esm2020/lib/models/user.mjs +31 -0
- package/esm2020/lib/services/activity.service.mjs +178 -0
- package/esm2020/lib/services/api.service.mjs +85 -0
- package/esm2020/lib/services/auth.service.mjs +56 -0
- package/esm2020/lib/services/club.service.mjs +29 -0
- package/esm2020/lib/services/constant.service.mjs +131 -0
- package/esm2020/lib/services/email.service.mjs +53 -0
- package/esm2020/lib/services/external-link.service.mjs +24 -0
- package/esm2020/lib/services/factories/activity-extra-member-factory.mjs +6 -0
- package/esm2020/lib/services/factories/activity-factory.mjs +5 -0
- package/esm2020/lib/services/factories/activity-invite-factory.mjs +6 -0
- package/esm2020/lib/services/factories/activity-location-factory.mjs +3 -0
- package/esm2020/lib/services/factories/activity-settings-factory.mjs +3 -0
- package/esm2020/lib/services/factories/activity-type-factory.mjs +3 -0
- package/esm2020/lib/services/factories/auth-factory.mjs +6 -0
- package/esm2020/lib/services/factories/auth-member-factory.mjs +3 -0
- package/esm2020/lib/services/factories/auth-section-factory.mjs +3 -0
- package/esm2020/lib/services/factories/auth-team-factory.mjs +4 -0
- package/esm2020/lib/services/factories/auth-team-section-factory.mjs +3 -0
- package/esm2020/lib/services/factories/card-deal-factory.mjs +4 -0
- package/esm2020/lib/services/factories/card-factory.mjs +5 -0
- package/esm2020/lib/services/factories/card-logo-factory.mjs +4 -0
- package/esm2020/lib/services/factories/card-logo-urls-factory.mjs +3 -0
- package/esm2020/lib/services/factories/card-member-ticket-factory.mjs +3 -0
- package/esm2020/lib/services/factories/card-theme-factory.mjs +4 -0
- package/esm2020/lib/services/factories/card-ticket-factory.mjs +7 -0
- package/esm2020/lib/services/factories/card-ticket-location-factory.mjs +3 -0
- package/esm2020/lib/services/factories/club-factory.mjs +3 -0
- package/esm2020/lib/services/factories/club-image-factory.mjs +3 -0
- package/esm2020/lib/services/factories/club-section-factory.mjs +3 -0
- package/esm2020/lib/services/factories/contact-factory.mjs +3 -0
- package/esm2020/lib/services/factories/credit-card-factory.mjs +3 -0
- package/esm2020/lib/services/factories/directory-factory.mjs +4 -0
- package/esm2020/lib/services/factories/event-factory.mjs +3 -0
- package/esm2020/lib/services/factories/external-link-factory.mjs +3 -0
- package/esm2020/lib/services/factories/file-factory.mjs +3 -0
- package/esm2020/lib/services/factories/general-image-factory.mjs +4 -0
- package/esm2020/lib/services/factories/giro-factory.mjs +3 -0
- package/esm2020/lib/services/factories/home-team-factory.mjs +4 -0
- package/esm2020/lib/services/factories/image-urls-factory.mjs +3 -0
- package/esm2020/lib/services/factories/index.mjs +62 -0
- package/esm2020/lib/services/factories/member-attribute-factory.mjs +3 -0
- package/esm2020/lib/services/factories/member-card-factory.mjs +4 -0
- package/esm2020/lib/services/factories/member-contact-factory.mjs +4 -0
- package/esm2020/lib/services/factories/member-factory.mjs +8 -0
- package/esm2020/lib/services/factories/member-fee-factory.mjs +3 -0
- package/esm2020/lib/services/factories/member-function-factory.mjs +3 -0
- package/esm2020/lib/services/factories/member-invite-factory.mjs +3 -0
- package/esm2020/lib/services/factories/member-invoice-factory.mjs +8 -0
- package/esm2020/lib/services/factories/member-invoice-row-factory.mjs +4 -0
- package/esm2020/lib/services/factories/member-public-form-factory.mjs +3 -0
- package/esm2020/lib/services/factories/member-team-factory.mjs +5 -0
- package/esm2020/lib/services/factories/member-team-through-factory.mjs +4 -0
- package/esm2020/lib/services/factories/member-validation-settings-factory.mjs +3 -0
- package/esm2020/lib/services/factories/news-factory.mjs +3 -0
- package/esm2020/lib/services/factories/partner-factory.mjs +4 -0
- package/esm2020/lib/services/factories/payment-attempt-factory.mjs +23 -0
- package/esm2020/lib/services/factories/search-club-factory.mjs +3 -0
- package/esm2020/lib/services/factories/search-member-card-factory.mjs +3 -0
- package/esm2020/lib/services/factories/search-member-factory.mjs +3 -0
- package/esm2020/lib/services/factories/search-member-invoice-factory.mjs +3 -0
- package/esm2020/lib/services/factories/search-member-team-factory.mjs +5 -0
- package/esm2020/lib/services/factories/search-member-team-through-factory.mjs +4 -0
- package/esm2020/lib/services/factories/section-factory.mjs +3 -0
- package/esm2020/lib/services/factories/swish-factory.mjs +3 -0
- package/esm2020/lib/services/factories/token-factory.mjs +3 -0
- package/esm2020/lib/services/factories/unpaid-invoice-factory.mjs +3 -0
- package/esm2020/lib/services/factories/user-factory.mjs +3 -0
- package/esm2020/lib/services/factories/user-notification-factory.mjs +3 -0
- package/esm2020/lib/services/factories/zimpler-factory.mjs +3 -0
- package/esm2020/lib/services/file.service.mjs +29 -0
- package/esm2020/lib/services/index.mjs +18 -0
- package/esm2020/lib/services/invoice/index.mjs +3 -0
- package/esm2020/lib/services/invoice/invoice.service.mjs +41 -0
- package/esm2020/lib/services/invoice/payment-attempt.service.mjs +51 -0
- package/esm2020/lib/services/member-card.service.mjs +82 -0
- package/esm2020/lib/services/member-public-form.service.mjs +24 -0
- package/esm2020/lib/services/member.service.mjs +58 -0
- package/esm2020/lib/services/news.service.mjs +30 -0
- package/esm2020/lib/services/section.service.mjs +23 -0
- package/esm2020/lib/services/team.service.mjs +81 -0
- package/esm2020/lib/services/token.service.mjs +57 -0
- package/esm2020/lib/services/user-notification.service.mjs +23 -0
- package/esm2020/lib/services/user.service.mjs +68 -0
- package/esm2020/lib/types/attribute-type.mjs +2 -0
- package/esm2020/lib/types/contact-type.mjs +2 -0
- package/esm2020/lib/types/index.mjs +6 -0
- package/esm2020/lib/types/payment-attempt-status-type.mjs +2 -0
- package/esm2020/lib/types/payment-attempt-type.mjs +2 -0
- package/esm2020/lib/types/sex-type.mjs +2 -0
- package/esm2020/myclub_se-data-access.mjs +5 -0
- package/fesm2015/myclub_se-data-access.mjs +2425 -0
- package/fesm2015/myclub_se-data-access.mjs.map +1 -0
- package/fesm2020/myclub_se-data-access.mjs +2423 -0
- package/fesm2020/myclub_se-data-access.mjs.map +1 -0
- package/index.d.ts +6 -0
- package/lib/api-models/api-activity-extra-member.d.ts +10 -0
- package/lib/api-models/api-activity-invite.d.ts +18 -0
- package/lib/api-models/api-activity-location.d.ts +9 -0
- package/lib/api-models/api-activity-settings.d.ts +12 -0
- package/lib/api-models/api-activity-type.d.ts +8 -0
- package/lib/api-models/api-activity.d.ts +45 -0
- package/lib/api-models/api-auth/api-auth-member.d.ts +5 -0
- package/lib/api-models/api-auth/api-auth-section.d.ts +4 -0
- package/lib/api-models/api-auth/api-auth-team-section.d.ts +4 -0
- package/lib/api-models/api-auth/api-auth-team.d.ts +7 -0
- package/lib/api-models/api-auth/api-auth.d.ts +15 -0
- package/lib/api-models/api-auth/index.d.ts +5 -0
- package/lib/api-models/api-calendar-event.d.ts +18 -0
- package/lib/api-models/api-calendar.d.ts +7 -0
- package/lib/api-models/api-card/api-card-deal.d.ts +8 -0
- package/lib/api-models/api-card/api-card-logo-urls.d.ts +11 -0
- package/lib/api-models/api-card/api-card-logo.d.ts +6 -0
- package/lib/api-models/api-card/api-card-member-ticket.d.ts +8 -0
- package/lib/api-models/api-card/api-card-theme.d.ts +8 -0
- package/lib/api-models/api-card/api-card-ticket-location.d.ts +6 -0
- package/lib/api-models/api-card/api-card-ticket.d.ts +20 -0
- package/lib/api-models/api-card/api-card.d.ts +12 -0
- package/lib/api-models/api-card/api-home-team.d.ts +6 -0
- package/lib/api-models/api-card/api-member-card.d.ts +10 -0
- package/lib/api-models/api-card/api-search-member-card.d.ts +5 -0
- package/lib/api-models/api-card/index.d.ts +11 -0
- package/lib/api-models/api-club-image.d.ts +15 -0
- package/lib/api-models/api-club-section.d.ts +4 -0
- package/lib/api-models/api-club-team.d.ts +4 -0
- package/lib/api-models/api-club.d.ts +4 -0
- package/lib/api-models/api-collection.d.ts +6 -0
- package/lib/api-models/api-directory.d.ts +12 -0
- package/lib/api-models/api-event.d.ts +17 -0
- package/lib/api-models/api-external-link.d.ts +4 -0
- package/lib/api-models/api-file-object.d.ts +10 -0
- package/lib/api-models/api-general-image.d.ts +6 -0
- package/lib/api-models/api-image-urls.d.ts +7 -0
- package/lib/api-models/api-invoice/api-invoice-payments/api-credit-card.d.ts +13 -0
- package/lib/api-models/api-invoice/api-invoice-payments/api-giro.d.ts +8 -0
- package/lib/api-models/api-invoice/api-invoice-payments/api-swish.d.ts +11 -0
- package/lib/api-models/api-invoice/api-invoice-payments/api-zimpler.d.ts +9 -0
- package/lib/api-models/api-invoice/api-invoice-payments/index.d.ts +4 -0
- package/lib/api-models/api-invoice/api-member-fee.d.ts +6 -0
- package/lib/api-models/api-invoice/api-member-invoice-row.d.ts +15 -0
- package/lib/api-models/api-invoice/api-member-invoice.d.ts +23 -0
- package/lib/api-models/api-invoice/api-payment-attempt-create.d.ts +6 -0
- package/lib/api-models/api-invoice/api-payment-attempt.d.ts +12 -0
- package/lib/api-models/api-invoice/api-search-member-invoice.d.ts +11 -0
- package/lib/api-models/api-invoice/api-swish-qr-code.d.ts +3 -0
- package/lib/api-models/api-invoice/api-unpaid-member-invoice.d.ts +6 -0
- package/lib/api-models/api-invoice/index.d.ts +10 -0
- package/lib/api-models/api-invoice/payment-attempt-data-types/api-payment-attempt-credit-card-data-type.d.ts +4 -0
- package/lib/api-models/api-invoice/payment-attempt-data-types/api-payment-attempt-swish-data-type.d.ts +3 -0
- package/lib/api-models/api-invoice/payment-attempt-data-types/api-payment-attempt-zimpler-data-type.d.ts +3 -0
- package/lib/api-models/api-invoice/payment-attempt-data-types/index.d.ts +3 -0
- package/lib/api-models/api-member/api-contact.d.ts +17 -0
- package/lib/api-models/api-member/api-member-attribute.d.ts +15 -0
- package/lib/api-models/api-member/api-member-contact.d.ts +9 -0
- package/lib/api-models/api-member/api-member-function.d.ts +7 -0
- package/lib/api-models/api-member/api-member-validation-settings.d.ts +10 -0
- package/lib/api-models/api-member/api-member.d.ts +30 -0
- package/lib/api-models/api-member/api-search-member.d.ts +17 -0
- package/lib/api-models/api-member/index.d.ts +7 -0
- package/lib/api-models/api-member-activity-invite.d.ts +9 -0
- package/lib/api-models/api-member-public-form.d.ts +7 -0
- package/lib/api-models/api-member-team-through.d.ts +12 -0
- package/lib/api-models/api-member-team.d.ts +9 -0
- package/lib/api-models/api-news.d.ts +20 -0
- package/lib/api-models/api-partner.d.ts +7 -0
- package/lib/api-models/api-search-club.d.ts +6 -0
- package/lib/api-models/api-search-member-team.d.ts +7 -0
- package/lib/api-models/api-section-team.d.ts +4 -0
- package/lib/api-models/api-section.d.ts +6 -0
- package/lib/api-models/api-token.d.ts +7 -0
- package/lib/api-models/api-user-notification.d.ts +10 -0
- package/lib/api-models/api-user.d.ts +18 -0
- package/lib/api-models/index.d.ts +35 -0
- package/lib/authentication/authentication.config.d.ts +1 -0
- package/lib/authentication/authentication.interceptor.d.ts +11 -0
- package/lib/authentication/authentication.service.d.ts +31 -0
- package/lib/authentication/guards/authenticated.guard.d.ts +11 -0
- package/lib/authentication/guards/handle-grant-token.guard.d.ts +11 -0
- package/lib/authentication/index.d.ts +4 -0
- package/lib/data-access.module.d.ts +14 -0
- package/lib/interfaces/index.d.ts +2 -0
- package/lib/interfaces/new-account.interface.d.ts +7 -0
- package/lib/interfaces/option.interface.d.ts +4 -0
- package/lib/models/activity-extra-member.d.ts +11 -0
- package/lib/models/activity-invite.d.ts +19 -0
- package/lib/models/activity-location.d.ts +10 -0
- package/lib/models/activity-settings.d.ts +13 -0
- package/lib/models/activity-type.d.ts +9 -0
- package/lib/models/activity.d.ts +48 -0
- package/lib/models/auth/auth-member.d.ts +8 -0
- package/lib/models/auth/auth-section.d.ts +5 -0
- package/lib/models/auth/auth-team-section.d.ts +5 -0
- package/lib/models/auth/auth-team.d.ts +8 -0
- package/lib/models/auth/auth.d.ts +16 -0
- package/lib/models/auth/index.d.ts +5 -0
- package/lib/models/authentication.d.ts +5 -0
- package/lib/models/calendar-event.d.ts +19 -0
- package/lib/models/calendar.d.ts +8 -0
- package/lib/models/card/card-deal.d.ts +9 -0
- package/lib/models/card/card-logo-urls.d.ts +11 -0
- package/lib/models/card/card-logo.d.ts +7 -0
- package/lib/models/card/card-member-ticket.d.ts +9 -0
- package/lib/models/card/card-theme.d.ts +9 -0
- package/lib/models/card/card-ticket-location.d.ts +7 -0
- package/lib/models/card/card-ticket.d.ts +21 -0
- package/lib/models/card/card.d.ts +13 -0
- package/lib/models/card/home-team.d.ts +7 -0
- package/lib/models/card/index.d.ts +11 -0
- package/lib/models/card/member-card.d.ts +11 -0
- package/lib/models/card/search-member-card.d.ts +6 -0
- package/lib/models/club-image.d.ts +16 -0
- package/lib/models/club-section.d.ts +5 -0
- package/lib/models/club-team.d.ts +5 -0
- package/lib/models/club.d.ts +5 -0
- package/lib/models/collection.d.ts +9 -0
- package/lib/models/contact.d.ts +21 -0
- package/lib/models/directory.d.ts +15 -0
- package/lib/models/email-recipient.d.ts +5 -0
- package/lib/models/email.d.ts +7 -0
- package/lib/models/event.d.ts +18 -0
- package/lib/models/external-link.d.ts +5 -0
- package/lib/models/file-object.d.ts +11 -0
- package/lib/models/general-image.d.ts +7 -0
- package/lib/models/image-urls.d.ts +8 -0
- package/lib/models/index.d.ts +41 -0
- package/lib/models/invoice/index.d.ts +9 -0
- package/lib/models/invoice/member-fee.d.ts +7 -0
- package/lib/models/invoice/member-invoice-row.d.ts +16 -0
- package/lib/models/invoice/member-invoice.d.ts +24 -0
- package/lib/models/invoice/payment-attempt-data-types/index.d.ts +3 -0
- package/lib/models/invoice/payment-attempt-data-types/payment-attempt-credit-card-data-type.d.ts +4 -0
- package/lib/models/invoice/payment-attempt-data-types/payment-attempt-swish-data-type.d.ts +3 -0
- package/lib/models/invoice/payment-attempt-data-types/payment-attempt-zimpler-data-type.d.ts +3 -0
- package/lib/models/invoice/payment-attempt.d.ts +13 -0
- package/lib/models/invoice/payment-types/credit-card.d.ts +14 -0
- package/lib/models/invoice/payment-types/giro.d.ts +9 -0
- package/lib/models/invoice/payment-types/index.d.ts +4 -0
- package/lib/models/invoice/payment-types/swish.d.ts +12 -0
- package/lib/models/invoice/payment-types/zimpler.d.ts +10 -0
- package/lib/models/invoice/search-member-invoice.d.ts +13 -0
- package/lib/models/invoice/swish-qr-code.d.ts +4 -0
- package/lib/models/invoice/unpaid-member-invoice.d.ts +7 -0
- package/lib/models/member/index.d.ts +6 -0
- package/lib/models/member/member-attribute.d.ts +22 -0
- package/lib/models/member/member-contact.d.ts +12 -0
- package/lib/models/member/member-function.d.ts +10 -0
- package/lib/models/member/member-validation-settings.d.ts +11 -0
- package/lib/models/member/member.d.ts +34 -0
- package/lib/models/member/search-member.d.ts +18 -0
- package/lib/models/member-activity-invite.d.ts +11 -0
- package/lib/models/member-public-form.d.ts +8 -0
- package/lib/models/member-team-through.d.ts +13 -0
- package/lib/models/member-team.d.ts +10 -0
- package/lib/models/news.d.ts +20 -0
- package/lib/models/partner.d.ts +8 -0
- package/lib/models/role.d.ts +8 -0
- package/lib/models/search-club.d.ts +7 -0
- package/lib/models/search-member-team.d.ts +8 -0
- package/lib/models/section-team.d.ts +5 -0
- package/lib/models/section.d.ts +5 -0
- package/lib/models/token.d.ts +5 -0
- package/lib/models/user-notification.d.ts +11 -0
- package/lib/models/user.d.ts +16 -0
- package/lib/services/activity.service.d.ts +32 -0
- package/lib/services/api.service.d.ts +39 -0
- package/lib/services/auth.service.d.ts +15 -0
- package/lib/services/club.service.d.ts +10 -0
- package/lib/services/constant.service.d.ts +33 -0
- package/lib/services/email.service.d.ts +18 -0
- package/lib/services/external-link.service.d.ts +9 -0
- package/lib/services/factories/activity-extra-member-factory.d.ts +3 -0
- package/lib/services/factories/activity-factory.d.ts +3 -0
- package/lib/services/factories/activity-invite-factory.d.ts +3 -0
- package/lib/services/factories/activity-location-factory.d.ts +3 -0
- package/lib/services/factories/activity-settings-factory.d.ts +3 -0
- package/lib/services/factories/activity-type-factory.d.ts +3 -0
- package/lib/services/factories/auth-factory.d.ts +3 -0
- package/lib/services/factories/auth-member-factory.d.ts +3 -0
- package/lib/services/factories/auth-section-factory.d.ts +3 -0
- package/lib/services/factories/auth-team-factory.d.ts +3 -0
- package/lib/services/factories/auth-team-section-factory.d.ts +3 -0
- package/lib/services/factories/card-deal-factory.d.ts +3 -0
- package/lib/services/factories/card-factory.d.ts +3 -0
- package/lib/services/factories/card-logo-factory.d.ts +3 -0
- package/lib/services/factories/card-logo-urls-factory.d.ts +3 -0
- package/lib/services/factories/card-member-ticket-factory.d.ts +3 -0
- package/lib/services/factories/card-theme-factory.d.ts +3 -0
- package/lib/services/factories/card-ticket-factory.d.ts +3 -0
- package/lib/services/factories/card-ticket-location-factory.d.ts +3 -0
- package/lib/services/factories/club-factory.d.ts +3 -0
- package/lib/services/factories/club-image-factory.d.ts +3 -0
- package/lib/services/factories/club-section-factory.d.ts +3 -0
- package/lib/services/factories/contact-factory.d.ts +3 -0
- package/lib/services/factories/credit-card-factory.d.ts +3 -0
- package/lib/services/factories/directory-factory.d.ts +3 -0
- package/lib/services/factories/event-factory.d.ts +3 -0
- package/lib/services/factories/external-link-factory.d.ts +3 -0
- package/lib/services/factories/file-factory.d.ts +3 -0
- package/lib/services/factories/general-image-factory.d.ts +3 -0
- package/lib/services/factories/giro-factory.d.ts +3 -0
- package/lib/services/factories/home-team-factory.d.ts +3 -0
- package/lib/services/factories/image-urls-factory.d.ts +3 -0
- package/lib/services/factories/index.d.ts +61 -0
- package/lib/services/factories/member-attribute-factory.d.ts +3 -0
- package/lib/services/factories/member-card-factory.d.ts +3 -0
- package/lib/services/factories/member-contact-factory.d.ts +3 -0
- package/lib/services/factories/member-factory.d.ts +3 -0
- package/lib/services/factories/member-fee-factory.d.ts +3 -0
- package/lib/services/factories/member-function-factory.d.ts +3 -0
- package/lib/services/factories/member-invite-factory.d.ts +3 -0
- package/lib/services/factories/member-invoice-factory.d.ts +3 -0
- package/lib/services/factories/member-invoice-row-factory.d.ts +3 -0
- package/lib/services/factories/member-public-form-factory.d.ts +3 -0
- package/lib/services/factories/member-team-factory.d.ts +3 -0
- package/lib/services/factories/member-team-through-factory.d.ts +3 -0
- package/lib/services/factories/member-validation-settings-factory.d.ts +3 -0
- package/lib/services/factories/news-factory.d.ts +3 -0
- package/lib/services/factories/partner-factory.d.ts +3 -0
- package/lib/services/factories/payment-attempt-factory.d.ts +3 -0
- package/lib/services/factories/search-club-factory.d.ts +3 -0
- package/lib/services/factories/search-member-card-factory.d.ts +3 -0
- package/lib/services/factories/search-member-factory.d.ts +3 -0
- package/lib/services/factories/search-member-invoice-factory.d.ts +3 -0
- package/lib/services/factories/search-member-team-factory.d.ts +3 -0
- package/lib/services/factories/search-member-team-through-factory.d.ts +3 -0
- package/lib/services/factories/section-factory.d.ts +3 -0
- package/lib/services/factories/swish-factory.d.ts +3 -0
- package/lib/services/factories/token-factory.d.ts +3 -0
- package/lib/services/factories/unpaid-invoice-factory.d.ts +3 -0
- package/lib/services/factories/user-factory.d.ts +3 -0
- package/lib/services/factories/user-notification-factory.d.ts +3 -0
- package/lib/services/factories/zimpler-factory.d.ts +3 -0
- package/lib/services/file.service.d.ts +11 -0
- package/lib/services/index.d.ts +17 -0
- package/lib/services/invoice/index.d.ts +2 -0
- package/lib/services/invoice/invoice.service.d.ts +17 -0
- package/lib/services/invoice/payment-attempt.service.d.ts +19 -0
- package/lib/services/member-card.service.d.ts +27 -0
- package/lib/services/member-public-form.service.d.ts +10 -0
- package/lib/services/member.service.d.ts +17 -0
- package/lib/services/news.service.d.ts +9 -0
- package/lib/services/section.service.d.ts +10 -0
- package/lib/services/team.service.d.ts +24 -0
- package/lib/services/token.service.d.ts +15 -0
- package/lib/services/user-notification.service.d.ts +10 -0
- package/lib/services/user.service.d.ts +16 -0
- package/lib/types/attribute-type.d.ts +1 -0
- package/lib/types/contact-type.d.ts +1 -0
- package/lib/types/index.d.ts +5 -0
- package/lib/types/payment-attempt-status-type.d.ts +1 -0
- package/lib/types/payment-attempt-type.d.ts +1 -0
- package/lib/types/sex-type.d.ts +1 -0
- package/package.json +35 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Role, } from '../models';
|
|
3
|
+
import { tap } from 'rxjs/operators';
|
|
4
|
+
import { of } from 'rxjs';
|
|
5
|
+
import { activityFactory, activityInviteFactory, activityLocationFactory, activitySettingsFactory, activityTypeFactory, eventFactory, searchMemberFactory, } from './factories';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./api.service";
|
|
8
|
+
const MEMBER_ACTIVITY_INVITE_PATH = ':memberId/activities/:activityInviteId/';
|
|
9
|
+
const MEMBER_ACTIVITY_INVITES_PATH = ':memberId/activities/';
|
|
10
|
+
const MEMBER_CALENDAR_PATH = ':memberId/activities/calendar/';
|
|
11
|
+
const PUBLIC_ACTIVITY_INVITE_PATH = 'activities/:id/:token/';
|
|
12
|
+
const TEAM_ACTIVITIES_PATH = ':teamId/activities/';
|
|
13
|
+
const TEAM_ACTIVITY_INVITES_PATH = ':teamId/activities/:activityId/invites/';
|
|
14
|
+
const TEAM_ACTIVITY_LOCATIONS_PATH = ':teamId/activities/locations/';
|
|
15
|
+
const TEAM_ACTIVITY_NEW_PATH = ':teamId/activities/new/';
|
|
16
|
+
const TEAM_ACTIVITY_PARTICIPANTS_PATH = ':teamId/activities/:activityId/participants/';
|
|
17
|
+
const TEAM_ACTIVITY_PATH = ':teamId/activities/:id/';
|
|
18
|
+
const TEAM_ACTIVITY_SETTINGS_PATH = ':teamId/activities/settings/';
|
|
19
|
+
const TEAM_ACTIVITY_TYPES_PATH = ':teamId/activities/types/';
|
|
20
|
+
const TEAM_CALENDAR_PATH = ':teamId/activities/calendar/';
|
|
21
|
+
export class ActivityService {
|
|
22
|
+
constructor(apiService) {
|
|
23
|
+
this.apiService = apiService;
|
|
24
|
+
}
|
|
25
|
+
addTeamActivityInvites(teamId, activityId, memberIds) {
|
|
26
|
+
return this.apiService
|
|
27
|
+
.postResource(() => true, Role.TeamAdmin, TEAM_ACTIVITY_INVITES_PATH, {
|
|
28
|
+
teamId,
|
|
29
|
+
activityId
|
|
30
|
+
}, {
|
|
31
|
+
members: memberIds
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
createTeamActivity(teamId, data) {
|
|
35
|
+
return this.apiService
|
|
36
|
+
.postResource(activityFactory, Role.TeamAdmin, TEAM_ACTIVITIES_PATH, {
|
|
37
|
+
teamId
|
|
38
|
+
}, data);
|
|
39
|
+
}
|
|
40
|
+
deleteTeamActivity(teamId, id) {
|
|
41
|
+
return this.apiService
|
|
42
|
+
.deleteResource(Role.TeamAdmin, TEAM_ACTIVITY_PATH, {
|
|
43
|
+
teamId,
|
|
44
|
+
id
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
getMemberActivityInvite(memberId, activityInviteId) {
|
|
48
|
+
return this.apiService
|
|
49
|
+
.getResource(activityInviteFactory, Role.MemberAdmin, MEMBER_ACTIVITY_INVITE_PATH, {
|
|
50
|
+
memberId,
|
|
51
|
+
activityInviteId
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
getMemberActivityInvites(memberId) {
|
|
55
|
+
const params = { limit: 'null' };
|
|
56
|
+
return this.apiService
|
|
57
|
+
.getCollection(activityInviteFactory, Role.MemberAdmin, MEMBER_ACTIVITY_INVITES_PATH, { memberId }, {
|
|
58
|
+
params
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
getMemberCalendarEvents(memberId, startDate = null, endDate = null) {
|
|
62
|
+
const params = { limit: 'null' };
|
|
63
|
+
if (startDate) {
|
|
64
|
+
params['search_start_day'] = startDate;
|
|
65
|
+
}
|
|
66
|
+
if (endDate) {
|
|
67
|
+
params['search_end_day'] = endDate;
|
|
68
|
+
}
|
|
69
|
+
return this.apiService
|
|
70
|
+
.getCollection(eventFactory, Role.MemberAdmin, MEMBER_CALENDAR_PATH, { memberId }, {
|
|
71
|
+
params
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
getPublicActivityInvite(id, token) {
|
|
75
|
+
return this.apiService
|
|
76
|
+
.getResource(activityInviteFactory, Role.Public, PUBLIC_ACTIVITY_INVITE_PATH, {
|
|
77
|
+
id,
|
|
78
|
+
token
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
getTeamActivity(teamId, id) {
|
|
82
|
+
return this.apiService
|
|
83
|
+
.getResource(activityFactory, Role.TeamAdmin, TEAM_ACTIVITY_PATH, { teamId, id });
|
|
84
|
+
}
|
|
85
|
+
getTeamActivityLocations(teamId) {
|
|
86
|
+
if (this.activityLocationResponseDate && this.activityLocationResponseDate > this.subtractHours(new Date(), 1)) {
|
|
87
|
+
return of(this.activityLocationCollection);
|
|
88
|
+
}
|
|
89
|
+
return this.apiService
|
|
90
|
+
.getCollection(activityLocationFactory, Role.TeamAdmin, TEAM_ACTIVITY_LOCATIONS_PATH, { teamId }, { params: { limit: 'null' } }).pipe(tap((activityLocationCollection) => {
|
|
91
|
+
this.activityLocationResponseDate = new Date();
|
|
92
|
+
this.activityLocationCollection = activityLocationCollection;
|
|
93
|
+
}));
|
|
94
|
+
}
|
|
95
|
+
getTeamActivityNew(teamId) {
|
|
96
|
+
return this.apiService
|
|
97
|
+
.getResource(activityFactory, Role.TeamAdmin, TEAM_ACTIVITY_NEW_PATH, { teamId });
|
|
98
|
+
}
|
|
99
|
+
getTeamActivityParticipants(teamId, activityId) {
|
|
100
|
+
return this.apiService
|
|
101
|
+
.getCollection(searchMemberFactory, Role.TeamAdmin, TEAM_ACTIVITY_PARTICIPANTS_PATH, {
|
|
102
|
+
teamId,
|
|
103
|
+
activityId
|
|
104
|
+
}, { params: { limit: 'null' } });
|
|
105
|
+
}
|
|
106
|
+
getTeamActivitySettings(teamId) {
|
|
107
|
+
return this.apiService
|
|
108
|
+
.getResource(activitySettingsFactory, Role.TeamAdmin, TEAM_ACTIVITY_SETTINGS_PATH, {
|
|
109
|
+
teamId
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
getTeamActivityTypes(teamId) {
|
|
113
|
+
if (this.activityTypeResponseDate && this.activityTypeResponseDate > this.subtractHours(new Date(), 1)) {
|
|
114
|
+
return of(this.activityTypeCollection);
|
|
115
|
+
}
|
|
116
|
+
return this.apiService
|
|
117
|
+
.getCollection(activityTypeFactory, Role.TeamAdmin, TEAM_ACTIVITY_TYPES_PATH, { teamId }, { params: { limit: 'null' } }).pipe(tap((activityTypeCollection) => {
|
|
118
|
+
this.activityTypeResponseDate = new Date();
|
|
119
|
+
this.activityTypeCollection = activityTypeCollection;
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
getTeamCalendarEvents(teamId, startDate = null, endDate = null) {
|
|
123
|
+
const params = { limit: 'null' };
|
|
124
|
+
if (startDate) {
|
|
125
|
+
params['search_start_day'] = startDate;
|
|
126
|
+
}
|
|
127
|
+
if (endDate) {
|
|
128
|
+
params['search_end_day'] = endDate;
|
|
129
|
+
}
|
|
130
|
+
return this.apiService
|
|
131
|
+
.getCollection(eventFactory, Role.TeamAdmin, TEAM_CALENDAR_PATH, { teamId }, {
|
|
132
|
+
params
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
updateMemberActivity(memberId, activityInviteId, activityInvite) {
|
|
136
|
+
return this.apiService
|
|
137
|
+
.updateResource(activityInviteFactory, Role.MemberAdmin, MEMBER_ACTIVITY_INVITE_PATH, {
|
|
138
|
+
memberId,
|
|
139
|
+
activityInviteId
|
|
140
|
+
}, activityInvite);
|
|
141
|
+
}
|
|
142
|
+
updatePublicActivityInvite(id, token, activityInvite) {
|
|
143
|
+
return this.apiService
|
|
144
|
+
.updateResource(activityInviteFactory, Role.Public, PUBLIC_ACTIVITY_INVITE_PATH, {
|
|
145
|
+
id,
|
|
146
|
+
token
|
|
147
|
+
}, activityInvite);
|
|
148
|
+
}
|
|
149
|
+
updateTeamActivity(teamId, activity) {
|
|
150
|
+
return this.apiService
|
|
151
|
+
.updateResource(activityFactory, Role.TeamAdmin, TEAM_ACTIVITY_PATH, {
|
|
152
|
+
teamId,
|
|
153
|
+
id: activity.id
|
|
154
|
+
}, activity);
|
|
155
|
+
}
|
|
156
|
+
updateTeamActivityParticipants(teamId, activityId, members) {
|
|
157
|
+
return this.apiService
|
|
158
|
+
.postResource(() => { }, Role.TeamAdmin, TEAM_ACTIVITY_PARTICIPANTS_PATH, {
|
|
159
|
+
teamId,
|
|
160
|
+
activityId
|
|
161
|
+
}, {
|
|
162
|
+
members
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
subtractHours(date, hours) {
|
|
166
|
+
date.setHours(date.getHours() - hours);
|
|
167
|
+
return date;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
ActivityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ActivityService, deps: [{ token: i1.ApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
171
|
+
ActivityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ActivityService, providedIn: 'root' });
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ActivityService, decorators: [{
|
|
173
|
+
type: Injectable,
|
|
174
|
+
args: [{
|
|
175
|
+
providedIn: 'root'
|
|
176
|
+
}]
|
|
177
|
+
}], ctorParameters: function () { return [{ type: i1.ApiService }]; } });
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc2VydmljZXMvYWN0aXZpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBd0QsSUFBSSxHQUFHLE1BQU0sV0FBVyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFCLE9BQU8sRUFDTCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLFlBQVksRUFDWixtQkFBbUIsR0FDcEIsTUFBTSxhQUFhLENBQUM7OztBQUVyQixNQUFNLDJCQUEyQixHQUFHLHlDQUF5QyxDQUFDO0FBQzlFLE1BQU0sNEJBQTRCLEdBQUcsdUJBQXVCLENBQUM7QUFDN0QsTUFBTSxvQkFBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM5RCxNQUFNLDJCQUEyQixHQUFHLHdCQUF3QixDQUFDO0FBQzdELE1BQU0sb0JBQW9CLEdBQUcscUJBQXFCLENBQUM7QUFDbkQsTUFBTSwwQkFBMEIsR0FBRyx5Q0FBeUMsQ0FBQztBQUM3RSxNQUFNLDRCQUE0QixHQUFHLCtCQUErQixDQUFDO0FBQ3JFLE1BQU0sc0JBQXNCLEdBQUcseUJBQXlCLENBQUM7QUFDekQsTUFBTSwrQkFBK0IsR0FBRyw4Q0FBOEMsQ0FBQztBQUN2RixNQUFNLGtCQUFrQixHQUFHLHlCQUF5QixDQUFDO0FBQ3JELE1BQU0sMkJBQTJCLEdBQUcsOEJBQThCLENBQUM7QUFDbkUsTUFBTSx3QkFBd0IsR0FBRywyQkFBMkIsQ0FBQztBQUM3RCxNQUFNLGtCQUFrQixHQUFHLDhCQUE4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LENBQUMsQ0FBQztRQUV2QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OzZHQTdSVSxlQUFlO2lIQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZpdHksIEFjdGl2aXR5TG9jYXRpb24sIEFjdGl2aXR5VHlwZSwgQ29sbGVjdGlvbiwgUm9sZSwgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGFjdGl2aXR5RmFjdG9yeSxcbiAgYWN0aXZpdHlJbnZpdGVGYWN0b3J5LFxuICBhY3Rpdml0eUxvY2F0aW9uRmFjdG9yeSxcbiAgYWN0aXZpdHlTZXR0aW5nc0ZhY3RvcnksXG4gIGFjdGl2aXR5VHlwZUZhY3RvcnksXG4gIGV2ZW50RmFjdG9yeSxcbiAgc2VhcmNoTWVtYmVyRmFjdG9yeSxcbn0gZnJvbSAnLi9mYWN0b3JpZXMnO1xuXG5jb25zdCBNRU1CRVJfQUNUSVZJVFlfSU5WSVRFX1BBVEggPSAnOm1lbWJlcklkL2FjdGl2aXRpZXMvOmFjdGl2aXR5SW52aXRlSWQvJztcbmNvbnN0IE1FTUJFUl9BQ1RJVklUWV9JTlZJVEVTX1BBVEggPSAnOm1lbWJlcklkL2FjdGl2aXRpZXMvJztcbmNvbnN0IE1FTUJFUl9DQUxFTkRBUl9QQVRIID0gJzptZW1iZXJJZC9hY3Rpdml0aWVzL2NhbGVuZGFyLyc7XG5jb25zdCBQVUJMSUNfQUNUSVZJVFlfSU5WSVRFX1BBVEggPSAnYWN0aXZpdGllcy86aWQvOnRva2VuLyc7XG5jb25zdCBURUFNX0FDVElWSVRJRVNfUEFUSCA9ICc6dGVhbUlkL2FjdGl2aXRpZXMvJztcbmNvbnN0IFRFQU1fQUNUSVZJVFlfSU5WSVRFU19QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy86YWN0aXZpdHlJZC9pbnZpdGVzLyc7XG5jb25zdCBURUFNX0FDVElWSVRZX0xPQ0FUSU9OU19QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy9sb2NhdGlvbnMvJztcbmNvbnN0IFRFQU1fQUNUSVZJVFlfTkVXX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzL25ldy8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9QQVJUSUNJUEFOVFNfUEFUSCA9ICc6dGVhbUlkL2FjdGl2aXRpZXMvOmFjdGl2aXR5SWQvcGFydGljaXBhbnRzLyc7XG5jb25zdCBURUFNX0FDVElWSVRZX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzLzppZC8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9TRVRUSU5HU19QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy9zZXR0aW5ncy8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9UWVBFU19QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy90eXBlcy8nO1xuY29uc3QgVEVBTV9DQUxFTkRBUl9QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy9jYWxlbmRhci8nO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFjdGl2aXR5U2VydmljZSB7XG4gIGFjdGl2aXR5TG9jYXRpb25Db2xsZWN0aW9uOiBDb2xsZWN0aW9uPEFjdGl2aXR5TG9jYXRpb24+IHwgdW5kZWZpbmVkO1xuICBhY3Rpdml0eVR5cGVDb2xsZWN0aW9uOiBDb2xsZWN0aW9uPEFjdGl2aXR5VHlwZT4gfCB1bmRlZmluZWQ7XG5cbiAgYWN0aXZpdHlMb2NhdGlvblJlc3BvbnNlRGF0ZTogRGF0ZSB8IHVuZGVmaW5lZDtcbiAgYWN0aXZpdHlUeXBlUmVzcG9uc2VEYXRlOiBEYXRlIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSkgeyB9XG5cbiAgYWRkVGVhbUFjdGl2aXR5SW52aXRlcyh0ZWFtSWQ6IHN0cmluZywgYWN0aXZpdHlJZDogc3RyaW5nLCBtZW1iZXJJZHM6IEFycmF5PHN0cmluZz4pIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFJlc291cmNlKFxuICAgICAgICAoKSA9PiB0cnVlLFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9JTlZJVEVTX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICB0ZWFtSWQsXG4gICAgICAgICAgYWN0aXZpdHlJZFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbWVtYmVyczogbWVtYmVySWRzXG4gICAgICAgIH1cbiAgICAgIClcbiAgfVxuXG4gIGNyZWF0ZVRlYW1BY3Rpdml0eSh0ZWFtSWQ6IHN0cmluZywgZGF0YTogQWN0aXZpdHkpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eUZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRJRVNfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZFxuICAgICAgICB9LFxuICAgICAgICBkYXRhXG4gICAgICApXG4gIH1cblxuICBkZWxldGVUZWFtQWN0aXZpdHkodGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZGVsZXRlUmVzb3VyY2UoXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICB0ZWFtSWQsXG4gICAgICAgICAgaWRcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIGdldE1lbWJlckFjdGl2aXR5SW52aXRlKG1lbWJlcklkOiBzdHJpbmcsIGFjdGl2aXR5SW52aXRlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlJbnZpdGVGYWN0b3J5LFxuICAgICAgICBSb2xlLk1lbWJlckFkbWluLFxuICAgICAgICBNRU1CRVJfQUNUSVZJVFlfSU5WSVRFX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBtZW1iZXJJZCxcbiAgICAgICAgICBhY3Rpdml0eUludml0ZUlkXG4gICAgICAgIH1cbiAgICAgIClcbiAgfVxuXG4gIGdldE1lbWJlckFjdGl2aXR5SW52aXRlcyhtZW1iZXJJZDogc3RyaW5nKSB7XG4gICAgY29uc3QgcGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0geyBsaW1pdDogJ251bGwnfTtcblxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBhY3Rpdml0eUludml0ZUZhY3RvcnksXG4gICAgICAgIFJvbGUuTWVtYmVyQWRtaW4sXG4gICAgICAgIE1FTUJFUl9BQ1RJVklUWV9JTlZJVEVTX1BBVEgsXG4gICAgICAgIHttZW1iZXJJZH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwYXJhbXNcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIGdldE1lbWJlckNhbGVuZGFyRXZlbnRzKG1lbWJlcklkOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGVuZERhdGU6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgY29uc3QgcGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0geyBsaW1pdDogJ251bGwnIH07XG5cbiAgICBpZiAoc3RhcnREYXRlKSB7XG4gICAgICBwYXJhbXNbJ3NlYXJjaF9zdGFydF9kYXknXSA9IHN0YXJ0RGF0ZTtcbiAgICB9XG5cbiAgICBpZiAoZW5kRGF0ZSkge1xuICAgICAgcGFyYW1zWydzZWFyY2hfZW5kX2RheSddID0gZW5kRGF0ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgZXZlbnRGYWN0b3J5LFxuICAgICAgICBSb2xlLk1lbWJlckFkbWluLFxuICAgICAgICBNRU1CRVJfQ0FMRU5EQVJfUEFUSCxcbiAgICAgICAge21lbWJlcklkfSxcbiAgICAgICAge1xuICAgICAgICAgIHBhcmFtc1xuICAgICAgICB9XG4gICAgICApXG4gIH1cblxuICBnZXRQdWJsaWNBY3Rpdml0eUludml0ZShpZDogc3RyaW5nLCB0b2tlbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldFJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eUludml0ZUZhY3RvcnksXG4gICAgICAgIFJvbGUuUHVibGljLFxuICAgICAgICBQVUJMSUNfQUNUSVZJVFlfSU5WSVRFX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICB0b2tlblxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgZ2V0VGVhbUFjdGl2aXR5KHRlYW1JZDogc3RyaW5nLCBpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldFJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eUZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX1BBVEgsXG4gICAgICAgIHt0ZWFtSWQsIGlkfVxuICAgICAgKVxuICB9XG5cbiAgZ2V0VGVhbUFjdGl2aXR5TG9jYXRpb25zKHRlYW1JZDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlMb2NhdGlvblJlc3BvbnNlRGF0ZSAmJiB0aGlzLmFjdGl2aXR5TG9jYXRpb25SZXNwb25zZURhdGUgPiB0aGlzLnN1YnRyYWN0SG91cnMobmV3IERhdGUoKSwgMSkpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmFjdGl2aXR5TG9jYXRpb25Db2xsZWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvbkZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX0xPQ0FUSU9OU19QQVRILFxuICAgICAgICB7dGVhbUlkfSxcbiAgICAgICAgeyBwYXJhbXM6IHsgbGltaXQ6ICdudWxsJyB9IH1cbiAgICAgICkucGlwZShcbiAgICAgICAgdGFwKChhY3Rpdml0eUxvY2F0aW9uQ29sbGVjdGlvbjogQ29sbGVjdGlvbjxBY3Rpdml0eUxvY2F0aW9uPikgPT4ge1xuICAgICAgICAgIHRoaXMuYWN0aXZpdHlMb2NhdGlvblJlc3BvbnNlRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgdGhpcy5hY3Rpdml0eUxvY2F0aW9uQ29sbGVjdGlvbiA9IGFjdGl2aXR5TG9jYXRpb25Db2xsZWN0aW9uO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFRlYW1BY3Rpdml0eU5ldyh0ZWFtSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9ORVdfUEFUSCxcbiAgICAgICAge3RlYW1JZH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRUZWFtQWN0aXZpdHlQYXJ0aWNpcGFudHModGVhbUlkOiBzdHJpbmcsIGFjdGl2aXR5SWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBzZWFyY2hNZW1iZXJGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9QQVJUSUNJUEFOVFNfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgICBhY3Rpdml0eUlkXG4gICAgICAgIH0sXG4gICAgICAgIHsgcGFyYW1zOiB7IGxpbWl0OiAnbnVsbCcgfSB9XG4gICAgICApO1xuICB9XG5cbiAgZ2V0VGVhbUFjdGl2aXR5U2V0dGluZ3ModGVhbUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5U2V0dGluZ3NGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9TRVRUSU5HU19QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgdGVhbUlkXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRUZWFtQWN0aXZpdHlUeXBlcyh0ZWFtSWQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5VHlwZVJlc3BvbnNlRGF0ZSAmJiB0aGlzLmFjdGl2aXR5VHlwZVJlc3BvbnNlRGF0ZSA+IHRoaXMuc3VidHJhY3RIb3VycyhuZXcgRGF0ZSgpLCAxKSkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuYWN0aXZpdHlUeXBlQ29sbGVjdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5VHlwZUZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX1RZUEVTX1BBVEgsXG4gICAgICAgIHt0ZWFtSWR9LFxuICAgICAgICB7IHBhcmFtczogeyBsaW1pdDogJ251bGwnIH0gfVxuICAgICAgKS5waXBlKFxuICAgICAgICB0YXAoKGFjdGl2aXR5VHlwZUNvbGxlY3Rpb246IENvbGxlY3Rpb248QWN0aXZpdHlUeXBlPikgPT4ge1xuICAgICAgICAgIHRoaXMuYWN0aXZpdHlUeXBlUmVzcG9uc2VEYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgICB0aGlzLmFjdGl2aXR5VHlwZUNvbGxlY3Rpb24gPSBhY3Rpdml0eVR5cGVDb2xsZWN0aW9uO1xuICAgICAgICB9KVxuICAgICAgKVxuICB9XG5cbiAgZ2V0VGVhbUNhbGVuZGFyRXZlbnRzKHRlYW1JZDogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZyB8IG51bGwgPSBudWxsLCBlbmREYXRlOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgIGNvbnN0IHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHsgbGltaXQ6ICdudWxsJyB9O1xuXG4gICAgaWYgKHN0YXJ0RGF0ZSkge1xuICAgICAgcGFyYW1zWydzZWFyY2hfc3RhcnRfZGF5J10gPSBzdGFydERhdGU7XG4gICAgfVxuXG4gICAgaWYgKGVuZERhdGUpIHtcbiAgICAgIHBhcmFtc1snc2VhcmNoX2VuZF9kYXknXSA9IGVuZERhdGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGV2ZW50RmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQ0FMRU5EQVJfUEFUSCxcbiAgICAgICAge3RlYW1JZH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwYXJhbXNcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHVwZGF0ZU1lbWJlckFjdGl2aXR5KG1lbWJlcklkOiBzdHJpbmcsIGFjdGl2aXR5SW52aXRlSWQ6IHN0cmluZywgYWN0aXZpdHlJbnZpdGU6IHVua25vd24pIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAudXBkYXRlUmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5SW52aXRlRmFjdG9yeSxcbiAgICAgICAgUm9sZS5NZW1iZXJBZG1pbixcbiAgICAgICAgTUVNQkVSX0FDVElWSVRZX0lOVklURV9QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgbWVtYmVySWQsXG4gICAgICAgICAgYWN0aXZpdHlJbnZpdGVJZFxuICAgICAgICB9LFxuICAgICAgICBhY3Rpdml0eUludml0ZVxuICAgICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVB1YmxpY0FjdGl2aXR5SW52aXRlKGlkOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcsIGFjdGl2aXR5SW52aXRlOiB1bmtub3duKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnVwZGF0ZVJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eUludml0ZUZhY3RvcnksXG4gICAgICAgIFJvbGUuUHVibGljLFxuICAgICAgICBQVUJMSUNfQUNUSVZJVFlfSU5WSVRFX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICB0b2tlblxuICAgICAgICB9LFxuICAgICAgICBhY3Rpdml0eUludml0ZVxuICAgICAgKVxuICB9XG5cbiAgdXBkYXRlVGVhbUFjdGl2aXR5KHRlYW1JZDogc3RyaW5nLCBhY3Rpdml0eTogQWN0aXZpdHkpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAudXBkYXRlUmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5RmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVFlfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgICBpZDogYWN0aXZpdHkuaWRcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZpdHlcbiAgICAgICk7XG4gIH1cblxuICB1cGRhdGVUZWFtQWN0aXZpdHlQYXJ0aWNpcGFudHModGVhbUlkOiBzdHJpbmcsIGFjdGl2aXR5SWQ6IHN0cmluZywgbWVtYmVyczogQXJyYXk8c3RyaW5nPikge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5wb3N0UmVzb3VyY2UoXG4gICAgICAgICgpID0+IHt9LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9QQVJUSUNJUEFOVFNfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgICBhY3Rpdml0eUlkXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtZW1iZXJzXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN1YnRyYWN0SG91cnMoZGF0ZTogRGF0ZSwgaG91cnM6IG51bWJlcik6IERhdGUge1xuICAgIGRhdGUuc2V0SG91cnMoZGF0ZS5nZXRIb3VycygpIC0gaG91cnMpO1xuXG4gICAgcmV0dXJuIGRhdGU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Inject, Injectable, InjectionToken } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { Collection, Role } from '../models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
export const DOMAIN = new InjectionToken('domain');
|
|
7
|
+
const API_PATH = 'api/v3/';
|
|
8
|
+
const ROLE_PATH = {
|
|
9
|
+
[Role.ClubAdmin]: 'club-admin/',
|
|
10
|
+
[Role.SectionAdmin]: 'section-admin/',
|
|
11
|
+
[Role.TeamAdmin]: 'team-admin/',
|
|
12
|
+
[Role.MemberAdmin]: 'member-admin/',
|
|
13
|
+
[Role.Public]: 'public/',
|
|
14
|
+
[Role.None]: ''
|
|
15
|
+
};
|
|
16
|
+
export class ApiService {
|
|
17
|
+
constructor(http, domain) {
|
|
18
|
+
this.http = http;
|
|
19
|
+
this.domain = domain;
|
|
20
|
+
}
|
|
21
|
+
deleteResource(role, path, pathParams = {}, options = {}) {
|
|
22
|
+
return this.delete(role, path, pathParams, options)
|
|
23
|
+
.pipe(map((response) => response.status === 204));
|
|
24
|
+
}
|
|
25
|
+
getCollection(factory, role, path, pathParams = {}, options = {}) {
|
|
26
|
+
return this.get(role, path, pathParams, options).pipe(map((apiCollection) => {
|
|
27
|
+
const resources = apiCollection.results.map((resource) => factory(resource));
|
|
28
|
+
return new Collection(apiCollection.count, apiCollection.next, apiCollection.previous, resources);
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
getResource(factory, role, path, pathParams = {}, options = {}) {
|
|
32
|
+
return this.get(role, path, pathParams, options).pipe(map((apiResource) => factory(apiResource)));
|
|
33
|
+
}
|
|
34
|
+
postFormData(factory, role, path, pathParams = {}, data) {
|
|
35
|
+
const body = new FormData();
|
|
36
|
+
for (const [key, value] of Object.entries(data)) {
|
|
37
|
+
body.append(key, value);
|
|
38
|
+
}
|
|
39
|
+
return this.http.post(this.url(this.path(role, path, pathParams)), body)
|
|
40
|
+
.pipe(map((apiResource) => factory(apiResource)));
|
|
41
|
+
}
|
|
42
|
+
postResource(factory, role, path, pathParams = {}, data, options = {}) {
|
|
43
|
+
return this.post(role, path, pathParams, data, options).pipe(map((apiResource) => factory(apiResource)));
|
|
44
|
+
}
|
|
45
|
+
updateResource(responseFactory, role, path, pathParams = {}, data, options = {}) {
|
|
46
|
+
return this.patch(role, path, pathParams, data, options).pipe(map((apiResource) => responseFactory(apiResource)));
|
|
47
|
+
}
|
|
48
|
+
delete(role, path, pathParams, options) {
|
|
49
|
+
if (options.body) {
|
|
50
|
+
return this.http.request('delete', this.url(this.path(role, path, pathParams)), options);
|
|
51
|
+
}
|
|
52
|
+
return this.http.delete(this.url(this.path(role, path, pathParams)), { ...options, observe: 'response' });
|
|
53
|
+
}
|
|
54
|
+
get(role, path, pathParams, options) {
|
|
55
|
+
return this.http.get(this.url(this.path(role, path, pathParams)), options);
|
|
56
|
+
}
|
|
57
|
+
patch(role, path, pathParams, data, options) {
|
|
58
|
+
return this.http.patch(this.url(this.path(role, path, pathParams)), data, options);
|
|
59
|
+
}
|
|
60
|
+
path(role, path, params) {
|
|
61
|
+
for (const [key, value] of Object.entries(params)) {
|
|
62
|
+
const regexp = new RegExp(':' + key, 'g');
|
|
63
|
+
path = path.replace(regexp, value);
|
|
64
|
+
}
|
|
65
|
+
return ROLE_PATH[role] + path;
|
|
66
|
+
}
|
|
67
|
+
post(role, path, pathParams, data, options) {
|
|
68
|
+
return this.http.post(this.url(this.path(role, path, pathParams)), data, options);
|
|
69
|
+
}
|
|
70
|
+
url(path) {
|
|
71
|
+
return this.domain + API_PATH + path;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
ApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ApiService, deps: [{ token: i1.HttpClient }, { token: DOMAIN }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
75
|
+
ApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ApiService, providedIn: 'root' });
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ApiService, decorators: [{
|
|
77
|
+
type: Injectable,
|
|
78
|
+
args: [{
|
|
79
|
+
providedIn: 'root'
|
|
80
|
+
}]
|
|
81
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
82
|
+
type: Inject,
|
|
83
|
+
args: [DOMAIN]
|
|
84
|
+
}] }]; } });
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUU3QyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsUUFBUSxDQUFDLENBQUM7QUFFM0QsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDO0FBRTNCLE1BQU0sU0FBUyxHQUFHO0lBQ2hCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWE7SUFDL0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsZ0JBQWdCO0lBQ3JDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWE7SUFDL0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsZUFBZTtJQUNuQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTO0lBQ3hCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7Q0FDaEIsQ0FBQztBQWtCRixNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUNVLElBQWdCLEVBQ0EsTUFBYztRQUQ5QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0EsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNyQyxDQUFDO0lBRUosY0FBYyxDQUNaLElBQVUsRUFDVixJQUFZLEVBQ1osYUFBeUIsRUFBRSxFQUMzQixVQUFtQixFQUFFO1FBRXJCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUM7YUFDaEQsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQStCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLENBQ2xFLENBQUM7SUFDTixDQUFDO0lBRUQsYUFBYSxDQUNYLE9BQXNCLEVBQ3RCLElBQVUsRUFDVixJQUFZLEVBQ1osYUFBeUIsRUFBRSxFQUMzQixVQUFtQixFQUFHO1FBRXRCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBbUIsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNyRSxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRTtZQUNwQixNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDN0UsT0FBTyxJQUFJLFVBQVUsQ0FBSSxhQUFhLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN2RyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FDVCxPQUFzQixFQUN0QixJQUFVLEVBQ1YsSUFBWSxFQUNaLGFBQXlCLEVBQUUsRUFDM0IsVUFBbUIsRUFBRTtRQUVyQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUksSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN0RCxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVksQ0FDVixPQUFzQixFQUN0QixJQUFVLEVBQ1YsSUFBWSxFQUNaLGFBQXlCLEVBQUUsRUFDM0IsSUFBK0I7UUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUU1QixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUN6QjtRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUM7YUFDeEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsWUFBWSxDQUNWLE9BQXNCLEVBQ3RCLElBQVUsRUFDVixJQUFZLEVBQ1osYUFBeUIsRUFBRSxFQUMzQixJQUFhLEVBQ2IsVUFBbUIsRUFBRTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUksSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDN0QsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FDM0MsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjLENBQ1osZUFBOEIsRUFDOUIsSUFBVSxFQUNWLElBQVksRUFDWixhQUF5QixFQUFFLEVBQzNCLElBQWEsRUFDYixVQUFtQixFQUFFO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM5RCxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUNuRCxDQUFDO0lBQ0osQ0FBQztJQUVPLE1BQU0sQ0FBQyxJQUFVLEVBQUUsSUFBWSxFQUFFLFVBQXNCLEVBQUUsT0FBZ0I7UUFDL0UsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQU0sUUFBUSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDL0Y7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBQyxHQUFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU8sR0FBRyxDQUFJLElBQVUsRUFBRSxJQUFZLEVBQUUsVUFBc0IsRUFBRSxPQUFnQjtRQUMvRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVPLEtBQUssQ0FBSSxJQUFVLEVBQUUsSUFBWSxFQUFFLFVBQXNCLEVBQUUsSUFBYSxFQUFFLE9BQWdCO1FBQzlGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVPLElBQUksQ0FBQyxJQUFVLEVBQUUsSUFBWSxFQUFFLE1BQWtCO1FBQ3ZELEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2pELE1BQU0sTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDMUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFTyxJQUFJLENBQUksSUFBVSxFQUFFLElBQVksRUFBRSxVQUFzQixFQUFFLElBQWEsRUFBRSxPQUFnQjtRQUMvRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTyxHQUFHLENBQUMsSUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QyxDQUFDOzt3R0FwSFUsVUFBVSw0Q0FHWCxNQUFNOzRHQUhMLFVBQVUsY0FGVCxNQUFNOzRGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJSSxNQUFNOzJCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBcGlDb2xsZWN0aW9uIH0gZnJvbSAnLi4vYXBpLW1vZGVscyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBSb2xlIH0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGNvbnN0IERPTUFJTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdkb21haW4nKTtcblxuY29uc3QgQVBJX1BBVEggPSAnYXBpL3YzLyc7XG5cbmNvbnN0IFJPTEVfUEFUSCA9IHtcbiAgW1JvbGUuQ2x1YkFkbWluXTogJ2NsdWItYWRtaW4vJyxcbiAgW1JvbGUuU2VjdGlvbkFkbWluXTogJ3NlY3Rpb24tYWRtaW4vJyxcbiAgW1JvbGUuVGVhbUFkbWluXTogJ3RlYW0tYWRtaW4vJyxcbiAgW1JvbGUuTWVtYmVyQWRtaW5dOiAnbWVtYmVyLWFkbWluLycsXG4gIFtSb2xlLlB1YmxpY106ICdwdWJsaWMvJyxcbiAgW1JvbGUuTm9uZV06ICcnXG59O1xuXG5pbnRlcmZhY2UgRmFjdG9yeTxBLCBUPiB7XG4gIChhcGlSZXNvdXJjZTogQSk6IFQ7XG59XG5cbmludGVyZmFjZSBQYXRoUGFyYW1zIHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgT3B0aW9ucyB7XG4gIHBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPn07XG4gIGJvZHk/OiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFwaVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdChET01BSU4pIHByaXZhdGUgZG9tYWluOiBzdHJpbmdcbiAgKSB7fVxuXG4gIGRlbGV0ZVJlc291cmNlKFxuICAgIHJvbGU6IFJvbGUsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHBhdGhQYXJhbXM6IFBhdGhQYXJhbXMgPSB7fSxcbiAgICBvcHRpb25zOiBPcHRpb25zID0ge31cbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVsZXRlKHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMsIG9wdGlvbnMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogSHR0cFJlc3BvbnNlPHVua25vd24+KSA9PiByZXNwb25zZS5zdGF0dXMgPT09IDIwNClcbiAgICAgICk7XG4gIH1cblxuICBnZXRDb2xsZWN0aW9uPEEsIFQ+KFxuICAgIGZhY3Rvcnk6IEZhY3Rvcnk8QSwgVD4sXG4gICAgcm9sZTogUm9sZSxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgcGF0aFBhcmFtczogUGF0aFBhcmFtcyA9IHt9LFxuICAgIG9wdGlvbnM6IE9wdGlvbnMgPSB7IH1cbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0PEFwaUNvbGxlY3Rpb248QT4+KHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMsIG9wdGlvbnMpLnBpcGUoXG4gICAgICBtYXAoKGFwaUNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VzID0gYXBpQ29sbGVjdGlvbi5yZXN1bHRzLm1hcCgocmVzb3VyY2UpID0+IGZhY3RvcnkocmVzb3VyY2UpKTtcbiAgICAgICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uPFQ+KGFwaUNvbGxlY3Rpb24uY291bnQsIGFwaUNvbGxlY3Rpb24ubmV4dCwgYXBpQ29sbGVjdGlvbi5wcmV2aW91cywgcmVzb3VyY2VzKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldFJlc291cmNlPEEsIFQ+KFxuICAgIGZhY3Rvcnk6IEZhY3Rvcnk8QSwgVD4sXG4gICAgcm9sZTogUm9sZSxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgcGF0aFBhcmFtczogUGF0aFBhcmFtcyA9IHt9LFxuICAgIG9wdGlvbnM6IE9wdGlvbnMgPSB7fVxuICApIHtcbiAgICByZXR1cm4gdGhpcy5nZXQ8QT4ocm9sZSwgcGF0aCwgcGF0aFBhcmFtcywgb3B0aW9ucykucGlwZShcbiAgICAgIG1hcCgoYXBpUmVzb3VyY2UpID0+IGZhY3RvcnkoYXBpUmVzb3VyY2UpKVxuICAgICk7XG4gIH1cblxuICBwb3N0Rm9ybURhdGE8QSwgVD4oXG4gICAgZmFjdG9yeTogRmFjdG9yeTxBLCBUPixcbiAgICByb2xlOiBSb2xlLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBwYXRoUGFyYW1zOiBQYXRoUGFyYW1zID0ge30sXG4gICAgZGF0YTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IGJvZHkgPSBuZXcgRm9ybURhdGEoKTtcblxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGRhdGEpKSB7XG4gICAgICBib2R5LmFwcGVuZChrZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QT4odGhpcy51cmwodGhpcy5wYXRoKHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMpKSwgYm9keSlcbiAgICAgIC5waXBlKG1hcCgoYXBpUmVzb3VyY2UpID0+IGZhY3RvcnkoYXBpUmVzb3VyY2UpKSk7XG4gIH1cblxuICBwb3N0UmVzb3VyY2U8QSwgVD4oXG4gICAgZmFjdG9yeTogRmFjdG9yeTxBLCBUPixcbiAgICByb2xlOiBSb2xlLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBwYXRoUGFyYW1zOiBQYXRoUGFyYW1zID0ge30sXG4gICAgZGF0YTogdW5rbm93bixcbiAgICBvcHRpb25zOiBPcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5wb3N0PEE+KHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMsIGRhdGEsIG9wdGlvbnMpLnBpcGUoXG4gICAgICBtYXAoKGFwaVJlc291cmNlKSA9PiBmYWN0b3J5KGFwaVJlc291cmNlKSlcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlUmVzb3VyY2U8QSwgVD4oXG4gICAgcmVzcG9uc2VGYWN0b3J5OiBGYWN0b3J5PEEsIFQ+LFxuICAgIHJvbGU6IFJvbGUsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHBhdGhQYXJhbXM6IFBhdGhQYXJhbXMgPSB7fSxcbiAgICBkYXRhOiB1bmtub3duLFxuICAgIG9wdGlvbnM6IE9wdGlvbnMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnBhdGNoPEE+KHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMsIGRhdGEsIG9wdGlvbnMpLnBpcGUoXG4gICAgICBtYXAoKGFwaVJlc291cmNlKSA9PiByZXNwb25zZUZhY3RvcnkoYXBpUmVzb3VyY2UpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGRlbGV0ZShyb2xlOiBSb2xlLCBwYXRoOiBzdHJpbmcsIHBhdGhQYXJhbXM6IFBhdGhQYXJhbXMsIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucy5ib2R5KSB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLnJlcXVlc3Q8YW55PignZGVsZXRlJywgdGhpcy51cmwodGhpcy5wYXRoKHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMpKSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUodGhpcy51cmwodGhpcy5wYXRoKHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMpKSwgey4uLm9wdGlvbnMsIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0PFQ+KHJvbGU6IFJvbGUsIHBhdGg6IHN0cmluZywgcGF0aFBhcmFtczogUGF0aFBhcmFtcywgb3B0aW9uczogT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHRoaXMudXJsKHRoaXMucGF0aChyb2xlLCBwYXRoLCBwYXRoUGFyYW1zKSksIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXRjaDxUPihyb2xlOiBSb2xlLCBwYXRoOiBzdHJpbmcsIHBhdGhQYXJhbXM6IFBhdGhQYXJhbXMsIGRhdGE6IHVua25vd24sIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8VD4odGhpcy51cmwodGhpcy5wYXRoKHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMpKSwgZGF0YSwgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIHBhdGgocm9sZTogUm9sZSwgcGF0aDogc3RyaW5nLCBwYXJhbXM6IFBhdGhQYXJhbXMpIHtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwYXJhbXMpKSB7XG4gICAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKCc6JyArIGtleSwgJ2cnKTtcbiAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UocmVnZXhwLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFJPTEVfUEFUSFtyb2xlXSArIHBhdGg7XG4gIH1cblxuICBwcml2YXRlIHBvc3Q8VD4ocm9sZTogUm9sZSwgcGF0aDogc3RyaW5nLCBwYXRoUGFyYW1zOiBQYXRoUGFyYW1zLCBkYXRhOiB1bmtub3duLCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHRoaXMudXJsKHRoaXMucGF0aChyb2xlLCBwYXRoLCBwYXRoUGFyYW1zKSksIGRhdGEsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cmwocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tYWluICsgQVBJX1BBVEggKyBwYXRoO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { catchError, map } from 'rxjs/operators';
|
|
3
|
+
import { Role } from '../models';
|
|
4
|
+
import { of } from 'rxjs';
|
|
5
|
+
import { authFactory } from './factories';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "./api.service";
|
|
8
|
+
const AUTHS_PATH = 'every-admin/auths/';
|
|
9
|
+
const REMOVE_AUTH_PATH = 'accounts/remove-auth/:authId/:authType/:id/';
|
|
10
|
+
export class AuthService {
|
|
11
|
+
constructor(apiService) {
|
|
12
|
+
this.apiService = apiService;
|
|
13
|
+
}
|
|
14
|
+
getAuth(id) {
|
|
15
|
+
return this.apiService
|
|
16
|
+
.getCollection(authFactory, Role.None, AUTHS_PATH, {}, { params: { club_id: id } })
|
|
17
|
+
.pipe(map((collection) => {
|
|
18
|
+
if (collection.count === 0) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return collection.toArray()[0];
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
getAuths(role = null) {
|
|
25
|
+
return this.apiService.getCollection(authFactory, Role.None, AUTHS_PATH, {}, role ? { params: { role } } : {});
|
|
26
|
+
}
|
|
27
|
+
removeClubAuth(authId, clubId) {
|
|
28
|
+
return this.removeAuth(authId, clubId, 'club');
|
|
29
|
+
}
|
|
30
|
+
removeMemberAuth(authId, memberId) {
|
|
31
|
+
return this.removeAuth(authId, memberId, 'member');
|
|
32
|
+
}
|
|
33
|
+
removeSectionAuth(authId, sectionId) {
|
|
34
|
+
return this.removeAuth(authId, sectionId, 'section');
|
|
35
|
+
}
|
|
36
|
+
removeTeamAuth(authId, teamId) {
|
|
37
|
+
return this.removeAuth(authId, teamId, 'team');
|
|
38
|
+
}
|
|
39
|
+
removeAuth(authId, authTypeId, authType) {
|
|
40
|
+
return this.apiService.postResource(() => { }, Role.None, REMOVE_AUTH_PATH, {
|
|
41
|
+
authId,
|
|
42
|
+
authType,
|
|
43
|
+
id: authTypeId
|
|
44
|
+
}, {})
|
|
45
|
+
.pipe(map(() => true), catchError(() => of(false)));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: AuthService, deps: [{ token: i1.ApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
49
|
+
AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: AuthService, providedIn: 'root' });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: AuthService, decorators: [{
|
|
51
|
+
type: Injectable,
|
|
52
|
+
args: [{
|
|
53
|
+
providedIn: 'root'
|
|
54
|
+
}]
|
|
55
|
+
}], ctorParameters: function () { return [{ type: i1.ApiService }]; } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFFMUMsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQUM7QUFDeEMsTUFBTSxnQkFBZ0IsR0FBRyw2Q0FBNkMsQ0FBQztBQUt2RSxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUcsQ0FBQztJQUU5QyxPQUFPLENBQUMsRUFBVTtRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLGFBQWEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7YUFDbEYsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ2pCLElBQUksVUFBVSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7Z0JBQzFCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxPQUFPLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVELFFBQVEsQ0FBQyxPQUFzQixJQUFJO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsTUFBTSxFQUFFLEVBQUMsSUFBSSxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFjLEVBQUUsTUFBYztRQUMzQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsTUFBYyxFQUFFLFFBQWdCO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsU0FBaUI7UUFDakQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFjLEVBQUUsTUFBYztRQUMzQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sVUFBVSxDQUFDLE1BQWMsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDekUsTUFBTTtZQUNOLFFBQVE7WUFDUixFQUFFLEVBQUUsVUFBVTtTQUNmLEVBQUUsRUFBRSxDQUFDO2FBQ0gsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFDZixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzVCLENBQUM7SUFDTixDQUFDOzt5R0E5Q1UsV0FBVzs2R0FBWCxXQUFXLGNBRlYsTUFBTTs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJvbGUgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGF1dGhGYWN0b3J5IH0gZnJvbSAnLi9mYWN0b3JpZXMnO1xuXG5jb25zdCBBVVRIU19QQVRIID0gJ2V2ZXJ5LWFkbWluL2F1dGhzLyc7XG5jb25zdCBSRU1PVkVfQVVUSF9QQVRIID0gJ2FjY291bnRzL3JlbW92ZS1hdXRoLzphdXRoSWQvOmF1dGhUeXBlLzppZC8nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSkge31cblxuICBnZXRBdXRoKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihhdXRoRmFjdG9yeSwgUm9sZS5Ob25lLCBBVVRIU19QQVRILCB7fSwgeyBwYXJhbXM6IHsgY2x1Yl9pZDogaWQgfSB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoY29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgIGlmIChjb2xsZWN0aW9uLmNvdW50ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb24udG9BcnJheSgpWzBdO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldEF1dGhzKHJvbGU6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRDb2xsZWN0aW9uKGF1dGhGYWN0b3J5LCBSb2xlLk5vbmUsIEFVVEhTX1BBVEgsIHt9LCByb2xlID8ge3BhcmFtczoge3JvbGV9fSA6IHt9KTtcbiAgfVxuXG4gIHJlbW92ZUNsdWJBdXRoKGF1dGhJZDogc3RyaW5nLCBjbHViSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlbW92ZUF1dGgoYXV0aElkLCBjbHViSWQsICdjbHViJyk7XG4gIH1cblxuICByZW1vdmVNZW1iZXJBdXRoKGF1dGhJZDogc3RyaW5nLCBtZW1iZXJJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlQXV0aChhdXRoSWQsIG1lbWJlcklkLCAnbWVtYmVyJyk7XG4gIH1cblxuICByZW1vdmVTZWN0aW9uQXV0aChhdXRoSWQ6IHN0cmluZywgc2VjdGlvbklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVBdXRoKGF1dGhJZCwgc2VjdGlvbklkLCAnc2VjdGlvbicpO1xuICB9XG5cbiAgcmVtb3ZlVGVhbUF1dGgoYXV0aElkOiBzdHJpbmcsIHRlYW1JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlQXV0aChhdXRoSWQsIHRlYW1JZCwgJ3RlYW0nKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQXV0aChhdXRoSWQ6IHN0cmluZywgYXV0aFR5cGVJZDogc3RyaW5nLCBhdXRoVHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0UmVzb3VyY2UoKCkgPT4ge30sIFJvbGUuTm9uZSwgUkVNT1ZFX0FVVEhfUEFUSCwge1xuICAgICAgYXV0aElkLFxuICAgICAgYXV0aFR5cGUsXG4gICAgICBpZDogYXV0aFR5cGVJZFxuICAgIH0sIHt9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0cnVlKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Role } from '../models';
|
|
3
|
+
import { searchClubFactory } from './factories';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./api.service";
|
|
6
|
+
const MEMBER_CLUB_INFO = ':memberId/club-info/';
|
|
7
|
+
const TEAM_CLUB_INFO = ':teamId/club-info/';
|
|
8
|
+
export class ClubService {
|
|
9
|
+
constructor(apiService) {
|
|
10
|
+
this.apiService = apiService;
|
|
11
|
+
}
|
|
12
|
+
getMemberClubInfo(memberId) {
|
|
13
|
+
return this.apiService
|
|
14
|
+
.getResource(searchClubFactory, Role.MemberAdmin, MEMBER_CLUB_INFO, { memberId });
|
|
15
|
+
}
|
|
16
|
+
getTeamClubInfo(teamId) {
|
|
17
|
+
return this.apiService
|
|
18
|
+
.getResource(searchClubFactory, Role.TeamAdmin, TEAM_CLUB_INFO, { teamId });
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
ClubService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ClubService, deps: [{ token: i1.ApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
22
|
+
ClubService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ClubService, providedIn: 'root' });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ClubService, decorators: [{
|
|
24
|
+
type: Injectable,
|
|
25
|
+
args: [{
|
|
26
|
+
providedIn: 'root'
|
|
27
|
+
}]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.ApiService }]; } });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1Yi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zZXJ2aWNlcy9jbHViLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRWhELE1BQU0sZ0JBQWdCLEdBQUcsc0JBQXNCLENBQUM7QUFDaEQsTUFBTSxjQUFjLEdBQUcsb0JBQW9CLENBQUM7QUFLNUMsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFJLENBQUM7SUFFL0MsaUJBQWlCLENBQUMsUUFBZ0I7UUFDaEMsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixXQUFXLENBQ1YsaUJBQWlCLEVBQ2pCLElBQUksQ0FBQyxXQUFXLEVBQ2hCLGdCQUFnQixFQUNoQixFQUFDLFFBQVEsRUFBQyxDQUNYLENBQUE7SUFDTCxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQWM7UUFDNUIsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixXQUFXLENBQ1YsaUJBQWlCLEVBQ2pCLElBQUksQ0FBQyxTQUFTLEVBQ2QsY0FBYyxFQUNkLEVBQUMsTUFBTSxFQUFDLENBQ1QsQ0FBQTtJQUNMLENBQUM7O3lHQXRCVSxXQUFXOzZHQUFYLFdBQVcsY0FGVixNQUFNOzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgUm9sZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBzZWFyY2hDbHViRmFjdG9yeSB9IGZyb20gJy4vZmFjdG9yaWVzJztcblxuY29uc3QgTUVNQkVSX0NMVUJfSU5GTyA9ICc6bWVtYmVySWQvY2x1Yi1pbmZvLyc7XG5jb25zdCBURUFNX0NMVUJfSU5GTyA9ICc6dGVhbUlkL2NsdWItaW5mby8nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDbHViU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlKSB7IH1cblxuICBnZXRNZW1iZXJDbHViSW5mbyhtZW1iZXJJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldFJlc291cmNlKFxuICAgICAgICBzZWFyY2hDbHViRmFjdG9yeSxcbiAgICAgICAgUm9sZS5NZW1iZXJBZG1pbixcbiAgICAgICAgTUVNQkVSX0NMVUJfSU5GTyxcbiAgICAgICAge21lbWJlcklkfVxuICAgICAgKVxuICB9XG5cbiAgZ2V0VGVhbUNsdWJJbmZvKHRlYW1JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldFJlc291cmNlKFxuICAgICAgICBzZWFyY2hDbHViRmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQ0xVQl9JTkZPLFxuICAgICAgICB7dGVhbUlkfVxuICAgICAgKVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { map, tap } from 'rxjs/operators';
|
|
3
|
+
import { of } from 'rxjs';
|
|
4
|
+
import { Role } from '../models';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./api.service";
|
|
7
|
+
const ACTIVITY_INVITE_SETTINGS_PATH = 'every-admin/constants/activity-invite-settings/';
|
|
8
|
+
const ACTIVITY_MAX_ATTENDANT_TYPES_PATH = 'every-admin/constants/activity-max-attendant-types/';
|
|
9
|
+
const ACTIVITY_MEET_UP_TIMES_PATH = 'every-admin/constants/activity-meet-up-times/';
|
|
10
|
+
const ACTIVITY_REMINDER_DAYS_PATH = 'every-admin/constants/activity-invite-days/';
|
|
11
|
+
const ACTIVITY_REMINDER_RECEIVERS_PATH = 'every-admin/constants/activity-remind-receivers/';
|
|
12
|
+
const ACTIVITY_REMINDER_TIMES_PATH = 'every-admin/constants/activity-remind-hours/';
|
|
13
|
+
const ACTIVITY_REPEAT_OPTIONS_PATH = 'every-admin/constants/activity-repeat-options/';
|
|
14
|
+
const ACTIVITY_REPEAT_TYPE_OPTIONS_PATH = 'every-admin/constants/activity-repeat-type-options/';
|
|
15
|
+
const COUNTRIES_PATH = 'every-admin/constants/countries/';
|
|
16
|
+
const LANGUAGES_PATH = 'every-admin/constants/languages/';
|
|
17
|
+
const MEMBER_CONTACT_TYPES_PATH = 'every-admin/constants/member-contact-types/';
|
|
18
|
+
export class ConstantService {
|
|
19
|
+
constructor(apiService) {
|
|
20
|
+
this.apiService = apiService;
|
|
21
|
+
this.activityInviteSettings = [];
|
|
22
|
+
this.activityMaxAttendantTypes = [];
|
|
23
|
+
this.activityMeetUpTimes = [];
|
|
24
|
+
this.activityReminderDays = [];
|
|
25
|
+
this.activityReminderReceivers = [];
|
|
26
|
+
this.activityReminderTimes = [];
|
|
27
|
+
this.activityRepeatOptions = [];
|
|
28
|
+
this.activityRepeatTypeOptions = [];
|
|
29
|
+
this.countries = [];
|
|
30
|
+
this.languages = [];
|
|
31
|
+
this.memberContactTypes = [];
|
|
32
|
+
}
|
|
33
|
+
getActivityInviteSettings() {
|
|
34
|
+
if (this.activityInviteSettings.length) {
|
|
35
|
+
return of(this.activityInviteSettings);
|
|
36
|
+
}
|
|
37
|
+
return this.getConstants(ACTIVITY_INVITE_SETTINGS_PATH)
|
|
38
|
+
.pipe(tap((activityInviteSettings) => this.activityInviteSettings = activityInviteSettings));
|
|
39
|
+
}
|
|
40
|
+
getActivityMaxAttendantsTypes() {
|
|
41
|
+
if (this.activityMaxAttendantTypes.length) {
|
|
42
|
+
return of(this.activityMaxAttendantTypes);
|
|
43
|
+
}
|
|
44
|
+
return this.getConstants(ACTIVITY_MAX_ATTENDANT_TYPES_PATH)
|
|
45
|
+
.pipe(tap((activityMaxAttendantTypes) => this.activityMaxAttendantTypes = activityMaxAttendantTypes));
|
|
46
|
+
}
|
|
47
|
+
getActivityMeetUpTimes() {
|
|
48
|
+
if (this.activityMeetUpTimes.length) {
|
|
49
|
+
return of(this.activityMeetUpTimes);
|
|
50
|
+
}
|
|
51
|
+
return this.getConstants(ACTIVITY_MEET_UP_TIMES_PATH)
|
|
52
|
+
.pipe(tap((activityMeetUpTimes) => this.activityMeetUpTimes = activityMeetUpTimes));
|
|
53
|
+
}
|
|
54
|
+
getActivityReminderDays() {
|
|
55
|
+
if (this.activityReminderDays.length) {
|
|
56
|
+
return of(this.activityReminderDays);
|
|
57
|
+
}
|
|
58
|
+
return this.getConstants(ACTIVITY_REMINDER_DAYS_PATH)
|
|
59
|
+
.pipe(tap((activityReminderDays) => this.activityReminderDays = activityReminderDays));
|
|
60
|
+
}
|
|
61
|
+
getActivityReminderReceivers() {
|
|
62
|
+
if (this.activityReminderReceivers.length) {
|
|
63
|
+
return of(this.activityReminderReceivers);
|
|
64
|
+
}
|
|
65
|
+
return this.getConstants(ACTIVITY_REMINDER_RECEIVERS_PATH)
|
|
66
|
+
.pipe(tap((activityReminderReceivers) => this.activityReminderReceivers = activityReminderReceivers));
|
|
67
|
+
}
|
|
68
|
+
getActivityReminderTimes() {
|
|
69
|
+
if (this.activityReminderTimes.length) {
|
|
70
|
+
return of(this.activityReminderTimes);
|
|
71
|
+
}
|
|
72
|
+
return this.getConstants(ACTIVITY_REMINDER_TIMES_PATH)
|
|
73
|
+
.pipe(tap((activityReminderTimes) => this.activityReminderTimes = activityReminderTimes));
|
|
74
|
+
}
|
|
75
|
+
getActivityRepeatOptions() {
|
|
76
|
+
if (this.activityRepeatOptions.length) {
|
|
77
|
+
return of(this.activityRepeatOptions);
|
|
78
|
+
}
|
|
79
|
+
return this.getConstants(ACTIVITY_REPEAT_OPTIONS_PATH)
|
|
80
|
+
.pipe(tap((activityRepeatOptions) => this.activityRepeatOptions = activityRepeatOptions));
|
|
81
|
+
}
|
|
82
|
+
getActivityRepeatTypeOptions() {
|
|
83
|
+
if (this.activityRepeatTypeOptions.length) {
|
|
84
|
+
return of(this.activityRepeatTypeOptions);
|
|
85
|
+
}
|
|
86
|
+
return this.getConstants(ACTIVITY_REPEAT_TYPE_OPTIONS_PATH)
|
|
87
|
+
.pipe(tap((activityRepeatTypeOptions) => this.activityRepeatTypeOptions = activityRepeatTypeOptions));
|
|
88
|
+
}
|
|
89
|
+
getCountries() {
|
|
90
|
+
if (this.countries.length) {
|
|
91
|
+
return of(this.countries);
|
|
92
|
+
}
|
|
93
|
+
return this.getConstants(COUNTRIES_PATH)
|
|
94
|
+
.pipe(tap((countries) => this.countries = countries));
|
|
95
|
+
}
|
|
96
|
+
getLanguages() {
|
|
97
|
+
if (this.languages.length) {
|
|
98
|
+
return of(this.languages);
|
|
99
|
+
}
|
|
100
|
+
return this.getConstants(LANGUAGES_PATH)
|
|
101
|
+
.pipe(map((languages) => {
|
|
102
|
+
// FIXME: For now - remove the french language.
|
|
103
|
+
const index = languages.findIndex((language) => language.value === 'fr');
|
|
104
|
+
if (index !== -1) {
|
|
105
|
+
languages.splice(index, 1);
|
|
106
|
+
}
|
|
107
|
+
return languages;
|
|
108
|
+
}), tap((languages) => this.languages = languages));
|
|
109
|
+
}
|
|
110
|
+
getMemberContactTypes() {
|
|
111
|
+
if (this.memberContactTypes.length) {
|
|
112
|
+
return of(this.memberContactTypes);
|
|
113
|
+
}
|
|
114
|
+
return this.getConstants(MEMBER_CONTACT_TYPES_PATH)
|
|
115
|
+
.pipe(tap((memberContactTypes) => this.memberContactTypes = memberContactTypes));
|
|
116
|
+
}
|
|
117
|
+
getConstants(path) {
|
|
118
|
+
return this.apiService
|
|
119
|
+
.getCollection((option) => option, Role.None, path)
|
|
120
|
+
.pipe(map((response) => response.toArray()));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
ConstantService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ConstantService, deps: [{ token: i1.ApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
124
|
+
ConstantService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ConstantService, providedIn: 'root' });
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ConstantService, decorators: [{
|
|
126
|
+
type: Injectable,
|
|
127
|
+
args: [{
|
|
128
|
+
providedIn: 'root'
|
|
129
|
+
}]
|
|
130
|
+
}], ctorParameters: function () { return [{ type: i1.ApiService }]; } });
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc2VydmljZXMvY29uc3RhbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0QyxPQUFPLEVBQWMsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFHN0MsTUFBTSw2QkFBNkIsR0FBRyxpREFBaUQsQ0FBQztBQUN4RixNQUFNLGlDQUFpQyxHQUFHLHFEQUFxRCxDQUFDO0FBQ2hHLE1BQU0sMkJBQTJCLEdBQUcsK0NBQStDLENBQUM7QUFDcEYsTUFBTSwyQkFBMkIsR0FBRyw2Q0FBNkMsQ0FBQztBQUNsRixNQUFNLGdDQUFnQyxHQUFHLGtEQUFrRCxDQUFDO0FBQzVGLE1BQU0sNEJBQTRCLEdBQUcsOENBQThDLENBQUM7QUFDcEYsTUFBTSw0QkFBNEIsR0FBRyxnREFBZ0QsQ0FBQztBQUN0RixNQUFNLGlDQUFpQyxHQUFHLHFEQUFxRCxDQUFDO0FBQ2hHLE1BQU0sY0FBYyxHQUFHLGtDQUFrQyxDQUFDO0FBQzFELE1BQU0sY0FBYyxHQUFHLGtDQUFrQyxDQUFDO0FBQzFELE1BQU0seUJBQXlCLEdBQUcsNkNBQTZDLENBQUM7QUFLaEYsTUFBTSxPQUFPLGVBQWU7SUFhMUIsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQVpsQywyQkFBc0IsR0FBMkIsRUFBRSxDQUFDO1FBQ3BELDhCQUF5QixHQUEyQixFQUFFLENBQUM7UUFDdkQsd0JBQW1CLEdBQTJCLEVBQUUsQ0FBQztRQUNqRCx5QkFBb0IsR0FBMkIsRUFB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VTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiwgUm9sZSB9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBPcHRpb25JbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuY29uc3QgQUNUSVZJVFlfSU5WSVRFX1NFVFRJTkdTX1BBVEggPSAnZXZlcnktYWRtaW4vY29uc3RhbnRzL2FjdGl2aXR5LWludml0ZS1zZXR0aW5ncy8nO1xuY29uc3QgQUNUSVZJVFlfTUFYX0FUVEVOREFOVF9UWVBFU19QQVRIID0gJ2V2ZXJ5LWFkbWluL2NvbnN0YW50cy9hY3Rpdml0eS1tYXgtYXR0ZW5kYW50LXR5cGVzLyc7XG5jb25zdCBBQ1RJVklUWV9NRUVUX1VQX1RJTUVTX1BBVEggPSAnZXZlcnktYWRtaW4vY29uc3RhbnRzL2FjdGl2aXR5LW1lZXQtdXAtdGltZXMvJztcbmNvbnN0IEFDVElWSVRZX1JFTUlOREVSX0RBWVNfUEFUSCA9ICdldmVyeS1hZG1pbi9jb25zdGFudHMvYWN0aXZpdHktaW52aXRlLWRheXMvJztcbmNvbnN0IEFDVElWSVRZX1JFTUlOREVSX1JFQ0VJVkVSU19QQVRIID0gJ2V2ZXJ5LWFkbWluL2NvbnN0YW50cy9hY3Rpdml0eS1yZW1pbmQtcmVjZWl2ZXJzLyc7XG5jb25zdCBBQ1RJVklUWV9SRU1JTkRFUl9USU1FU19QQVRIID0gJ2V2ZXJ5LWFkbWluL2NvbnN0YW50cy9hY3Rpdml0eS1yZW1pbmQtaG91cnMvJztcbmNvbnN0IEFDVElWSVRZX1JFUEVBVF9PUFRJT05TX1BBVEggPSAnZXZlcnktYWRtaW4vY29uc3RhbnRzL2FjdGl2aXR5LXJlcGVhdC1vcHRpb25zLyc7XG5jb25zdCBBQ1RJVklUWV9SRVBFQVRfVFlQRV9PUFRJT05TX1BBVEggPSAnZXZlcnktYWRtaW4vY29uc3RhbnRzL2FjdGl2aXR5LXJlcGVhdC10eXBlLW9wdGlvbnMvJztcbmNvbnN0IENPVU5UUklFU19QQVRIID0gJ2V2ZXJ5LWFkbWluL2NvbnN0YW50cy9jb3VudHJpZXMvJztcbmNvbnN0IExBTkdVQUdFU19QQVRIID0gJ2V2ZXJ5LWFkbWluL2NvbnN0YW50cy9sYW5ndWFnZXMvJztcbmNvbnN0IE1FTUJFUl9DT05UQUNUX1RZUEVTX1BBVEggPSAnZXZlcnktYWRtaW4vY29uc3RhbnRzL21lbWJlci1jb250YWN0LXR5cGVzLyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbnN0YW50U2VydmljZSB7XG4gIHByaXZhdGUgYWN0aXZpdHlJbnZpdGVTZXR0aW5nczogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPiA9IFtdO1xuICBwcml2YXRlIGFjdGl2aXR5TWF4QXR0ZW5kYW50VHlwZXM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4gPSBbXTtcbiAgcHJpdmF0ZSBhY3Rpdml0eU1lZXRVcFRpbWVzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+ID0gW107XG4gIHByaXZhdGUgYWN0aXZpdHlSZW1pbmRlckRheXM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4gPSBbXTtcbiAgcHJpdmF0ZSBhY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+ID0gW107XG4gIHByaXZhdGUgYWN0aXZpdHlSZW1pbmRlclRpbWVzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+ID0gW107XG4gIHByaXZhdGUgYWN0aXZpdHlSZXBlYXRPcHRpb25zOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+ID0gW107XG4gIHByaXZhdGUgYWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9uczogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPiA9IFtdO1xuICBwcml2YXRlIGNvdW50cmllczogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPiA9IFtdO1xuICBwcml2YXRlIGxhbmd1YWdlczogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPiA9IFtdO1xuICBwcml2YXRlIG1lbWJlckNvbnRhY3RUeXBlczogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSkge31cblxuICBnZXRBY3Rpdml0eUludml0ZVNldHRpbmdzKCk6IE9ic2VydmFibGU8QXJyYXk8T3B0aW9uSW50ZXJmYWNlPj4ge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5SW52aXRlU2V0dGluZ3MubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5hY3Rpdml0eUludml0ZVNldHRpbmdzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDb25zdGFudHMoQUNUSVZJVFlfSU5WSVRFX1NFVFRJTkdTX1BBVEgpXG4gICAgICAucGlwZSh0YXAoKGFjdGl2aXR5SW52aXRlU2V0dGluZ3M6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHRoaXMuYWN0aXZpdHlJbnZpdGVTZXR0aW5ncyA9IGFjdGl2aXR5SW52aXRlU2V0dGluZ3MpKTtcbiAgfVxuXG4gIGdldEFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzKCk6IE9ic2VydmFibGU8QXJyYXk8T3B0aW9uSW50ZXJmYWNlPj4ge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5TWF4QXR0ZW5kYW50VHlwZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5hY3Rpdml0eU1heEF0dGVuZGFudFR5cGVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDb25zdGFudHMoQUNUSVZJVFlfTUFYX0FUVEVOREFOVF9UWVBFU19QQVRIKVxuICAgICAgLnBpcGUodGFwKChhY3Rpdml0eU1heEF0dGVuZGFudFR5cGVzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiB0aGlzLmFjdGl2aXR5TWF4QXR0ZW5kYW50VHlwZXMgPSBhY3Rpdml0eU1heEF0dGVuZGFudFR5cGVzKSk7XG4gIH1cblxuICBnZXRBY3Rpdml0eU1lZXRVcFRpbWVzKCk6IE9ic2VydmFibGU8QXJyYXk8T3B0aW9uSW50ZXJmYWNlPj4ge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5TWVldFVwVGltZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5hY3Rpdml0eU1lZXRVcFRpbWVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDb25zdGFudHMoQUNUSVZJVFlfTUVFVF9VUF9USU1FU19QQVRIKVxuICAgICAgLnBpcGUodGFwKChhY3Rpdml0eU1lZXRVcFRpbWVzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiB0aGlzLmFjdGl2aXR5TWVldFVwVGltZXMgPSBhY3Rpdml0eU1lZXRVcFRpbWVzKSk7XG4gIH1cblxuICBnZXRBY3Rpdml0eVJlbWluZGVyRGF5cygpOiBPYnNlcnZhYmxlPEFycmF5PE9wdGlvbkludGVyZmFjZT4+IHtcbiAgICBpZiAodGhpcy5hY3Rpdml0eVJlbWluZGVyRGF5cy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmFjdGl2aXR5UmVtaW5kZXJEYXlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDb25zdGFudHMoQUNUSVZJVFlfUkVNSU5ERVJfREFZU19QQVRIKVxuICAgICAgLnBpcGUodGFwKChhY3Rpdml0eVJlbWluZGVyRGF5czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gdGhpcy5hY3Rpdml0eVJlbWluZGVyRGF5cyA9IGFjdGl2aXR5UmVtaW5kZXJEYXlzKSk7XG4gIH1cblxuICBnZXRBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzKCk6IE9ic2VydmFibGU8QXJyYXk8T3B0aW9uSW50ZXJmYWNlPj4ge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5hY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDb25zdGFudHMoQUNUSVZJVFlfUkVNSU5ERVJfUkVDRUlWRVJTX1BBVEgpXG4gICAgICAucGlwZSh0YXAoKGFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHRoaXMuYWN0aXZpdHlSZW1pbmRlclJlY2VpdmVycyA9IGFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnMpKTtcbiAgfVxuXG4gIGdldEFjdGl2aXR5UmVtaW5kZXJUaW1lcygpOiBPYnNlcnZhYmxlPEFycmF5PE9wdGlvbkludGVyZmFjZT4+IHtcbiAgICBpZiAodGhpcy5hY3Rpdml0eVJlbWluZGVyVGltZXMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5hY3Rpdml0eVJlbWluZGVyVGltZXMpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldENvbnN0YW50cyhBQ1RJVklUWV9SRU1JTkRFUl9USU1FU19QQVRIKVxuICAgICAgLnBpcGUodGFwKChhY3Rpdml0eVJlbWluZGVyVGltZXM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHRoaXMuYWN0aXZpdHlSZW1pbmRlclRpbWVzID0gYWN0aXZpdHlSZW1pbmRlclRpbWVzKSk7XG4gIH1cblxuICBnZXRBY3Rpdml0eVJlcGVhdE9wdGlvbnMoKTogT2JzZXJ2YWJsZTxBcnJheTxPcHRpb25JbnRlcmZhY2U+PiB7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlSZXBlYXRPcHRpb25zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuYWN0aXZpdHlSZXBlYXRPcHRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDb25zdGFudHMoQUNUSVZJVFlfUkVQRUFUX09QVElPTlNfUEFUSClcbiAgICAgIC5waXBlKHRhcCgoYWN0aXZpdHlSZXBlYXRPcHRpb25zOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiB0aGlzLmFjdGl2aXR5UmVwZWF0T3B0aW9ucyA9IGFjdGl2aXR5UmVwZWF0T3B0aW9ucykpO1xuICB9XG5cbiAgZ2V0QWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9ucygpOiBPYnNlcnZhYmxlPEFycmF5PE9wdGlvbkludGVyZmFjZT4+IHtcbiAgICBpZiAodGhpcy5hY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuYWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q29uc3RhbnRzKEFDVElWSVRZX1JFUEVBVF9UWVBFX09QVElPTlNfUEFUSClcbiAgICAgIC5waXBlKHRhcCgoYWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9uczogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gdGhpcy5hY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zID0gYWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9ucykpO1xuICB9XG5cbiAgZ2V0Q291bnRyaWVzKCk6IE9ic2VydmFibGU8QXJyYXk8T3B0aW9uSW50ZXJmYWNlPj4ge1xuICAgIGlmICh0aGlzLmNvdW50cmllcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmNvdW50cmllcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q29uc3RhbnRzKENPVU5UUklFU19QQVRIKVxuICAgICAgLnBpcGUodGFwKChjb3VudHJpZXM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHRoaXMuY291bnRyaWVzID0gY291bnRyaWVzKSk7XG4gIH1cblxuICBnZXRMYW5ndWFnZXMoKTogT2JzZXJ2YWJsZTxBcnJheTxPcHRpb25JbnRlcmZhY2U+PiB7XG4gICAgaWYgKHRoaXMubGFuZ3VhZ2VzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMubGFuZ3VhZ2VzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nZXRDb25zdGFudHMoTEFOR1VBR0VTX1BBVEgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChsYW5ndWFnZXM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHtcbiAgICAgICAgICAvLyBGSVhNRTogRm9yIG5vdyAtIHJlbW92ZSB0aGUgZnJlbmNoIGxhbmd1YWdlLlxuICAgICAgICAgIGNvbnN0IGluZGV4ID0gbGFuZ3VhZ2VzLmZpbmRJbmRleCgobGFuZ3VhZ2U6IE9wdGlvbkludGVyZmFjZSkgPT4gbGFuZ3VhZ2UudmFsdWUgPT09ICdmcicpO1xuICAgICAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgIGxhbmd1YWdlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBsYW5ndWFnZXM7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKGxhbmd1YWdlczogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gdGhpcy5sYW5ndWFnZXMgPSBsYW5ndWFnZXMpXG4gICAgICApO1xuICB9XG5cbiAgZ2V0TWVtYmVyQ29udGFjdFR5cGVzKCk6IE9ic2VydmFibGU8QXJyYXk8T3B0aW9uSW50ZXJmYWNlPj4ge1xuICAgIGlmICh0aGlzLm1lbWJlckNvbnRhY3RUeXBlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLm1lbWJlckNvbnRhY3RUeXBlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q29uc3RhbnRzKE1FTUJFUl9DT05UQUNUX1RZUEVTX1BBVEgpXG4gICAgICAucGlwZSh0YXAoKG1lbWJlckNvbnRhY3RUeXBlczogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gdGhpcy5tZW1iZXJDb250YWN0VHlwZXMgPSBtZW1iZXJDb250YWN0VHlwZXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29uc3RhbnRzKHBhdGg6IHN0cmluZyk6IE9ic2VydmFibGU8QXJyYXk8T3B0aW9uSW50ZXJmYWNlPj4ge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uPE9wdGlvbkludGVyZmFjZSwgT3B0aW9uSW50ZXJmYWNlPihcbiAgICAgICAgKG9wdGlvbjogT3B0aW9uSW50ZXJmYWNlKSA9PiBvcHRpb24sXG4gICAgICAgIFJvbGUuTm9uZSxcbiAgICAgICAgcGF0aFxuICAgICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IENvbGxlY3Rpb248T3B0aW9uSW50ZXJmYWNlPikgPT4gcmVzcG9uc2UudG9BcnJheSgpKVxuICAgICAgKTtcbiAgfVxufVxuIl19
|