@mtgame/core 0.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 (293) hide show
  1. package/README.md +24 -0
  2. package/api/basketball-game-api.d.ts +17 -0
  3. package/api/league-api.d.ts +16 -0
  4. package/api/media-api.d.ts +24 -0
  5. package/api/notification-api.d.ts +4 -0
  6. package/api/notification-base-api.d.ts +22 -0
  7. package/api/org-notification-api.d.ts +4 -0
  8. package/api/paginated-response.interface.d.ts +4 -0
  9. package/api/public-api.d.ts +12 -0
  10. package/api/reference-api.d.ts +11 -0
  11. package/api/tournament-api.d.ts +64 -0
  12. package/api/tournament-join-api.d.ts +14 -0
  13. package/api/tournament-stage-api.d.ts +15 -0
  14. package/api/volleyball-game-api.d.ts +17 -0
  15. package/bundles/mtgame-core.umd.js +4785 -0
  16. package/bundles/mtgame-core.umd.js.map +1 -0
  17. package/bundles/mtgame-core.umd.min.js +16 -0
  18. package/bundles/mtgame-core.umd.min.js.map +1 -0
  19. package/esm2015/api/basketball-game-api.js +54 -0
  20. package/esm2015/api/league-api.js +60 -0
  21. package/esm2015/api/media-api.js +110 -0
  22. package/esm2015/api/notification-api.js +18 -0
  23. package/esm2015/api/notification-base-api.js +83 -0
  24. package/esm2015/api/org-notification-api.js +18 -0
  25. package/esm2015/api/paginated-response.interface.js +1 -0
  26. package/esm2015/api/public-api.js +12 -0
  27. package/esm2015/api/reference-api.js +40 -0
  28. package/esm2015/api/tournament-api.js +187 -0
  29. package/esm2015/api/tournament-join-api.js +51 -0
  30. package/esm2015/api/tournament-stage-api.js +56 -0
  31. package/esm2015/api/volleyball-game-api.js +54 -0
  32. package/esm2015/http-cookie.interceptor.js +34 -0
  33. package/esm2015/localization/basketball-game-log-types.js +26 -0
  34. package/esm2015/localization/overtime-types.js +7 -0
  35. package/esm2015/localization/public-api.js +7 -0
  36. package/esm2015/localization/team-event-type.js +6 -0
  37. package/esm2015/localization/team-user-role.js +7 -0
  38. package/esm2015/localization/user-profile.js +46 -0
  39. package/esm2015/localization/volleyball-game-log-types.js +25 -0
  40. package/esm2015/models/basketball-game-config.js +42 -0
  41. package/esm2015/models/basketball-game-log.js +109 -0
  42. package/esm2015/models/basketball-game-statistic.js +50 -0
  43. package/esm2015/models/basketball-game-team-statistic.js +27 -0
  44. package/esm2015/models/basketball-profile.js +43 -0
  45. package/esm2015/models/basketball-statistic.js +69 -0
  46. package/esm2015/models/city.js +22 -0
  47. package/esm2015/models/file.js +38 -0
  48. package/esm2015/models/game-invite.js +37 -0
  49. package/esm2015/models/game-log-base.js +1 -0
  50. package/esm2015/models/game-statistic-base.js +1 -0
  51. package/esm2015/models/game-timeline-stages.js +49 -0
  52. package/esm2015/models/game-user.js +32 -0
  53. package/esm2015/models/game.js +108 -0
  54. package/esm2015/models/league-court.js +24 -0
  55. package/esm2015/models/league.js +52 -0
  56. package/esm2015/models/media-item.js +40 -0
  57. package/esm2015/models/notification-settings.js +35 -0
  58. package/esm2015/models/notification.js +134 -0
  59. package/esm2015/models/organization.js +27 -0
  60. package/esm2015/models/playoff.js +78 -0
  61. package/esm2015/models/poll.js +132 -0
  62. package/esm2015/models/public-api.js +50 -0
  63. package/esm2015/models/sport.js +47 -0
  64. package/esm2015/models/team-event-invite.js +32 -0
  65. package/esm2015/models/team-event-type.js +6 -0
  66. package/esm2015/models/team-event.js +45 -0
  67. package/esm2015/models/team-invite-external.js +25 -0
  68. package/esm2015/models/team-invite.js +41 -0
  69. package/esm2015/models/team-user.js +39 -0
  70. package/esm2015/models/team.js +56 -0
  71. package/esm2015/models/tournament-disqualification.js +29 -0
  72. package/esm2015/models/tournament-event.js +38 -0
  73. package/esm2015/models/tournament-group.js +23 -0
  74. package/esm2015/models/tournament-invite.js +39 -0
  75. package/esm2015/models/tournament-join-team.js +55 -0
  76. package/esm2015/models/tournament-news.js +33 -0
  77. package/esm2015/models/tournament-stage-team.js +45 -0
  78. package/esm2015/models/tournament-stage.js +35 -0
  79. package/esm2015/models/tournament-team-user-invite.js +29 -0
  80. package/esm2015/models/tournament-team-user.js +49 -0
  81. package/esm2015/models/tournament-team.js +54 -0
  82. package/esm2015/models/tournament.js +161 -0
  83. package/esm2015/models/user-profile.js +24 -0
  84. package/esm2015/models/user.js +74 -0
  85. package/esm2015/models/util.js +208 -0
  86. package/esm2015/models/volleyball-game-config.js +40 -0
  87. package/esm2015/models/volleyball-game-log.js +139 -0
  88. package/esm2015/models/volleyball-game-statistic.js +50 -0
  89. package/esm2015/models/volleyball-game-team-statistic.js +27 -0
  90. package/esm2015/models/volleyball-profile.js +43 -0
  91. package/esm2015/models/volleyball-statistic.js +66 -0
  92. package/esm2015/mtgame-core.js +5 -0
  93. package/esm2015/public-api.js +8 -0
  94. package/esm2015/services/base.service.js +18 -0
  95. package/esm2015/services/centrifugo.service.js +107 -0
  96. package/esm2015/services/config.service.js +40 -0
  97. package/esm2015/services/public-api.js +4 -0
  98. package/esm2015/storage/local-storage-engine.js +18 -0
  99. package/esm2015/storage/public-api.js +4 -0
  100. package/esm2015/storage/storage-engine.js +61 -0
  101. package/esm2015/storage/store.js +63 -0
  102. package/esm2015/utils/array.js +18 -0
  103. package/esm2015/utils/component-destroyed.js +21 -0
  104. package/esm2015/utils/cookie.js +9 -0
  105. package/esm2015/utils/data.js +75 -0
  106. package/esm2015/utils/device.js +14 -0
  107. package/esm2015/utils/enum.js +7 -0
  108. package/esm2015/utils/errors.js +10 -0
  109. package/esm2015/utils/favicon.js +25 -0
  110. package/esm2015/utils/form.js +22 -0
  111. package/esm2015/utils/public-api.js +11 -0
  112. package/esm2015/utils/validators.js +47 -0
  113. package/esm5/api/basketball-game-api.js +65 -0
  114. package/esm5/api/league-api.js +70 -0
  115. package/esm5/api/media-api.js +125 -0
  116. package/esm5/api/notification-api.js +21 -0
  117. package/esm5/api/notification-base-api.js +109 -0
  118. package/esm5/api/org-notification-api.js +21 -0
  119. package/esm5/api/paginated-response.interface.js +1 -0
  120. package/esm5/api/public-api.js +12 -0
  121. package/esm5/api/reference-api.js +45 -0
  122. package/esm5/api/tournament-api.js +245 -0
  123. package/esm5/api/tournament-join-api.js +59 -0
  124. package/esm5/api/tournament-stage-api.js +65 -0
  125. package/esm5/api/volleyball-game-api.js +65 -0
  126. package/esm5/http-cookie.interceptor.js +35 -0
  127. package/esm5/localization/basketball-game-log-types.js +27 -0
  128. package/esm5/localization/overtime-types.js +8 -0
  129. package/esm5/localization/public-api.js +7 -0
  130. package/esm5/localization/team-event-type.js +7 -0
  131. package/esm5/localization/team-user-role.js +8 -0
  132. package/esm5/localization/user-profile.js +47 -0
  133. package/esm5/localization/volleyball-game-log-types.js +26 -0
  134. package/esm5/models/basketball-game-config.js +47 -0
  135. package/esm5/models/basketball-game-log.js +117 -0
  136. package/esm5/models/basketball-game-statistic.js +63 -0
  137. package/esm5/models/basketball-game-team-statistic.js +32 -0
  138. package/esm5/models/basketball-profile.js +48 -0
  139. package/esm5/models/basketball-statistic.js +78 -0
  140. package/esm5/models/city.js +27 -0
  141. package/esm5/models/file.js +41 -0
  142. package/esm5/models/game-invite.js +42 -0
  143. package/esm5/models/game-log-base.js +1 -0
  144. package/esm5/models/game-statistic-base.js +1 -0
  145. package/esm5/models/game-timeline-stages.js +57 -0
  146. package/esm5/models/game-user.js +37 -0
  147. package/esm5/models/game.js +134 -0
  148. package/esm5/models/league-court.js +29 -0
  149. package/esm5/models/league.js +69 -0
  150. package/esm5/models/media-item.js +49 -0
  151. package/esm5/models/notification-settings.js +40 -0
  152. package/esm5/models/notification.js +143 -0
  153. package/esm5/models/organization.js +32 -0
  154. package/esm5/models/playoff.js +91 -0
  155. package/esm5/models/poll.js +154 -0
  156. package/esm5/models/public-api.js +50 -0
  157. package/esm5/models/sport.js +52 -0
  158. package/esm5/models/team-event-invite.js +35 -0
  159. package/esm5/models/team-event-type.js +6 -0
  160. package/esm5/models/team-event.js +58 -0
  161. package/esm5/models/team-invite-external.js +30 -0
  162. package/esm5/models/team-invite.js +46 -0
  163. package/esm5/models/team-user.js +44 -0
  164. package/esm5/models/team.js +61 -0
  165. package/esm5/models/tournament-disqualification.js +34 -0
  166. package/esm5/models/tournament-event.js +43 -0
  167. package/esm5/models/tournament-group.js +28 -0
  168. package/esm5/models/tournament-invite.js +48 -0
  169. package/esm5/models/tournament-join-team.js +73 -0
  170. package/esm5/models/tournament-news.js +38 -0
  171. package/esm5/models/tournament-stage-team.js +54 -0
  172. package/esm5/models/tournament-stage.js +40 -0
  173. package/esm5/models/tournament-team-user-invite.js +34 -0
  174. package/esm5/models/tournament-team-user.js +66 -0
  175. package/esm5/models/tournament-team.js +63 -0
  176. package/esm5/models/tournament.js +176 -0
  177. package/esm5/models/user-profile.js +27 -0
  178. package/esm5/models/user.js +95 -0
  179. package/esm5/models/util.js +275 -0
  180. package/esm5/models/volleyball-game-config.js +49 -0
  181. package/esm5/models/volleyball-game-log.js +142 -0
  182. package/esm5/models/volleyball-game-statistic.js +71 -0
  183. package/esm5/models/volleyball-game-team-statistic.js +32 -0
  184. package/esm5/models/volleyball-profile.js +48 -0
  185. package/esm5/models/volleyball-statistic.js +71 -0
  186. package/esm5/mtgame-core.js +5 -0
  187. package/esm5/public-api.js +8 -0
  188. package/esm5/services/base.service.js +19 -0
  189. package/esm5/services/centrifugo.service.js +111 -0
  190. package/esm5/services/config.service.js +52 -0
  191. package/esm5/services/public-api.js +4 -0
  192. package/esm5/storage/local-storage-engine.js +25 -0
  193. package/esm5/storage/public-api.js +4 -0
  194. package/esm5/storage/storage-engine.js +77 -0
  195. package/esm5/storage/store.js +77 -0
  196. package/esm5/utils/array.js +18 -0
  197. package/esm5/utils/component-destroyed.js +21 -0
  198. package/esm5/utils/cookie.js +9 -0
  199. package/esm5/utils/data.js +79 -0
  200. package/esm5/utils/device.js +14 -0
  201. package/esm5/utils/enum.js +7 -0
  202. package/esm5/utils/errors.js +12 -0
  203. package/esm5/utils/favicon.js +47 -0
  204. package/esm5/utils/form.js +22 -0
  205. package/esm5/utils/public-api.js +11 -0
  206. package/esm5/utils/validators.js +49 -0
  207. package/fesm2015/mtgame-core.js +3749 -0
  208. package/fesm2015/mtgame-core.js.map +1 -0
  209. package/fesm5/mtgame-core.js +4455 -0
  210. package/fesm5/mtgame-core.js.map +1 -0
  211. package/http-cookie.interceptor.d.ts +10 -0
  212. package/localization/basketball-game-log-types.d.ts +25 -0
  213. package/localization/overtime-types.d.ts +6 -0
  214. package/localization/public-api.d.ts +6 -0
  215. package/localization/team-event-type.d.ts +5 -0
  216. package/localization/team-user-role.d.ts +6 -0
  217. package/localization/user-profile.d.ts +45 -0
  218. package/localization/volleyball-game-log-types.d.ts +24 -0
  219. package/models/basketball-game-config.d.ts +22 -0
  220. package/models/basketball-game-log.d.ts +52 -0
  221. package/models/basketball-game-statistic.d.ts +29 -0
  222. package/models/basketball-game-team-statistic.d.ts +8 -0
  223. package/models/basketball-profile.d.ts +20 -0
  224. package/models/basketball-statistic.d.ts +44 -0
  225. package/models/city.d.ts +7 -0
  226. package/models/file.d.ts +14 -0
  227. package/models/game-invite.d.ts +16 -0
  228. package/models/game-log-base.d.ts +10 -0
  229. package/models/game-statistic-base.d.ts +3 -0
  230. package/models/game-timeline-stages.d.ts +18 -0
  231. package/models/game-user.d.ts +12 -0
  232. package/models/game.d.ts +56 -0
  233. package/models/league-court.d.ts +9 -0
  234. package/models/league.d.ts +25 -0
  235. package/models/media-item.d.ts +15 -0
  236. package/models/notification-settings.d.ts +15 -0
  237. package/models/notification.d.ts +98 -0
  238. package/models/organization.d.ts +9 -0
  239. package/models/playoff.d.ts +25 -0
  240. package/models/poll.d.ts +46 -0
  241. package/models/public-api.d.ts +50 -0
  242. package/models/sport.d.ts +19 -0
  243. package/models/team-event-invite.d.ts +12 -0
  244. package/models/team-event-type.d.ts +4 -0
  245. package/models/team-event.d.ts +17 -0
  246. package/models/team-invite-external.d.ts +10 -0
  247. package/models/team-invite.d.ts +20 -0
  248. package/models/team-user.d.ts +18 -0
  249. package/models/team.d.ts +21 -0
  250. package/models/tournament-disqualification.d.ts +10 -0
  251. package/models/tournament-event.d.ts +16 -0
  252. package/models/tournament-group.d.ts +10 -0
  253. package/models/tournament-invite.d.ts +17 -0
  254. package/models/tournament-join-team.d.ts +19 -0
  255. package/models/tournament-news.d.ts +13 -0
  256. package/models/tournament-stage-team.d.ts +21 -0
  257. package/models/tournament-stage.d.ts +15 -0
  258. package/models/tournament-team-user-invite.d.ts +11 -0
  259. package/models/tournament-team-user.d.ts +22 -0
  260. package/models/tournament-team.d.ts +28 -0
  261. package/models/tournament.d.ts +87 -0
  262. package/models/user-profile.d.ts +8 -0
  263. package/models/user.d.ts +33 -0
  264. package/models/util.d.ts +49 -0
  265. package/models/volleyball-game-config.d.ts +17 -0
  266. package/models/volleyball-game-log.d.ts +54 -0
  267. package/models/volleyball-game-statistic.d.ts +28 -0
  268. package/models/volleyball-game-team-statistic.d.ts +8 -0
  269. package/models/volleyball-profile.d.ts +20 -0
  270. package/models/volleyball-statistic.d.ts +43 -0
  271. package/mtgame-core.d.ts +4 -0
  272. package/mtgame-core.metadata.json +1 -0
  273. package/package.json +23 -0
  274. package/public-api.d.ts +7 -0
  275. package/services/base.service.d.ts +5 -0
  276. package/services/centrifugo.service.d.ts +20 -0
  277. package/services/config.service.d.ts +11 -0
  278. package/services/public-api.d.ts +3 -0
  279. package/storage/local-storage-engine.d.ts +6 -0
  280. package/storage/public-api.d.ts +3 -0
  281. package/storage/storage-engine.d.ts +24 -0
  282. package/storage/store.d.ts +21 -0
  283. package/utils/array.d.ts +2 -0
  284. package/utils/component-destroyed.d.ts +7 -0
  285. package/utils/cookie.d.ts +1 -0
  286. package/utils/data.d.ts +6 -0
  287. package/utils/device.d.ts +1 -0
  288. package/utils/enum.d.ts +1 -0
  289. package/utils/errors.d.ts +1 -0
  290. package/utils/favicon.d.ts +9 -0
  291. package/utils/form.d.ts +2 -0
  292. package/utils/public-api.d.ts +10 -0
  293. package/utils/validators.d.ts +25 -0
