@myclub_se/data-access 2.15.2 → 3.0.1

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.
Files changed (771) hide show
  1. package/{esm2020 → esm2022}/index.mjs +2 -1
  2. package/{esm2020 → esm2022}/lib/api-models/api-booking-calendar-application-time.mjs +1 -1
  3. package/{esm2020 → esm2022}/lib/api-models/api-booking-calendar-slot-session.mjs +1 -1
  4. package/{esm2020 → esm2022}/lib/api-models/api-booking-calendar.mjs +1 -1
  5. package/esm2022/lib/api-models/api-feature-flags.mjs +2 -0
  6. package/esm2022/lib/api-models/api-invoice/api-payment-attempt-create.mjs +11 -0
  7. package/esm2022/lib/api-models/index.mjs +57 -0
  8. package/esm2022/lib/authentication/authentication.interceptor.mjs +101 -0
  9. package/esm2022/lib/authentication/authentication.service.mjs +109 -0
  10. package/esm2022/lib/authentication/guards/authenticated.guard.mjs +38 -0
  11. package/esm2022/lib/authentication/guards/handle-grant-token.guard.mjs +31 -0
  12. package/esm2022/lib/data-access.module.mjs +39 -0
  13. package/esm2022/lib/maintenance/maintenance.interceptor.mjs +30 -0
  14. package/esm2022/lib/models/activity-extra-member.mjs +19 -0
  15. package/esm2022/lib/models/activity-invite.mjs +35 -0
  16. package/esm2022/lib/models/activity-location-group.mjs +27 -0
  17. package/esm2022/lib/models/activity-location-part.mjs +16 -0
  18. package/esm2022/lib/models/activity-location-tag.mjs +22 -0
  19. package/esm2022/lib/models/activity-location.mjs +46 -0
  20. package/esm2022/lib/models/activity-participant.mjs +19 -0
  21. package/esm2022/lib/models/activity-settings.mjs +27 -0
  22. package/esm2022/lib/models/activity-type.mjs +34 -0
  23. package/esm2022/lib/models/activity.mjs +137 -0
  24. package/esm2022/lib/models/auth/auth-member.mjs +13 -0
  25. package/{esm2020 → esm2022}/lib/models/auth/auth-section.mjs +3 -1
  26. package/{esm2020 → esm2022}/lib/models/auth/auth-team-section.mjs +3 -1
  27. package/esm2022/lib/models/auth/auth-team.mjs +13 -0
  28. package/esm2022/lib/models/auth/auth.mjs +25 -0
  29. package/{esm2020 → esm2022}/lib/models/authentication.mjs +3 -1
  30. package/esm2022/lib/models/bookable-group.mjs +27 -0
  31. package/esm2022/lib/models/bookable-item.mjs +49 -0
  32. package/esm2022/lib/models/bookable-part.mjs +16 -0
  33. package/esm2022/lib/models/bookable-tag.mjs +22 -0
  34. package/esm2022/lib/models/booking-calendar-application-time.mjs +86 -0
  35. package/esm2022/lib/models/booking-calendar-slot-session.mjs +87 -0
  36. package/esm2022/lib/models/booking-calendar-slot.mjs +79 -0
  37. package/esm2022/lib/models/booking-calendar.mjs +74 -0
  38. package/esm2022/lib/models/booking-settings.mjs +29 -0
  39. package/esm2022/lib/models/booking-slot-filter.mjs +72 -0
  40. package/esm2022/lib/models/calendar-event.mjs +35 -0
  41. package/esm2022/lib/models/calendar.mjs +15 -0
  42. package/esm2022/lib/models/card/card-deal.mjs +15 -0
  43. package/esm2022/lib/models/card/card-logo-urls.mjs +21 -0
  44. package/esm2022/lib/models/card/card-logo.mjs +11 -0
  45. package/esm2022/lib/models/card/card-member-ticket.mjs +17 -0
  46. package/esm2022/lib/models/card/card-theme.mjs +15 -0
  47. package/esm2022/lib/models/card/card-ticket-location.mjs +13 -0
  48. package/esm2022/lib/models/card/card-ticket.mjs +37 -0
  49. package/{esm2020 → esm2022}/lib/models/card/card.mjs +9 -1
  50. package/esm2022/lib/models/card/home-team.mjs +11 -0
  51. package/esm2022/lib/models/card/member-card.mjs +23 -0
  52. package/esm2022/lib/models/card/search-member-card.mjs +13 -0
  53. package/esm2022/lib/models/club-image.mjs +31 -0
  54. package/{esm2020 → esm2022}/lib/models/club-section.mjs +3 -1
  55. package/{esm2020 → esm2022}/lib/models/club.mjs +3 -1
  56. package/esm2022/lib/models/collection.mjs +19 -0
  57. package/esm2022/lib/models/contact.mjs +61 -0
  58. package/esm2022/lib/models/directory.mjs +38 -0
  59. package/esm2022/lib/models/email.mjs +11 -0
  60. package/esm2022/lib/models/event.mjs +47 -0
  61. package/{esm2020 → esm2022}/lib/models/external-link.mjs +3 -1
  62. package/esm2022/lib/models/feature-flags.mjs +14 -0
  63. package/esm2022/lib/models/file-object.mjs +23 -0
  64. package/esm2022/lib/models/general-image.mjs +11 -0
  65. package/esm2022/lib/models/group-role.mjs +17 -0
  66. package/esm2022/lib/models/image-urls.mjs +15 -0
  67. package/esm2022/lib/models/index.mjs +64 -0
  68. package/esm2022/lib/models/invoice/member-fee.mjs +13 -0
  69. package/esm2022/lib/models/invoice/member-invoice-row.mjs +31 -0
  70. package/esm2022/lib/models/invoice/member-invoice.mjs +45 -0
  71. package/esm2022/lib/models/invoice/payment-attempt.mjs +21 -0
  72. package/esm2022/lib/models/invoice/payment-types/credit-card.mjs +27 -0
  73. package/esm2022/lib/models/invoice/payment-types/giro.mjs +17 -0
  74. package/esm2022/lib/models/invoice/payment-types/swish.mjs +31 -0
  75. package/esm2022/lib/models/invoice/payment-types/zimpler.mjs +19 -0
  76. package/esm2022/lib/models/invoice/search-member-invoice.mjs +26 -0
  77. package/{esm2020 → esm2022}/lib/models/invoice/swish-qr-code.mjs +2 -1
  78. package/esm2022/lib/models/invoice/unpaid-member-invoice.mjs +13 -0
  79. package/esm2022/lib/models/member/member-attribute.mjs +44 -0
  80. package/esm2022/lib/models/member/member-contact.mjs +26 -0
  81. package/esm2022/lib/models/member/member-function.mjs +24 -0
  82. package/esm2022/lib/models/member/member-validation-settings.mjs +21 -0
  83. package/esm2022/lib/models/member/member.mjs +101 -0
  84. package/{esm2020 → esm2022}/lib/models/member/other-member-field.mjs +4 -1
  85. package/esm2022/lib/models/member/other-member.mjs +21 -0
  86. package/esm2022/lib/models/member/search-member.mjs +35 -0
  87. package/esm2022/lib/models/member-activity-invite.mjs +42 -0
  88. package/esm2022/lib/models/member-public-form-field-option.mjs +13 -0
  89. package/esm2022/lib/models/member-public-form-field.mjs +27 -0
  90. package/esm2022/lib/models/member-public-form.mjs +55 -0
  91. package/esm2022/lib/models/member-team-through.mjs +23 -0
  92. package/esm2022/lib/models/member-team.mjs +21 -0
  93. package/esm2022/lib/models/member-type.mjs +11 -0
  94. package/esm2022/lib/models/news.mjs +66 -0
  95. package/esm2022/lib/models/open-activity.mjs +117 -0
  96. package/esm2022/lib/models/optional-fee.mjs +16 -0
  97. package/esm2022/lib/models/overbooked-bookable-item.mjs +15 -0
  98. package/esm2022/lib/models/overbooked-location.mjs +15 -0
  99. package/esm2022/lib/models/partner.mjs +13 -0
  100. package/esm2022/lib/models/public-authentication.mjs +9 -0
  101. package/esm2022/lib/models/registration-qr-code.mjs +19 -0
  102. package/esm2022/lib/models/search-club.mjs +23 -0
  103. package/esm2022/lib/models/search-team.mjs +24 -0
  104. package/{esm2020 → esm2022}/lib/models/section.mjs +3 -1
  105. package/esm2022/lib/models/token.mjs +11 -0
  106. package/esm2022/lib/models/user-notification.mjs +21 -0
  107. package/esm2022/lib/models/user.mjs +41 -0
  108. package/esm2022/lib/services/activity.service.mjs +508 -0
  109. package/esm2022/lib/services/api.service.mjs +108 -0
  110. package/esm2022/lib/services/auth.service.mjs +62 -0
  111. package/esm2022/lib/services/bookable.service.mjs +279 -0
  112. package/esm2022/lib/services/booking-calendar.service.mjs +736 -0
  113. package/esm2022/lib/services/club.service.mjs +35 -0
  114. package/esm2022/lib/services/constant.service.mjs +97 -0
  115. package/esm2022/lib/services/email.service.mjs +28 -0
  116. package/esm2022/lib/services/external-link.service.mjs +25 -0
  117. package/esm2022/lib/services/factories/activity-settings-factory.mjs +3 -0
  118. package/{esm2020 → esm2022}/lib/services/factories/booking-calendar-application-time-factory.mjs +2 -2
  119. package/{esm2020 → esm2022}/lib/services/factories/booking-calendar-factory.mjs +2 -2
  120. package/{esm2020 → esm2022}/lib/services/factories/booking-calendar-slot-session-factory.mjs +2 -2
  121. package/esm2022/lib/services/factories/feature-flags-factory.mjs +5 -0
  122. package/esm2022/lib/services/factories/index.mjs +87 -0
  123. package/esm2022/lib/services/factories/member-public-form-factory.mjs +26 -0
  124. package/esm2022/lib/services/factories/payment-attempt-factory.mjs +23 -0
  125. package/esm2022/lib/services/feature-flags.service.mjs +44 -0
  126. package/esm2022/lib/services/file.service.mjs +65 -0
  127. package/esm2022/lib/services/index.mjs +24 -0
  128. package/esm2022/lib/services/invoice/invoice.service.mjs +42 -0
  129. package/esm2022/lib/services/invoice/payment-attempt.service.mjs +52 -0
  130. package/esm2022/lib/services/maintenance-mode.service.mjs +20 -0
  131. package/esm2022/lib/services/member-card.service.mjs +104 -0
  132. package/esm2022/lib/services/member-public-form.service.mjs +33 -0
  133. package/esm2022/lib/services/member.service.mjs +85 -0
  134. package/esm2022/lib/services/news.service.mjs +94 -0
  135. package/esm2022/lib/services/registration-qr-code.service.mjs +37 -0
  136. package/esm2022/lib/services/section.service.mjs +24 -0
  137. package/esm2022/lib/services/storage.service.mjs +44 -0
  138. package/esm2022/lib/services/team.service.mjs +89 -0
  139. package/esm2022/lib/services/token.service.mjs +58 -0
  140. package/esm2022/lib/services/user-notification.service.mjs +24 -0
  141. package/esm2022/lib/services/user.service.mjs +69 -0
  142. package/esm2022/lib/store/actions/activity.actions.mjs +177 -0
  143. package/esm2022/lib/store/actions/auth.actions.mjs +45 -0
  144. package/esm2022/lib/store/actions/booking.actions.mjs +187 -0
  145. package/esm2022/lib/store/actions/calendar.actions.mjs +77 -0
  146. package/esm2022/lib/store/actions/club-info.actions.mjs +23 -0
  147. package/esm2022/lib/store/actions/constant.actions.mjs +124 -0
  148. package/esm2022/lib/store/actions/email.actions.mjs +19 -0
  149. package/esm2022/lib/store/actions/external-link.actions.mjs +11 -0
  150. package/esm2022/lib/store/actions/file.actions.mjs +41 -0
  151. package/esm2022/lib/store/actions/index.mjs +19 -0
  152. package/esm2022/lib/store/actions/invoice.actions.mjs +75 -0
  153. package/esm2022/lib/store/actions/member-card.actions.mjs +73 -0
  154. package/esm2022/lib/store/actions/member.actions.mjs +69 -0
  155. package/esm2022/lib/store/actions/news.actions.mjs +47 -0
  156. package/esm2022/lib/store/actions/public-form.actions.mjs +17 -0
  157. package/esm2022/lib/store/actions/store.actions.mjs +7 -0
  158. package/esm2022/lib/store/actions/team.actions.mjs +91 -0
  159. package/esm2022/lib/store/actions/token.actions.mjs +53 -0
  160. package/esm2022/lib/store/actions/user.actions.mjs +49 -0
  161. package/esm2022/lib/store/effects/activity.effects.mjs +211 -0
  162. package/esm2022/lib/store/effects/auth.effects.mjs +96 -0
  163. package/esm2022/lib/store/effects/booking.effects.mjs +102 -0
  164. package/esm2022/lib/store/effects/calendar.effects.mjs +84 -0
  165. package/esm2022/lib/store/effects/club-info.effects.mjs +26 -0
  166. package/esm2022/lib/store/effects/constant.effects.mjs +69 -0
  167. package/esm2022/lib/store/effects/data-access.effects.mjs +37 -0
  168. package/esm2022/lib/store/effects/email.effects.mjs +27 -0
  169. package/esm2022/lib/store/effects/external-link.effects.mjs +20 -0
  170. package/esm2022/lib/store/effects/file.effects.mjs +149 -0
  171. package/esm2022/lib/store/effects/index.mjs +2 -0
  172. package/esm2022/lib/store/effects/invoice.effects.mjs +72 -0
  173. package/esm2022/lib/store/effects/member-card.effects.mjs +80 -0
  174. package/esm2022/lib/store/effects/member.effects.mjs +75 -0
  175. package/esm2022/lib/store/effects/mixins/extra-members-mixin.mjs +60 -0
  176. package/esm2022/lib/store/effects/news.effects.mjs +82 -0
  177. package/esm2022/lib/store/effects/public-form.effects.mjs +33 -0
  178. package/esm2022/lib/store/effects/team.effects.mjs +82 -0
  179. package/esm2022/lib/store/effects/token.effects.mjs +81 -0
  180. package/esm2022/lib/store/effects/user.effects.mjs +59 -0
  181. package/esm2022/lib/store/index.mjs +8 -0
  182. package/esm2022/lib/store/interfaces/activate-card-ticket.interface.mjs +2 -0
  183. package/esm2022/lib/store/interfaces/activate-user.interface.mjs +2 -0
  184. package/esm2022/lib/store/interfaces/calendar-activity-locations.interface.mjs +2 -0
  185. package/esm2022/lib/store/interfaces/calendar-activity-types.interface.mjs +2 -0
  186. package/esm2022/lib/store/interfaces/calendar-open-activity-result.interface.mjs +2 -0
  187. package/esm2022/lib/store/interfaces/calendar-public-open-activity-results.interface.mjs +2 -0
  188. package/esm2022/lib/store/interfaces/directory-result.interface.mjs +2 -0
  189. package/esm2022/lib/store/interfaces/email-settings.interface.mjs +2 -0
  190. package/esm2022/lib/store/interfaces/index.mjs +20 -0
  191. package/esm2022/lib/store/interfaces/list-result-interface.mjs +4 -0
  192. package/esm2022/lib/store/interfaces/location.interface.mjs +2 -0
  193. package/esm2022/lib/store/interfaces/member-calendar-event-result.interface.mjs +2 -0
  194. package/esm2022/lib/store/interfaces/member-card-deals.interface.mjs +2 -0
  195. package/esm2022/lib/store/interfaces/member-card-tickets.interface.mjs +2 -0
  196. package/esm2022/lib/store/interfaces/public-activate-card-ticket.interface.mjs +2 -0
  197. package/esm2022/lib/store/interfaces/remove-member-auth.interface.mjs +2 -0
  198. package/esm2022/lib/store/interfaces/remove-team-auth.interface.mjs +2 -0
  199. package/esm2022/lib/store/interfaces/retrieve-result.interface.mjs +4 -0
  200. package/esm2022/lib/store/interfaces/team-activity.interface.mjs +2 -0
  201. package/esm2022/lib/store/interfaces/team-calendar-event-result.interface.mjs +2 -0
  202. package/esm2022/lib/store/operators/ensure-activity.mjs +8 -0
  203. package/esm2022/lib/store/operators/ensure-auths.mjs +18 -0
  204. package/esm2022/lib/store/operators/ensure-calendar-events-loading-done.mjs +23 -0
  205. package/esm2022/lib/store/operators/ensure-constants.mjs +21 -0
  206. package/esm2022/lib/store/operators/ensure-current-auth.mjs +17 -0
  207. package/esm2022/lib/store/operators/ensure-current-user.mjs +16 -0
  208. package/esm2022/lib/store/operators/ensure-loading-done.mjs +24 -0
  209. package/esm2022/lib/store/operators/ensure-open-activities-loading-done.mjs +5 -0
  210. package/esm2022/lib/store/operators/ensure-public-open-activities-loading-done.mjs +5 -0
  211. package/esm2022/lib/store/operators/ensure-updated-data.mjs +10 -0
  212. package/esm2022/lib/store/operators/index.mjs +11 -0
  213. package/esm2022/lib/store/reducers/auth.reducer.mjs +52 -0
  214. package/esm2022/lib/store/reducers/booking.reducers.mjs +79 -0
  215. package/esm2022/lib/store/reducers/calendar.reducer.mjs +449 -0
  216. package/esm2022/lib/store/reducers/club-info.reducer.mjs +9 -0
  217. package/esm2022/lib/store/reducers/constant.reducer.mjs +181 -0
  218. package/esm2022/lib/store/reducers/data-access.reducer.mjs +37 -0
  219. package/esm2022/lib/store/reducers/email.reducer.mjs +21 -0
  220. package/esm2022/lib/store/reducers/external-link.reducer.mjs +6 -0
  221. package/esm2022/lib/store/reducers/file.reducer.mjs +118 -0
  222. package/esm2022/lib/store/reducers/index.mjs +2 -0
  223. package/esm2022/lib/store/reducers/invoice.reducer.mjs +29 -0
  224. package/esm2022/lib/store/reducers/member-card.reducer.mjs +33 -0
  225. package/esm2022/lib/store/reducers/member.reducer.mjs +21 -0
  226. package/esm2022/lib/store/reducers/news.reducer.mjs +96 -0
  227. package/esm2022/lib/store/reducers/public-form.reducer.mjs +21 -0
  228. package/esm2022/lib/store/reducers/public.reducer.mjs +109 -0
  229. package/esm2022/lib/store/reducers/reducer-helpers.mjs +61 -0
  230. package/esm2022/lib/store/reducers/team.reducer.mjs +77 -0
  231. package/esm2022/lib/store/reducers/token.reducer.mjs +21 -0
  232. package/esm2022/lib/store/reducers/user.reducer.mjs +18 -0
  233. package/esm2022/lib/store/selectors/auth.selectors.mjs +6 -0
  234. package/esm2022/lib/store/selectors/booking.selectors.mjs +15 -0
  235. package/esm2022/lib/store/selectors/calendar.selectors.mjs +18 -0
  236. package/esm2022/lib/store/selectors/club-info.selectors.mjs +5 -0
  237. package/esm2022/lib/store/selectors/constant.selectors.mjs +38 -0
  238. package/esm2022/lib/store/selectors/email.selectors.mjs +5 -0
  239. package/esm2022/lib/store/selectors/external-links.selectors.mjs +5 -0
  240. package/esm2022/lib/store/selectors/file.selectors.mjs +6 -0
  241. package/esm2022/lib/store/selectors/index.mjs +18 -0
  242. package/esm2022/lib/store/selectors/invoice.selectors.mjs +6 -0
  243. package/esm2022/lib/store/selectors/member-card.selectors.mjs +8 -0
  244. package/esm2022/lib/store/selectors/member.selectors.mjs +10 -0
  245. package/esm2022/lib/store/selectors/news.selectors.mjs +8 -0
  246. package/esm2022/lib/store/selectors/public-form.selectors.mjs +5 -0
  247. package/esm2022/lib/store/selectors/public.selectors.mjs +18 -0
  248. package/esm2022/lib/store/selectors/team.selectors.mjs +12 -0
  249. package/esm2022/lib/store/selectors/token.selectors.mjs +6 -0
  250. package/esm2022/lib/store/selectors/user.selectors.mjs +6 -0
  251. package/esm2022/lib/store/state/auth.state.mjs +5 -0
  252. package/esm2022/lib/store/state/booking.state.mjs +16 -0
  253. package/esm2022/lib/store/state/calendar.state.mjs +17 -0
  254. package/esm2022/lib/store/state/club-info.state.mjs +4 -0
  255. package/esm2022/lib/store/state/constant.state.mjs +21 -0
  256. package/esm2022/lib/store/state/data-access.state.mjs +2 -0
  257. package/esm2022/lib/store/state/email.state.mjs +7 -0
  258. package/esm2022/lib/store/state/external-link.state.mjs +4 -0
  259. package/esm2022/lib/store/state/file.state.mjs +5 -0
  260. package/esm2022/lib/store/state/index.mjs +19 -0
  261. package/esm2022/lib/store/state/invoice.state.mjs +5 -0
  262. package/esm2022/lib/store/state/member-card.state.mjs +7 -0
  263. package/esm2022/lib/store/state/member.state.mjs +10 -0
  264. package/esm2022/lib/store/state/news.state.mjs +7 -0
  265. package/esm2022/lib/store/state/public-form.state.mjs +5 -0
  266. package/esm2022/lib/store/state/public.state.mjs +17 -0
  267. package/esm2022/lib/store/state/team.state.mjs +11 -0
  268. package/esm2022/lib/store/state/token.state.mjs +5 -0
  269. package/esm2022/lib/store/state/user.state.mjs +5 -0
  270. package/fesm2022/myclub_se-data-access.mjs +10118 -0
  271. package/fesm2022/myclub_se-data-access.mjs.map +1 -0
  272. package/index.d.ts +1 -0
  273. package/lib/api-models/api-booking-calendar-application-time.d.ts +3 -0
  274. package/lib/api-models/api-booking-calendar-slot-session.d.ts +3 -0
  275. package/lib/api-models/api-booking-calendar.d.ts +2 -0
  276. package/lib/api-models/api-feature-flags.d.ts +5 -0
  277. package/lib/api-models/api-invoice/payment-attempt-data-types/api-payment-attempt-credit-card-data-type.d.ts +1 -1
  278. package/lib/api-models/api-invoice/payment-attempt-data-types/api-payment-attempt-swish-data-type.d.ts +1 -1
  279. package/lib/api-models/api-invoice/payment-attempt-data-types/api-payment-attempt-zimpler-data-type.d.ts +1 -1
  280. package/lib/api-models/index.d.ts +1 -0
  281. package/lib/authentication/authentication.interceptor.d.ts +12 -7
  282. package/lib/data-access.module.d.ts +3 -1
  283. package/lib/models/activity-settings.d.ts +3 -1
  284. package/lib/models/auth/auth.d.ts +3 -2
  285. package/lib/models/booking-calendar-application-time.d.ts +8 -3
  286. package/lib/models/booking-calendar-slot-session.d.ts +10 -5
  287. package/lib/models/booking-calendar-slot.d.ts +7 -6
  288. package/lib/models/booking-calendar.d.ts +4 -1
  289. package/lib/models/booking-settings.d.ts +5 -4
  290. package/lib/models/booking-slot-filter.d.ts +17 -0
  291. package/lib/models/directory.d.ts +1 -0
  292. package/lib/models/feature-flags.d.ts +7 -0
  293. package/lib/models/index.d.ts +2 -0
  294. package/lib/models/invoice/payment-attempt-data-types/payment-attempt-credit-card-data-type.d.ts +1 -1
  295. package/lib/models/invoice/payment-attempt-data-types/payment-attempt-swish-data-type.d.ts +1 -1
  296. package/lib/models/invoice/payment-attempt-data-types/payment-attempt-zimpler-data-type.d.ts +1 -1
  297. package/lib/services/activity.service.d.ts +55 -52
  298. package/lib/services/bookable.service.d.ts +9 -9
  299. package/lib/services/booking-calendar.service.d.ts +6 -23
  300. package/lib/services/constant.service.d.ts +5 -11
  301. package/lib/services/email.service.d.ts +0 -9
  302. package/lib/services/factories/feature-flags-factory.d.ts +3 -0
  303. package/lib/services/factories/index.d.ts +1 -0
  304. package/lib/services/feature-flags.service.d.ts +13 -0
  305. package/lib/services/index.d.ts +2 -0
  306. package/lib/services/member.service.d.ts +7 -3
  307. package/lib/services/storage.service.d.ts +20 -0
  308. package/lib/store/actions/activity.actions.d.ts +641 -0
  309. package/lib/store/actions/auth.actions.d.ts +83 -0
  310. package/lib/store/actions/booking.actions.d.ts +652 -0
  311. package/lib/store/actions/calendar.actions.d.ts +381 -0
  312. package/lib/store/actions/club-info.actions.d.ts +54 -0
  313. package/lib/store/actions/constant.actions.d.ts +249 -0
  314. package/lib/store/actions/email.actions.d.ts +57 -0
  315. package/lib/store/actions/external-link.actions.d.ts +22 -0
  316. package/lib/store/actions/file.actions.d.ts +169 -0
  317. package/lib/store/actions/index.d.ts +18 -0
  318. package/lib/store/actions/invoice.actions.d.ts +300 -0
  319. package/lib/store/actions/member-card.actions.d.ts +253 -0
  320. package/lib/store/actions/member.actions.d.ts +216 -0
  321. package/lib/store/actions/news.actions.d.ts +164 -0
  322. package/lib/store/actions/public-form.actions.d.ts +46 -0
  323. package/lib/store/actions/store.actions.d.ts +4 -0
  324. package/lib/store/actions/team.actions.d.ts +334 -0
  325. package/lib/store/actions/token.actions.d.ts +151 -0
  326. package/lib/store/actions/user.actions.d.ts +102 -0
  327. package/lib/store/effects/activity.effects.d.ts +152 -0
  328. package/lib/store/effects/auth.effects.d.ts +35 -0
  329. package/lib/store/effects/booking.effects.d.ts +196 -0
  330. package/lib/store/effects/calendar.effects.d.ts +129 -0
  331. package/lib/store/effects/club-info.effects.d.ts +24 -0
  332. package/lib/store/effects/constant.effects.d.ts +96 -0
  333. package/lib/store/effects/data-access.effects.d.ts +18 -0
  334. package/lib/store/effects/email.effects.d.ts +14 -0
  335. package/lib/store/effects/external-link.effects.d.ts +14 -0
  336. package/lib/store/effects/file.effects.d.ts +55 -0
  337. package/lib/store/effects/index.d.ts +1 -0
  338. package/lib/store/effects/invoice.effects.d.ts +80 -0
  339. package/lib/store/effects/member-card.effects.d.ts +69 -0
  340. package/lib/store/effects/member.effects.d.ts +58 -0
  341. package/lib/store/effects/mixins/extra-members-mixin.d.ts +10 -0
  342. package/lib/store/effects/news.effects.d.ts +49 -0
  343. package/lib/store/effects/public-form.effects.d.ts +19 -0
  344. package/lib/store/effects/team.effects.d.ts +80 -0
  345. package/lib/store/effects/token.effects.d.ts +66 -0
  346. package/lib/store/effects/user.effects.d.ts +36 -0
  347. package/lib/store/index.d.ts +7 -0
  348. package/lib/store/interfaces/activate-card-ticket.interface.d.ts +6 -0
  349. package/lib/store/interfaces/activate-user.interface.d.ts +4 -0
  350. package/lib/store/interfaces/calendar-activity-locations.interface.d.ts +7 -0
  351. package/lib/store/interfaces/calendar-activity-types.interface.d.ts +7 -0
  352. package/lib/store/interfaces/calendar-open-activity-result.interface.d.ts +8 -0
  353. package/lib/store/interfaces/calendar-public-open-activity-results.interface.d.ts +7 -0
  354. package/lib/store/interfaces/directory-result.interface.d.ts +5 -0
  355. package/lib/store/interfaces/email-settings.interface.d.ts +5 -0
  356. package/lib/store/interfaces/index.d.ts +19 -0
  357. package/lib/store/interfaces/list-result-interface.d.ts +13 -0
  358. package/lib/store/interfaces/location.interface.d.ts +7 -0
  359. package/lib/store/interfaces/member-calendar-event-result.interface.d.ts +8 -0
  360. package/lib/store/interfaces/member-card-deals.interface.d.ts +5 -0
  361. package/lib/store/interfaces/member-card-tickets.interface.d.ts +5 -0
  362. package/lib/store/interfaces/public-activate-card-ticket.interface.d.ts +6 -0
  363. package/lib/store/interfaces/remove-member-auth.interface.d.ts +4 -0
  364. package/lib/store/interfaces/remove-team-auth.interface.d.ts +4 -0
  365. package/lib/store/interfaces/retrieve-result.interface.d.ts +13 -0
  366. package/lib/store/interfaces/team-activity.interface.d.ts +9 -0
  367. package/lib/store/interfaces/team-calendar-event-result.interface.d.ts +8 -0
  368. package/lib/store/operators/ensure-activity.d.ts +4 -0
  369. package/lib/store/operators/ensure-auths.d.ts +13 -0
  370. package/lib/store/operators/ensure-calendar-events-loading-done.d.ts +19 -0
  371. package/lib/store/operators/ensure-constants.d.ts +12 -0
  372. package/lib/store/operators/ensure-current-auth.d.ts +12 -0
  373. package/lib/store/operators/ensure-current-user.d.ts +11 -0
  374. package/lib/store/operators/ensure-loading-done.d.ts +20 -0
  375. package/lib/store/operators/ensure-open-activities-loading-done.d.ts +3 -0
  376. package/lib/store/operators/ensure-public-open-activities-loading-done.d.ts +3 -0
  377. package/lib/store/operators/ensure-updated-data.d.ts +4 -0
  378. package/lib/store/operators/index.d.ts +10 -0
  379. package/lib/store/reducers/auth.reducer.d.ts +2 -0
  380. package/lib/store/reducers/booking.reducers.d.ts +2 -0
  381. package/lib/store/reducers/calendar.reducer.d.ts +2 -0
  382. package/lib/store/reducers/club-info.reducer.d.ts +2 -0
  383. package/lib/store/reducers/constant.reducer.d.ts +2 -0
  384. package/lib/store/reducers/data-access.reducer.d.ts +3 -0
  385. package/lib/store/reducers/email.reducer.d.ts +2 -0
  386. package/lib/store/reducers/external-link.reducer.d.ts +2 -0
  387. package/lib/store/reducers/file.reducer.d.ts +2 -0
  388. package/lib/store/reducers/index.d.ts +1 -0
  389. package/lib/store/reducers/invoice.reducer.d.ts +2 -0
  390. package/lib/store/reducers/member-card.reducer.d.ts +2 -0
  391. package/lib/store/reducers/member.reducer.d.ts +2 -0
  392. package/lib/store/reducers/news.reducer.d.ts +2 -0
  393. package/lib/store/reducers/public-form.reducer.d.ts +2 -0
  394. package/lib/store/reducers/public.reducer.d.ts +2 -0
  395. package/lib/store/reducers/reducer-helpers.d.ts +8 -0
  396. package/lib/store/reducers/team.reducer.d.ts +2 -0
  397. package/lib/store/reducers/token.reducer.d.ts +2 -0
  398. package/lib/store/reducers/user.reducer.d.ts +2 -0
  399. package/lib/store/selectors/auth.selectors.d.ts +4 -0
  400. package/lib/store/selectors/booking.selectors.d.ts +13 -0
  401. package/lib/store/selectors/calendar.selectors.d.ts +16 -0
  402. package/lib/store/selectors/club-info.selectors.d.ts +3 -0
  403. package/lib/store/selectors/constant.selectors.d.ts +19 -0
  404. package/lib/store/selectors/email.selectors.d.ts +3 -0
  405. package/lib/store/selectors/external-links.selectors.d.ts +3 -0
  406. package/lib/store/selectors/file.selectors.d.ts +4 -0
  407. package/lib/store/selectors/index.d.ts +17 -0
  408. package/lib/store/selectors/invoice.selectors.d.ts +4 -0
  409. package/lib/store/selectors/member-card.selectors.d.ts +6 -0
  410. package/lib/store/selectors/member.selectors.d.ts +8 -0
  411. package/lib/store/selectors/news.selectors.d.ts +6 -0
  412. package/lib/store/selectors/public-form.selectors.d.ts +3 -0
  413. package/lib/store/selectors/public.selectors.d.ts +16 -0
  414. package/lib/store/selectors/team.selectors.d.ts +10 -0
  415. package/lib/store/selectors/token.selectors.d.ts +4 -0
  416. package/lib/store/selectors/user.selectors.d.ts +4 -0
  417. package/lib/store/state/auth.state.d.ts +7 -0
  418. package/lib/store/state/booking.state.d.ts +16 -0
  419. package/lib/store/state/calendar.state.d.ts +19 -0
  420. package/lib/store/state/club-info.state.d.ts +6 -0
  421. package/lib/store/state/constant.state.d.ts +23 -0
  422. package/lib/store/state/data-access.state.d.ts +36 -0
  423. package/lib/store/state/email.state.d.ts +5 -0
  424. package/lib/store/state/external-link.state.d.ts +6 -0
  425. package/lib/store/state/file.state.d.ts +6 -0
  426. package/lib/store/state/index.d.ts +18 -0
  427. package/lib/store/state/invoice.state.d.ts +7 -0
  428. package/lib/store/state/member-card.state.d.ts +9 -0
  429. package/lib/store/state/member.state.d.ts +11 -0
  430. package/lib/store/state/news.state.d.ts +9 -0
  431. package/lib/store/state/public-form.state.d.ts +7 -0
  432. package/lib/store/state/public.state.d.ts +19 -0
  433. package/lib/store/state/team.state.d.ts +13 -0
  434. package/lib/store/state/token.state.d.ts +7 -0
  435. package/lib/store/state/user.state.d.ts +7 -0
  436. package/lib/types/attribute-type.d.ts +1 -1
  437. package/lib/types/booking-calendar-slot-reserved-time-position.d.ts +1 -1
  438. package/lib/types/booking-calendar-slot-type.d.ts +1 -1
  439. package/lib/types/contact-type.d.ts +1 -1
  440. package/lib/types/grant-type.d.ts +1 -1
  441. package/lib/types/payment-attempt-status-type.d.ts +1 -1
  442. package/lib/types/payment-attempt-type.d.ts +1 -1
  443. package/lib/types/sex-type.d.ts +1 -1
  444. package/package.json +13 -18
  445. package/esm2020/lib/api-models/api-invoice/api-payment-attempt-create.mjs +0 -8
  446. package/esm2020/lib/api-models/index.mjs +0 -56
  447. package/esm2020/lib/authentication/authentication.interceptor.mjs +0 -66
  448. package/esm2020/lib/authentication/authentication.service.mjs +0 -106
  449. package/esm2020/lib/authentication/guards/authenticated.guard.mjs +0 -36
  450. package/esm2020/lib/authentication/guards/handle-grant-token.guard.mjs +0 -29
  451. package/esm2020/lib/data-access.module.mjs +0 -30
  452. package/esm2020/lib/maintenance/maintenance.interceptor.mjs +0 -29
  453. package/esm2020/lib/models/activity-extra-member.mjs +0 -12
  454. package/esm2020/lib/models/activity-invite.mjs +0 -20
  455. package/esm2020/lib/models/activity-location-group.mjs +0 -21
  456. package/esm2020/lib/models/activity-location-part.mjs +0 -14
  457. package/esm2020/lib/models/activity-location-tag.mjs +0 -17
  458. package/esm2020/lib/models/activity-location.mjs +0 -36
  459. package/esm2020/lib/models/activity-participant.mjs +0 -12
  460. package/esm2020/lib/models/activity-settings.mjs +0 -14
  461. package/esm2020/lib/models/activity-type.mjs +0 -26
  462. package/esm2020/lib/models/activity.mjs +0 -92
  463. package/esm2020/lib/models/auth/auth-member.mjs +0 -10
  464. package/esm2020/lib/models/auth/auth-team.mjs +0 -9
  465. package/esm2020/lib/models/auth/auth.mjs +0 -15
  466. package/esm2020/lib/models/bookable-group.mjs +0 -21
  467. package/esm2020/lib/models/bookable-item.mjs +0 -39
  468. package/esm2020/lib/models/bookable-part.mjs +0 -14
  469. package/esm2020/lib/models/bookable-tag.mjs +0 -17
  470. package/esm2020/lib/models/booking-calendar-application-time.mjs +0 -52
  471. package/esm2020/lib/models/booking-calendar-slot-session.mjs +0 -54
  472. package/esm2020/lib/models/booking-calendar-slot.mjs +0 -53
  473. package/esm2020/lib/models/booking-calendar.mjs +0 -54
  474. package/esm2020/lib/models/booking-settings.mjs +0 -22
  475. package/esm2020/lib/models/calendar-event.mjs +0 -20
  476. package/esm2020/lib/models/calendar.mjs +0 -10
  477. package/esm2020/lib/models/card/card-deal.mjs +0 -10
  478. package/esm2020/lib/models/card/card-logo-urls.mjs +0 -13
  479. package/esm2020/lib/models/card/card-logo.mjs +0 -8
  480. package/esm2020/lib/models/card/card-member-ticket.mjs +0 -11
  481. package/esm2020/lib/models/card/card-theme.mjs +0 -10
  482. package/esm2020/lib/models/card/card-ticket-location.mjs +0 -9
  483. package/esm2020/lib/models/card/card-ticket.mjs +0 -21
  484. package/esm2020/lib/models/card/home-team.mjs +0 -8
  485. package/esm2020/lib/models/card/member-card.mjs +0 -14
  486. package/esm2020/lib/models/card/search-member-card.mjs +0 -9
  487. package/esm2020/lib/models/club-image.mjs +0 -18
  488. package/esm2020/lib/models/collection.mjs +0 -15
  489. package/esm2020/lib/models/contact.mjs +0 -46
  490. package/esm2020/lib/models/directory.mjs +0 -26
  491. package/esm2020/lib/models/email.mjs +0 -8
  492. package/esm2020/lib/models/event.mjs +0 -26
  493. package/esm2020/lib/models/file-object.mjs +0 -14
  494. package/esm2020/lib/models/general-image.mjs +0 -8
  495. package/esm2020/lib/models/group-role.mjs +0 -11
  496. package/esm2020/lib/models/image-urls.mjs +0 -10
  497. package/esm2020/lib/models/index.mjs +0 -62
  498. package/esm2020/lib/models/invoice/member-fee.mjs +0 -9
  499. package/esm2020/lib/models/invoice/member-invoice-row.mjs +0 -18
  500. package/esm2020/lib/models/invoice/member-invoice.mjs +0 -25
  501. package/esm2020/lib/models/invoice/payment-attempt.mjs +0 -13
  502. package/esm2020/lib/models/invoice/payment-types/credit-card.mjs +0 -16
  503. package/esm2020/lib/models/invoice/payment-types/giro.mjs +0 -11
  504. package/esm2020/lib/models/invoice/payment-types/swish.mjs +0 -18
  505. package/esm2020/lib/models/invoice/payment-types/zimpler.mjs +0 -12
  506. package/esm2020/lib/models/invoice/search-member-invoice.mjs +0 -17
  507. package/esm2020/lib/models/invoice/unpaid-member-invoice.mjs +0 -9
  508. package/esm2020/lib/models/member/member-attribute.mjs +0 -33
  509. package/esm2020/lib/models/member/member-contact.mjs +0 -21
  510. package/esm2020/lib/models/member/member-function.mjs +0 -19
  511. package/esm2020/lib/models/member/member-validation-settings.mjs +0 -13
  512. package/esm2020/lib/models/member/member.mjs +0 -75
  513. package/esm2020/lib/models/member/other-member.mjs +0 -13
  514. package/esm2020/lib/models/member/search-member.mjs +0 -20
  515. package/esm2020/lib/models/member-activity-invite.mjs +0 -31
  516. package/esm2020/lib/models/member-public-form-field-option.mjs +0 -9
  517. package/esm2020/lib/models/member-public-form-field.mjs +0 -16
  518. package/esm2020/lib/models/member-public-form.mjs +0 -30
  519. package/esm2020/lib/models/member-team-through.mjs +0 -14
  520. package/esm2020/lib/models/member-team.mjs +0 -13
  521. package/esm2020/lib/models/member-type.mjs +0 -8
  522. package/esm2020/lib/models/news.mjs +0 -47
  523. package/esm2020/lib/models/open-activity.mjs +0 -62
  524. package/esm2020/lib/models/optional-fee.mjs +0 -11
  525. package/esm2020/lib/models/overbooked-bookable-item.mjs +0 -10
  526. package/esm2020/lib/models/overbooked-location.mjs +0 -10
  527. package/esm2020/lib/models/partner.mjs +0 -9
  528. package/esm2020/lib/models/public-authentication.mjs +0 -7
  529. package/esm2020/lib/models/registration-qr-code.mjs +0 -12
  530. package/esm2020/lib/models/search-club.mjs +0 -14
  531. package/esm2020/lib/models/search-team.mjs +0 -18
  532. package/esm2020/lib/models/token.mjs +0 -8
  533. package/esm2020/lib/models/user-notification.mjs +0 -13
  534. package/esm2020/lib/models/user.mjs +0 -31
  535. package/esm2020/lib/services/activity.service.mjs +0 -470
  536. package/esm2020/lib/services/api.service.mjs +0 -106
  537. package/esm2020/lib/services/auth.service.mjs +0 -61
  538. package/esm2020/lib/services/bookable.service.mjs +0 -278
  539. package/esm2020/lib/services/booking-calendar.service.mjs +0 -794
  540. package/esm2020/lib/services/club.service.mjs +0 -34
  541. package/esm2020/lib/services/constant.service.mjs +0 -131
  542. package/esm2020/lib/services/email.service.mjs +0 -53
  543. package/esm2020/lib/services/external-link.service.mjs +0 -24
  544. package/esm2020/lib/services/factories/activity-settings-factory.mjs +0 -3
  545. package/esm2020/lib/services/factories/index.mjs +0 -86
  546. package/esm2020/lib/services/factories/member-public-form-factory.mjs +0 -26
  547. package/esm2020/lib/services/factories/payment-attempt-factory.mjs +0 -23
  548. package/esm2020/lib/services/file.service.mjs +0 -64
  549. package/esm2020/lib/services/index.mjs +0 -22
  550. package/esm2020/lib/services/invoice/invoice.service.mjs +0 -41
  551. package/esm2020/lib/services/invoice/payment-attempt.service.mjs +0 -51
  552. package/esm2020/lib/services/maintenance-mode.service.mjs +0 -21
  553. package/esm2020/lib/services/member-card.service.mjs +0 -103
  554. package/esm2020/lib/services/member-public-form.service.mjs +0 -32
  555. package/esm2020/lib/services/member.service.mjs +0 -63
  556. package/esm2020/lib/services/news.service.mjs +0 -102
  557. package/esm2020/lib/services/registration-qr-code.service.mjs +0 -36
  558. package/esm2020/lib/services/section.service.mjs +0 -23
  559. package/esm2020/lib/services/team.service.mjs +0 -88
  560. package/esm2020/lib/services/token.service.mjs +0 -57
  561. package/esm2020/lib/services/user-notification.service.mjs +0 -23
  562. package/esm2020/lib/services/user.service.mjs +0 -68
  563. package/fesm2015/myclub_se-data-access.mjs +0 -4835
  564. package/fesm2015/myclub_se-data-access.mjs.map +0 -1
  565. package/fesm2020/myclub_se-data-access.mjs +0 -4831
  566. package/fesm2020/myclub_se-data-access.mjs.map +0 -1
  567. /package/{esm2020 → esm2022}/lib/api-models/api-activity-extra-member.mjs +0 -0
  568. /package/{esm2020 → esm2022}/lib/api-models/api-activity-invite.mjs +0 -0
  569. /package/{esm2020 → esm2022}/lib/api-models/api-activity-location-group.mjs +0 -0
  570. /package/{esm2020 → esm2022}/lib/api-models/api-activity-location-part.mjs +0 -0
  571. /package/{esm2020 → esm2022}/lib/api-models/api-activity-location-tag.mjs +0 -0
  572. /package/{esm2020 → esm2022}/lib/api-models/api-activity-location.mjs +0 -0
  573. /package/{esm2020 → esm2022}/lib/api-models/api-activity-participant.mjs +0 -0
  574. /package/{esm2020 → esm2022}/lib/api-models/api-activity-settings.mjs +0 -0
  575. /package/{esm2020 → esm2022}/lib/api-models/api-activity-type.mjs +0 -0
  576. /package/{esm2020 → esm2022}/lib/api-models/api-activity.mjs +0 -0
  577. /package/{esm2020 → esm2022}/lib/api-models/api-auth/api-auth-member.mjs +0 -0
  578. /package/{esm2020 → esm2022}/lib/api-models/api-auth/api-auth-section.mjs +0 -0
  579. /package/{esm2020 → esm2022}/lib/api-models/api-auth/api-auth-team-section.mjs +0 -0
  580. /package/{esm2020 → esm2022}/lib/api-models/api-auth/api-auth-team.mjs +0 -0
  581. /package/{esm2020 → esm2022}/lib/api-models/api-auth/api-auth.mjs +0 -0
  582. /package/{esm2020 → esm2022}/lib/api-models/api-auth/index.mjs +0 -0
  583. /package/{esm2020 → esm2022}/lib/api-models/api-bookable-group.mjs +0 -0
  584. /package/{esm2020 → esm2022}/lib/api-models/api-bookable-item.mjs +0 -0
  585. /package/{esm2020 → esm2022}/lib/api-models/api-bookable-part.mjs +0 -0
  586. /package/{esm2020 → esm2022}/lib/api-models/api-bookable-tag.mjs +0 -0
  587. /package/{esm2020 → esm2022}/lib/api-models/api-booking-calendar-slot.mjs +0 -0
  588. /package/{esm2020 → esm2022}/lib/api-models/api-booking-settings.mjs +0 -0
  589. /package/{esm2020 → esm2022}/lib/api-models/api-calendar-event.mjs +0 -0
  590. /package/{esm2020 → esm2022}/lib/api-models/api-calendar.mjs +0 -0
  591. /package/{esm2020 → esm2022}/lib/api-models/api-card/api-card-deal.mjs +0 -0
  592. /package/{esm2020 → esm2022}/lib/api-models/api-card/api-card-logo-urls.mjs +0 -0
  593. /package/{esm2020 → esm2022}/lib/api-models/api-card/api-card-logo.mjs +0 -0
  594. /package/{esm2020 → esm2022}/lib/api-models/api-card/api-card-member-ticket.mjs +0 -0
  595. /package/{esm2020 → esm2022}/lib/api-models/api-card/api-card-theme.mjs +0 -0
  596. /package/{esm2020 → esm2022}/lib/api-models/api-card/api-card-ticket-location.mjs +0 -0
  597. /package/{esm2020 → esm2022}/lib/api-models/api-card/api-card-ticket.mjs +0 -0
  598. /package/{esm2020 → esm2022}/lib/api-models/api-card/api-card.mjs +0 -0
  599. /package/{esm2020 → esm2022}/lib/api-models/api-card/api-home-team.mjs +0 -0
  600. /package/{esm2020 → esm2022}/lib/api-models/api-card/api-member-card.mjs +0 -0
  601. /package/{esm2020 → esm2022}/lib/api-models/api-card/api-search-member-card.mjs +0 -0
  602. /package/{esm2020 → esm2022}/lib/api-models/api-card/index.mjs +0 -0
  603. /package/{esm2020 → esm2022}/lib/api-models/api-club-image.mjs +0 -0
  604. /package/{esm2020 → esm2022}/lib/api-models/api-club-section.mjs +0 -0
  605. /package/{esm2020 → esm2022}/lib/api-models/api-club.mjs +0 -0
  606. /package/{esm2020 → esm2022}/lib/api-models/api-collection.mjs +0 -0
  607. /package/{esm2020 → esm2022}/lib/api-models/api-directory.mjs +0 -0
  608. /package/{esm2020 → esm2022}/lib/api-models/api-event.mjs +0 -0
  609. /package/{esm2020 → esm2022}/lib/api-models/api-external-link.mjs +0 -0
  610. /package/{esm2020 → esm2022}/lib/api-models/api-file-object.mjs +0 -0
  611. /package/{esm2020 → esm2022}/lib/api-models/api-general-image.mjs +0 -0
  612. /package/{esm2020 → esm2022}/lib/api-models/api-group-role.mjs +0 -0
  613. /package/{esm2020 → esm2022}/lib/api-models/api-image-urls.mjs +0 -0
  614. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/api-invoice-payments/api-credit-card.mjs +0 -0
  615. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/api-invoice-payments/api-giro.mjs +0 -0
  616. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/api-invoice-payments/api-swish.mjs +0 -0
  617. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/api-invoice-payments/api-zimpler.mjs +0 -0
  618. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/api-invoice-payments/index.mjs +0 -0
  619. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/api-member-fee.mjs +0 -0
  620. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/api-member-invoice-row.mjs +0 -0
  621. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/api-member-invoice.mjs +0 -0
  622. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/api-payment-attempt.mjs +0 -0
  623. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/api-search-member-invoice.mjs +0 -0
  624. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/api-swish-qr-code.mjs +0 -0
  625. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/api-unpaid-member-invoice.mjs +0 -0
  626. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/index.mjs +0 -0
  627. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/payment-attempt-data-types/api-payment-attempt-credit-card-data-type.mjs +0 -0
  628. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/payment-attempt-data-types/api-payment-attempt-swish-data-type.mjs +0 -0
  629. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/payment-attempt-data-types/api-payment-attempt-zimpler-data-type.mjs +0 -0
  630. /package/{esm2020 → esm2022}/lib/api-models/api-invoice/payment-attempt-data-types/index.mjs +0 -0
  631. /package/{esm2020 → esm2022}/lib/api-models/api-member/api-contact.mjs +0 -0
  632. /package/{esm2020 → esm2022}/lib/api-models/api-member/api-member-attribute.mjs +0 -0
  633. /package/{esm2020 → esm2022}/lib/api-models/api-member/api-member-contact.mjs +0 -0
  634. /package/{esm2020 → esm2022}/lib/api-models/api-member/api-member-function.mjs +0 -0
  635. /package/{esm2020 → esm2022}/lib/api-models/api-member/api-member-validation-settings.mjs +0 -0
  636. /package/{esm2020 → esm2022}/lib/api-models/api-member/api-member.mjs +0 -0
  637. /package/{esm2020 → esm2022}/lib/api-models/api-member/api-other-member-field.mjs +0 -0
  638. /package/{esm2020 → esm2022}/lib/api-models/api-member/api-other-member.mjs +0 -0
  639. /package/{esm2020 → esm2022}/lib/api-models/api-member/api-search-member.mjs +0 -0
  640. /package/{esm2020 → esm2022}/lib/api-models/api-member/index.mjs +0 -0
  641. /package/{esm2020 → esm2022}/lib/api-models/api-member-activity-invite.mjs +0 -0
  642. /package/{esm2020 → esm2022}/lib/api-models/api-member-public-form-field-option.mjs +0 -0
  643. /package/{esm2020 → esm2022}/lib/api-models/api-member-public-form-field.mjs +0 -0
  644. /package/{esm2020 → esm2022}/lib/api-models/api-member-public-form.mjs +0 -0
  645. /package/{esm2020 → esm2022}/lib/api-models/api-member-team-through.mjs +0 -0
  646. /package/{esm2020 → esm2022}/lib/api-models/api-member-team.mjs +0 -0
  647. /package/{esm2020 → esm2022}/lib/api-models/api-member-type.mjs +0 -0
  648. /package/{esm2020 → esm2022}/lib/api-models/api-news.mjs +0 -0
  649. /package/{esm2020 → esm2022}/lib/api-models/api-open-activity.mjs +0 -0
  650. /package/{esm2020 → esm2022}/lib/api-models/api-optional-fee.mjs +0 -0
  651. /package/{esm2020 → esm2022}/lib/api-models/api-overbooked-bookable-item.mjs +0 -0
  652. /package/{esm2020 → esm2022}/lib/api-models/api-overbooked-location.mjs +0 -0
  653. /package/{esm2020 → esm2022}/lib/api-models/api-partner.mjs +0 -0
  654. /package/{esm2020 → esm2022}/lib/api-models/api-public-token.mjs +0 -0
  655. /package/{esm2020 → esm2022}/lib/api-models/api-registration-qr-code.mjs +0 -0
  656. /package/{esm2020 → esm2022}/lib/api-models/api-search-club.mjs +0 -0
  657. /package/{esm2020 → esm2022}/lib/api-models/api-search-team.mjs +0 -0
  658. /package/{esm2020 → esm2022}/lib/api-models/api-section.mjs +0 -0
  659. /package/{esm2020 → esm2022}/lib/api-models/api-token.mjs +0 -0
  660. /package/{esm2020 → esm2022}/lib/api-models/api-user-notification.mjs +0 -0
  661. /package/{esm2020 → esm2022}/lib/api-models/api-user.mjs +0 -0
  662. /package/{esm2020 → esm2022}/lib/authentication/authentication.config.mjs +0 -0
  663. /package/{esm2020 → esm2022}/lib/authentication/index.mjs +0 -0
  664. /package/{esm2020 → esm2022}/lib/interfaces/email-recipient.interface.mjs +0 -0
  665. /package/{esm2020 → esm2022}/lib/interfaces/index.mjs +0 -0
  666. /package/{esm2020 → esm2022}/lib/interfaces/new-account.interface.mjs +0 -0
  667. /package/{esm2020 → esm2022}/lib/interfaces/open-activity-search-params.interface.mjs +0 -0
  668. /package/{esm2020 → esm2022}/lib/interfaces/option.interface.mjs +0 -0
  669. /package/{esm2020 → esm2022}/lib/interfaces/sms-recipient.interface.mjs +0 -0
  670. /package/{esm2020 → esm2022}/lib/maintenance/index.mjs +0 -0
  671. /package/{esm2020 → esm2022}/lib/models/auth/index.mjs +0 -0
  672. /package/{esm2020 → esm2022}/lib/models/card/index.mjs +0 -0
  673. /package/{esm2020 → esm2022}/lib/models/invoice/index.mjs +0 -0
  674. /package/{esm2020 → esm2022}/lib/models/invoice/payment-attempt-data-types/index.mjs +0 -0
  675. /package/{esm2020 → esm2022}/lib/models/invoice/payment-attempt-data-types/payment-attempt-credit-card-data-type.mjs +0 -0
  676. /package/{esm2020 → esm2022}/lib/models/invoice/payment-attempt-data-types/payment-attempt-swish-data-type.mjs +0 -0
  677. /package/{esm2020 → esm2022}/lib/models/invoice/payment-attempt-data-types/payment-attempt-zimpler-data-type.mjs +0 -0
  678. /package/{esm2020 → esm2022}/lib/models/invoice/payment-types/index.mjs +0 -0
  679. /package/{esm2020 → esm2022}/lib/models/member/index.mjs +0 -0
  680. /package/{esm2020 → esm2022}/lib/models/role.mjs +0 -0
  681. /package/{esm2020 → esm2022}/lib/services/factories/activity-extra-member-factory.mjs +0 -0
  682. /package/{esm2020 → esm2022}/lib/services/factories/activity-factory.mjs +0 -0
  683. /package/{esm2020 → esm2022}/lib/services/factories/activity-invite-factory.mjs +0 -0
  684. /package/{esm2020 → esm2022}/lib/services/factories/activity-location-factory.mjs +0 -0
  685. /package/{esm2020 → esm2022}/lib/services/factories/activity-location-group-factory.mjs +0 -0
  686. /package/{esm2020 → esm2022}/lib/services/factories/activity-location-part-factory.mjs +0 -0
  687. /package/{esm2020 → esm2022}/lib/services/factories/activity-location-tag-factory.mjs +0 -0
  688. /package/{esm2020 → esm2022}/lib/services/factories/activity-participant-factory.mjs +0 -0
  689. /package/{esm2020 → esm2022}/lib/services/factories/activity-type-factory.mjs +0 -0
  690. /package/{esm2020 → esm2022}/lib/services/factories/auth-factory.mjs +0 -0
  691. /package/{esm2020 → esm2022}/lib/services/factories/auth-member-factory.mjs +0 -0
  692. /package/{esm2020 → esm2022}/lib/services/factories/auth-section-factory.mjs +0 -0
  693. /package/{esm2020 → esm2022}/lib/services/factories/auth-team-factory.mjs +0 -0
  694. /package/{esm2020 → esm2022}/lib/services/factories/auth-team-section-factory.mjs +0 -0
  695. /package/{esm2020 → esm2022}/lib/services/factories/bookable-group-factory.mjs +0 -0
  696. /package/{esm2020 → esm2022}/lib/services/factories/bookable-item-factory.mjs +0 -0
  697. /package/{esm2020 → esm2022}/lib/services/factories/bookable-part-factory.mjs +0 -0
  698. /package/{esm2020 → esm2022}/lib/services/factories/bookable-tag-factory.mjs +0 -0
  699. /package/{esm2020 → esm2022}/lib/services/factories/booking-calendar-slot-factory.mjs +0 -0
  700. /package/{esm2020 → esm2022}/lib/services/factories/booking-settings-factory.mjs +0 -0
  701. /package/{esm2020 → esm2022}/lib/services/factories/card-deal-factory.mjs +0 -0
  702. /package/{esm2020 → esm2022}/lib/services/factories/card-factory.mjs +0 -0
  703. /package/{esm2020 → esm2022}/lib/services/factories/card-logo-factory.mjs +0 -0
  704. /package/{esm2020 → esm2022}/lib/services/factories/card-logo-urls-factory.mjs +0 -0
  705. /package/{esm2020 → esm2022}/lib/services/factories/card-member-ticket-factory.mjs +0 -0
  706. /package/{esm2020 → esm2022}/lib/services/factories/card-theme-factory.mjs +0 -0
  707. /package/{esm2020 → esm2022}/lib/services/factories/card-ticket-factory.mjs +0 -0
  708. /package/{esm2020 → esm2022}/lib/services/factories/card-ticket-location-factory.mjs +0 -0
  709. /package/{esm2020 → esm2022}/lib/services/factories/club-factory.mjs +0 -0
  710. /package/{esm2020 → esm2022}/lib/services/factories/club-image-factory.mjs +0 -0
  711. /package/{esm2020 → esm2022}/lib/services/factories/club-section-factory.mjs +0 -0
  712. /package/{esm2020 → esm2022}/lib/services/factories/contact-factory.mjs +0 -0
  713. /package/{esm2020 → esm2022}/lib/services/factories/credit-card-factory.mjs +0 -0
  714. /package/{esm2020 → esm2022}/lib/services/factories/directory-factory.mjs +0 -0
  715. /package/{esm2020 → esm2022}/lib/services/factories/event-factory.mjs +0 -0
  716. /package/{esm2020 → esm2022}/lib/services/factories/external-link-factory.mjs +0 -0
  717. /package/{esm2020 → esm2022}/lib/services/factories/file-factory.mjs +0 -0
  718. /package/{esm2020 → esm2022}/lib/services/factories/general-image-factory.mjs +0 -0
  719. /package/{esm2020 → esm2022}/lib/services/factories/giro-factory.mjs +0 -0
  720. /package/{esm2020 → esm2022}/lib/services/factories/group-role-factory.mjs +0 -0
  721. /package/{esm2020 → esm2022}/lib/services/factories/home-team-factory.mjs +0 -0
  722. /package/{esm2020 → esm2022}/lib/services/factories/image-urls-factory.mjs +0 -0
  723. /package/{esm2020 → esm2022}/lib/services/factories/member-attribute-factory.mjs +0 -0
  724. /package/{esm2020 → esm2022}/lib/services/factories/member-card-factory.mjs +0 -0
  725. /package/{esm2020 → esm2022}/lib/services/factories/member-contact-factory.mjs +0 -0
  726. /package/{esm2020 → esm2022}/lib/services/factories/member-factory.mjs +0 -0
  727. /package/{esm2020 → esm2022}/lib/services/factories/member-fee-factory.mjs +0 -0
  728. /package/{esm2020 → esm2022}/lib/services/factories/member-function-factory.mjs +0 -0
  729. /package/{esm2020 → esm2022}/lib/services/factories/member-invite-factory.mjs +0 -0
  730. /package/{esm2020 → esm2022}/lib/services/factories/member-invoice-factory.mjs +0 -0
  731. /package/{esm2020 → esm2022}/lib/services/factories/member-invoice-row-factory.mjs +0 -0
  732. /package/{esm2020 → esm2022}/lib/services/factories/member-public-form-field-factory.mjs +0 -0
  733. /package/{esm2020 → esm2022}/lib/services/factories/member-public-form-field-option-factory.mjs +0 -0
  734. /package/{esm2020 → esm2022}/lib/services/factories/member-team-factory.mjs +0 -0
  735. /package/{esm2020 → esm2022}/lib/services/factories/member-team-through-factory.mjs +0 -0
  736. /package/{esm2020 → esm2022}/lib/services/factories/member-type-factory.mjs +0 -0
  737. /package/{esm2020 → esm2022}/lib/services/factories/member-validation-settings-factory.mjs +0 -0
  738. /package/{esm2020 → esm2022}/lib/services/factories/news-factory.mjs +0 -0
  739. /package/{esm2020 → esm2022}/lib/services/factories/open-activity-factory.mjs +0 -0
  740. /package/{esm2020 → esm2022}/lib/services/factories/optional-fee-factory.mjs +0 -0
  741. /package/{esm2020 → esm2022}/lib/services/factories/other-member-factory.mjs +0 -0
  742. /package/{esm2020 → esm2022}/lib/services/factories/other-member-field-factory.mjs +0 -0
  743. /package/{esm2020 → esm2022}/lib/services/factories/overbooked-bookable-item-factory.mjs +0 -0
  744. /package/{esm2020 → esm2022}/lib/services/factories/overbooked-location-factory.mjs +0 -0
  745. /package/{esm2020 → esm2022}/lib/services/factories/partner-factory.mjs +0 -0
  746. /package/{esm2020 → esm2022}/lib/services/factories/public-authentication-factory.mjs +0 -0
  747. /package/{esm2020 → esm2022}/lib/services/factories/registration-qr-code-factory.mjs +0 -0
  748. /package/{esm2020 → esm2022}/lib/services/factories/search-club-factory.mjs +0 -0
  749. /package/{esm2020 → esm2022}/lib/services/factories/search-member-card-factory.mjs +0 -0
  750. /package/{esm2020 → esm2022}/lib/services/factories/search-member-factory.mjs +0 -0
  751. /package/{esm2020 → esm2022}/lib/services/factories/search-member-invoice-factory.mjs +0 -0
  752. /package/{esm2020 → esm2022}/lib/services/factories/search-member-team-through-factory.mjs +0 -0
  753. /package/{esm2020 → esm2022}/lib/services/factories/search-team-factory.mjs +0 -0
  754. /package/{esm2020 → esm2022}/lib/services/factories/section-factory.mjs +0 -0
  755. /package/{esm2020 → esm2022}/lib/services/factories/swish-factory.mjs +0 -0
  756. /package/{esm2020 → esm2022}/lib/services/factories/token-factory.mjs +0 -0
  757. /package/{esm2020 → esm2022}/lib/services/factories/unpaid-invoice-factory.mjs +0 -0
  758. /package/{esm2020 → esm2022}/lib/services/factories/user-factory.mjs +0 -0
  759. /package/{esm2020 → esm2022}/lib/services/factories/user-notification-factory.mjs +0 -0
  760. /package/{esm2020 → esm2022}/lib/services/factories/zimpler-factory.mjs +0 -0
  761. /package/{esm2020 → esm2022}/lib/services/invoice/index.mjs +0 -0
  762. /package/{esm2020 → esm2022}/lib/types/attribute-type.mjs +0 -0
  763. /package/{esm2020 → esm2022}/lib/types/booking-calendar-slot-reserved-time-position.mjs +0 -0
  764. /package/{esm2020 → esm2022}/lib/types/booking-calendar-slot-type.mjs +0 -0
  765. /package/{esm2020 → esm2022}/lib/types/contact-type.mjs +0 -0
  766. /package/{esm2020 → esm2022}/lib/types/grant-type.mjs +0 -0
  767. /package/{esm2020 → esm2022}/lib/types/index.mjs +0 -0
  768. /package/{esm2020 → esm2022}/lib/types/payment-attempt-status-type.mjs +0 -0
  769. /package/{esm2020 → esm2022}/lib/types/payment-attempt-type.mjs +0 -0
  770. /package/{esm2020 → esm2022}/lib/types/sex-type.mjs +0 -0
  771. /package/{esm2020 → esm2022}/myclub_se-data-access.mjs +0 -0
@@ -1,106 +0,0 @@
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
- deleteResourceWithBody(role, path, pathParams = {}, options = {}) {
26
- return this.http.delete(this.url(this.path(role, path, pathParams)), { ...options, observe: 'response' }).pipe(map((response) => response.status === 204));
27
- }
28
- getCollection(factory, role, path, pathParams = {}, options = {}) {
29
- return this.get(role, path, pathParams, options).pipe(map((apiCollection) => {
30
- const resources = apiCollection.results.map((resource) => factory(resource));
31
- return new Collection(apiCollection.count, apiCollection.next, apiCollection.previous, resources);
32
- }));
33
- }
34
- getResource(factory, role, path, pathParams = {}, options = {}) {
35
- return this.get(role, path, pathParams, options).pipe(map((apiResource) => factory(apiResource)));
36
- }
37
- postFormData(factory, role, path, pathParams = {}, data) {
38
- return this.http.post(this.url(this.path(role, path, pathParams)), this.getFormData(data))
39
- .pipe(map((apiResource) => factory(apiResource)));
40
- }
41
- postResource(factory, role, path, pathParams = {}, data, options = {}) {
42
- return this.post(role, path, pathParams, data, options).pipe(map((apiResource) => factory(apiResource)));
43
- }
44
- postResourceNoResponse(role, path, pathParams = {}, data, options = {}) {
45
- return this.postEmptyResponse(role, path, pathParams, data, options).pipe(map((response) => response.status === 200 || response.status === 201 || response.status === 204));
46
- }
47
- updateResource(responseFactory, role, path, pathParams = {}, data, options = {}) {
48
- return this.patch(role, path, pathParams, data, options).pipe(map((apiResource) => responseFactory(apiResource)));
49
- }
50
- updateResourceNoResponse(role, path, pathParams = {}, data, options = {}) {
51
- return this.patchEmptyResponse(role, path, pathParams, data, options).pipe(map((response) => response.status === 200 || response.status === 204));
52
- }
53
- delete(role, path, pathParams, options) {
54
- if (options.body) {
55
- return this.http.request('delete', this.url(this.path(role, path, pathParams)), options);
56
- }
57
- return this.http.delete(this.url(this.path(role, path, pathParams)), { ...options, observe: 'response' });
58
- }
59
- get(role, path, pathParams, options) {
60
- return this.http.get(this.url(this.path(role, path, pathParams)), options);
61
- }
62
- getFormData(data) {
63
- if (data instanceof FormData) {
64
- return data;
65
- }
66
- const formData = new FormData();
67
- for (const [key, value] of Object.entries(data)) {
68
- formData.append(key, value);
69
- }
70
- return formData;
71
- }
72
- patch(role, path, pathParams, data, options) {
73
- return this.http.patch(this.url(this.path(role, path, pathParams)), data, options);
74
- }
75
- patchEmptyResponse(role, path, pathParams, data, options) {
76
- return this.http.patch(this.url(this.path(role, path, pathParams)), data, { ...options, observe: 'response' });
77
- }
78
- path(role, path, params) {
79
- for (const [key, value] of Object.entries(params)) {
80
- const regexp = new RegExp(':' + key, 'g');
81
- path = path.replace(regexp, value);
82
- }
83
- return ROLE_PATH[role] + path;
84
- }
85
- post(role, path, pathParams, data, options) {
86
- return this.http.post(this.url(this.path(role, path, pathParams)), data, options);
87
- }
88
- postEmptyResponse(role, path, pathParams, data, options) {
89
- return this.http.post(this.url(this.path(role, path, pathParams)), data, { ...options, observe: 'response' });
90
- }
91
- url(path) {
92
- return this.domain + API_PATH + path;
93
- }
94
- }
95
- 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 });
96
- ApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ApiService, providedIn: 'root' });
97
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: ApiService, decorators: [{
98
- type: Injectable,
99
- args: [{
100
- providedIn: 'root'
101
- }]
102
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
103
- type: Inject,
104
- args: [DOMAIN]
105
- }] }]; } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUM7OztBQUUzQyxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQVMsUUFBUSxDQUFDLENBQUM7QUFFM0QsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDO0FBRTNCLE1BQU0sU0FBUyxHQUFHO0lBQ2hCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWE7SUFDL0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsZ0JBQWdCO0lBQ3JDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWE7SUFDL0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsZUFBZTtJQUNuQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTO0lBQ3hCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7Q0FDaEIsQ0FBQztBQWtCRixNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUNVLElBQWdCLEVBQ0EsTUFBYztRQUQ5QixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0EsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUV4QyxDQUFDO0lBRUQsY0FBYyxDQUNaLElBQVUsRUFDVixJQUFZLEVBQ1osYUFBeUIsRUFBRSxFQUMzQixVQUFtQixFQUFFO1FBRXJCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUs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TyxDQUFDLENBQUM7SUFDdkYsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQVUsRUFBRSxJQUFZLEVBQUUsVUFBc0IsRUFBRSxJQUFhLEVBQUUsT0FBZ0I7UUFDekcsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFDLEdBQUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0lBQzlHLENBQUM7SUFFTyxHQUFHLENBQUMsSUFBWTtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQztJQUN2QyxDQUFDOzt3R0F2S1UsVUFBVSw0Q0FHWCxNQUFNOzRHQUhMLFVBQVUsY0FGVCxNQUFNOzRGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJSSxNQUFNOzJCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnQsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FwaUNvbGxlY3Rpb259IGZyb20gJy4uL2FwaS1tb2RlbHMnO1xuaW1wb3J0IHtDb2xsZWN0aW9uLCBSb2xlfSBmcm9tICcuLi9tb2RlbHMnO1xuXG5leHBvcnQgY29uc3QgRE9NQUlOID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ2RvbWFpbicpO1xuXG5jb25zdCBBUElfUEFUSCA9ICdhcGkvdjMvJztcblxuY29uc3QgUk9MRV9QQVRIID0ge1xuICBbUm9sZS5DbHViQWRtaW5dOiAnY2x1Yi1hZG1pbi8nLFxuICBbUm9sZS5TZWN0aW9uQWRtaW5dOiAnc2VjdGlvbi1hZG1pbi8nLFxuICBbUm9sZS5UZWFtQWRtaW5dOiAndGVhbS1hZG1pbi8nLFxuICBbUm9sZS5NZW1iZXJBZG1pbl06ICdtZW1iZXItYWRtaW4vJyxcbiAgW1JvbGUuUHVibGljXTogJ3B1YmxpYy8nLFxuICBbUm9sZS5Ob25lXTogJydcbn07XG5cbmludGVyZmFjZSBGYWN0b3J5PEEsIFQ+IHtcbiAgKGFwaVJlc291cmNlOiBBKTogVDtcbn1cblxuaW50ZXJmYWNlIFBhdGhQYXJhbXMge1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBPcHRpb25zIHtcbiAgcGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IH07XG4gIGJvZHk/OiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFwaVNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQEluamVjdChET01BSU4pIHByaXZhdGUgZG9tYWluOiBzdHJpbmdcbiAgKSB7XG4gIH1cblxuICBkZWxldGVSZXNvdXJjZShcbiAgICByb2xlOiBSb2xlLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBwYXRoUGFyYW1zOiBQYXRoUGFyYW1zID0ge30sXG4gICAgb3B0aW9uczogT3B0aW9ucyA9IHt9XG4gICkge1xuICAgIHJldHVybiB0aGlzLmRlbGV0ZShyb2xlLCBwYXRoLCBwYXRoUGFyYW1zLCBvcHRpb25zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IEh0dHBSZXNwb25zZTx1bmtub3duPikgPT4gcmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpXG4gICAgICApO1xuICB9XG5cbiAgZGVsZXRlUmVzb3VyY2VXaXRoQm9keShcbiAgICByb2xlOiBSb2xlLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBwYXRoUGFyYW1zOiBQYXRoUGFyYW1zID0ge30sXG4gICAgb3B0aW9uczogT3B0aW9ucyA9IHt9XG4gICkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKFxuICAgICAgdGhpcy51cmwodGhpcy5wYXRoKHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMpKSwgey4uLm9wdGlvbnMsIG9ic2VydmU6ICdyZXNwb25zZSd9LFxuICAgICkucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IEh0dHBSZXNwb25zZTx1bmtub3duPikgPT4gcmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpXG4gICAgKTtcbiAgfVxuXG4gIGdldENvbGxlY3Rpb248QSwgVD4oXG4gICAgZmFjdG9yeTogRmFjdG9yeTxBLCBUPixcbiAgICByb2xlOiBSb2xlLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBwYXRoUGFyYW1zOiBQYXRoUGFyYW1zID0ge30sXG4gICAgb3B0aW9uczogT3B0aW9ucyA9IHt9XG4gICkge1xuICAgIHJldHVybiB0aGlzLmdldDxBcGlDb2xsZWN0aW9uPEE+Pihyb2xlLCBwYXRoLCBwYXRoUGFyYW1zLCBvcHRpb25zKS5waXBlKFxuICAgICAgbWFwKChhcGlDb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc291cmNlcyA9IGFwaUNvbGxlY3Rpb24ucmVzdWx0cy5tYXAoKHJlc291cmNlKSA9PiBmYWN0b3J5KHJlc291cmNlKSk7XG4gICAgICAgIHJldHVybiBuZXcgQ29sbGVjdGlvbjxUPihhcGlDb2xsZWN0aW9uLmNvdW50LCBhcGlDb2xsZWN0aW9uLm5leHQsIGFwaUNvbGxlY3Rpb24ucHJldmlvdXMsIHJlc291cmNlcyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRSZXNvdXJjZTxBLCBUPihcbiAgICBmYWN0b3J5OiBGYWN0b3J5PEEsIFQ+LFxuICAgIHJvbGU6IFJvbGUsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHBhdGhQYXJhbXM6IFBhdGhQYXJhbXMgPSB7fSxcbiAgICBvcHRpb25zOiBPcHRpb25zID0ge31cbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0PEE+KHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMsIG9wdGlvbnMpLnBpcGUoXG4gICAgICBtYXAoKGFwaVJlc291cmNlKSA9PiBmYWN0b3J5KGFwaVJlc291cmNlKSlcbiAgICApO1xuICB9XG5cbiAgcG9zdEZvcm1EYXRhPEEsIFQ+KFxuICAgIGZhY3Rvcnk6IEZhY3Rvcnk8QSwgVD4sXG4gICAgcm9sZTogUm9sZSxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgcGF0aFBhcmFtczogUGF0aFBhcmFtcyA9IHt9LFxuICAgIGRhdGE6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCBGb3JtRGF0YSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBPih0aGlzLnVybCh0aGlzLnBhdGgocm9sZSwgcGF0aCwgcGF0aFBhcmFtcykpLCB0aGlzLmdldEZvcm1EYXRhKGRhdGEpKVxuICAgICAgLnBpcGUobWFwKChhcGlSZXNvdXJjZSkgPT4gZmFjdG9yeShhcGlSZXNvdXJjZSkpKTtcbiAgfVxuXG4gIHBvc3RSZXNvdXJjZTxBLCBUPihcbiAgICBmYWN0b3J5OiBGYWN0b3J5PEEsIFQ+LFxuICAgIHJvbGU6IFJvbGUsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHBhdGhQYXJhbXM6IFBhdGhQYXJhbXMgPSB7fSxcbiAgICBkYXRhOiB1bmtub3duLFxuICAgIG9wdGlvbnM6IE9wdGlvbnMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnBvc3Q8QT4ocm9sZSwgcGF0aCwgcGF0aFBhcmFtcywgZGF0YSwgb3B0aW9ucykucGlwZShcbiAgICAgIG1hcCgoYXBpUmVzb3VyY2UpID0+IGZhY3RvcnkoYXBpUmVzb3VyY2UpKVxuICAgICk7XG4gIH1cblxuICBwb3N0UmVzb3VyY2VOb1Jlc3BvbnNlKFxuICAgIHJvbGU6IFJvbGUsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIHBhdGhQYXJhbXM6IFBhdGhQYXJhbXMgPSB7fSxcbiAgICBkYXRhOiB1bmtub3duLFxuICAgIG9wdGlvbnM6IE9wdGlvbnMgPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnBvc3RFbXB0eVJlc3BvbnNlKHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMsIGRhdGEsIG9wdGlvbnMpLnBpcGUoXG4gICAgICBtYXAoKHJlc3BvbnNlOiBIdHRwUmVzcG9uc2U8dW5rbm93bj4pID0+IHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAwIHx8IHJlc3BvbnNlLnN0YXR1cyA9PT0gMjAxIHx8IHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVSZXNvdXJjZTxBLCBUPihcbiAgICByZXNwb25zZUZhY3Rvcnk6IEZhY3Rvcnk8QSwgVD4sXG4gICAgcm9sZTogUm9sZSxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgcGF0aFBhcmFtczogUGF0aFBhcmFtcyA9IHt9LFxuICAgIGRhdGE6IHVua25vd24sXG4gICAgb3B0aW9uczogT3B0aW9ucyA9IHt9KSB7XG4gICAgcmV0dXJuIHRoaXMucGF0Y2g8QT4ocm9sZSwgcGF0aCwgcGF0aFBhcmFtcywgZGF0YSwgb3B0aW9ucykucGlwZShcbiAgICAgIG1hcCgoYXBpUmVzb3VyY2UpID0+IHJlc3BvbnNlRmFjdG9yeShhcGlSZXNvdXJjZSkpXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVJlc291cmNlTm9SZXNwb25zZShcbiAgICByb2xlOiBSb2xlLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBwYXRoUGFyYW1zOiBQYXRoUGFyYW1zID0ge30sXG4gICAgZGF0YTogdW5rbm93bixcbiAgICBvcHRpb25zOiBPcHRpb25zID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5wYXRjaEVtcHR5UmVzcG9uc2Uocm9sZSwgcGF0aCwgcGF0aFBhcmFtcywgZGF0YSwgb3B0aW9ucykucGlwZShcbiAgICAgIG1hcCgocmVzcG9uc2U6IEh0dHBSZXNwb25zZTx1bmtub3duPikgPT4gcmVzcG9uc2Uuc3RhdHVzID09PSAyMDAgfHwgcmVzcG9uc2Uuc3RhdHVzID09PSAyMDQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZGVsZXRlKHJvbGU6IFJvbGUsIHBhdGg6IHN0cmluZywgcGF0aFBhcmFtczogUGF0aFBhcmFtcywgb3B0aW9uczogT3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zLmJvZHkpIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucmVxdWVzdDxhbnk+KCdkZWxldGUnLCB0aGlzLnVybCh0aGlzLnBhdGgocm9sZSwgcGF0aCwgcGF0aFBhcmFtcykpLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZSh0aGlzLnVybCh0aGlzLnBhdGgocm9sZSwgcGF0aCwgcGF0aFBhcmFtcykpLCB7Li4ub3B0aW9ucywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQ8VD4ocm9sZTogUm9sZSwgcGF0aDogc3RyaW5nLCBwYXRoUGFyYW1zOiBQYXRoUGFyYW1zLCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VD4odGhpcy51cmwodGhpcy5wYXRoKHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMpKSwgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGdldEZvcm1EYXRhKGRhdGE6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gfCBGb3JtRGF0YSkge1xuICAgIGlmIChkYXRhIGluc3RhbmNlb2YgRm9ybURhdGEpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZGF0YSkpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChrZXksIHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9ybURhdGE7XG4gIH1cblxuICBwcml2YXRlIHBhdGNoPFQ+KHJvbGU6IFJvbGUsIHBhdGg6IHN0cmluZywgcGF0aFBhcmFtczogUGF0aFBhcmFtcywgZGF0YTogdW5rbm93biwgb3B0aW9uczogT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8VD4odGhpcy51cmwodGhpcy5wYXRoKHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMpKSwgZGF0YSwgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIHBhdGNoRW1wdHlSZXNwb25zZShyb2xlOiBSb2xlLCBwYXRoOiBzdHJpbmcsIHBhdGhQYXJhbXM6IFBhdGhQYXJhbXMsIGRhdGE6IHVua25vd24sIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoKHRoaXMudXJsKHRoaXMucGF0aChyb2xlLCBwYXRoLCBwYXRoUGFyYW1zKSksIGRhdGEsIHsuLi5vcHRpb25zLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gIH1cblxuICBwcml2YXRlIHBhdGgocm9sZTogUm9sZSwgcGF0aDogc3RyaW5nLCBwYXJhbXM6IFBhdGhQYXJhbXMpIHtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwYXJhbXMpKSB7XG4gICAgICBjb25zdCByZWdleHAgPSBuZXcgUmVnRXhwKCc6JyArIGtleSwgJ2cnKTtcbiAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UocmVnZXhwLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFJPTEVfUEFUSFtyb2xlXSArIHBhdGg7XG4gIH1cblxuICBwcml2YXRlIHBvc3Q8VD4ocm9sZTogUm9sZSwgcGF0aDogc3RyaW5nLCBwYXRoUGFyYW1zOiBQYXRoUGFyYW1zLCBkYXRhOiB1bmtub3duLCBvcHRpb25zOiBPcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFQ+KHRoaXMudXJsKHRoaXMucGF0aChyb2xlLCBwYXRoLCBwYXRoUGFyYW1zKSksIGRhdGEsIG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBwb3N0RW1wdHlSZXNwb25zZShyb2xlOiBSb2xlLCBwYXRoOiBzdHJpbmcsIHBhdGhQYXJhbXM6IFBhdGhQYXJhbXMsIGRhdGE6IHVua25vd24sIG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy51cmwodGhpcy5wYXRoKHJvbGUsIHBhdGgsIHBhdGhQYXJhbXMpKSwgZGF0YSwgey4uLm9wdGlvbnMsIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXJsKHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmRvbWFpbiArIEFQSV9QQVRIICsgcGF0aDtcbiAgfVxufVxuIl19
@@ -1,61 +0,0 @@
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
- const UPDATE_MEMBERS_PATH = 'every-admin/auths/update-members/';
11
- export class AuthService {
12
- constructor(apiService) {
13
- this.apiService = apiService;
14
- }
15
- getAuth(id) {
16
- return this.apiService
17
- .getCollection(authFactory, Role.None, AUTHS_PATH, {}, { params: { club_id: id } })
18
- .pipe(map((collection) => {
19
- if (collection.count === 0) {
20
- return null;
21
- }
22
- return collection.toArray()[0];
23
- }));
24
- }
25
- getAuths(role = null) {
26
- return this.apiService.getCollection(authFactory, Role.None, AUTHS_PATH, {}, role ? { params: { role } } : {});
27
- }
28
- removeClubAuth(authId, clubId) {
29
- return this.removeAuth(authId, clubId, 'club');
30
- }
31
- removeMemberAuth(authId, memberId) {
32
- return this.removeAuth(authId, memberId, 'member');
33
- }
34
- removeSectionAuth(authId, sectionId) {
35
- return this.removeAuth(authId, sectionId, 'section');
36
- }
37
- removeTeamAuth(authId, teamId) {
38
- return this.removeAuth(authId, teamId, 'team');
39
- }
40
- updateMembers() {
41
- return this.apiService.updateResourceNoResponse(Role.None, UPDATE_MEMBERS_PATH, {}, {})
42
- .pipe(map(() => true), catchError(() => of(false)));
43
- }
44
- removeAuth(authId, authTypeId, authType) {
45
- return this.apiService.postResource(() => { }, Role.None, REMOVE_AUTH_PATH, {
46
- authId,
47
- authType,
48
- id: authTypeId
49
- }, {})
50
- .pipe(map(() => true), catchError(() => of(false)));
51
- }
52
- }
53
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: AuthService, deps: [{ token: i1.ApiService }], target: i0.ɵɵFactoryTarget.Injectable });
54
- AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: AuthService, providedIn: 'root' });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: AuthService, decorators: [{
56
- type: Injectable,
57
- args: [{
58
- providedIn: 'root'
59
- }]
60
- }], ctorParameters: function () { return [{ type: i1.ApiService }]; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zZXJ2aWNlcy9hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFFMUMsTUFBTSxVQUFVLEdBQUcsb0JBQW9CLENBQUM7QUFDeEMsTUFBTSxnQkFBZ0IsR0FBRyw2Q0FBNkMsQ0FBQztBQUN2RSxNQUFNLG1CQUFtQixHQUFHLG1DQUFtQyxDQUFDO0FBS2hFLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDO0lBRTlDLE9BQU8sQ0FBQyxFQUFVO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsYUFBYSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQzthQUNsRixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDakIsSUFBSSxVQUFVLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtnQkFDMUIsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELE9BQU8sVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQXNCLElBQUk7UUFDakMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxNQUFNLEVBQUUsRUFBQyxJQUFJLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWMsRUFBRSxNQUFjO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7UUFDL0MsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQWMsRUFBRSxTQUFpQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWMsRUFBRSxNQUFjO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUM3QyxJQUFJLENBQUMsSUFBSSxFQUNULG1CQUFtQixFQUNuQixFQUFFLEVBQ0YsRUFBRSxDQUFDO2FBQ0YsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFDZixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzVCLENBQUM7SUFDTixDQUFDO0lBRU8sVUFBVSxDQUFDLE1BQWMsRUFBRSxVQUFrQixFQUFFLFFBQWdCO1FBQ3JFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxFQUFFLEdBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDekUsTUFBTTtZQUNOLFFBQVE7WUFDUixFQUFFLEVBQUUsVUFBVTtTQUNmLEVBQUUsRUFBRSxDQUFDO2FBQ0gsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFDZixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzVCLENBQUM7SUFDTixDQUFDOzt5R0ExRFUsV0FBVzs2R0FBWCxXQUFXLGNBRlYsTUFBTTs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJvbGUgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgQXBpU2VydmljZSB9IGZyb20gJy4vYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGF1dGhGYWN0b3J5IH0gZnJvbSAnLi9mYWN0b3JpZXMnO1xuXG5jb25zdCBBVVRIU19QQVRIID0gJ2V2ZXJ5LWFkbWluL2F1dGhzLyc7XG5jb25zdCBSRU1PVkVfQVVUSF9QQVRIID0gJ2FjY291bnRzL3JlbW92ZS1hdXRoLzphdXRoSWQvOmF1dGhUeXBlLzppZC8nO1xuY29uc3QgVVBEQVRFX01FTUJFUlNfUEFUSCA9ICdldmVyeS1hZG1pbi9hdXRocy91cGRhdGUtbWVtYmVycy8nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBdXRoU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSkge31cblxuICBnZXRBdXRoKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihhdXRoRmFjdG9yeSwgUm9sZS5Ob25lLCBBVVRIU19QQVRILCB7fSwgeyBwYXJhbXM6IHsgY2x1Yl9pZDogaWQgfSB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoY29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgIGlmIChjb2xsZWN0aW9uLmNvdW50ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb24udG9BcnJheSgpWzBdO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldEF1dGhzKHJvbGU6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRDb2xsZWN0aW9uKGF1dGhGYWN0b3J5LCBSb2xlLk5vbmUsIEFVVEhTX1BBVEgsIHt9LCByb2xlID8ge3BhcmFtczoge3JvbGV9fSA6IHt9KTtcbiAgfVxuXG4gIHJlbW92ZUNsdWJBdXRoKGF1dGhJZDogc3RyaW5nLCBjbHViSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnJlbW92ZUF1dGgoYXV0aElkLCBjbHViSWQsICdjbHViJyk7XG4gIH1cblxuICByZW1vdmVNZW1iZXJBdXRoKGF1dGhJZDogc3RyaW5nLCBtZW1iZXJJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlQXV0aChhdXRoSWQsIG1lbWJlcklkLCAnbWVtYmVyJyk7XG4gIH1cblxuICByZW1vdmVTZWN0aW9uQXV0aChhdXRoSWQ6IHN0cmluZywgc2VjdGlvbklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZW1vdmVBdXRoKGF1dGhJZCwgc2VjdGlvbklkLCAnc2VjdGlvbicpO1xuICB9XG5cbiAgcmVtb3ZlVGVhbUF1dGgoYXV0aElkOiBzdHJpbmcsIHRlYW1JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVtb3ZlQXV0aChhdXRoSWQsIHRlYW1JZCwgJ3RlYW0nKTtcbiAgfVxuXG4gIHVwZGF0ZU1lbWJlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS51cGRhdGVSZXNvdXJjZU5vUmVzcG9uc2UoXG4gICAgICBSb2xlLk5vbmUsXG4gICAgICBVUERBVEVfTUVNQkVSU19QQVRILFxuICAgICAge30sXG4gICAgICB7fSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YoZmFsc2UpKVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQXV0aChhdXRoSWQ6IHN0cmluZywgYXV0aFR5cGVJZDogc3RyaW5nLCBhdXRoVHlwZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0UmVzb3VyY2UoKCkgPT4ge30sIFJvbGUuTm9uZSwgUkVNT1ZFX0FVVEhfUEFUSCwge1xuICAgICAgYXV0aElkLFxuICAgICAgYXV0aFR5cGUsXG4gICAgICBpZDogYXV0aFR5cGVJZFxuICAgIH0sIHt9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKSA9PiB0cnVlKSxcbiAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICAgICApO1xuICB9XG59XG4iXX0=
@@ -1,278 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Role, } from '../models';
3
- import { bookableGroupFactory, bookableItemFactory, bookablePartFactory, bookableTagFactory, } from './factories';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./api.service";
6
- const CLUB_BOOKABLES_PATH = ':clubId/activities/bookables/';
7
- const CLUB_BOOKABLE_PATH = ':clubId/activities/bookables/:bookableId/';
8
- const CLUB_BOOKABLE_GROUPS_PATH = ':clubId/activities/bookables/groups/';
9
- const CLUB_BOOKABLE_GROUP_PATH = ':clubId/activities/bookables/groups/:groupId/';
10
- const CLUB_BOOKABLE_TAGS_PATH = ':clubId/activities/bookables/tags/';
11
- const CLUB_BOOKABLE_TAG_PATH = ':clubId/activities/bookables/tags/:tagId/';
12
- const CLUB_BOOKABLE_PARTS_PATH = ':clubId/activities/bookables/:bookableId/parts/';
13
- const TEAM_BOOKABLES_PATH = ':teamId/activities/bookables/';
14
- const TEAM_BOOKABLE_GROUPS_PATH = ':teamId/activities/bookables/groups/';
15
- const TEAM_BOOKABLE_TAGS_PATH = ':teamId/activities/bookables/tags/';
16
- const TEAM_BOOKABLE_PARTS_PATH = ':teamId/activities/bookables/:bookableId/parts/';
17
- const SECTION_BOOKABLES_PATH = ':sectionId/activities/bookables/';
18
- const SECTION_BOOKABLE_PATH = ':sectionId/activities/bookables/:bookableId/';
19
- const SECTION_BOOKABLE_GROUPS_PATH = ':sectionId/activities/bookables/groups/';
20
- const SECTION_BOOKABLE_GROUP_PATH = ':sectionId/activities/bookables/groups/:groupId/';
21
- const SECTION_BOOKABLE_TAGS_PATH = ':sectionId/activities/bookables/tags/';
22
- const SECTION_BOOKABLE_TAG_PATH = ':sectionId/activities/bookables/tags/:tagId/';
23
- const SECTION_BOOKABLE_PARTS_PATH = ':sectionId/activities/bookables/:bookableId/parts/';
24
- export class BookableService {
25
- constructor(apiService) {
26
- this.apiService = apiService;
27
- }
28
- // region Bookable Items
29
- getBookableItems(role, clubOrSectionOrTeamId) {
30
- if (role == Role.ClubAdmin) {
31
- return this.getClubBookableItems(clubOrSectionOrTeamId);
32
- }
33
- else if (role == Role.SectionAdmin) {
34
- return this.getSectionBookableItems(clubOrSectionOrTeamId);
35
- }
36
- return this.getTeamBookableItems(clubOrSectionOrTeamId);
37
- }
38
- getTeamBookableItems(teamId) {
39
- return this.apiService
40
- .getCollection(bookableItemFactory, Role.TeamAdmin, TEAM_BOOKABLES_PATH, { teamId }, { params: { limit: 'null' } });
41
- }
42
- getClubBookableItems(clubId) {
43
- return this.apiService
44
- .getCollection(bookableItemFactory, Role.ClubAdmin, CLUB_BOOKABLES_PATH, { clubId }, { params: { limit: 'null' } });
45
- }
46
- getSectionBookableItems(sectionId) {
47
- return this.apiService
48
- .getCollection(bookableItemFactory, Role.SectionAdmin, SECTION_BOOKABLES_PATH, { sectionId }, { params: { limit: 'null' } });
49
- }
50
- updateBookableItem(role, clubOrSectionOrTeamId, bookableItem) {
51
- if (role === Role.ClubAdmin) {
52
- return this.updateClubBookableItem(clubOrSectionOrTeamId, bookableItem);
53
- }
54
- return this.updateSectionBookableItem(clubOrSectionOrTeamId, bookableItem);
55
- }
56
- updateClubBookableItem(clubId, bookableItem) {
57
- return this.apiService
58
- .updateResource(bookableItemFactory, Role.ClubAdmin, CLUB_BOOKABLE_PATH, {
59
- clubId,
60
- bookableId: bookableItem.id
61
- }, bookableItem);
62
- }
63
- updateSectionBookableItem(sectionId, bookableItem) {
64
- return this.apiService
65
- .updateResource(bookableItemFactory, Role.SectionAdmin, SECTION_BOOKABLE_PATH, {
66
- sectionId,
67
- bookableId: bookableItem.id
68
- }, bookableItem);
69
- }
70
- createBookableItem(role, clubOrSectionOrTeamId, bookableItem) {
71
- if (role === Role.ClubAdmin) {
72
- return this.createClubBookableItem(clubOrSectionOrTeamId, bookableItem);
73
- }
74
- return this.createSectionBookableItem(clubOrSectionOrTeamId, bookableItem);
75
- }
76
- createClubBookableItem(clubId, bookableItem) {
77
- delete bookableItem.id;
78
- return this.apiService
79
- .postResource(bookableItemFactory, Role.ClubAdmin, CLUB_BOOKABLES_PATH, {
80
- clubId,
81
- }, bookableItem);
82
- }
83
- createSectionBookableItem(sectionId, bookableItem) {
84
- delete bookableItem.id;
85
- return this.apiService
86
- .postResource(bookableItemFactory, Role.SectionAdmin, SECTION_BOOKABLES_PATH, {
87
- sectionId,
88
- }, bookableItem);
89
- }
90
- // endregion
91
- // region Bookable Groups
92
- getBookableGroups(role, clubOrSectionOrTeamId) {
93
- if (role == Role.ClubAdmin) {
94
- return this.getClubBookableGroups(clubOrSectionOrTeamId);
95
- }
96
- else if (role == Role.SectionAdmin) {
97
- return this.getSectionBookableGroups(clubOrSectionOrTeamId);
98
- }
99
- return this.getTeamBookableGroups(clubOrSectionOrTeamId);
100
- }
101
- getClubBookableGroups(clubId) {
102
- return this.apiService
103
- .getCollection(bookableGroupFactory, Role.ClubAdmin, CLUB_BOOKABLE_GROUPS_PATH, { clubId }, { params: { limit: 'null' } });
104
- }
105
- getSectionBookableGroups(sectionId) {
106
- return this.apiService
107
- .getCollection(bookableGroupFactory, Role.SectionAdmin, SECTION_BOOKABLE_GROUPS_PATH, { sectionId }, { params: { limit: 'null' } });
108
- }
109
- getTeamBookableGroups(teamId) {
110
- return this.apiService
111
- .getCollection(bookableGroupFactory, Role.TeamAdmin, TEAM_BOOKABLE_GROUPS_PATH, { teamId }, { params: { limit: 'null' } });
112
- }
113
- updateBookableGroup(role, clubOrSectionOrTeamId, bookableGroup) {
114
- if (role === Role.ClubAdmin) {
115
- return this.updateClubBookableGroup(clubOrSectionOrTeamId, bookableGroup);
116
- }
117
- return this.updateSectionBookableGroup(clubOrSectionOrTeamId, bookableGroup);
118
- }
119
- updateClubBookableGroup(clubId, bookableGroup) {
120
- return this.apiService
121
- .updateResource(bookableGroupFactory, Role.ClubAdmin, CLUB_BOOKABLE_GROUP_PATH, {
122
- clubId,
123
- groupId: bookableGroup.id
124
- }, bookableGroup);
125
- }
126
- updateSectionBookableGroup(sectionId, bookableGroup) {
127
- return this.apiService
128
- .updateResource(bookableGroupFactory, Role.SectionAdmin, SECTION_BOOKABLE_GROUP_PATH, {
129
- sectionId,
130
- groupId: bookableGroup.id
131
- }, bookableGroup);
132
- }
133
- createBookableGroup(role, clubOrSectionOrTeamId, bookableGroup) {
134
- if (role === Role.ClubAdmin) {
135
- return this.createClubBookableGroup(clubOrSectionOrTeamId, bookableGroup);
136
- }
137
- return this.createSectionBookableGroup(clubOrSectionOrTeamId, bookableGroup);
138
- }
139
- createClubBookableGroup(clubId, bookableGroup) {
140
- delete bookableGroup.id;
141
- return this.apiService
142
- .postResource(bookableGroupFactory, Role.ClubAdmin, CLUB_BOOKABLE_GROUPS_PATH, {
143
- clubId,
144
- }, bookableGroup);
145
- }
146
- createSectionBookableGroup(sectionId, bookableGroup) {
147
- delete bookableGroup.id;
148
- return this.apiService
149
- .postResource(bookableGroupFactory, Role.SectionAdmin, SECTION_BOOKABLE_GROUPS_PATH, {
150
- sectionId,
151
- }, bookableGroup);
152
- }
153
- // endregion
154
- // region Bookable Tags
155
- getBookableTags(role, clubOrSectionOrTeamId) {
156
- if (role == Role.ClubAdmin) {
157
- return this.getClubBookableTags(clubOrSectionOrTeamId);
158
- }
159
- else if (role == Role.SectionAdmin) {
160
- return this.getSectionBookableTags(clubOrSectionOrTeamId);
161
- }
162
- return this.getTeamBookableTags(clubOrSectionOrTeamId);
163
- }
164
- getClubBookableTags(clubId) {
165
- return this.apiService
166
- .getCollection(bookableTagFactory, Role.ClubAdmin, CLUB_BOOKABLE_TAGS_PATH, { clubId }, { params: { limit: 'null' } });
167
- }
168
- getSectionBookableTags(sectionId) {
169
- return this.apiService
170
- .getCollection(bookableTagFactory, Role.SectionAdmin, SECTION_BOOKABLE_TAGS_PATH, { sectionId }, { params: { limit: 'null' } });
171
- }
172
- getTeamBookableTags(teamId) {
173
- return this.apiService
174
- .getCollection(bookableTagFactory, Role.TeamAdmin, TEAM_BOOKABLE_TAGS_PATH, { teamId }, { params: { limit: 'null' } });
175
- }
176
- createBookableTag(role, clubOrSectionOrTeamId, tag) {
177
- if (role == Role.ClubAdmin) {
178
- return this.createClubBookableTag(clubOrSectionOrTeamId, tag);
179
- }
180
- else if (role == Role.SectionAdmin) {
181
- return this.createSectionBookableTag(clubOrSectionOrTeamId, tag);
182
- }
183
- return this.createTeamBookableTag(clubOrSectionOrTeamId, tag);
184
- }
185
- createClubBookableTag(clubId, tag) {
186
- delete tag.id;
187
- return this.apiService
188
- .postResource(bookableTagFactory, Role.ClubAdmin, CLUB_BOOKABLE_TAGS_PATH, {
189
- clubId,
190
- }, tag);
191
- }
192
- createSectionBookableTag(sectionId, tag) {
193
- delete tag.id;
194
- return this.apiService
195
- .postResource(bookableTagFactory, Role.SectionAdmin, SECTION_BOOKABLE_TAGS_PATH, {
196
- sectionId,
197
- }, tag);
198
- }
199
- createTeamBookableTag(teamId, tag) {
200
- delete tag.id;
201
- return this.apiService
202
- .postResource(bookableTagFactory, Role.TeamAdmin, TEAM_BOOKABLE_TAGS_PATH, {
203
- teamId,
204
- }, tag);
205
- }
206
- updateBookableTag(role, clubOrSectionOrTeamId, tag) {
207
- if (role == Role.ClubAdmin) {
208
- return this.updateClubBookableTag(clubOrSectionOrTeamId, tag);
209
- }
210
- return this.updateSectionBookableTag(clubOrSectionOrTeamId, tag);
211
- }
212
- updateClubBookableTag(clubId, tag) {
213
- return this.apiService
214
- .updateResource(bookableTagFactory, Role.ClubAdmin, CLUB_BOOKABLE_TAG_PATH, {
215
- clubId,
216
- tagId: tag.id,
217
- }, tag);
218
- }
219
- updateSectionBookableTag(sectionId, tag) {
220
- return this.apiService
221
- .updateResource(bookableTagFactory, Role.SectionAdmin, SECTION_BOOKABLE_TAG_PATH, {
222
- sectionId,
223
- tagId: tag.id,
224
- }, tag);
225
- }
226
- deleteBookableTag(role, clubOrSectionOrTeamId, tag) {
227
- if (role == Role.ClubAdmin) {
228
- return this.deleteClubBookableTag(clubOrSectionOrTeamId, tag);
229
- }
230
- return this.deleteSectionBookableTag(clubOrSectionOrTeamId, tag);
231
- }
232
- deleteClubBookableTag(clubId, tag) {
233
- return this.apiService
234
- .deleteResource(Role.ClubAdmin, CLUB_BOOKABLE_TAG_PATH, {
235
- clubId,
236
- tagId: tag.id,
237
- });
238
- }
239
- deleteSectionBookableTag(sectionId, tag) {
240
- return this.apiService
241
- .deleteResource(Role.SectionAdmin, SECTION_BOOKABLE_TAG_PATH, {
242
- sectionId,
243
- tagId: tag.id,
244
- });
245
- }
246
- // endregion
247
- // region Bookable Parts
248
- getBookableParts(role, clubOrSectionOrTeamId, bookableId) {
249
- if (role == Role.ClubAdmin) {
250
- return this.getClubBookableParts(clubOrSectionOrTeamId, bookableId);
251
- }
252
- else if (role == Role.SectionAdmin) {
253
- return this.getSectionBookableParts(clubOrSectionOrTeamId, bookableId);
254
- }
255
- return this.getTeamBookableParts(clubOrSectionOrTeamId, bookableId);
256
- }
257
- getClubBookableParts(clubId, bookableId) {
258
- return this.apiService
259
- .getCollection(bookablePartFactory, Role.ClubAdmin, CLUB_BOOKABLE_PARTS_PATH, { clubId, bookableId }, { params: { limit: 'null' } });
260
- }
261
- getSectionBookableParts(sectionId, bookableId) {
262
- return this.apiService
263
- .getCollection(bookablePartFactory, Role.SectionAdmin, SECTION_BOOKABLE_PARTS_PATH, { sectionId, bookableId }, { params: { limit: 'null' } });
264
- }
265
- getTeamBookableParts(teamId, bookableId) {
266
- return this.apiService
267
- .getCollection(bookablePartFactory, Role.TeamAdmin, TEAM_BOOKABLE_PARTS_PATH, { teamId, bookableId }, { params: { limit: 'null' } });
268
- }
269
- }
270
- BookableService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: BookableService, deps: [{ token: i1.ApiService }], target: i0.ɵɵFactoryTarget.Injectable });
271
- BookableService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: BookableService, providedIn: 'root' });
272
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: BookableService, decorators: [{
273
- type: Injectable,
274
- args: [{
275
- providedIn: 'root'
276
- }]
277
- }], ctorParameters: function () { return [{ type: i1.ApiService }]; } });
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2FibGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc2VydmljZXMvYm9va2FibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBMkMsSUFBSSxHQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFFLE9BQU8sRUFBQyxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxrQkFBa0IsR0FBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRWhILE1BQU0sbUJBQW1CLEdBQUcsK0JBQStCLENBQUM7QUFDNUQsTUFBTSxrQkFBa0IsR0FBRywyQ0FBMkMsQ0FBQztBQUN2RSxNQUFNLHlCQUF5QixHQUFHLHNDQUFzQyxDQUFDO0FBQ3pFLE1BQU0sd0JBQXdCLEdBQUcsK0NBQStDLENBQUM7QUFDakYsTUFBTSx1QkFBdUIsR0FBRyxvQ0FBb0MsQ0FBQztBQUNyRSxNQUFNLHNCQUFzQixHQUFHLDJDQUEyQyxDQUFDO0FBQzNFLE1BQU0sd0JBQXdCLEdBQUcsaURBQWlELENBQUM7QUFFbkYsTUFBTSxtQkFBbUIsR0FBRywrQkFBK0IsQ0FBQztBQUM1RCxNQUFNLHlCQUF5QixHQUFHLHNDQUFzQyxDQUFDO0FBQ3pFLE1BQU0sdUJBQXVCLEdBQUcsb0NBQW9DLENBQUM7QUFDckUsTUFBTSx3QkFBd0IsR0FBRyxpREFBaUQsQ0FBQztBQUVuRixNQUFNLHNCQUFzQixHQUFHLGtDQUFrQyxDQUFDO0FBQ2xFLE1BQU0scUJBQXFCLEdBQUcsOENBQThDLENBQUM7QUFDN0UsTUFBTSw0QkFBNEIsR0FBRyx5Q0FBeUMsQ0FBQztBQUMvRSxNQUFNLDJCQUEyQixHQUFHLGtEQUFrRCxDQUFDO0FBQ3ZGLE1BQU0sMEJBQTBCLEdBQUcsdUNBQXVDLENBQUM7QUFDM0UsTUFB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QVMsRUFBRSxVQUFVLEVBQUMsRUFDdkIsRUFBQyxNQUFNLEVBQUUsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLEVBQUMsQ0FDMUIsQ0FBQztJQUNOLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFjLEVBQUUsVUFBa0I7UUFDckQsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixhQUFhLENBQ1osbUJBQW1CLEVBQ25CLElBQUksQ0FBQyxTQUFTLEVBQ2Qsd0JBQXdCLEVBQ3hCLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxFQUNwQixFQUFDLE1BQU0sRUFBRSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUMsRUFBQyxDQUMxQixDQUFDO0lBQ04sQ0FBQzs7NkdBemJVLGVBQWU7aUhBQWYsZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBcGlTZXJ2aWNlfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7Qm9va2FibGVHcm91cCwgQm9va2FibGVJdGVtLCBCb29rYWJsZVRhZywgUm9sZSx9IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQge2Jvb2thYmxlR3JvdXBGYWN0b3J5LCBib29rYWJsZUl0ZW1GYWN0b3J5LCBib29rYWJsZVBhcnRGYWN0b3J5LCBib29rYWJsZVRhZ0ZhY3RvcnksfSBmcm9tICcuL2ZhY3Rvcmllcyc7XG5cbmNvbnN0IENMVUJfQk9PS0FCTEVTX1BBVEggPSAnOmNsdWJJZC9hY3Rpdml0aWVzL2Jvb2thYmxlcy8nO1xuY29uc3QgQ0xVQl9CT09LQUJMRV9QQVRIID0gJzpjbHViSWQvYWN0aXZpdGllcy9ib29rYWJsZXMvOmJvb2thYmxlSWQvJztcbmNvbnN0IENMVUJfQk9PS0FCTEVfR1JPVVBTX1BBVEggPSAnOmNsdWJJZC9hY3Rpdml0aWVzL2Jvb2thYmxlcy9ncm91cHMvJztcbmNvbnN0IENMVUJfQk9PS0FCTEVfR1JPVVBfUEFUSCA9ICc6Y2x1YklkL2FjdGl2aXRpZXMvYm9va2FibGVzL2dyb3Vwcy86Z3JvdXBJZC8nO1xuY29uc3QgQ0xVQl9CT09LQUJMRV9UQUdTX1BBVEggPSAnOmNsdWJJZC9hY3Rpdml0aWVzL2Jvb2thYmxlcy90YWdzLyc7XG5jb25zdCBDTFVCX0JPT0tBQkxFX1RBR19QQVRIID0gJzpjbHViSWQvYWN0aXZpdGllcy9ib29rYWJsZXMvdGFncy86dGFnSWQvJztcbmNvbnN0IENMVUJfQk9PS0FCTEVfUEFSVFNfUEFUSCA9ICc6Y2x1YklkL2FjdGl2aXRpZXMvYm9va2FibGVzLzpib29rYWJsZUlkL3BhcnRzLyc7XG5cbmNvbnN0IFRFQU1fQk9PS0FCTEVTX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzL2Jvb2thYmxlcy8nO1xuY29uc3QgVEVBTV9CT09LQUJMRV9HUk9VUFNfUEFUSCA9ICc6dGVhbUlkL2FjdGl2aXRpZXMvYm9va2FibGVzL2dyb3Vwcy8nO1xuY29uc3QgVEVBTV9CT09LQUJMRV9UQUdTX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzL2Jvb2thYmxlcy90YWdzLyc7XG5jb25zdCBURUFNX0JPT0tBQkxFX1BBUlRTX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzL2Jvb2thYmxlcy86Ym9va2FibGVJZC9wYXJ0cy8nO1xuXG5jb25zdCBTRUNUSU9OX0JPT0tBQkxFU19QQVRIID0gJzpzZWN0aW9uSWQvYWN0aXZpdGllcy9ib29rYWJsZXMvJztcbmNvbnN0IFNFQ1RJT05fQk9PS0FCTEVfUEFUSCA9ICc6c2VjdGlvbklkL2FjdGl2aXRpZXMvYm9va2FibGVzLzpib29rYWJsZUlkLyc7XG5jb25zdCBTRUNUSU9OX0JPT0tBQkxFX0dST1VQU19QQVRIID0gJzpzZWN0aW9uSWQvYWN0aXZpdGllcy9ib29rYWJsZXMvZ3JvdXBzLyc7XG5jb25zdCBTRUNUSU9OX0JPT0tBQkxFX0dST1VQX1BBVEggPSAnOnNlY3Rpb25JZC9hY3Rpdml0aWVzL2Jvb2thYmxlcy9ncm91cHMvOmdyb3VwSWQvJztcbmNvbnN0IFNFQ1RJT05fQk9PS0FCTEVfVEFHU19QQVRIID0gJzpzZWN0aW9uSWQvYWN0aXZpdGllcy9ib29rYWJsZXMvdGFncy8nO1xuY29uc3QgU0VDVElPTl9CT09LQUJMRV9UQUdfUEFUSCA9ICc6c2VjdGlvbklkL2FjdGl2aXRpZXMvYm9va2FibGVzL3RhZ3MvOnRhZ0lkLyc7XG5jb25zdCBTRUNUSU9OX0JPT0tBQkxFX1BBUlRTX1BBVEggPSAnOnNlY3Rpb25JZC9hY3Rpdml0aWVzL2Jvb2thYmxlcy86Ym9va2FibGVJZC9wYXJ0cy8nO1xuXG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJvb2thYmxlU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpU2VydmljZTogQXBpU2VydmljZSkge1xuICB9XG5cbiAgLy8gcmVnaW9uIEJvb2thYmxlIEl0ZW1zXG5cbiAgZ2V0Qm9va2FibGVJdGVtcyhyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZykge1xuICAgIGlmIChyb2xlID09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDbHViQm9va2FibGVJdGVtcyhjbHViT3JTZWN0aW9uT3JUZWFtSWQpO1xuICAgIH0gZWxzZSBpZiAocm9sZSA9PSBSb2xlLlNlY3Rpb25BZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VjdGlvbkJvb2thYmxlSXRlbXMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGVhbUJvb2thYmxlSXRlbXMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKVxuICB9XG5cbiAgZ2V0VGVhbUJvb2thYmxlSXRlbXModGVhbUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYm9va2FibGVJdGVtRmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQk9PS0FCTEVTX1BBVEgsXG4gICAgICAgIHt0ZWFtSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApO1xuICB9XG5cbiAgZ2V0Q2x1YkJvb2thYmxlSXRlbXMoY2x1YklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYm9va2FibGVJdGVtRmFjdG9yeSxcbiAgICAgICAgUm9sZS5DbHViQWRtaW4sXG4gICAgICAgIENMVUJfQk9PS0FCTEVTX1BBVEgsXG4gICAgICAgIHtjbHViSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApO1xuICB9XG5cbiAgZ2V0U2VjdGlvbkJvb2thYmxlSXRlbXMoc2VjdGlvbklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYm9va2FibGVJdGVtRmFjdG9yeSxcbiAgICAgICAgUm9sZS5TZWN0aW9uQWRtaW4sXG4gICAgICAgIFNFQ1RJT05fQk9PS0FCTEVTX1BBVEgsXG4gICAgICAgIHtzZWN0aW9uSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApO1xuICB9XG5cbiAgdXBkYXRlQm9va2FibGVJdGVtKHJvbGU6IFJvbGUsIGNsdWJPclNlY3Rpb25PclRlYW1JZDogc3RyaW5nLCBib29rYWJsZUl0ZW06IEJvb2thYmxlSXRlbSkge1xuICAgIGlmIChyb2xlID09PSBSb2xlLkNsdWJBZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlQ2x1YkJvb2thYmxlSXRlbShjbHViT3JTZWN0aW9uT3JUZWFtSWQsIGJvb2thYmxlSXRlbSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVwZGF0ZVNlY3Rpb25Cb29rYWJsZUl0ZW0oY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCBib29rYWJsZUl0ZW0pO1xuICB9XG5cbiAgdXBkYXRlQ2x1YkJvb2thYmxlSXRlbShjbHViSWQ6IHN0cmluZywgYm9va2FibGVJdGVtOiBCb29rYWJsZUl0ZW0pIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAudXBkYXRlUmVzb3VyY2UoXG4gICAgICAgIGJvb2thYmxlSXRlbUZhY3RvcnksXG4gICAgICAgIFJvbGUuQ2x1YkFkbWluLFxuICAgICAgICBDTFVCX0JPT0tBQkxFX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBjbHViSWQsXG4gICAgICAgICAgYm9va2FibGVJZDogYm9va2FibGVJdGVtLmlkXG4gICAgICAgIH0sXG4gICAgICAgIGJvb2thYmxlSXRlbVxuICAgICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVNlY3Rpb25Cb29rYWJsZUl0ZW0oc2VjdGlvbklkOiBzdHJpbmcsIGJvb2thYmxlSXRlbTogQm9va2FibGVJdGVtKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnVwZGF0ZVJlc291cmNlKFxuICAgICAgICBib29rYWJsZUl0ZW1GYWN0b3J5LFxuICAgICAgICBSb2xlLlNlY3Rpb25BZG1pbixcbiAgICAgICAgU0VDVElPTl9CT09LQUJMRV9QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgc2VjdGlvbklkLFxuICAgICAgICAgIGJvb2thYmxlSWQ6IGJvb2thYmxlSXRlbS5pZFxuICAgICAgICB9LFxuICAgICAgICBib29rYWJsZUl0ZW1cbiAgICAgICk7XG4gIH1cblxuICBjcmVhdGVCb29rYWJsZUl0ZW0ocm9sZTogUm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkOiBzdHJpbmcsIGJvb2thYmxlSXRlbTogUGFydGlhbDxCb29rYWJsZUl0ZW0+KSB7XG4gICAgaWYgKHJvbGUgPT09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVDbHViQm9va2FibGVJdGVtKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgYm9va2FibGVJdGVtKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlU2VjdGlvbkJvb2thYmxlSXRlbShjbHViT3JTZWN0aW9uT3JUZWFtSWQsIGJvb2thYmxlSXRlbSk7XG4gIH1cblxuICBjcmVhdGVDbHViQm9va2FibGVJdGVtKGNsdWJJZDogc3RyaW5nLCBib29rYWJsZUl0ZW06IFBhcnRpYWw8Qm9va2FibGVJdGVtPikge1xuICAgIGRlbGV0ZSBib29rYWJsZUl0ZW0uaWQ7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnBvc3RSZXNvdXJjZShcbiAgICAgICAgYm9va2FibGVJdGVtRmFjdG9yeSxcbiAgICAgICAgUm9sZS5DbHViQWRtaW4sXG4gICAgICAgIENMVUJfQk9PS0FCTEVTX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBjbHViSWQsXG4gICAgICAgIH0sXG4gICAgICAgIGJvb2thYmxlSXRlbSxcbiAgICAgICk7XG4gIH1cblxuICBjcmVhdGVTZWN0aW9uQm9va2FibGVJdGVtKHNlY3Rpb25JZDogc3RyaW5nLCBib29rYWJsZUl0ZW06IFBhcnRpYWw8Qm9va2FibGVJdGVtPikge1xuICAgIGRlbGV0ZSBib29rYWJsZUl0ZW0uaWQ7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnBvc3RSZXNvdXJjZShcbiAgICAgICAgYm9va2FibGVJdGVtRmFjdG9yeSxcbiAgICAgICAgUm9sZS5TZWN0aW9uQWRtaW4sXG4gICAgICAgIFNFQ1RJT05fQk9PS0FCTEVTX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBzZWN0aW9uSWQsXG4gICAgICAgIH0sXG4gICAgICAgIGJvb2thYmxlSXRlbVxuICAgICAgKTtcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBCb29rYWJsZSBHcm91cHNcblxuICBnZXRCb29rYWJsZUdyb3Vwcyhyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZykge1xuICAgIGlmIChyb2xlID09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDbHViQm9va2FibGVHcm91cHMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKTtcbiAgICB9IGVsc2UgaWYgKHJvbGUgPT0gUm9sZS5TZWN0aW9uQWRtaW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFNlY3Rpb25Cb29rYWJsZUdyb3VwcyhjbHViT3JTZWN0aW9uT3JUZWFtSWQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRUZWFtQm9va2FibGVHcm91cHMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKTtcbiAgfVxuXG4gIGdldENsdWJCb29rYWJsZUdyb3VwcyhjbHViSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBib29rYWJsZUdyb3VwRmFjdG9yeSxcbiAgICAgICAgUm9sZS5DbHViQWRtaW4sXG4gICAgICAgIENMVUJfQk9PS0FCTEVfR1JPVVBTX1BBVEgsXG4gICAgICAgIHtjbHViSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApO1xuICB9XG5cbiAgZ2V0U2VjdGlvbkJvb2thYmxlR3JvdXBzKHNlY3Rpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGJvb2thYmxlR3JvdXBGYWN0b3J5LFxuICAgICAgICBSb2xlLlNlY3Rpb25BZG1pbixcbiAgICAgICAgU0VDVElPTl9CT09LQUJMRV9HUk9VUFNfUEFUSCxcbiAgICAgICAge3NlY3Rpb25JZH0sXG4gICAgICAgIHtwYXJhbXM6IHtsaW1pdDogJ251bGwnfX1cbiAgICAgICk7XG4gIH1cblxuICBnZXRUZWFtQm9va2FibGVHcm91cHModGVhbUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYm9va2FibGVHcm91cEZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0JPT0tBQkxFX0dST1VQU19QQVRILFxuICAgICAgICB7dGVhbUlkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKTtcbiAgfVxuXG4gIHVwZGF0ZUJvb2thYmxlR3JvdXAocm9sZTogUm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkOiBzdHJpbmcsIGJvb2thYmxlR3JvdXA6IEJvb2thYmxlR3JvdXApIHtcbiAgICBpZiAocm9sZSA9PT0gUm9sZS5DbHViQWRtaW4pIHtcbiAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUNsdWJCb29rYWJsZUdyb3VwKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgYm9va2FibGVHcm91cCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVwZGF0ZVNlY3Rpb25Cb29rYWJsZUdyb3VwKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgYm9va2FibGVHcm91cCk7XG4gIH1cblxuICB1cGRhdGVDbHViQm9va2FibGVHcm91cChjbHViSWQ6IHN0cmluZywgYm9va2FibGVHcm91cDogQm9va2FibGVHcm91cCkge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC51cGRhdGVSZXNvdXJjZShcbiAgICAgICAgYm9va2FibGVHcm91cEZhY3RvcnksXG4gICAgICAgIFJvbGUuQ2x1YkFkbWluLFxuICAgICAgICBDTFVCX0JPT0tBQkxFX0dST1VQX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBjbHViSWQsXG4gICAgICAgICAgZ3JvdXBJZDogYm9va2FibGVHcm91cC5pZFxuICAgICAgICB9LFxuICAgICAgICBib29rYWJsZUdyb3VwLFxuICAgICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVNlY3Rpb25Cb29rYWJsZUdyb3VwKHNlY3Rpb25JZDogc3RyaW5nLCBib29rYWJsZUdyb3VwOiBCb29rYWJsZUdyb3VwKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnVwZGF0ZVJlc291cmNlKFxuICAgICAgICBib29rYWJsZUdyb3VwRmFjdG9yeSxcbiAgICAgICAgUm9sZS5TZWN0aW9uQWRtaW4sXG4gICAgICAgIFNFQ1RJT05fQk9PS0FCTEVfR1JPVVBfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHNlY3Rpb25JZCxcbiAgICAgICAgICBncm91cElkOiBib29rYWJsZUdyb3VwLmlkXG4gICAgICAgIH0sXG4gICAgICAgIGJvb2thYmxlR3JvdXBcbiAgICAgICk7XG4gIH1cblxuICBjcmVhdGVCb29rYWJsZUdyb3VwKHJvbGU6IFJvbGUsIGNsdWJPclNlY3Rpb25PclRlYW1JZDogc3RyaW5nLCBib29rYWJsZUdyb3VwOiBQYXJ0aWFsPEJvb2thYmxlR3JvdXA+KSB7XG4gICAgaWYgKHJvbGUgPT09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVDbHViQm9va2FibGVHcm91cChjbHViT3JTZWN0aW9uT3JUZWFtSWQsIGJvb2thYmxlR3JvdXApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVTZWN0aW9uQm9va2FibGVHcm91cChjbHViT3JTZWN0aW9uT3JUZWFtSWQsIGJvb2thYmxlR3JvdXApO1xuICB9XG5cbiAgY3JlYXRlQ2x1YkJvb2thYmxlR3JvdXAoY2x1YklkOiBzdHJpbmcsIGJvb2thYmxlR3JvdXA6IFBhcnRpYWw8Qm9va2FibGVHcm91cD4pIHtcbiAgICBkZWxldGUgYm9va2FibGVHcm91cC5pZDtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFJlc291cmNlKFxuICAgICAgICBib29rYWJsZUdyb3VwRmFjdG9yeSxcbiAgICAgICAgUm9sZS5DbHViQWRtaW4sXG4gICAgICAgIENMVUJfQk9PS0FCTEVfR1JPVVBTX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBjbHViSWQsXG4gICAgICAgIH0sXG4gICAgICAgIGJvb2thYmxlR3JvdXAsXG4gICAgICApO1xuICB9XG5cbiAgY3JlYXRlU2VjdGlvbkJvb2thYmxlR3JvdXAoc2VjdGlvbklkOiBzdHJpbmcsIGJvb2thYmxlR3JvdXA6IFBhcnRpYWw8Qm9va2FibGVHcm91cD4pIHtcbiAgICBkZWxldGUgYm9va2FibGVHcm91cC5pZDtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFJlc291cmNlKFxuICAgICAgICBib29rYWJsZUdyb3VwRmFjdG9yeSxcbiAgICAgICAgUm9sZS5TZWN0aW9uQWRtaW4sXG4gICAgICAgIFNFQ1RJT05fQk9PS0FCTEVfR1JPVVBTX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBzZWN0aW9uSWQsXG4gICAgICAgIH0sXG4gICAgICAgIGJvb2thYmxlR3JvdXBcbiAgICAgICk7XG4gIH1cblxuICAvLyBlbmRyZWdpb25cblxuICAvLyByZWdpb24gQm9va2FibGUgVGFnc1xuXG4gIGdldEJvb2thYmxlVGFncyhyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZykge1xuICAgIGlmIChyb2xlID09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDbHViQm9va2FibGVUYWdzKGNsdWJPclNlY3Rpb25PclRlYW1JZCk7XG4gICAgfSBlbHNlIGlmIChyb2xlID09IFJvbGUuU2VjdGlvbkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRTZWN0aW9uQm9va2FibGVUYWdzKGNsdWJPclNlY3Rpb25PclRlYW1JZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldFRlYW1Cb29rYWJsZVRhZ3MoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKTtcbiAgfVxuXG4gIGdldENsdWJCb29rYWJsZVRhZ3MoY2x1YklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYm9va2FibGVUYWdGYWN0b3J5LFxuICAgICAgICBSb2xlLkNsdWJBZG1pbixcbiAgICAgICAgQ0xVQl9CT09LQUJMRV9UQUdTX1BBVEgsXG4gICAgICAgIHtjbHViSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApO1xuICB9XG5cbiAgZ2V0U2VjdGlvbkJvb2thYmxlVGFncyhzZWN0aW9uSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBib29rYWJsZVRhZ0ZhY3RvcnksXG4gICAgICAgIFJvbGUuU2VjdGlvbkFkbWluLFxuICAgICAgICBTRUNUSU9OX0JPT0tBQkxFX1RBR1NfUEFUSCxcbiAgICAgICAge3NlY3Rpb25JZH0sXG4gICAgICAgIHtwYXJhbXM6IHtsaW1pdDogJ251bGwnfX1cbiAgICAgICk7XG4gIH1cblxuICBnZXRUZWFtQm9va2FibGVUYWdzKHRlYW1JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGJvb2thYmxlVGFnRmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQk9PS0FCTEVfVEFHU19QQVRILFxuICAgICAgICB7dGVhbUlkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKTtcbiAgfVxuXG4gIGNyZWF0ZUJvb2thYmxlVGFnKHJvbGU6IFJvbGUsIGNsdWJPclNlY3Rpb25PclRlYW1JZDogc3RyaW5nLCB0YWc6IFBhcnRpYWw8Qm9va2FibGVUYWc+KSB7XG4gICAgaWYgKHJvbGUgPT0gUm9sZS5DbHViQWRtaW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUNsdWJCb29rYWJsZVRhZyhjbHViT3JTZWN0aW9uT3JUZWFtSWQsIHRhZyk7XG4gICAgfSBlbHNlIGlmIChyb2xlID09IFJvbGUuU2VjdGlvbkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVTZWN0aW9uQm9va2FibGVUYWcoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCB0YWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVUZWFtQm9va2FibGVUYWcoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCB0YWcpO1xuICB9XG5cbiAgY3JlYXRlQ2x1YkJvb2thYmxlVGFnKGNsdWJJZDogc3RyaW5nLCB0YWc6IFBhcnRpYWw8Qm9va2FibGVUYWc+KSB7XG4gICAgZGVsZXRlIHRhZy5pZDtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFJlc291cmNlKFxuICAgICAgICBib29rYWJsZVRhZ0ZhY3RvcnksXG4gICAgICAgIFJvbGUuQ2x1YkFkbWluLFxuICAgICAgICBDTFVCX0JPT0tBQkxFX1RBR1NfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIGNsdWJJZCxcbiAgICAgICAgfSxcbiAgICAgICAgdGFnLFxuICAgICAgKVxuICB9XG5cbiAgY3JlYXRlU2VjdGlvbkJvb2thYmxlVGFnKHNlY3Rpb25JZDogc3RyaW5nLCB0YWc6IFBhcnRpYWw8Qm9va2FibGVUYWc+KSB7XG4gICAgZGVsZXRlIHRhZy5pZDtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFJlc291cmNlKFxuICAgICAgICBib29rYWJsZVRhZ0ZhY3RvcnksXG4gICAgICAgIFJvbGUuU2VjdGlvbkFkbWluLFxuICAgICAgICBTRUNUSU9OX0JPT0tBQkxFX1RBR1NfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHNlY3Rpb25JZCxcbiAgICAgICAgfSxcbiAgICAgICAgdGFnLFxuICAgICAgKVxuICB9XG5cbiAgY3JlYXRlVGVhbUJvb2thYmxlVGFnKHRlYW1JZDogc3RyaW5nLCB0YWc6IFBhcnRpYWw8Qm9va2FibGVUYWc+KSB7XG4gICAgZGVsZXRlIHRhZy5pZDtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFJlc291cmNlKFxuICAgICAgICBib29rYWJsZVRhZ0ZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0JPT0tBQkxFX1RBR1NfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgfSxcbiAgICAgICAgdGFnLFxuICAgICAgKVxuICB9XG5cbiAgdXBkYXRlQm9va2FibGVUYWcocm9sZTogUm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkOiBzdHJpbmcsIHRhZzogQm9va2FibGVUYWcpIHtcbiAgICBpZiAocm9sZSA9PSBSb2xlLkNsdWJBZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlQ2x1YkJvb2thYmxlVGFnKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgdGFnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudXBkYXRlU2VjdGlvbkJvb2thYmxlVGFnKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgdGFnKTtcbiAgfVxuXG4gIHVwZGF0ZUNsdWJCb29rYWJsZVRhZyhjbHViSWQ6IHN0cmluZywgdGFnOiBCb29rYWJsZVRhZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC51cGRhdGVSZXNvdXJjZShcbiAgICAgICAgYm9va2FibGVUYWdGYWN0b3J5LFxuICAgICAgICBSb2xlLkNsdWJBZG1pbixcbiAgICAgICAgQ0xVQl9CT09LQUJMRV9UQUdfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIGNsdWJJZCxcbiAgICAgICAgICB0YWdJZDogdGFnLmlkLFxuICAgICAgICB9LFxuICAgICAgICB0YWcsXG4gICAgICApXG4gIH1cblxuICB1cGRhdGVTZWN0aW9uQm9va2FibGVUYWcoc2VjdGlvbklkOiBzdHJpbmcsIHRhZzogQm9va2FibGVUYWcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAudXBkYXRlUmVzb3VyY2UoXG4gICAgICAgIGJvb2thYmxlVGFnRmFjdG9yeSxcbiAgICAgICAgUm9sZS5TZWN0aW9uQWRtaW4sXG4gICAgICAgIFNFQ1RJT05fQk9PS0FCTEVfVEFHX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBzZWN0aW9uSWQsXG4gICAgICAgICAgdGFnSWQ6IHRhZy5pZCxcbiAgICAgICAgfSxcbiAgICAgICAgdGFnLFxuICAgICAgKVxuICB9XG5cbiAgZGVsZXRlQm9va2FibGVUYWcocm9sZTogUm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkOiBzdHJpbmcsIHRhZzogQm9va2FibGVUYWcpIHtcbiAgICBpZiAocm9sZSA9PSBSb2xlLkNsdWJBZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuZGVsZXRlQ2x1YkJvb2thYmxlVGFnKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgdGFnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGVsZXRlU2VjdGlvbkJvb2thYmxlVGFnKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgdGFnKTtcbiAgfVxuXG4gIGRlbGV0ZUNsdWJCb29rYWJsZVRhZyhjbHViSWQ6IHN0cmluZywgdGFnOiBCb29rYWJsZVRhZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5kZWxldGVSZXNvdXJjZShcbiAgICAgICAgUm9sZS5DbHViQWRtaW4sXG4gICAgICAgIENMVUJfQk9PS0FCTEVfVEFHX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBjbHViSWQsXG4gICAgICAgICAgdGFnSWQ6IHRhZy5pZCxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgfVxuXG4gIGRlbGV0ZVNlY3Rpb25Cb29rYWJsZVRhZyhzZWN0aW9uSWQ6IHN0cmluZywgdGFnOiBCb29rYWJsZVRhZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5kZWxldGVSZXNvdXJjZShcbiAgICAgICAgUm9sZS5TZWN0aW9uQWRtaW4sXG4gICAgICAgIFNFQ1RJT05fQk9PS0FCTEVfVEFHX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBzZWN0aW9uSWQsXG4gICAgICAgICAgdGFnSWQ6IHRhZy5pZCxcbiAgICAgICAgfSxcbiAgICAgIClcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxuXG4gIC8vIHJlZ2lvbiBCb29rYWJsZSBQYXJ0c1xuXG4gIGdldEJvb2thYmxlUGFydHMocm9sZTogUm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkOiBzdHJpbmcsIGJvb2thYmxlSWQ6IHN0cmluZykge1xuICAgIGlmIChyb2xlID09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDbHViQm9va2FibGVQYXJ0cyhjbHViT3JTZWN0aW9uT3JUZWFtSWQsIGJvb2thYmxlSWQpO1xuICAgIH0gZWxzZSBpZiAocm9sZSA9PSBSb2xlLlNlY3Rpb25BZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VjdGlvbkJvb2thYmxlUGFydHMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCBib29rYWJsZUlkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGVhbUJvb2thYmxlUGFydHMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCBib29rYWJsZUlkKTtcbiAgfVxuXG4gIGdldENsdWJCb29rYWJsZVBhcnRzKGNsdWJJZDogc3RyaW5nLCBib29rYWJsZUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYm9va2FibGVQYXJ0RmFjdG9yeSxcbiAgICAgICAgUm9sZS5DbHViQWRtaW4sXG4gICAgICAgIENMVUJfQk9PS0FCTEVfUEFSVFNfUEFUSCxcbiAgICAgICAge2NsdWJJZCwgYm9va2FibGVJZH0sXG4gICAgICAgIHtwYXJhbXM6IHtsaW1pdDogJ251bGwnfX1cbiAgICAgICk7XG4gIH1cblxuICBnZXRTZWN0aW9uQm9va2FibGVQYXJ0cyhzZWN0aW9uSWQ6IHN0cmluZywgYm9va2FibGVJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGJvb2thYmxlUGFydEZhY3RvcnksXG4gICAgICAgIFJvbGUuU2VjdGlvbkFkbWluLFxuICAgICAgICBTRUNUSU9OX0JPT0tBQkxFX1BBUlRTX1BBVEgsXG4gICAgICAgIHtzZWN0aW9uSWQsIGJvb2thYmxlSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApO1xuICB9XG5cbiAgZ2V0VGVhbUJvb2thYmxlUGFydHModGVhbUlkOiBzdHJpbmcsIGJvb2thYmxlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBib29rYWJsZVBhcnRGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9CT09LQUJMRV9QQVJUU19QQVRILFxuICAgICAgICB7dGVhbUlkLCBib29rYWJsZUlkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKTtcbiAgfVxuXG4gIC8vIGVuZHJlZ2lvblxufVxuIl19