@@ -0,0 +1,7 @@
1
+ export function getEnumOptions(enumClass) {
2
+ return Object.keys(enumClass)
3
+ .map(v => enumClass[v])
4
+ .filter(v => isNaN(+v) === false)
5
+ .map(v => +v);
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbInV0aWxzL2VudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUFTO0lBQ3RDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDMUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQztTQUNoQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2V0RW51bU9wdGlvbnMoZW51bUNsYXNzKTogbnVtYmVyW10ge1xuICByZXR1cm4gT2JqZWN0LmtleXMoZW51bUNsYXNzKVxuICAgIC5tYXAodiA9PiBlbnVtQ2xhc3Nbdl0pXG4gICAgLmZpbHRlcih2ID0+IGlzTmFOKCt2KSA9PT0gZmFsc2UpXG4gICAgLm1hcCh2ID0+ICt2KTtcbn1cblxuIl19
@@ -0,0 +1,10 @@
1
+ import { captureException } from '@sentry/browser';
2
+ export function handleError(error, force = false, production = true) {
3
+ if (!(error && (error.status === 0 || error.status === 404)) || (force && error.status !== 0)) {
4
+ captureException(error);
5
+ }
6
+ if (!production) {
7
+ console.error(error);
8
+ }
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsidXRpbHMvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsVUFBVSxHQUFHLElBQUk7SUFDakUsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDN0YsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDekI7SUFFRCxJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUN0QjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjYXB0dXJlRXhjZXB0aW9uIH0gZnJvbSAnQHNlbnRyeS9icm93c2VyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZUVycm9yKGVycm9yLCBmb3JjZSA9IGZhbHNlLCBwcm9kdWN0aW9uID0gdHJ1ZSkge1xuICBpZiAoIShlcnJvciAmJiAoZXJyb3Iuc3RhdHVzID09PSAwIHx8IGVycm9yLnN0YXR1cyA9PT0gNDA0KSkgfHwgKGZvcmNlICYmIGVycm9yLnN0YXR1cyAhPT0gMCkpIHtcbiAgICBjYXB0dXJlRXhjZXB0aW9uKGVycm9yKTtcbiAgfVxuXG4gIGlmICghcHJvZHVjdGlvbikge1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ export function getIconsData(folder) {
2
+ return [
3
+ { rel: 'apple-touch-icon', sizes: '180x180', href: `/assets/favicon/${folder}apple-touch-icon.png` },
4
+ { rel: 'icon', type: 'image/png', sizes: '32x32', href: `/assets/favicon/${folder}favicon-32x32.png` },
5
+ { rel: 'icon', type: 'image/png', sizes: '16x16', href: `/assets/favicon/${folder}favicon-16x16.png` },
6
+ { rel: 'shortcut icon', href: `/assets/favicon/${folder}favicon.ico` },
7
+ { rel: 'manifest', href: `/assets/favicon/${folder}site.webmanifest` },
8
+ { rel: 'mask-icon', href: `/assets/favicon/${folder}safari-pinned-tab.svg`, color: '#ff0000' }
9
+ ];
10
+ }
11
+ export function changeFavicons(document, leagueAlias) {
12
+ let folder = '';
13
+ if (leagueAlias === 'ablmoscow') {
14
+ folder = 'abl/';
15
+ }
16
+ const data = getIconsData(folder);
17
+ for (const item of data) {
18
+ const link = document.createElement('link');
19
+ for (const key of Object.keys(item)) {
20
+ link.setAttribute(key, item[key]);
21
+ }
22
+ document.head.appendChild(link);
23
+ }
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmF2aWNvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbInV0aWxzL2Zhdmljb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFjO0lBQ3pDLE9BQU87UUFDTCxFQUFDLEdBQUcsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxtQkFBbUIsTUFBTSxzQkFBc0IsRUFBQztRQUNsRyxFQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxtQkFBbUIsTUFBTSxtQkFBbUIsRUFBQztRQUNwRyxFQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxtQkFBbUIsTUFBTSxtQkFBbUIsRUFBQztRQUNwRyxFQUFDLEdBQUcsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixNQUFNLGFBQWEsRUFBQztRQUNwRSxFQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixNQUFNLGtCQUFrQixFQUFDO1FBQ3BFLEVBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLE1BQU0sdUJBQXVCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQztLQUM3RixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsUUFBa0IsRUFBRSxXQUFtQjtJQUNwRSxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFDaEIsSUFBSSxXQUFXLEtBQUssV0FBVyxFQUFFO1FBQy9CLE1BQU0sR0FBRyxNQUFNLENBQUM7S0FDakI7SUFDRCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDbkM7UUFDRCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNqQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIExpbmtGYXZpY29uIHtcbiAgcmVsOiBzdHJpbmc7XG4gIHNpemVzPzogc3RyaW5nO1xuICBocmVmOiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SWNvbnNEYXRhKGZvbGRlcjogc3RyaW5nKTogTGlua0Zhdmljb25bXSB7XG4gIHJldHVybiBbXG4gICAge3JlbDogJ2FwcGxlLXRvdWNoLWljb24nLCBzaXplczogJzE4MHgxODAnLCBocmVmOiBgL2Fzc2V0cy9mYXZpY29uLyR7Zm9sZGVyfWFwcGxlLXRvdWNoLWljb24ucG5nYH0sXG4gICAge3JlbDogJ2ljb24nLCB0eXBlOiAnaW1hZ2UvcG5nJywgc2l6ZXM6ICczMngzMicsIGhyZWY6IGAvYXNzZXRzL2Zhdmljb24vJHtmb2xkZXJ9ZmF2aWNvbi0zMngzMi5wbmdgfSxcbiAgICB7cmVsOiAnaWNvbicsIHR5cGU6ICdpbWFnZS9wbmcnLCBzaXplczogJzE2eDE2JywgaHJlZjogYC9hc3NldHMvZmF2aWNvbi8ke2ZvbGRlcn1mYXZpY29uLTE2eDE2LnBuZ2B9LFxuICAgIHtyZWw6ICdzaG9ydGN1dCBpY29uJywgaHJlZjogYC9hc3NldHMvZmF2aWNvbi8ke2ZvbGRlcn1mYXZpY29uLmljb2B9LFxuICAgIHtyZWw6ICdtYW5pZmVzdCcsIGhyZWY6IGAvYXNzZXRzL2Zhdmljb24vJHtmb2xkZXJ9c2l0ZS53ZWJtYW5pZmVzdGB9LFxuICAgIHtyZWw6ICdtYXNrLWljb24nLCBocmVmOiBgL2Fzc2V0cy9mYXZpY29uLyR7Zm9sZGVyfXNhZmFyaS1waW5uZWQtdGFiLnN2Z2AsIGNvbG9yOiAnI2ZmMDAwMCd9XG4gIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGFuZ2VGYXZpY29ucyhkb2N1bWVudDogRG9jdW1lbnQsIGxlYWd1ZUFsaWFzOiBzdHJpbmcpOiB2b2lkIHtcbiAgbGV0IGZvbGRlciA9ICcnO1xuICBpZiAobGVhZ3VlQWxpYXMgPT09ICdhYmxtb3Njb3cnKSB7XG4gICAgZm9sZGVyID0gJ2FibC8nO1xuICB9XG4gIGNvbnN0IGRhdGEgPSBnZXRJY29uc0RhdGEoZm9sZGVyKTtcbiAgZm9yIChjb25zdCBpdGVtIG9mIGRhdGEpIHtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGl0ZW0pKSB7XG4gICAgICBsaW5rLnNldEF0dHJpYnV0ZShrZXksIGl0ZW1ba2V5XSk7XG4gICAgfVxuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobGluayk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { FormGroup } from '@angular/forms';
2
+ export function markFormGroupTouched(formGroup) {
3
+ Object.values(formGroup.controls).forEach(control => {
4
+ control.markAsTouched();
5
+ control.markAsDirty();
6
+ if (control instanceof FormGroup) {
7
+ markFormGroupTouched(control);
8
+ }
9
+ else if (control.controls) {
10
+ control.controls.forEach(c => {
11
+ if (c instanceof FormGroup) {
12
+ markFormGroupTouched(c);
13
+ }
14
+ else {
15
+ c.markAsTouched();
16
+ c.markAsDirty();
17
+ }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbInV0aWxzL2Zvcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxTQUFvQjtJQUN0RCxNQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDM0QsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV0QixJQUFJLE9BQU8sWUFBWSxTQUFTLEVBQUU7WUFDaEMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0I7YUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDM0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksQ0FBQyxZQUFZLFNBQVMsRUFBRTtvQkFDMUIsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3pCO3FCQUFNO29CQUNMLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDbEIsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUNqQjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXJrRm9ybUdyb3VwVG91Y2hlZChmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xuICAoT2JqZWN0IGFzIGFueSkudmFsdWVzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICBjb250cm9sLm1hcmtBc0RpcnR5KCk7XG5cbiAgICBpZiAoY29udHJvbCBpbnN0YW5jZW9mIEZvcm1Hcm91cCkge1xuICAgICAgbWFya0Zvcm1Hcm91cFRvdWNoZWQoY29udHJvbCk7XG4gICAgfSBlbHNlIGlmIChjb250cm9sLmNvbnRyb2xzKSB7XG4gICAgICBjb250cm9sLmNvbnRyb2xzLmZvckVhY2goYyA9PiB7XG4gICAgICAgIGlmIChjIGluc3RhbmNlb2YgRm9ybUdyb3VwKSB7XG4gICAgICAgICAgbWFya0Zvcm1Hcm91cFRvdWNoZWQoYyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYy5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgICAgYy5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xufVxuIl19
@@ -0,0 +1,11 @@
1
+ export { generateArray, getArrayChunks } from './array';
2
+ export { componentDestroyed, UntilDestroy } from './component-destroyed';
3
+ export { getCookie } from './cookie';
4
+ export { updateItemInArray, updateItemsInArray, patchItemInArray, addItemInArray, deleteItemFromArray } from './data';
5
+ export { isTouchDevice } from './device';
6
+ export { getEnumOptions } from './enum';
7
+ export { handleError } from './errors';
8
+ export { getIconsData, changeFavicons } from './favicon';
9
+ export { markFormGroupTouched } from './form';
10
+ export { minLengthArrayValidator, validatePhone, validateDate, validateEmail, validateUrl, fileSizeValidator } from './validators';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbInV0aWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDeEQsT0FBTyxFQUFpQixrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDdkMsT0FBTyxFQUFlLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlDLE9BQU8sRUFDdUIsdUJBQXVCLEVBQUUsYUFBYSxFQUNsRSxZQUFZLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFDNUQsTUFBTSxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBnZW5lcmF0ZUFycmF5LCBnZXRBcnJheUNodW5rcyB9IGZyb20gJy4vYXJyYXknO1xuZXhwb3J0IHsgT25EZXN0cm95TGlrZSwgY29tcG9uZW50RGVzdHJveWVkLCBVbnRpbERlc3Ryb3kgfSBmcm9tICcuL2NvbXBvbmVudC1kZXN0cm95ZWQnO1xuZXhwb3J0IHsgZ2V0Q29va2llIH0gZnJvbSAnLi9jb29raWUnO1xuZXhwb3J0IHsgdXBkYXRlSXRlbUluQXJyYXksIHVwZGF0ZUl0ZW1zSW5BcnJheSwgcGF0Y2hJdGVtSW5BcnJheSwgYWRkSXRlbUluQXJyYXksIGRlbGV0ZUl0ZW1Gcm9tQXJyYXkgfSBmcm9tICcuL2RhdGEnO1xuZXhwb3J0IHsgaXNUb3VjaERldmljZSB9IGZyb20gJy4vZGV2aWNlJztcbmV4cG9ydCB7IGdldEVudW1PcHRpb25zIH0gZnJvbSAnLi9lbnVtJztcbmV4cG9ydCB7IGhhbmRsZUVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuZXhwb3J0IHsgTGlua0Zhdmljb24sIGdldEljb25zRGF0YSwgY2hhbmdlRmF2aWNvbnMgfSBmcm9tICcuL2Zhdmljb24nO1xuZXhwb3J0IHsgbWFya0Zvcm1Hcm91cFRvdWNoZWQgfSBmcm9tICcuL2Zvcm0nO1xuZXhwb3J0IHtcbiAgQ2hlY2tFbWFpbFNlcnZpY2VJbnRlcmZhY2UsIG1pbkxlbmd0aEFycmF5VmFsaWRhdG9yLCB2YWxpZGF0ZVBob25lLFxuICB2YWxpZGF0ZURhdGUsIHZhbGlkYXRlRW1haWwsIHZhbGlkYXRlVXJsLCBmaWxlU2l6ZVZhbGlkYXRvclxufSBmcm9tICcuL3ZhbGlkYXRvcnMnO1xuIl19
@@ -0,0 +1,47 @@
1
+ import { delay, map, switchMap } from 'rxjs/operators';
2
+ import { of } from 'rxjs';
3
+ export const minLengthArrayValidator = (minLength) => {
4
+ return (c) => {
5
+ return c.value.length < minLength
6
+ ? { minLengthArray: { valid: false } }
7
+ : null;
8
+ };
9
+ };
10
+ export const validatePhone = (control) => {
11
+ if (!control.value) {
12
+ return null;
13
+ }
14
+ const value = `${control.value}`.replace(/\D/gi, '');
15
+ return value.length === 11 ? null : { invalidPhone: { valid: false } };
16
+ };
17
+ export const validateDate = (control) => {
18
+ const re = /\d{2}\.\d{2}\.\d{4}/gi;
19
+ if (!control.value || re.test(control.value)) {
20
+ return null;
21
+ }
22
+ return { invalidDate: { valid: false } };
23
+ };
24
+ export const validateEmail = (authService, selfCheck = true, ignore = []) => {
25
+ const subject = of(null).pipe(delay(500));
26
+ return (control) => {
27
+ if (ignore.indexOf(control.value) > -1) {
28
+ return of(null);
29
+ }
30
+ return subject.pipe(switchMap(() => authService.checkEmail(control.value, selfCheck).pipe(map(valid => valid ? null : { emailTaken: true }))));
31
+ };
32
+ };
33
+ export const validateUrl = (control) => {
34
+ const re = /^(?:http(s)?:\/\/)[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/;
35
+ if (!control.value || re.test(control.value)) {
36
+ return null;
37
+ }
38
+ return { invalidUrl: true };
39
+ };
40
+ export function fileSizeValidator(maxFileSize) {
41
+ return (control) => {
42
+ if (!control.value) {
43
+ return null;
44
+ }
45
+ };
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbInV0aWxzL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFnQixLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNdEMsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxTQUFpQixFQUFFLEVBQUU7SUFDM0QsT0FBTyxDQUFDLENBQWtCLEVBQUUsRUFBRTtRQUM1QixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLFNBQVM7WUFDL0IsQ0FBQyxDQUFDLEVBQUMsY0FBYyxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxFQUFDO1lBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDWCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUF3QixFQUFFLEVBQUU7SUFDeEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7UUFDbEIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE1BQU0sS0FBSyxHQUFHLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckQsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLFlBQVksRUFBRSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsRUFBQyxDQUFDO0FBQ3JFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLE9BQXdCLEVBQUUsRUFBRTtJQUN2RCxNQUFNLEVBQUUsR0FBRyx1QkFBdUIsQ0FBQztJQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUM1QyxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxFQUFDLFdBQVcsRUFBRSxFQUFDLEtBQUssRUFBRSxLQUFLLEVBQUMsRUFBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFDLFdBQXVDLEVBQUUsU0FBUyxHQUFHLElBQUksRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFDdEcsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDM0IsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUNYLENBQUM7SUFDRixPQUFPLENBQUMsT0FBd0IsRUFBRSxFQUFFO1FBQ2xDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDdEMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakI7UUFDRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQ2pCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUNuRSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FDaEQsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxPQUF3QixFQUFFLEVBQUU7SUFDdEQsTUFBTSxFQUFFLEdBQUcsK0VBQStFLENBQUM7SUFDM0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDNUMsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFDLENBQUM7QUFDNUIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFdBQW1CO0lBQ25ELE9BQU8sQ0FBQyxPQUF3QixFQUErQixFQUFFO1FBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGVsYXksIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGVja0VtYWlsU2VydmljZUludGVyZmFjZSB7XG4gIGNoZWNrRW1haWwodmFsdWU6IHN0cmluZywgc2VsZkNoZWNrOiBib29sZWFuKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcbn1cblxuZXhwb3J0IGNvbnN0IG1pbkxlbmd0aEFycmF5VmFsaWRhdG9yID0gKG1pbkxlbmd0aDogbnVtYmVyKSA9PiB7XG4gIHJldHVybiAoYzogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgcmV0dXJuIGMudmFsdWUubGVuZ3RoIDwgbWluTGVuZ3RoXG4gICAgICA/IHttaW5MZW5ndGhBcnJheToge3ZhbGlkOiBmYWxzZX19XG4gICAgICA6IG51bGw7XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQaG9uZSA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgdmFsdWUgPSBgJHtjb250cm9sLnZhbHVlfWAucmVwbGFjZSgvXFxEL2dpLCAnJyk7XG4gIHJldHVybiB2YWx1ZS5sZW5ndGggPT09IDExID8gbnVsbCA6IHtpbnZhbGlkUGhvbmU6IHt2YWxpZDogZmFsc2V9fTtcbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZURhdGUgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gIGNvbnN0IHJlID0gL1xcZHsyfVxcLlxcZHsyfVxcLlxcZHs0fS9naTtcbiAgaWYgKCFjb250cm9sLnZhbHVlIHx8IHJlLnRlc3QoY29udHJvbC52YWx1ZSkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4ge2ludmFsaWREYXRlOiB7dmFsaWQ6IGZhbHNlfX07XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVFbWFpbCA9IChhdXRoU2VydmljZTogQ2hlY2tFbWFpbFNlcnZpY2VJbnRlcmZhY2UsIHNlbGZDaGVjayA9IHRydWUsIGlnbm9yZSA9IFtdKSA9PiB7XG4gIGNvbnN0IHN1YmplY3QgPSBvZihudWxsKS5waXBlKFxuICAgIGRlbGF5KDUwMClcbiAgKTtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpID0+IHtcbiAgICBpZiAoaWdub3JlLmluZGV4T2YoY29udHJvbC52YWx1ZSkgPiAtMSkge1xuICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgIH1cbiAgICByZXR1cm4gc3ViamVjdC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IGF1dGhTZXJ2aWNlLmNoZWNrRW1haWwoY29udHJvbC52YWx1ZSwgc2VsZkNoZWNrKS5waXBlKFxuICAgICAgICBtYXAodmFsaWQgPT4gdmFsaWQgPyBudWxsIDoge2VtYWlsVGFrZW46IHRydWV9KVxuICAgICAgKSlcbiAgICApO1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlVXJsID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCkgPT4ge1xuICBjb25zdCByZSA9IC9eKD86aHR0cChzKT86XFwvXFwvKVtcXHcuLV0rKD86XFwuW1xcd1xcLi1dKykrW1xcd1xcLVxcLl9+Oi8/I1tcXF1AIVxcJCYnXFwoXFwpXFwqXFwrLDs9Ll0rJC87XG4gIGlmICghY29udHJvbC52YWx1ZSB8fCByZS50ZXN0KGNvbnRyb2wudmFsdWUpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIHtpbnZhbGlkVXJsOiB0cnVlfTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWxlU2l6ZVZhbGlkYXRvcihtYXhGaWxlU2l6ZTogbnVtYmVyKTogVmFsaWRhdG9yRm4ge1xuICByZXR1cm4gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHtba2V5OiBzdHJpbmddOiBhbnl9IHwgbnVsbCA9PiB7XG4gICAgaWYgKCFjb250cm9sLnZhbHVlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH07XG59XG4iXX0=
@@ -0,0 +1,65 @@
1
+ import { __awaiter, __decorate, __generator } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { HttpClient } from '@angular/common/http';
4
+ import { map } from 'rxjs/operators';
5
+ import { Game } from '../models/game';
6
+ import { GameUser } from '../models/game-user';
7
+ import { ConfigService } from '../services/config.service';
8
+ import { BasketballGameTeamStatistic } from '../models/basketball-game-team-statistic';
9
+ import { BasketballGameStatistic } from '../models/basketball-game-statistic';
10
+ import { BasketballGameLog } from '../models/basketball-game-log';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/common/http";
13
+ import * as i2 from "../services/config.service";
14
+ var BasketballGameApi = /** @class */ (function () {
15
+ function BasketballGameApi(httpClient, configService) {
16
+ this.httpClient = httpClient;
17
+ this.configService = configService;
18
+ }
19
+ BasketballGameApi.prototype.getById = function (gameId) {
20
+ return __awaiter(this, void 0, void 0, function () {
21
+ return __generator(this, function (_a) {
22
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/tournament_basketball_game/" + gameId + "/").pipe(map(function (result) { return Game.toFront(result); })).toPromise()];
23
+ });
24
+ });
25
+ };
26
+ BasketballGameApi.prototype.getUsers = function (gameId) {
27
+ return __awaiter(this, void 0, void 0, function () {
28
+ return __generator(this, function (_a) {
29
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/tournament_game/" + gameId + "/users/").pipe(map(function (result) { return GameUser.toFront(result); })).toPromise()];
30
+ });
31
+ });
32
+ };
33
+ BasketballGameApi.prototype.getTeamStatistic = function (gameId) {
34
+ return __awaiter(this, void 0, void 0, function () {
35
+ return __generator(this, function (_a) {
36
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/tournament_basketball_game/" + gameId + "/team_statistic/").pipe(map(function (result) { return BasketballGameTeamStatistic.toFront(result); })).toPromise()];
37
+ });
38
+ });
39
+ };
40
+ BasketballGameApi.prototype.getUserStatistic = function (gameId) {
41
+ return __awaiter(this, void 0, void 0, function () {
42
+ return __generator(this, function (_a) {
43
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/tournament_basketball_game/" + gameId + "/user_statistic/").pipe(map(function (result) { return BasketballGameStatistic.toFront(result); })).toPromise()];
44
+ });
45
+ });
46
+ };
47
+ BasketballGameApi.prototype.getLogs = function (gameId) {
48
+ return __awaiter(this, void 0, void 0, function () {
49
+ return __generator(this, function (_a) {
50
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/tournament_basketball_game/" + gameId + "/logs/").pipe(map(function (result) { return BasketballGameLog.toFront(result); })).toPromise()];
51
+ });
52
+ });
53
+ };
54
+ BasketballGameApi.ctorParameters = function () { return [
55
+ { type: HttpClient },
56
+ { type: ConfigService }
57
+ ]; };
58
+ BasketballGameApi.ɵprov = i0.ɵɵdefineInjectable({ factory: function BasketballGameApi_Factory() { return new BasketballGameApi(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: BasketballGameApi, providedIn: "root" });
59
+ BasketballGameApi = __decorate([
60
+ Injectable({ providedIn: 'root' })
61
+ ], BasketballGameApi);
62
+ return BasketballGameApi;
63
+ }());
64
+ export { BasketballGameApi };
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFza2V0YmFsbC1nYW1lLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbImFwaS9iYXNrZXRiYWxsLWdhbWUtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFHbEU7SUFDRSwyQkFDVSxVQUFzQixFQUN0QixhQUE0QjtRQUQ1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBRXRDLENBQUM7SUFFSyxtQ0FBTyxHQUFiLFVBQWMsTUFBYzs7O2dCQUMxQixzQkFBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsMkNBQXNDLE1BQU0sTUFBRyxDQUFDLENBQUMsSUFBSSxDQUNqSCxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFwQixDQUFvQixDQUFDLENBQ3BDLENBQUMsU0FBUyxFQUFFLEVBQUM7OztLQUNmO0lBRUssb0NBQVEsR0FBZCxVQUFlLE1BQWM7OztnQkFDM0Isc0JBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGdDQUEyQixNQUFNLFlBQVMsQ0FBQyxDQUFDLElBQUksQ0FDNUcsR0FBRyxDQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBeEIsQ0FBd0IsQ0FBQyxDQUN4QyxDQUFDLFNBQVMsRUFBRSxFQUFDOzs7S0FDZjtJQUVLLDRDQUFnQixHQUF0QixVQUF1QixNQUFjOzs7Z0JBQ25DLHNCQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQywyQ0FBc0MsTUFBTSxxQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDaEksR0FBRyxDQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsMkJBQTJCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUEzQyxDQUEyQyxDQUFDLENBQzNELENBQUMsU0FBUyxFQUFFLEVBQUM7OztLQUNmO0lBRUssNENBQWdCLEdBQXRCLFVBQXVCLE1BQWM7OztnQkFDbkMsc0JBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLDJDQUFzQyxNQUFNLHFCQUFrQixDQUFDLENBQUMsSUFBSSxDQUNoSSxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQXZDLENBQXVDLENBQUMsQ0FDdkQsQ0FBQyxTQUFTLEVBQUUsRUFBQzs7O0tBQ2Y7SUFFSyxtQ0FBTyxHQUFiLFVBQWMsTUFBYzs7O2dCQUMxQixzQkFBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsMkNBQXNDLE1BQU0sV0FBUSxDQUFDLENBQUMsSUFBSSxDQUN0SCxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQWpDLENBQWlDLENBQUMsQ0FDakQsQ0FBQyxTQUFTLEVBQUUsRUFBQzs7O0tBQ2Y7O2dCQWpDcUIsVUFBVTtnQkFDUCxhQUFhOzs7SUFIM0IsaUJBQWlCO1FBRDdCLFVBQVUsQ0FBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsQ0FBQztPQUNwQixpQkFBaUIsQ0FvQzdCOzRCQS9DRDtDQStDQyxBQXBDRCxJQW9DQztTQXBDWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR2FtZSB9IGZyb20gJy4uL21vZGVscy9nYW1lJztcbmltcG9ydCB7IEdhbWVVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL2dhbWUtdXNlcic7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQmFza2V0YmFsbEdhbWVUZWFtU3RhdGlzdGljIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2tldGJhbGwtZ2FtZS10ZWFtLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBCYXNrZXRiYWxsR2FtZVN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9iYXNrZXRiYWxsLWdhbWUtc3RhdGlzdGljJztcbmltcG9ydCB7IEJhc2tldGJhbGxHYW1lTG9nIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2tldGJhbGwtZ2FtZS1sb2cnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBCYXNrZXRiYWxsR2FtZUFwaSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBhc3luYyBnZXRCeUlkKGdhbWVJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2Jhc2tldGJhbGxfZ2FtZS8ke2dhbWVJZH0vYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gR2FtZS50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJzKGdhbWVJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lVXNlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2dhbWUvJHtnYW1lSWR9L3VzZXJzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEdhbWVVc2VyLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGVhbVN0YXRpc3RpYyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8QmFza2V0YmFsbEdhbWVUZWFtU3RhdGlzdGljPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2Jhc2tldGJhbGxfZ2FtZS8ke2dhbWVJZH0vdGVhbV9zdGF0aXN0aWMvYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gQmFza2V0YmFsbEdhbWVUZWFtU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlclN0YXRpc3RpYyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8QmFza2V0YmFsbEdhbWVTdGF0aXN0aWNbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9iYXNrZXRiYWxsX2dhbWUvJHtnYW1lSWR9L3VzZXJfc3RhdGlzdGljL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEJhc2tldGJhbGxHYW1lU3RhdGlzdGljLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0TG9ncyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8QmFza2V0YmFsbEdhbWVMb2dbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9iYXNrZXRiYWxsX2dhbWUvJHtnYW1lSWR9L2xvZ3MvYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gQmFza2V0YmFsbEdhbWVMb2cudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,70 @@
1
+ import { __awaiter, __decorate, __generator } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { HttpClient, HttpParams } from '@angular/common/http';
4
+ import { League } from '../models/league';
5
+ import { map } from 'rxjs/operators';
6
+ import { Tournament } from '../models/tournament';
7
+ import { ConfigService } from '../services/config.service';
8
+ import { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common/http";
11
+ import * as i2 from "../services/config.service";
12
+ var LeagueApi = /** @class */ (function () {
13
+ function LeagueApi(httpClient, configService) {
14
+ this.httpClient = httpClient;
15
+ this.configService = configService;
16
+ }
17
+ LeagueApi.prototype.getByAlias = function (alias) {
18
+ return __awaiter(this, void 0, void 0, function () {
19
+ return __generator(this, function (_a) {
20
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/league/" + alias + "/").pipe(map(function (result) { return League.toFront(result); })).toPromise()];
21
+ });
22
+ });
23
+ };
24
+ LeagueApi.prototype.getByDomain = function (domain) {
25
+ return __awaiter(this, void 0, void 0, function () {
26
+ return __generator(this, function (_a) {
27
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/league/by_domain/" + domain + "/").pipe(map(function (result) { return League.toFront(result); })).toPromise()];
28
+ });
29
+ });
30
+ };
31
+ LeagueApi.prototype.getTournaments = function (leagueId) {
32
+ return __awaiter(this, void 0, void 0, function () {
33
+ return __generator(this, function (_a) {
34
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/league/" + leagueId + "/tournaments/").pipe(map(function (result) { return Tournament.toFront(result); })).toPromise()];
35
+ });
36
+ });
37
+ };
38
+ LeagueApi.prototype.getEvents = function (leagueId, page, size, filters) {
39
+ return __awaiter(this, void 0, void 0, function () {
40
+ var params;
41
+ return __generator(this, function (_a) {
42
+ params = new HttpParams().set('page', page.toString())
43
+ .set('size', size.toString());
44
+ if (filters) {
45
+ if (filters.event) {
46
+ params = params.set('event', TournamentEventTypes[filters.event]);
47
+ }
48
+ if (filters.search) {
49
+ params = params.set('search', filters.search);
50
+ }
51
+ }
52
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/league/" + leagueId + "/events/", { params: params, observe: 'response' }).pipe(map(function (result) { return ({
53
+ total: +result.headers.get('X-Page-Count'),
54
+ data: TournamentEvent.toFront(result.body)
55
+ }); })).toPromise()];
56
+ });
57
+ });
58
+ };
59
+ LeagueApi.ctorParameters = function () { return [
60
+ { type: HttpClient },
61
+ { type: ConfigService }
62
+ ]; };
63
+ LeagueApi.ɵprov = i0.ɵɵdefineInjectable({ factory: function LeagueApi_Factory() { return new LeagueApi(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: LeagueApi, providedIn: "root" });
64
+ LeagueApi = __decorate([
65
+ Injectable({ providedIn: 'root' })
66
+ ], LeagueApi);
67
+ return LeagueApi;
68
+ }());
69
+ export { LeagueApi };
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVhZ3VlLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbImFwaS9sZWFndWUtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUluRjtJQUNFLG1CQUNVLFVBQXNCLEVBQ3RCLGFBQTRCO1FBRDVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFdEMsQ0FBQztJQUVLLDhCQUFVLEdBQWhCLFVBQWlCLEtBQWE7OztnQkFDNUIsc0JBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHVCQUFrQixLQUFLLE1BQUcsQ0FBQyxDQUFDLElBQUksQ0FDNUYsR0FBRyxDQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBdEIsQ0FBc0IsQ0FBQyxDQUN0QyxDQUFDLFNBQVMsRUFBRSxFQUFDOzs7S0FDZjtJQUVLLCtCQUFXLEdBQWpCLFVBQWtCLE1BQWM7OztnQkFDOUIsc0JBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGlDQUE0QixNQUFNLE1BQUcsQ0FBQyxDQUFDLElBQUksQ0FDdkcsR0FBRyxDQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBdEIsQ0FBc0IsQ0FBQyxDQUN0QyxDQUFDLFNBQVMsRUFBRSxFQUFDOzs7S0FDZjtJQUVLLGtDQUFjLEdBQXBCLFVBQXFCLFFBQWdCOzs7Z0JBQ25DLHNCQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyx1QkFBa0IsUUFBUSxrQkFBZSxDQUFDLENBQUMsSUFBSSxDQUMzRyxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUExQixDQUEwQixDQUFDLENBQzFDLENBQUMsU0FBUyxFQUFFLEVBQUM7OztLQUNmO0lBRUssNkJBQVMsR0FBZixVQUFnQixRQUFnQixFQUFFLElBQVksRUFBRSxJQUFZLEVBQUUsT0FBb0M7Ozs7Z0JBQzVGLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO3FCQUN2RCxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQyxJQUFJLE9BQU8sRUFBRTtvQkFDWCxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7d0JBQ2pCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztxQkFDbkU7b0JBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO3dCQUNsQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3FCQUMvQztpQkFDRjtnQkFDRCxzQkFBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsdUJBQWtCLFFBQVEsYUFBVSxFQUFFLEVBQUMsTUFBTSxRQUFBLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUNySSxHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxDQUFDO3dCQUNiLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQzt3QkFDMUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztxQkFDM0MsQ0FBQyxFQUhZLENBR1osQ0FBQyxDQUNKLENBQUMsU0FBUyxFQUFFLEVBQUM7OztLQUNmOztnQkF4Q3FCLFVBQVU7Z0JBQ1AsYUFBYTs7O0lBSDNCLFNBQVM7UUFEckIsVUFBVSxDQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxDQUFDO09BQ3BCLFNBQVMsQ0EyQ3JCO29CQXZERDtDQXVEQyxBQTNDRCxJQTJDQztTQTNDWSxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IExlYWd1ZSB9IGZyb20gJy4uL21vZGVscy9sZWFndWUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVG91cm5hbWVudCB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50JztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBUb3VybmFtZW50RXZlbnRzTGlzdEZpbHRlciB9IGZyb20gJy4vdG91cm5hbWVudC1hcGknO1xuaW1wb3J0IHsgUGFnaW5hdGVkUmVzcG9uc2UgfSBmcm9tICcuL3BhZ2luYXRlZC1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVG91cm5hbWVudEV2ZW50LCBUb3VybmFtZW50RXZlbnRUeXBlcyB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LWV2ZW50JztcbmltcG9ydCB7IEdhbWVNZWRpYUZpbHRlcnMgfSBmcm9tICcuL21lZGlhLWFwaSc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIExlYWd1ZUFwaSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBhc3luYyBnZXRCeUFsaWFzKGFsaWFzOiBzdHJpbmcpOiBQcm9taXNlPExlYWd1ZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvbGVhZ3VlLyR7YWxpYXN9L2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IExlYWd1ZS50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEJ5RG9tYWluKGRvbWFpbjogc3RyaW5nKTogUHJvbWlzZTxMZWFndWU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2xlYWd1ZS9ieV9kb21haW4vJHtkb21haW59L2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IExlYWd1ZS50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRvdXJuYW1lbnRzKGxlYWd1ZUlkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvbGVhZ3VlLyR7bGVhZ3VlSWR9L3RvdXJuYW1lbnRzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IFRvdXJuYW1lbnQudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRFdmVudHMobGVhZ3VlSWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM/OiBUb3VybmFtZW50RXZlbnRzTGlzdEZpbHRlcik6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8VG91cm5hbWVudEV2ZW50W10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKVxuICAgICAgLnNldCgnc2l6ZScsIHNpemUudG9TdHJpbmcoKSk7XG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgIGlmIChmaWx0ZXJzLmV2ZW50KSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2V2ZW50JywgVG91cm5hbWVudEV2ZW50VHlwZXNbZmlsdGVycy5ldmVudF0pO1xuICAgICAgfVxuICAgICAgaWYgKGZpbHRlcnMuc2VhcmNoKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NlYXJjaCcsIGZpbHRlcnMuc2VhcmNoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9sZWFndWUvJHtsZWFndWVJZH0vZXZlbnRzL2AsIHtwYXJhbXMsIG9ic2VydmU6ICdyZXNwb25zZSd9KS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiAoe1xuICAgICAgICB0b3RhbDogK3Jlc3VsdC5oZWFkZXJzLmdldCgnWC1QYWdlLUNvdW50JyksXG4gICAgICAgIGRhdGE6IFRvdXJuYW1lbnRFdmVudC50b0Zyb250KHJlc3VsdC5ib2R5KVxuICAgICAgfSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,125 @@
1
+ import { __awaiter, __decorate, __generator } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { HttpClient, HttpParams } from '@angular/common/http';
4
+ import { MediaItem } from '../models/media-item';
5
+ import { Game, GameStatuses } from '../models/game';
6
+ import { map } from 'rxjs/operators';
7
+ import { ConfigService } from '../services/config.service';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common/http";
10
+ import * as i2 from "../services/config.service";
11
+ var MediaApi = /** @class */ (function () {
12
+ function MediaApi(httpClient, configService) {
13
+ this.httpClient = httpClient;
14
+ this.configService = configService;
15
+ }
16
+ MediaApi.prototype.getMedia = function (mediaId) {
17
+ return __awaiter(this, void 0, void 0, function () {
18
+ return __generator(this, function (_a) {
19
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/media/" + mediaId + "/").pipe(map(function (result) { return MediaItem.toFront(result); })).toPromise()];
20
+ });
21
+ });
22
+ };
23
+ MediaApi.prototype.getTournamentGameMedia = function (tournamentId, page, size, filters) {
24
+ return __awaiter(this, void 0, void 0, function () {
25
+ var params;
26
+ return __generator(this, function (_a) {
27
+ params = new HttpParams().set('page', page.toString()).set('size', size.toString());
28
+ if (filters) {
29
+ if (filters.tournamentTour) {
30
+ params = params.set('tournament_tour', filters.tournamentTour.toString());
31
+ }
32
+ if (filters.teamId) {
33
+ params = params.set('team_id', filters.teamId.toString());
34
+ }
35
+ if (filters.tournamentStageId) {
36
+ params = params.set('tournament_stage_id', filters.tournamentStageId.toString());
37
+ }
38
+ if (filters.playoffId) {
39
+ params = params.set('playoff_id', filters.playoffId.toString());
40
+ }
41
+ if (filters.playoffStage) {
42
+ params = params.set('playoff_stage', filters.playoffStage.toString());
43
+ }
44
+ if (filters.status) {
45
+ params = params.set('status', GameStatuses[filters.status]);
46
+ }
47
+ }
48
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/tournament/" + tournamentId + "/game_media/", { observe: 'response', params: params }).pipe(map(function (response) {
49
+ return {
50
+ total: +response.headers.get('X-Page-Count'),
51
+ data: Game.toFront(response.body)
52
+ };
53
+ })).toPromise()];
54
+ });
55
+ });
56
+ };
57
+ MediaApi.prototype.getLeagueGameMedia = function (leagueId, page, size, filters) {
58
+ return __awaiter(this, void 0, void 0, function () {
59
+ var params;
60
+ return __generator(this, function (_a) {
61
+ params = new HttpParams().set('page', page.toString()).set('size', size.toString());
62
+ if (filters) {
63
+ if (filters.tournamentTour) {
64
+ params = params.set('tournament_tour', filters.tournamentTour.toString());
65
+ }
66
+ if (filters.teamId) {
67
+ params = params.set('team_id', filters.teamId.toString());
68
+ }
69
+ if (filters.tournamentStageId) {
70
+ params = params.set('tournament_stage_id', filters.tournamentStageId.toString());
71
+ }
72
+ if (filters.playoffId) {
73
+ params = params.set('playoff_id', filters.playoffId.toString());
74
+ }
75
+ if (filters.playoffStage) {
76
+ params = params.set('playoff_stage', filters.playoffStage.toString());
77
+ }
78
+ if (filters.status) {
79
+ params = params.set('status', GameStatuses[filters.status]);
80
+ }
81
+ }
82
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/league/" + leagueId + "/game_media/", { observe: 'response', params: params }).pipe(map(function (response) {
83
+ return {
84
+ total: +response.headers.get('X-Page-Count'),
85
+ data: Game.toFront(response.body)
86
+ };
87
+ })).toPromise()];
88
+ });
89
+ });
90
+ };
91
+ MediaApi.prototype.getGameMediaById = function (gameId) {
92
+ return __awaiter(this, void 0, void 0, function () {
93
+ return __generator(this, function (_a) {
94
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/game_media/" + gameId + "/").pipe(map(function (result) { return Game.toFront(result); })).toPromise()];
95
+ });
96
+ });
97
+ };
98
+ MediaApi.prototype.getGameMedia = function (gameId) {
99
+ return __awaiter(this, void 0, void 0, function () {
100
+ return __generator(this, function (_a) {
101
+ return [2 /*return*/, this.httpClient.get(this.configService.get('apiUrl') + "/api/v1/tournament_game/" + gameId + "/media/").pipe(map(function (result) { return MediaItem.toFront(result); })).toPromise()];
102
+ });
103
+ });
104
+ };
105
+ MediaApi.prototype.createZip = function (mediaIds) {
106
+ return __awaiter(this, void 0, void 0, function () {
107
+ return __generator(this, function (_a) {
108
+ return [2 /*return*/, this.httpClient
109
+ .post(this.configService.get('apiUrl') + "/api/v1/media/zip/", mediaIds, { responseType: 'blob' })
110
+ .toPromise()];
111
+ });
112
+ });
113
+ };
114
+ MediaApi.ctorParameters = function () { return [
115
+ { type: HttpClient },
116
+ { type: ConfigService }
117
+ ]; };
118
+ MediaApi.ɵprov = i0.ɵɵdefineInjectable({ factory: function MediaApi_Factory() { return new MediaApi(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: MediaApi, providedIn: "root" });
119
+ MediaApi = __decorate([
120
+ Injectable({ providedIn: 'root' })
121
+ ], MediaApi);
122
+ return MediaApi;
123
+ }());
124
+ export { MediaApi };
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtYXBpLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsiYXBpL21lZGlhLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFZM0Q7SUFDRSxrQkFDVSxVQUFzQixFQUN0QixhQUE0QjtRQUQ1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBRXRDLENBQUM7SUFFSywyQkFBUSxHQUFkLFVBQWUsT0FBZTs7O2dCQUM1QixzQkFBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0JBQWlCLE9BQU8sTUFBRyxDQUFDLENBQUMsSUFBSSxDQUM3RixHQUFHLENBQUMsVUFBQSxNQUFNLElBQUksT0FBQSxTQUFTLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUF6QixDQUF5QixDQUFDLENBQ3pDLENBQUMsU0FBUyxFQUFFLEVBQUM7OztLQUNmO0lBRUsseUNBQXNCLEdBQTVCLFVBQTZCLFlBQW9CLEVBQUUsSUFBWSxFQUFFLElBQVksRUFBRSxPQUEwQjs7OztnQkFDbkcsTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFF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QUFzQixNQUFNLE1BQUcsQ0FBQyxDQUFDLElBQUksQ0FDakcsR0FBRyxDQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBcEIsQ0FBb0IsQ0FBQyxDQUNwQyxDQUFDLFNBQVMsRUFBRSxFQUFDOzs7S0FDZjtJQUVLLCtCQUFZLEdBQWxCLFVBQW1CLE1BQWM7OztnQkFDL0Isc0JBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGdDQUEyQixNQUFNLFlBQVMsQ0FBQyxDQUFDLElBQUksQ0FDNUcsR0FBRyxDQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBekIsQ0FBeUIsQ0FBQyxDQUN6QyxDQUFDLFNBQVMsRUFBRSxFQUFDOzs7S0FDZjtJQUVLLDRCQUFTLEdBQWYsVUFBZ0IsUUFBa0I7OztnQkFDaEMsc0JBQU8sSUFBSSxDQUFDLFVBQVU7eUJBQ25CLElBQUksQ0FBSSxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsdUJBQW9CLEVBQUUsUUFBUSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO3lCQUNqRyxTQUFTLEVBQUUsRUFBQzs7O0tBQ2hCOztnQkE3RnFCLFVBQVU7Z0JBQ1AsYUFBYTs7O0lBSDNCLFFBQVE7UUFEcEIsVUFBVSxDQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxDQUFDO09BQ3BCLFFBQVEsQ0FnR3BCO21CQWxIRDtDQWtIQyxBQWhHRCxJQWdHQztTQWhHWSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1lZGlhSXRlbSB9IGZyb20gJy4uL21vZGVscy9tZWRpYS1pdGVtJztcbmltcG9ydCB7IEdhbWUsIEdhbWVTdGF0dXNlcyB9IGZyb20gJy4uL21vZGVscy9nYW1lJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFBhZ2luYXRlZFJlc3BvbnNlIH0gZnJvbSAnLi9wYWdpbmF0ZWQtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2FtZU1lZGlhRmlsdGVycyB7XG4gIHRvdXJuYW1lbnRTdGFnZUlkPzogbnVtYmVyO1xuICB0b3VybmFtZW50VG91cj86IG51bWJlcjtcbiAgdGVhbUlkPzogbnVtYmVyO1xuICBwbGF5b2ZmU3RhZ2U/OiBudW1iZXI7XG4gIHBsYXlvZmZJZD86IG51bWJlcjtcbiAgc3RhdHVzPzogR2FtZVN0YXR1c2VzO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBNZWRpYUFwaSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgYXN5bmMgZ2V0TWVkaWEobWVkaWFJZDogbnVtYmVyKTogUHJvbWlzZTxNZWRpYUl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL21lZGlhLyR7bWVkaWFJZH0vYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gTWVkaWFJdGVtLnRvRnJvbnQocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG91cm5hbWVudEdhbWVNZWRpYSh0b3VybmFtZW50SWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM/OiBHYW1lTWVkaWFGaWx0ZXJzKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxHYW1lW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKS5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIGlmIChmaWx0ZXJzKSB7XG4gICAgICBpZiAoZmlsdGVycy50b3VybmFtZW50VG91cikge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b3VybmFtZW50X3RvdXInLCBmaWx0ZXJzLnRvdXJuYW1lbnRUb3VyLnRvU3RyaW5nKCkpO1xuICAgICAgfVxuICAgICAgaWYgKGZpbHRlcnMudGVhbUlkKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RlYW1faWQnLCBmaWx0ZXJzLnRlYW1JZC50b1N0cmluZygpKTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWx0ZXJzLnRvdXJuYW1lbnRTdGFnZUlkKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RvdXJuYW1lbnRfc3RhZ2VfaWQnLCBmaWx0ZXJzLnRvdXJuYW1lbnRTdGFnZUlkLnRvU3RyaW5nKCkpO1xuICAgICAgfVxuICAgICAgaWYgKGZpbHRlcnMucGxheW9mZklkKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BsYXlvZmZfaWQnLCBmaWx0ZXJzLnBsYXlvZmZJZC50b1N0cmluZygpKTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWx0ZXJzLnBsYXlvZmZTdGFnZSkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwbGF5b2ZmX3N0YWdlJywgZmlsdGVycy5wbGF5b2ZmU3RhZ2UudG9TdHJpbmcoKSk7XG4gICAgICB9XG4gICAgICBpZiAoZmlsdGVycy5zdGF0dXMpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc3RhdHVzJywgR2FtZVN0YXR1c2VzW2ZpbHRlcnMuc3RhdHVzXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9nYW1lX21lZGlhL2AsIHtvYnNlcnZlOiAncmVzcG9uc2UnLCBwYXJhbXN9KS5waXBlKFxuICAgICAgbWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0b3RhbDogK3Jlc3BvbnNlLmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgICBkYXRhOiBHYW1lLnRvRnJvbnQocmVzcG9uc2UuYm9keSlcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldExlYWd1ZUdhbWVNZWRpYShsZWFndWVJZDogbnVtYmVyLCBwYWdlOiBudW1iZXIsIHNpemU6IG51bWJlciwgZmlsdGVycz86IEdhbWVNZWRpYUZpbHRlcnMpOiBQcm9taXNlPFBhZ2luYXRlZFJlc3BvbnNlPEdhbWVbXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3BhZ2UnLCBwYWdlLnRvU3RyaW5nKCkpLnNldCgnc2l6ZScsIHNpemUudG9TdHJpbmcoKSk7XG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgIGlmIChmaWx0ZXJzLnRvdXJuYW1lbnRUb3VyKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3RvdXJuYW1lbnRfdG91cicsIGZpbHRlcnMudG91cm5hbWVudFRvdXIudG9TdHJpbmcoKSk7XG4gICAgICB9XG4gICAgICBpZiAoZmlsdGVycy50ZWFtSWQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndGVhbV9pZCcsIGZpbHRlcnMudGVhbUlkLnRvU3RyaW5nKCkpO1xuICAgICAgfVxuICAgICAgaWYgKGZpbHRlcnMudG91cm5hbWVudFN0YWdlSWQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndG91cm5hbWVudF9zdGFnZV9pZCcsIGZpbHRlcnMudG91cm5hbWVudFN0YWdlSWQudG9TdHJpbmcoKSk7XG4gICAgICB9XG4gICAgICBpZiAoZmlsdGVycy5wbGF5b2ZmSWQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGxheW9mZl9pZCcsIGZpbHRlcnMucGxheW9mZklkLnRvU3RyaW5nKCkpO1xuICAgICAgfVxuICAgICAgaWYgKGZpbHRlcnMucGxheW9mZlN0YWdlKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BsYXlvZmZfc3RhZ2UnLCBmaWx0ZXJzLnBsYXlvZmZTdGFnZS50b1N0cmluZygpKTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWx0ZXJzLnN0YXR1cykge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzdGF0dXMnLCBHYW1lU3RhdHVzZXNbZmlsdGVycy5zdGF0dXNdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2xlYWd1ZS8ke2xlYWd1ZUlkfS9nYW1lX21lZGlhL2AsIHtvYnNlcnZlOiAncmVzcG9uc2UnLCBwYXJhbXN9KS5waXBlKFxuICAgICAgbWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB0b3RhbDogK3Jlc3BvbnNlLmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgICBkYXRhOiBHYW1lLnRvRnJvbnQocmVzcG9uc2UuYm9keSlcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEdhbWVNZWRpYUJ5SWQoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPEdhbWU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL2dhbWVfbWVkaWEvJHtnYW1lSWR9L2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IEdhbWUudG9Gcm9udChyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHYW1lTWVkaWEoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPE1lZGlhSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X2dhbWUvJHtnYW1lSWR9L21lZGlhL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IE1lZGlhSXRlbS50b0Zyb250KHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVppcChtZWRpYUlkczogbnVtYmVyW10pOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvbWVkaWEvemlwL2AsIG1lZGlhSWRzLCB7IHJlc3BvbnNlVHlwZTogJ2Jsb2InIH0pXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { __decorate, __extends } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { NotificationBaseApi } from './notification-base-api';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ import * as i2 from "../services/config.service";
7
+ var NotificationApi = /** @class */ (function (_super) {
8
+ __extends(NotificationApi, _super);
9
+ function NotificationApi() {
10
+ var _this = _super !== null && _super.apply(this, arguments) || this;
11
+ _this.apiUrl = '/api/v1';
12
+ return _this;
13
+ }
14
+ NotificationApi.ɵprov = i0.ɵɵdefineInjectable({ factory: function NotificationApi_Factory() { return new NotificationApi(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: NotificationApi, providedIn: "root" });
15
+ NotificationApi = __decorate([
16
+ Injectable({ providedIn: 'root' })
17
+ ], NotificationApi);
18
+ return NotificationApi;
19
+ }(NotificationBaseApi));
20
+ export { NotificationApi };
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbImFwaS9ub3RpZmljYXRpb24tYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7O0FBRzlEO0lBQXFDLG1DQUFtQjtJQUF4RDtRQUFBLHFFQUVDO1FBRFcsWUFBTSxHQUFHLFNBQVMsQ0FBQzs7S0FDOUI7O0lBRlksZUFBZTtRQUQzQixVQUFVLENBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQUM7T0FDcEIsZUFBZSxDQUUzQjswQkFORDtDQU1DLEFBRkQsQ0FBcUMsbUJBQW1CLEdBRXZEO1NBRlksZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkJhc2VBcGkgfSBmcm9tICcuL25vdGlmaWNhdGlvbi1iYXNlLWFwaSc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkFwaSBleHRlbmRzIE5vdGlmaWNhdGlvbkJhc2VBcGkge1xuICBwcm90ZWN0ZWQgYXBpVXJsID0gJy9hcGkvdjEnO1xufVxuIl19
@@ -0,0 +1,109 @@
1
+ import { __awaiter, __decorate, __generator, __values } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { HttpClient, HttpParams } from '@angular/common/http';
4
+ import { map } from 'rxjs/operators';
5
+ import { Notification } from '../models/notification';
6
+ import { NotificationSettings } from '../models/notification-settings';
7
+ import { ConfigService } from '../services/config.service';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common/http";
10
+ import * as i2 from "../services/config.service";
11
+ var NotificationBaseApi = /** @class */ (function () {
12
+ function NotificationBaseApi(httpClient, configService) {
13
+ this.httpClient = httpClient;
14
+ this.configService = configService;
15
+ }
16
+ NotificationBaseApi.prototype.getCount = function () {
17
+ return __awaiter(this, void 0, void 0, function () {
18
+ return __generator(this, function (_a) {
19
+ return [2 /*return*/, this.httpClient
20
+ .get("" + this.configService.get('apiUrl') + this.apiUrl + "/notification/count/")
21
+ .pipe(map(function (data) { return +data; }))
22
+ .toPromise()];
23
+ });
24
+ });
25
+ };
26
+ NotificationBaseApi.prototype.getList = function (page, size, filters) {
27
+ if (filters === void 0) { filters = {}; }
28
+ return __awaiter(this, void 0, void 0, function () {
29
+ var params, _a, _b, key;
30
+ var e_1, _c;
31
+ return __generator(this, function (_d) {
32
+ params = new HttpParams()
33
+ .set('page', page.toString())
34
+ .set('size', size.toString());
35
+ try {
36
+ for (_a = __values(Object.keys(filters)), _b = _a.next(); !_b.done; _b = _a.next()) {
37
+ key = _b.value;
38
+ params = params.set(key, filters[key]);
39
+ }
40
+ }
41
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
42
+ finally {
43
+ try {
44
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
45
+ }
46
+ finally { if (e_1) throw e_1.error; }
47
+ }
48
+ return [2 /*return*/, this.httpClient
49
+ .get("" + this.configService.get('apiUrl') + this.apiUrl + "/notification/", { params: params, observe: 'response' })
50
+ .pipe(map(function (response) {
51
+ var data = Notification.toFront(response.body);
52
+ return {
53
+ total: +response.headers.get('x-page-count'),
54
+ data: data
55
+ };
56
+ })).toPromise()];
57
+ });
58
+ });
59
+ };
60
+ NotificationBaseApi.prototype.markViewed = function (notificationId, viewed) {
61
+ return __awaiter(this, void 0, void 0, function () {
62
+ return __generator(this, function (_a) {
63
+ return [2 /*return*/, this.httpClient
64
+ .post("" + this.configService.get('apiUrl') + this.apiUrl + "/notification/" + notificationId + "/viewed/", { viewed: viewed })
65
+ .pipe(map(function (data) { return Notification.toFront(data); }))
66
+ .toPromise()];
67
+ });
68
+ });
69
+ };
70
+ NotificationBaseApi.prototype.markAllViewed = function () {
71
+ return __awaiter(this, void 0, void 0, function () {
72
+ return __generator(this, function (_a) {
73
+ return [2 /*return*/, this.httpClient
74
+ .post("" + this.configService.get('apiUrl') + this.apiUrl + "/notification/viewed/", {})
75
+ .pipe(map(function (data) { return Notification.toFront(data); }))
76
+ .toPromise()];
77
+ });
78
+ });
79
+ };
80
+ NotificationBaseApi.prototype.getNotificationSettings = function () {
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ return __generator(this, function (_a) {
83
+ return [2 /*return*/, this.httpClient.get("" + this.configService.get('apiUrl') + this.apiUrl + "/notification_settings/")
84
+ .pipe(map(function (data) { return NotificationSettings.toFront(data); }))
85
+ .toPromise()];
86
+ });
87
+ });
88
+ };
89
+ NotificationBaseApi.prototype.updateNotificationSettings = function (data) {
90
+ return __awaiter(this, void 0, void 0, function () {
91
+ return __generator(this, function (_a) {
92
+ return [2 /*return*/, this.httpClient.post("" + this.configService.get('apiUrl') + this.apiUrl + "/notification_settings/", NotificationSettings.toBack(data))
93
+ .pipe(map(function (result) { return NotificationSettings.toFront(result); }))
94
+ .toPromise()];
95
+ });
96
+ });
97
+ };
98
+ NotificationBaseApi.ctorParameters = function () { return [
99
+ { type: HttpClient },
100
+ { type: ConfigService }
101
+ ]; };
102
+ NotificationBaseApi.ɵprov = i0.ɵɵdefineInjectable({ factory: function NotificationBaseApi_Factory() { return new NotificationBaseApi(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigService)); }, token: NotificationBaseApi, providedIn: "root" });
103
+ NotificationBaseApi = __decorate([
104
+ Injectable({ providedIn: 'root' })
105
+ ], NotificationBaseApi);
106
+ return NotificationBaseApi;
107
+ }());
108
+ export { NotificationBaseApi };
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWJhc2UtYXBpLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG10Z2FtZS9jb3JlLyIsInNvdXJjZXMiOlsiYXBpL25vdGlmaWNhdGlvbi1iYXNlLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBUzNEO0lBR0UsNkJBQ1UsVUFBc0IsRUFDdEIsYUFBNEI7UUFENUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUNuQyxDQUFDO0lBRUUsc0NBQVEsR0FBZDs7O2dCQUNFLHNCQUFPLElBQUksQ0FBQyxVQUFVO3lCQUNuQixHQUFHLENBQUMsS0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSx5QkFBc0IsQ0FBQzt5QkFDNUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFBLElBQUksSUFBSSxPQUFBLENBQUMsSUFBSSxFQUFMLENBQUssQ0FBQyxDQUFDO3lCQUN4QixTQUFTLEVBQUUsRUFBQzs7O0tBQ2hCO0lBRUsscUNBQU8sR0FBYixVQUFjLElBQVksRUFBRSxJQUFZLEVBQUUsT0FBaUM7UUFBakMsd0JBQUEsRUFBQSxZQUFpQzs7Ozs7Z0JBQ3JFLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTtxQkFDMUIsR0FBRyxDQUFDLE1BQU0sRUFBRSxJQUFJ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QyxNQUFNLENBQUMsRUFBcEMsQ0FBb0MsQ0FBQyxDQUFDO3lCQUN6RCxTQUFTLEVBQUUsRUFBQzs7O0tBQ2hCOztnQkEzRHFCLFVBQVU7Z0JBQ1AsYUFBYTs7O0lBTDNCLG1CQUFtQjtRQUQvQixVQUFVLENBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDLENBQUM7T0FDcEIsbUJBQW1CLENBZ0UvQjs4QkFoRkQ7Q0FnRkMsQUFoRUQsSUFnRUM7U0FoRVksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL2ludGVybmFsL09ic2VydmFibGUnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL25vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXR0aW5ncyB9IGZyb20gJy4uL21vZGVscy9ub3RpZmljYXRpb24tc2V0dGluZ3MnO1xuaW1wb3J0IHsgUGFnaW5hdGVkUmVzcG9uc2UgfSBmcm9tICcuL3BhZ2luYXRlZC1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25GaWx0ZXJzIHtcbiAgcHJvdGVjdGVkPzogYm9vbGVhbjtcbiAgbm90X3ZpZXdlZD86IGJvb2xlYW47XG4gIGltcG9ydGFudD86IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkJhc2VBcGkge1xuICBwcm90ZWN0ZWQgYXBpVXJsOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgKSB7fVxuXG4gIGFzeW5jIGdldENvdW50KCk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0ke3RoaXMuYXBpVXJsfS9ub3RpZmljYXRpb24vY291bnQvYClcbiAgICAgIC5waXBlKG1hcChkYXRhID0+ICtkYXRhKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldExpc3QocGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM6IE5vdGlmaWNhdGlvbkZpbHRlcnMgPSB7fSk6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8Tm90aWZpY2F0aW9uW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKClcbiAgICAgIC5zZXQoJ3BhZ2UnLCBwYWdlLnRvU3RyaW5nKCkpXG4gICAgICAuc2V0KCdzaXplJywgc2l6ZS50b1N0cmluZygpKTtcbiAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhmaWx0ZXJzKSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldChrZXksIGZpbHRlcnNba2V5XSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0ke3RoaXMuYXBpVXJsfS9ub3RpZmljYXRpb24vYCwge3BhcmFtcywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICBjb25zdCBkYXRhOiBOb3RpZmljYXRpb25bXSA9IE5vdGlmaWNhdGlvbi50b0Zyb250KHJlc3BvbnNlLmJvZHkpO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b3RhbDogK3Jlc3BvbnNlLmhlYWRlcnMuZ2V0KCd4LXBhZ2UtY291bnQnKSxcbiAgICAgICAgICAgIGRhdGFcbiAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBtYXJrVmlld2VkKG5vdGlmaWNhdGlvbklkOiBudW1iZXIsIHZpZXdlZDogYm9vbGVhbik6IFByb21pc2U8Tm90aWZpY2F0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3QoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9JHt0aGlzLmFwaVVybH0vbm90aWZpY2F0aW9uLyR7bm90aWZpY2F0aW9uSWR9L3ZpZXdlZC9gLCB7dmlld2VkfSlcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IE5vdGlmaWNhdGlvbi50b0Zyb250KGRhdGEpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIG1hcmtBbGxWaWV3ZWQoKTogUHJvbWlzZTxOb3RpZmljYXRpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfSR7dGhpcy5hcGlVcmx9L25vdGlmaWNhdGlvbi92aWV3ZWQvYCwge30pXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBOb3RpZmljYXRpb24udG9Gcm9udChkYXRhKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXROb3RpZmljYXRpb25TZXR0aW5ncygpOiBQcm9taXNlPE5vdGlmaWNhdGlvblNldHRpbmdzPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9JHt0aGlzLmFwaVVybH0vbm90aWZpY2F0aW9uX3NldHRpbmdzL2ApXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBOb3RpZmljYXRpb25TZXR0aW5ncy50b0Zyb250KGRhdGEpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZU5vdGlmaWNhdGlvblNldHRpbmdzKGRhdGE6IE5vdGlmaWNhdGlvblNldHRpbmdzKTogUHJvbWlzZTxOb3RpZmljYXRpb25TZXR0aW5ncz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfSR7dGhpcy5hcGlVcmx9L25vdGlmaWNhdGlvbl9zZXR0aW5ncy9gLFxuICAgICAgTm90aWZpY2F0aW9uU2V0dGluZ3MudG9CYWNrKGRhdGEpXG4gICAgKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBOb3RpZmljYXRpb25TZXR0aW5ncy50b0Zyb250KHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG59XG4iXX0=