@mtgame/core 0.2.25 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (522) hide show
  1. package/api/basketball-game-api.d.ts +3 -0
  2. package/api/feedback-api.d.ts +5 -2
  3. package/api/file-api.d.ts +3 -0
  4. package/api/football-game-api.d.ts +3 -0
  5. package/api/game-base-api.d.ts +3 -0
  6. package/api/handball-game-api.d.ts +3 -0
  7. package/api/hockey-game-api.d.ts +3 -0
  8. package/api/league-api.d.ts +3 -0
  9. package/api/league-news-api.d.ts +3 -0
  10. package/api/league-player-api.d.ts +3 -0
  11. package/api/media-api.d.ts +5 -2
  12. package/api/notification-api.d.ts +3 -0
  13. package/api/notification-base-api.d.ts +3 -0
  14. package/api/org-notification-api.d.ts +3 -0
  15. package/api/public-team-api.d.ts +3 -2
  16. package/api/public-user-api.d.ts +3 -0
  17. package/api/reference-api.d.ts +3 -0
  18. package/api/rugby-game-api.d.ts +3 -0
  19. package/api/team-api.d.ts +4 -1
  20. package/api/team-event-api.d.ts +3 -0
  21. package/api/tournament-api.d.ts +3 -2
  22. package/api/tournament-join-api.d.ts +3 -0
  23. package/api/tournament-round-api.d.ts +3 -0
  24. package/api/tournament-season-api.d.ts +3 -0
  25. package/api/tournament-stage-api.d.ts +3 -0
  26. package/api/user-api.d.ts +5 -2
  27. package/api/volleyball-game-api.d.ts +3 -1
  28. package/api/waterpolo-game-api.d.ts +3 -0
  29. package/esm2020/api/basketball-game-api.mjs +44 -0
  30. package/esm2020/api/feedback-api.mjs +29 -0
  31. package/esm2020/api/file-api.mjs +41 -0
  32. package/esm2020/api/football-game-api.mjs +49 -0
  33. package/esm2020/api/game-base-api.mjs +40 -0
  34. package/esm2020/api/handball-game-api.mjs +49 -0
  35. package/esm2020/api/hockey-game-api.mjs +49 -0
  36. package/esm2020/api/league-api.mjs +119 -0
  37. package/esm2020/api/league-news-api.mjs +57 -0
  38. package/esm2020/api/league-player-api.mjs +31 -0
  39. package/esm2020/api/media-api.mjs +124 -0
  40. package/esm2020/api/notification-api.mjs +16 -0
  41. package/esm2020/api/notification-base-api.mjs +62 -0
  42. package/esm2020/api/org-notification-api.mjs +16 -0
  43. package/{esm2015/api/paginated-response.interface.js → esm2020/api/paginated-response.interface.mjs} +0 -0
  44. package/{esm2015/api/public-api.js → esm2020/api/public-api.mjs} +0 -0
  45. package/esm2020/api/public-team-api.mjs +28 -0
  46. package/esm2020/api/public-user-api.mjs +38 -0
  47. package/esm2020/api/reference-api.mjs +30 -0
  48. package/esm2020/api/rugby-game-api.mjs +47 -0
  49. package/esm2020/api/team-api.mjs +302 -0
  50. package/esm2020/api/team-event-api.mjs +61 -0
  51. package/esm2020/api/tournament-api.mjs +391 -0
  52. package/esm2020/api/tournament-join-api.mjs +55 -0
  53. package/esm2020/api/tournament-round-api.mjs +57 -0
  54. package/esm2020/api/tournament-season-api.mjs +92 -0
  55. package/esm2020/api/tournament-stage-api.mjs +48 -0
  56. package/esm2020/api/user-api.mjs +219 -0
  57. package/esm2020/api/volleyball-game-api.mjs +49 -0
  58. package/esm2020/api/waterpolo-game-api.mjs +49 -0
  59. package/esm2020/http-cookie.interceptor.mjs +38 -0
  60. package/{esm2015/localization/basketball-game-log-types.js → esm2020/localization/basketball-game-log-types.mjs} +0 -0
  61. package/{esm2015/localization/basketball-game-sub-log-types.js → esm2020/localization/basketball-game-sub-log-types.mjs} +2 -5
  62. package/{esm2015/localization/football-game-log-types.js → esm2020/localization/football-game-log-types.mjs} +0 -0
  63. package/{esm2015/localization/handball-game-log-types.js → esm2020/localization/handball-game-log-types.mjs} +0 -0
  64. package/{esm2015/localization/hockey-game-log-types.js → esm2020/localization/hockey-game-log-types.mjs} +2 -5
  65. package/esm2020/localization/hockey-penalty-types.mjs +50 -0
  66. package/{esm2015/localization/organization-statuses.js → esm2020/localization/organization-statuses.mjs} +0 -0
  67. package/{esm2015/localization/overtime-types.js → esm2020/localization/overtime-types.mjs} +0 -0
  68. package/{esm2015/localization/public-api.js → esm2020/localization/public-api.mjs} +0 -0
  69. package/{esm2015/localization/rugby-foul-game-stage.js → esm2020/localization/rugby-foul-game-stage.mjs} +0 -0
  70. package/{esm2015/localization/rugby-foul-sanction.js → esm2020/localization/rugby-foul-sanction.mjs} +0 -0
  71. package/{esm2015/localization/rugby-game-log-types.js → esm2020/localization/rugby-game-log-types.mjs} +0 -0
  72. package/{esm2015/localization/team-event-type.js → esm2020/localization/team-event-type.mjs} +0 -0
  73. package/{esm2015/localization/team-user-role.js → esm2020/localization/team-user-role.mjs} +0 -0
  74. package/{esm2015/localization/user-profile.js → esm2020/localization/user-profile.mjs} +0 -0
  75. package/{esm2015/localization/volleyball-game-log-types.js → esm2020/localization/volleyball-game-log-types.mjs} +0 -0
  76. package/{esm2015/localization/waterpolo-game-log-types.js → esm2020/localization/waterpolo-game-log-types.mjs} +3 -3
  77. package/esm2020/models/achievement.mjs +18 -0
  78. package/esm2020/models/base-statistic.mjs +4 -0
  79. package/esm2020/models/basketball-game-config.mjs +18 -0
  80. package/esm2020/models/basketball-game-log.mjs +158 -0
  81. package/esm2020/models/basketball-game-statistic.mjs +47 -0
  82. package/esm2020/models/basketball-game-team-statistic.mjs +15 -0
  83. package/esm2020/models/basketball-profile.mjs +27 -0
  84. package/esm2020/models/basketball-statistic.mjs +62 -0
  85. package/esm2020/models/city.mjs +9 -0
  86. package/esm2020/models/feedback.mjs +14 -0
  87. package/esm2020/models/file.mjs +31 -0
  88. package/esm2020/models/football-game-config.mjs +22 -0
  89. package/esm2020/models/football-game-log.mjs +83 -0
  90. package/esm2020/models/football-game-statistic.mjs +93 -0
  91. package/esm2020/models/football-game-team-statistic.mjs +15 -0
  92. package/esm2020/models/football-profile.mjs +27 -0
  93. package/esm2020/models/football-statistic.mjs +76 -0
  94. package/esm2020/models/game-bill.mjs +30 -0
  95. package/esm2020/models/game-config-base.mjs +4 -0
  96. package/esm2020/models/game-invite.mjs +22 -0
  97. package/esm2020/models/game-log-base.mjs +4 -0
  98. package/esm2020/models/game-statistic-base.mjs +7 -0
  99. package/{esm2015/models/game-team-statistic-base.js → esm2020/models/game-team-statistic-base.mjs} +0 -0
  100. package/esm2020/models/game-timeline-stages.mjs +19 -0
  101. package/esm2020/models/game-user-disqualification.mjs +14 -0
  102. package/esm2020/models/game-user-limitation.mjs +19 -0
  103. package/esm2020/models/game-user.mjs +20 -0
  104. package/esm2020/models/game.mjs +188 -0
  105. package/esm2020/models/handball-game-config.mjs +16 -0
  106. package/esm2020/models/handball-game-log.mjs +71 -0
  107. package/esm2020/models/handball-game-statistic.mjs +67 -0
  108. package/esm2020/models/handball-game-team-statistic.mjs +15 -0
  109. package/esm2020/models/handball-profile.mjs +23 -0
  110. package/esm2020/models/handball-statistic.mjs +37 -0
  111. package/esm2020/models/hockey-game-config.mjs +25 -0
  112. package/esm2020/models/hockey-game-log.mjs +102 -0
  113. package/esm2020/models/hockey-game-statistic.mjs +101 -0
  114. package/esm2020/models/hockey-game-team-statistic.mjs +15 -0
  115. package/esm2020/models/hockey-penalty-types.mjs +6 -0
  116. package/esm2020/models/hockey-profile.mjs +25 -0
  117. package/esm2020/models/hockey-statistic.mjs +49 -0
  118. package/esm2020/models/league-banner.mjs +21 -0
  119. package/esm2020/models/league-court.mjs +9 -0
  120. package/esm2020/models/league-document.mjs +14 -0
  121. package/esm2020/models/league-news.mjs +25 -0
  122. package/esm2020/models/league-partner.mjs +14 -0
  123. package/esm2020/models/league-player.mjs +81 -0
  124. package/esm2020/models/league-playlist.mjs +14 -0
  125. package/esm2020/models/league-user.mjs +38 -0
  126. package/esm2020/models/league.mjs +38 -0
  127. package/esm2020/models/media-item.mjs +20 -0
  128. package/esm2020/models/notification-settings.mjs +20 -0
  129. package/esm2020/models/notification.mjs +105 -0
  130. package/esm2020/models/organization-bill.mjs +31 -0
  131. package/esm2020/models/organization-statistic.mjs +9 -0
  132. package/esm2020/models/organization-tariff.mjs +16 -0
  133. package/esm2020/models/organization.mjs +21 -0
  134. package/esm2020/models/playoff.mjs +56 -0
  135. package/esm2020/models/poll.mjs +83 -0
  136. package/esm2020/models/public-api.mjs +110 -0
  137. package/esm2020/models/rugby-foul-type.mjs +39 -0
  138. package/esm2020/models/rugby-game-config.mjs +23 -0
  139. package/esm2020/models/rugby-game-log.mjs +120 -0
  140. package/esm2020/models/rugby-game-statistic.mjs +29 -0
  141. package/esm2020/models/rugby-game-team-statistic.mjs +15 -0
  142. package/esm2020/models/rugby-profile.mjs +22 -0
  143. package/esm2020/models/rugby-statistic.mjs +37 -0
  144. package/esm2020/models/season-tournament.mjs +9 -0
  145. package/esm2020/models/sport.mjs +96 -0
  146. package/esm2020/models/team-access.mjs +14 -0
  147. package/esm2020/models/team-achievement.mjs +18 -0
  148. package/esm2020/models/team-event-invite.mjs +18 -0
  149. package/{esm2015/models/team-event-type.js → esm2020/models/team-event-type.mjs} +0 -0
  150. package/esm2020/models/team-event.mjs +27 -0
  151. package/esm2020/models/team-invite-external.mjs +9 -0
  152. package/esm2020/models/team-invite.mjs +18 -0
  153. package/esm2020/models/team-permission.mjs +23 -0
  154. package/esm2020/models/team-user.mjs +30 -0
  155. package/esm2020/models/team.mjs +46 -0
  156. package/esm2020/models/teams-and-users.mjs +20 -0
  157. package/esm2020/models/tournament-disqualification.mjs +14 -0
  158. package/esm2020/models/tournament-division.mjs +14 -0
  159. package/esm2020/models/tournament-event.mjs +28 -0
  160. package/esm2020/models/tournament-group.mjs +9 -0
  161. package/esm2020/models/tournament-invite.mjs +21 -0
  162. package/esm2020/models/tournament-join-team.mjs +27 -0
  163. package/esm2020/models/tournament-join1x1-data.mjs +15 -0
  164. package/esm2020/models/tournament-news.mjs +17 -0
  165. package/esm2020/models/tournament-round-team.mjs +40 -0
  166. package/esm2020/models/tournament-round.mjs +22 -0
  167. package/esm2020/models/tournament-season.mjs +25 -0
  168. package/esm2020/models/tournament-stage-team.mjs +22 -0
  169. package/esm2020/models/tournament-stage.mjs +20 -0
  170. package/esm2020/models/tournament-team-user-invite.mjs +14 -0
  171. package/esm2020/models/tournament-team-user.mjs +20 -0
  172. package/esm2020/models/tournament-team.mjs +28 -0
  173. package/esm2020/models/tournament.mjs +153 -0
  174. package/esm2020/models/user-access.mjs +9 -0
  175. package/esm2020/models/user-permission.mjs +23 -0
  176. package/esm2020/models/user-profile.mjs +9 -0
  177. package/esm2020/models/user.mjs +55 -0
  178. package/esm2020/models/util.mjs +143 -0
  179. package/esm2020/models/volleyball-game-config.mjs +27 -0
  180. package/esm2020/models/volleyball-game-log.mjs +124 -0
  181. package/esm2020/models/volleyball-game-statistic.mjs +34 -0
  182. package/esm2020/models/volleyball-game-team-statistic.mjs +15 -0
  183. package/esm2020/models/volleyball-profile.mjs +27 -0
  184. package/esm2020/models/volleyball-statistic.mjs +44 -0
  185. package/esm2020/models/waterpolo-game-config.mjs +25 -0
  186. package/esm2020/models/waterpolo-game-log.mjs +142 -0
  187. package/esm2020/models/waterpolo-game-statistic.mjs +472 -0
  188. package/esm2020/models/waterpolo-game-team-statistic.mjs +15 -0
  189. package/esm2020/models/waterpolo-profile.mjs +26 -0
  190. package/esm2020/models/waterpolo-statistic.mjs +57 -0
  191. package/{esm2015/mtgame-core.js → esm2020/mtgame-core.mjs} +0 -0
  192. package/{esm2015/public-api.js → esm2020/public-api.mjs} +2 -1
  193. package/esm2020/services/base.controller.mjs +19 -0
  194. package/esm2020/services/base.service.mjs +18 -0
  195. package/esm2020/services/centrifugo.service.mjs +105 -0
  196. package/esm2020/services/config.service.mjs +44 -0
  197. package/{esm2015/services/public-api.js → esm2020/services/public-api.mjs} +2 -1
  198. package/esm2020/storage/local-storage-engine.mjs +18 -0
  199. package/esm2020/storage/new.mjs +46 -0
  200. package/esm2020/storage/old-local-storage-engine.mjs +18 -0
  201. package/esm2020/storage/old-storage-engine.mjs +49 -0
  202. package/esm2020/storage/public-api.mjs +7 -0
  203. package/esm2020/storage/storage-engine.mjs +47 -0
  204. package/{esm2015/storage/store.js → esm2020/storage/store.mjs} +1 -1
  205. package/{esm2015/utils/array.js → esm2020/utils/array.mjs} +0 -0
  206. package/esm2020/utils/component-destroyed.mjs +27 -0
  207. package/{esm2015/utils/cookie.js → esm2020/utils/cookie.mjs} +0 -0
  208. package/esm2020/utils/data.mjs +164 -0
  209. package/{esm2015/utils/date.js → esm2020/utils/date.mjs} +0 -0
  210. package/{esm2015/utils/device.js → esm2020/utils/device.mjs} +0 -0
  211. package/{esm2015/utils/enum.js → esm2020/utils/enum.mjs} +0 -0
  212. package/{esm2015/utils/errors.js → esm2020/utils/errors.mjs} +2 -4
  213. package/{esm2015/utils/favicon.js → esm2020/utils/favicon.mjs} +0 -0
  214. package/{esm2015/utils/form.js → esm2020/utils/form.mjs} +0 -0
  215. package/{esm2015/utils/public-api.js → esm2020/utils/public-api.mjs} +0 -0
  216. package/{esm2015/utils/validators.js → esm2020/utils/validators.mjs} +0 -0
  217. package/esm2020/websocket/game.websocket.mjs +61 -0
  218. package/esm2020/websocket/public-api.mjs +2 -0
  219. package/fesm2015/{mtgame-core.js → mtgame-core.mjs} +1665 -4848
  220. package/fesm2015/mtgame-core.mjs.map +1 -0
  221. package/fesm2020/mtgame-core.mjs +7270 -0
  222. package/fesm2020/mtgame-core.mjs.map +1 -0
  223. package/http-cookie.interceptor.d.ts +3 -0
  224. package/localization/basketball-game-sub-log-types.d.ts +0 -3
  225. package/localization/football-game-log-types.d.ts +29 -29
  226. package/localization/hockey-game-log-types.d.ts +0 -3
  227. package/localization/hockey-penalty-types.d.ts +2 -5
  228. package/models/achievement.d.ts +0 -2
  229. package/models/base-statistic.d.ts +2 -1
  230. package/models/basketball-game-config.d.ts +2 -4
  231. package/models/basketball-game-log.d.ts +2 -9
  232. package/models/basketball-game-statistic.d.ts +1 -4
  233. package/models/basketball-game-team-statistic.d.ts +0 -2
  234. package/models/basketball-profile.d.ts +0 -2
  235. package/models/basketball-statistic.d.ts +1 -4
  236. package/models/city.d.ts +0 -2
  237. package/models/feedback.d.ts +2 -3
  238. package/models/file.d.ts +2 -3
  239. package/models/football-game-config.d.ts +2 -4
  240. package/models/football-game-log.d.ts +30 -33
  241. package/models/football-game-statistic.d.ts +1 -4
  242. package/models/football-game-team-statistic.d.ts +0 -2
  243. package/models/football-profile.d.ts +0 -2
  244. package/models/football-statistic.d.ts +1 -4
  245. package/models/game-bill.d.ts +0 -2
  246. package/models/game-config-base.d.ts +3 -0
  247. package/models/game-invite.d.ts +0 -2
  248. package/models/game-log-base.d.ts +3 -2
  249. package/models/game-statistic-base.d.ts +3 -1
  250. package/models/game-timeline-stages.d.ts +1 -5
  251. package/models/game-user-disqualification.d.ts +0 -2
  252. package/models/game-user-limitation.d.ts +0 -4
  253. package/models/game-user.d.ts +0 -2
  254. package/models/game.d.ts +10 -21
  255. package/models/handball-game-config.d.ts +2 -4
  256. package/models/handball-game-log.d.ts +1 -4
  257. package/models/handball-game-statistic.d.ts +1 -4
  258. package/models/handball-game-team-statistic.d.ts +0 -2
  259. package/models/handball-profile.d.ts +0 -2
  260. package/models/handball-statistic.d.ts +1 -4
  261. package/models/hockey-game-config.d.ts +2 -4
  262. package/models/hockey-game-log.d.ts +4 -15
  263. package/models/hockey-game-statistic.d.ts +1 -18
  264. package/models/hockey-game-team-statistic.d.ts +0 -2
  265. package/models/hockey-penalty-types.d.ts +7 -0
  266. package/models/hockey-profile.d.ts +0 -2
  267. package/models/hockey-statistic.d.ts +1 -18
  268. package/models/league-banner.d.ts +0 -2
  269. package/models/league-court.d.ts +0 -2
  270. package/models/league-document.d.ts +0 -2
  271. package/models/league-news.d.ts +0 -2
  272. package/models/league-partner.d.ts +0 -2
  273. package/models/league-player.d.ts +2 -13
  274. package/models/league-playlist.d.ts +0 -2
  275. package/models/league-user.d.ts +0 -2
  276. package/models/league.d.ts +1 -6
  277. package/models/media-item.d.ts +0 -2
  278. package/models/notification-settings.d.ts +0 -2
  279. package/models/notification.d.ts +0 -2
  280. package/models/organization-bill.d.ts +0 -2
  281. package/models/organization-statistic.d.ts +0 -2
  282. package/models/organization-tariff.d.ts +0 -2
  283. package/models/organization.d.ts +0 -2
  284. package/models/playoff.d.ts +0 -4
  285. package/models/poll.d.ts +0 -6
  286. package/models/public-api.d.ts +0 -6
  287. package/models/rugby-foul-type.d.ts +0 -2
  288. package/models/rugby-game-config.d.ts +2 -4
  289. package/models/rugby-game-log.d.ts +1 -4
  290. package/models/rugby-game-statistic.d.ts +7 -10
  291. package/models/rugby-game-team-statistic.d.ts +0 -2
  292. package/models/rugby-profile.d.ts +0 -2
  293. package/models/rugby-statistic.d.ts +1 -4
  294. package/models/season-tournament.d.ts +0 -2
  295. package/models/sport.d.ts +0 -2
  296. package/models/team-access.d.ts +0 -2
  297. package/models/team-achievement.d.ts +0 -2
  298. package/models/team-event-invite.d.ts +2 -3
  299. package/models/team-event.d.ts +0 -2
  300. package/models/team-invite-external.d.ts +0 -2
  301. package/models/team-invite.d.ts +0 -2
  302. package/models/team-permission.d.ts +0 -2
  303. package/models/team-user.d.ts +0 -2
  304. package/models/team.d.ts +0 -2
  305. package/models/teams-and-users.d.ts +0 -2
  306. package/models/tournament-disqualification.d.ts +0 -2
  307. package/models/tournament-division.d.ts +0 -2
  308. package/models/tournament-event.d.ts +0 -2
  309. package/models/tournament-group.d.ts +0 -2
  310. package/models/tournament-invite.d.ts +0 -2
  311. package/models/tournament-join-team.d.ts +0 -4
  312. package/models/tournament-join1x1-data.d.ts +0 -2
  313. package/models/tournament-news.d.ts +0 -2
  314. package/models/tournament-round-team.d.ts +4 -14
  315. package/models/tournament-round.d.ts +0 -2
  316. package/models/tournament-season.d.ts +0 -2
  317. package/models/tournament-stage-team.d.ts +0 -2
  318. package/models/tournament-stage.d.ts +0 -2
  319. package/models/tournament-team-user-invite.d.ts +0 -2
  320. package/models/tournament-team-user.d.ts +0 -5
  321. package/models/tournament-team.d.ts +0 -16
  322. package/models/tournament.d.ts +5 -21
  323. package/models/user-access.d.ts +0 -2
  324. package/models/user-permission.d.ts +0 -2
  325. package/models/user-profile.d.ts +2 -3
  326. package/models/user.d.ts +2 -6
  327. package/models/util.d.ts +22 -46
  328. package/models/volleyball-game-config.d.ts +2 -4
  329. package/models/volleyball-game-log.d.ts +1 -4
  330. package/models/volleyball-game-statistic.d.ts +1 -4
  331. package/models/volleyball-game-team-statistic.d.ts +0 -2
  332. package/models/volleyball-profile.d.ts +0 -2
  333. package/models/volleyball-statistic.d.ts +1 -4
  334. package/models/waterpolo-game-config.d.ts +2 -4
  335. package/models/waterpolo-game-log.d.ts +1 -4
  336. package/models/waterpolo-game-statistic.d.ts +1 -4
  337. package/models/waterpolo-game-team-statistic.d.ts +0 -2
  338. package/models/waterpolo-profile.d.ts +0 -2
  339. package/models/waterpolo-statistic.d.ts +1 -4
  340. package/mtgame-core.d.ts +1 -0
  341. package/package.json +23 -10
  342. package/public-api.d.ts +1 -0
  343. package/services/base.controller.d.ts +12 -0
  344. package/services/base.service.d.ts +3 -0
  345. package/services/centrifugo.service.d.ts +6 -4
  346. package/services/config.service.d.ts +3 -0
  347. package/services/public-api.d.ts +1 -0
  348. package/storage/local-storage-engine.d.ts +2 -2
  349. package/storage/new.d.ts +17 -0
  350. package/storage/old-local-storage-engine.d.ts +6 -0
  351. package/storage/old-storage-engine.d.ts +24 -0
  352. package/storage/public-api.d.ts +5 -2
  353. package/storage/storage-engine.d.ts +25 -18
  354. package/storage/store.d.ts +3 -3
  355. package/utils/component-destroyed.d.ts +1 -1
  356. package/utils/data.d.ts +36 -6
  357. package/websocket/game.websocket.d.ts +24 -0
  358. package/websocket/public-api.d.ts +1 -0
  359. package/bundles/mtgame-core.umd.js +0 -14010
  360. package/bundles/mtgame-core.umd.js.map +0 -1
  361. package/esm2015/api/basketball-game-api.js +0 -61
  362. package/esm2015/api/feedback-api.js +0 -38
  363. package/esm2015/api/file-api.js +0 -49
  364. package/esm2015/api/football-game-api.js +0 -65
  365. package/esm2015/api/game-base-api.js +0 -54
  366. package/esm2015/api/handball-game-api.js +0 -65
  367. package/esm2015/api/hockey-game-api.js +0 -65
  368. package/esm2015/api/league-api.js +0 -151
  369. package/esm2015/api/league-news-api.js +0 -71
  370. package/esm2015/api/league-player-api.js +0 -34
  371. package/esm2015/api/media-api.js +0 -131
  372. package/esm2015/api/notification-api.js +0 -16
  373. package/esm2015/api/notification-base-api.js +0 -82
  374. package/esm2015/api/org-notification-api.js +0 -16
  375. package/esm2015/api/public-team-api.js +0 -41
  376. package/esm2015/api/public-user-api.js +0 -41
  377. package/esm2015/api/reference-api.js +0 -39
  378. package/esm2015/api/rugby-game-api.js +0 -63
  379. package/esm2015/api/team-api.js +0 -393
  380. package/esm2015/api/team-event-api.js +0 -80
  381. package/esm2015/api/tournament-api.js +0 -471
  382. package/esm2015/api/tournament-join-api.js +0 -72
  383. package/esm2015/api/tournament-round-api.js +0 -71
  384. package/esm2015/api/tournament-season-api.js +0 -112
  385. package/esm2015/api/tournament-stage-api.js +0 -63
  386. package/esm2015/api/user-api.js +0 -283
  387. package/esm2015/api/volleyball-game-api.js +0 -73
  388. package/esm2015/api/waterpolo-game-api.js +0 -65
  389. package/esm2015/http-cookie.interceptor.js +0 -37
  390. package/esm2015/localization/hockey-penalty-types.js +0 -50
  391. package/esm2015/models/achievement.js +0 -33
  392. package/esm2015/models/base-statistic.js +0 -2
  393. package/esm2015/models/basketball-game-config.js +0 -41
  394. package/esm2015/models/basketball-game-log.js +0 -192
  395. package/esm2015/models/basketball-game-statistic.js +0 -81
  396. package/esm2015/models/basketball-game-team-statistic.js +0 -27
  397. package/esm2015/models/basketball-profile.js +0 -43
  398. package/esm2015/models/basketball-statistic.js +0 -114
  399. package/esm2015/models/city.js +0 -22
  400. package/esm2015/models/feedback.js +0 -34
  401. package/esm2015/models/file.js +0 -54
  402. package/esm2015/models/football-game-config.js +0 -44
  403. package/esm2015/models/football-game-log.js +0 -104
  404. package/esm2015/models/football-game-statistic.js +0 -137
  405. package/esm2015/models/football-game-team-statistic.js +0 -27
  406. package/esm2015/models/football-profile.js +0 -43
  407. package/esm2015/models/football-statistic.js +0 -150
  408. package/esm2015/models/game-bill.js +0 -47
  409. package/esm2015/models/game-invite.js +0 -37
  410. package/esm2015/models/game-log-base.js +0 -2
  411. package/esm2015/models/game-statistic-base.js +0 -2
  412. package/esm2015/models/game-timeline-stages.js +0 -53
  413. package/esm2015/models/game-user-disqualification.js +0 -28
  414. package/esm2015/models/game-user-limitation.js +0 -51
  415. package/esm2015/models/game-user.js +0 -37
  416. package/esm2015/models/game.js +0 -281
  417. package/esm2015/models/handball-game-config.js +0 -34
  418. package/esm2015/models/handball-game-log.js +0 -92
  419. package/esm2015/models/handball-game-statistic.js +0 -101
  420. package/esm2015/models/handball-game-team-statistic.js +0 -27
  421. package/esm2015/models/handball-profile.js +0 -39
  422. package/esm2015/models/handball-statistic.js +0 -95
  423. package/esm2015/models/hockey-game-config.js +0 -48
  424. package/esm2015/models/hockey-game-log.js +0 -128
  425. package/esm2015/models/hockey-game-statistic.js +0 -159
  426. package/esm2015/models/hockey-game-team-statistic.js +0 -27
  427. package/esm2015/models/hockey-profile.js +0 -41
  428. package/esm2015/models/hockey-statistic.js +0 -143
  429. package/esm2015/models/league-banner.js +0 -39
  430. package/esm2015/models/league-court.js +0 -25
  431. package/esm2015/models/league-document.js +0 -26
  432. package/esm2015/models/league-field-base-value.js +0 -4
  433. package/esm2015/models/league-field-base.js +0 -25
  434. package/esm2015/models/league-news.js +0 -50
  435. package/esm2015/models/league-partner.js +0 -29
  436. package/esm2015/models/league-player-field-value.js +0 -32
  437. package/esm2015/models/league-player-field.js +0 -30
  438. package/esm2015/models/league-player.js +0 -116
  439. package/esm2015/models/league-playlist.js +0 -28
  440. package/esm2015/models/league-team-field.js +0 -30
  441. package/esm2015/models/league-user.js +0 -52
  442. package/esm2015/models/league.js +0 -71
  443. package/esm2015/models/media-item.js +0 -41
  444. package/esm2015/models/notification-settings.js +0 -35
  445. package/esm2015/models/notification.js +0 -134
  446. package/esm2015/models/organization-bill.js +0 -50
  447. package/esm2015/models/organization-statistic.js +0 -26
  448. package/esm2015/models/organization-tariff.js +0 -30
  449. package/esm2015/models/organization.js +0 -40
  450. package/esm2015/models/playoff.js +0 -91
  451. package/esm2015/models/poll.js +0 -132
  452. package/esm2015/models/public-api.js +0 -116
  453. package/esm2015/models/rugby-foul-type.js +0 -53
  454. package/esm2015/models/rugby-game-config.js +0 -42
  455. package/esm2015/models/rugby-game-log.js +0 -144
  456. package/esm2015/models/rugby-game-statistic.js +0 -89
  457. package/esm2015/models/rugby-game-team-statistic.js +0 -27
  458. package/esm2015/models/rugby-profile.js +0 -37
  459. package/esm2015/models/rugby-statistic.js +0 -123
  460. package/esm2015/models/season-tournament.js +0 -22
  461. package/esm2015/models/sport.js +0 -115
  462. package/esm2015/models/team-access.js +0 -45
  463. package/esm2015/models/team-achievement.js +0 -34
  464. package/esm2015/models/team-event-invite.js +0 -32
  465. package/esm2015/models/team-event.js +0 -45
  466. package/esm2015/models/team-invite-external.js +0 -25
  467. package/esm2015/models/team-invite.js +0 -41
  468. package/esm2015/models/team-permission.js +0 -38
  469. package/esm2015/models/team-user.js +0 -48
  470. package/esm2015/models/team.js +0 -71
  471. package/esm2015/models/teams-and-users.js +0 -32
  472. package/esm2015/models/tournament-disqualification.js +0 -30
  473. package/esm2015/models/tournament-division.js +0 -27
  474. package/esm2015/models/tournament-event.js +0 -45
  475. package/esm2015/models/tournament-group.js +0 -26
  476. package/esm2015/models/tournament-invite.js +0 -39
  477. package/esm2015/models/tournament-join-team.js +0 -55
  478. package/esm2015/models/tournament-join1x1-data.js +0 -32
  479. package/esm2015/models/tournament-news.js +0 -33
  480. package/esm2015/models/tournament-round-team.js +0 -95
  481. package/esm2015/models/tournament-round.js +0 -36
  482. package/esm2015/models/tournament-season.js +0 -45
  483. package/esm2015/models/tournament-stage-team.js +0 -47
  484. package/esm2015/models/tournament-stage.js +0 -35
  485. package/esm2015/models/tournament-team-field-value.js +0 -32
  486. package/esm2015/models/tournament-team-user-invite.js +0 -29
  487. package/esm2015/models/tournament-team-user.js +0 -39
  488. package/esm2015/models/tournament-team.js +0 -103
  489. package/esm2015/models/tournament.js +0 -266
  490. package/esm2015/models/user-access.js +0 -25
  491. package/esm2015/models/user-permission.js +0 -38
  492. package/esm2015/models/user-profile.js +0 -24
  493. package/esm2015/models/user.js +0 -91
  494. package/esm2015/models/util.js +0 -237
  495. package/esm2015/models/volleyball-game-config.js +0 -44
  496. package/esm2015/models/volleyball-game-log.js +0 -145
  497. package/esm2015/models/volleyball-game-statistic.js +0 -64
  498. package/esm2015/models/volleyball-game-team-statistic.js +0 -27
  499. package/esm2015/models/volleyball-profile.js +0 -43
  500. package/esm2015/models/volleyball-statistic.js +0 -92
  501. package/esm2015/models/waterpolo-game-config.js +0 -45
  502. package/esm2015/models/waterpolo-game-log.js +0 -167
  503. package/esm2015/models/waterpolo-game-statistic.js +0 -641
  504. package/esm2015/models/waterpolo-game-team-statistic.js +0 -27
  505. package/esm2015/models/waterpolo-profile.js +0 -42
  506. package/esm2015/models/waterpolo-statistic.js +0 -336
  507. package/esm2015/services/base.service.js +0 -16
  508. package/esm2015/services/centrifugo.service.js +0 -123
  509. package/esm2015/services/config.service.js +0 -37
  510. package/esm2015/storage/local-storage-engine.js +0 -18
  511. package/esm2015/storage/public-api.js +0 -4
  512. package/esm2015/storage/storage-engine.js +0 -61
  513. package/esm2015/utils/component-destroyed.js +0 -26
  514. package/esm2015/utils/data.js +0 -75
  515. package/fesm2015/mtgame-core.js.map +0 -1
  516. package/models/league-field-base-value.d.ts +0 -7
  517. package/models/league-field-base.d.ts +0 -24
  518. package/models/league-player-field-value.d.ts +0 -8
  519. package/models/league-player-field.d.ts +0 -5
  520. package/models/league-team-field.d.ts +0 -5
  521. package/models/tournament-team-field-value.d.ts +0 -8
  522. package/mtgame-core.metadata.json +0 -1
@@ -0,0 +1,124 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { MediaItem } from '../models/media-item';
4
+ import { Game, GameStatuses } from '../models/game';
5
+ import { map } from 'rxjs/operators';
6
+ import { applyGamesFilters } from './tournament-api';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common/http";
9
+ import * as i2 from "../services/config.service";
10
+ export class MediaApi {
11
+ constructor(httpClient, configService) {
12
+ this.httpClient = httpClient;
13
+ this.configService = configService;
14
+ }
15
+ async getMedia(mediaId) {
16
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/`).pipe(map(result => new MediaItem(result))).toPromise();
17
+ }
18
+ async getTournamentGameMedia(tournamentId, page, size, filters) {
19
+ let params = new HttpParams().set('page', page.toString()).set('size', size.toString());
20
+ params = applyGameMediaFilters(filters, params);
21
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/game_media/`, { observe: 'response', params }).pipe(map(response => {
22
+ return {
23
+ total: +response.headers.get('X-Page-Count'),
24
+ data: response.body.map(item => new Game(item)),
25
+ };
26
+ })).toPromise();
27
+ }
28
+ async getLeagueGameMedia(leagueId, page, size, filters) {
29
+ let params = new HttpParams().set('page', page.toString()).set('size', size.toString());
30
+ params = applyGameMediaFilters(filters, params);
31
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/game_media/`, { observe: 'response', params }).pipe(map(response => {
32
+ return {
33
+ total: +response.headers.get('X-Page-Count'),
34
+ data: response.body.map(item => new Game(item)),
35
+ };
36
+ })).toPromise();
37
+ }
38
+ async getLeagueMedia(leagueId, page, size, filters = {}) {
39
+ let params = new HttpParams().set('page', page.toString()).set('size', size.toString());
40
+ if (filters.mediaType) {
41
+ params = params.set('media_type', filters.mediaType);
42
+ }
43
+ if (filters.sort) {
44
+ params = params.set('sort', filters.sort);
45
+ }
46
+ if (filters.teamId) {
47
+ params = params.set('team_id', filters.teamId.toString());
48
+ }
49
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/media/`, { params, observe: 'response' })
50
+ .pipe(map(response => ({
51
+ total: +response.headers.get('X-Page-Count'),
52
+ data: response.body.map(item => new MediaItem(item)),
53
+ }))).toPromise();
54
+ }
55
+ async getTournamentMedia(tournamentId, page, size, filters = {}) {
56
+ let params = new HttpParams().set('page', page.toString()).set('size', size.toString());
57
+ if (filters.mediaType) {
58
+ params = params.set('media_type', filters.mediaType);
59
+ }
60
+ if (filters.sort) {
61
+ params = params.set('sort', filters.sort);
62
+ }
63
+ if (filters.teamId) {
64
+ params = params.set('team_id', filters.teamId.toString());
65
+ }
66
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/media/`, { params, observe: 'response' })
67
+ .pipe(map(response => ({
68
+ total: +response.headers.get('X-Page-Count'),
69
+ data: response.body.map(item => new MediaItem(item)),
70
+ }))).toPromise();
71
+ }
72
+ async getGameMediaById(gameId) {
73
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/game_media/${gameId}/`).pipe(map(result => new Game(result))).toPromise();
74
+ }
75
+ async getGameMedia(gameId) {
76
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/media/?size=1000`).pipe(map(result => result.map(item => new MediaItem(item)))).toPromise();
77
+ }
78
+ async createZip(mediaIds) {
79
+ return this.httpClient
80
+ .post(`${this.configService.get('apiUrl')}/api/v1/media/zip/`, mediaIds, { responseType: 'blob' })
81
+ .toPromise();
82
+ }
83
+ async downloadMedia(mediaId) {
84
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/download/`, { responseType: 'blob' })
85
+ .toPromise();
86
+ }
87
+ }
88
+ MediaApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MediaApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
89
+ MediaApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MediaApi, providedIn: 'root' });
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MediaApi, decorators: [{
91
+ type: Injectable,
92
+ args: [{ providedIn: 'root' }]
93
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
94
+ export function applyGameMediaFilters(filters, params) {
95
+ if (filters) {
96
+ params = applyGamesFilters(filters, params);
97
+ if (filters.tournamentTour) {
98
+ params = params.set('tournament_tour', filters.tournamentTour.toString());
99
+ }
100
+ if (filters.teamId) {
101
+ params = params.set('team_id', filters.teamId.toString());
102
+ }
103
+ if (filters.tournamentStageId) {
104
+ params = params.set('tournament_stage_id', filters.tournamentStageId.toString());
105
+ }
106
+ if (filters.playoffId) {
107
+ params = params.set('playoff_id', filters.playoffId.toString());
108
+ }
109
+ if (filters.playoffStage) {
110
+ params = params.set('playoff_stage', filters.playoffStage.toString());
111
+ }
112
+ if (filters.playoffRound) {
113
+ params = params.set('playoff_round', filters.playoffRound.toString());
114
+ }
115
+ if (filters.status) {
116
+ params = params.set('status', GameStatuses[filters.status]);
117
+ }
118
+ if (filters.mediaCount) {
119
+ params = params.set('media_count', filters.mediaCount.toString());
120
+ }
121
+ }
122
+ return params;
123
+ }
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWEtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvYXBpL21lZGlhLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLGlCQUFpQixFQUEwQixNQUFNLGtCQUFrQixDQUFDOzs7O0FBYTdFLE1BQU0sT0FBTyxRQUFRO0lBQ25CLFlBQ1UsVUFBc0IsRUFDdEIsYUFBNEI7UUFENUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUV0QyxDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFlO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUM3RixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUNyQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsc0JBQXNCLENBQzFCLFlBQW9CLEVBQUUsSUFBWSxFQUFFLElBQVksRUFDaEQsT0FBMEI7UUFFMUIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElB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QUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMzRDtRQUNELElBQUksT0FBTyxDQUFDLGlCQUFpQixFQUFFO1lBQzdCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ2xGO1FBQ0QsSUFBSSxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3JCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDakU7UUFDRCxJQUFJLE9BQU8sQ0FBQyxZQUFZLEVBQUU7WUFDeEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUN2RTtRQUNELElBQUksT0FBTyxDQUFDLFlBQVksRUFBRTtZQUN4QixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZFO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDN0Q7UUFDRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDdEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUNuRTtLQUNGO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBNZWRpYUl0ZW0gfSBmcm9tICcuLi9tb2RlbHMvbWVkaWEtaXRlbSc7XG5pbXBvcnQgeyBHYW1lLCBHYW1lU3RhdHVzZXMgfSBmcm9tICcuLi9tb2RlbHMvZ2FtZSc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBQYWdpbmF0ZWRSZXNwb25zZSB9IGZyb20gJy4vcGFnaW5hdGVkLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgYXBwbHlHYW1lc0ZpbHRlcnMsIFRvdXJuYW1lbnRHYW1lc0ZpbHRlcnMgfSBmcm9tICcuL3RvdXJuYW1lbnQtYXBpJztcblxuZXhwb3J0IGludGVyZmFjZSBHYW1lTWVkaWFGaWx0ZXJzIGV4dGVuZHMgVG91cm5hbWVudEdhbWVzRmlsdGVycyB7XG4gIG1lZGlhQ291bnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFGaWx0ZXJzIHtcbiAgbWVkaWFUeXBlPzogJ3Bob3RvJyB8ICd2aWRlbycgfCAnbGl2ZV92aWRlbyc7XG4gIHNvcnQ/OiBzdHJpbmc7XG4gIHRlYW1JZD86IG51bWJlcjtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTWVkaWFBcGkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIGFzeW5jIGdldE1lZGlhKG1lZGlhSWQ6IG51bWJlcik6IFByb21pc2U8TWVkaWFJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9tZWRpYS8ke21lZGlhSWR9L2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IG5ldyBNZWRpYUl0ZW0ocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG91cm5hbWVudEdhbWVNZWRpYShcbiAgICB0b3VybmFtZW50SWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsXG4gICAgZmlsdGVycz86IEdhbWVNZWRpYUZpbHRlcnNcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxHYW1lW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKS5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIHBhcmFtcyA9IGFwcGx5R2FtZU1lZGlhRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KFxuICAgICAgYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50LyR7dG91cm5hbWVudElkfS9nYW1lX21lZGlhL2AsXG4gICAgICB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJywgcGFyYW1zfVxuICAgICkucGlwZShcbiAgICAgIG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgdG90YWw6ICtyZXNwb25zZS5oZWFkZXJzLmdldCgnWC1QYWdlLUNvdW50JyksXG4gICAgICAgICAgZGF0YTogcmVzcG9uc2UuYm9keS5tYXAoaXRlbSA9PiBuZXcgR2FtZShpdGVtKSksXG4gICAgICAgIH07XG4gICAgICB9KVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRMZWFndWVHYW1lTWVkaWEobGVhZ3VlSWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM/OiBHYW1lTWVkaWFGaWx0ZXJzKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxHYW1lW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKS5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIHBhcmFtcyA9IGFwcGx5R2FtZU1lZGlhRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KFxuICAgICAgYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9sZWFndWUvJHtsZWFndWVJZH0vZ2FtZV9tZWRpYS9gLFxuICAgICAge29ic2VydmU6ICdyZXNwb25zZScsIHBhcmFtc31cbiAgICApLnBpcGUoXG4gICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHRvdGFsOiArcmVzcG9uc2UuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICAgIGRhdGE6IHJlc3BvbnNlLmJvZHkubWFwKGl0ZW0gPT4gbmV3IEdhbWUoaXRlbSkpLFxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0TGVhZ3VlTWVkaWEobGVhZ3VlSWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM6IE1lZGlhRmlsdGVycyA9IHt9KTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxNZWRpYUl0ZW1bXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3BhZ2UnLCBwYWdlLnRvU3RyaW5nKCkpLnNldCgnc2l6ZScsIHNpemUudG9TdHJpbmcoKSk7XG4gICAgaWYgKGZpbHRlcnMubWVkaWFUeXBlKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdtZWRpYV90eXBlJywgZmlsdGVycy5tZWRpYVR5cGUpO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy5zb3J0KSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzb3J0JywgZmlsdGVycy5zb3J0KTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMudGVhbUlkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0ZWFtX2lkJywgZmlsdGVycy50ZWFtSWQudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PG9iamVjdFtdPihcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvbGVhZ3VlLyR7bGVhZ3VlSWR9L21lZGlhL2AsXG4gICAgICB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfVxuICAgIClcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiAoe1xuICAgICAgICB0b3RhbDogK3Jlc3BvbnNlLmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogcmVzcG9uc2UuYm9keS5tYXAoaXRlbSA9PiBuZXcgTWVkaWFJdGVtKGl0ZW0pKSxcbiAgICAgIH0pKSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUb3VybmFtZW50TWVkaWEodG91cm5hbWVudElkOiBudW1iZXIsIHBhZ2U6IG51bWJlciwgc2l6ZTogbnVtYmVyLCBmaWx0ZXJzOiBNZWRpYUZpbHRlcnMgPSB7fSk6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8TWVkaWFJdGVtW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKS5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIGlmIChmaWx0ZXJzLm1lZGlhVHlwZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbWVkaWFfdHlwZScsIGZpbHRlcnMubWVkaWFUeXBlKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMuc29ydCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc29ydCcsIGZpbHRlcnMuc29ydCk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnRlYW1JZCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndGVhbV9pZCcsIGZpbHRlcnMudGVhbUlkLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnQvJHt0b3VybmFtZW50SWR9L21lZGlhL2AsXG4gICAgICB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfVxuICAgIClcbiAgICAgIC5waXBlKG1hcChyZXNwb25zZSA9PiAoe1xuICAgICAgICB0b3RhbDogK3Jlc3BvbnNlLmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogcmVzcG9uc2UuYm9keS5tYXAoaXRlbSA9PiBuZXcgTWVkaWFJdGVtKGl0ZW0pKSxcbiAgICAgIH0pKSkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHYW1lTWVkaWFCeUlkKGdhbWVJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9nYW1lX21lZGlhLyR7Z2FtZUlkfS9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgR2FtZShyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHYW1lTWVkaWEoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPE1lZGlhSXRlbVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9nYW1lLyR7Z2FtZUlkfS9tZWRpYS8/c2l6ZT0xMDAwYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0Lm1hcChpdGVtID0+IG5ldyBNZWRpYUl0ZW0oaXRlbSkpKSxcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgY3JlYXRlWmlwKG1lZGlhSWRzOiBudW1iZXJbXSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3QoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9tZWRpYS96aXAvYCwgbWVkaWFJZHMsIHsgcmVzcG9uc2VUeXBlOiAnYmxvYicgfSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGRvd25sb2FkTWVkaWEobWVkaWFJZDogbnVtYmVyKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL21lZGlhLyR7bWVkaWFJZH0vZG93bmxvYWQvYCwge3Jlc3BvbnNlVHlwZTogJ2Jsb2InfSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXBwbHlHYW1lTWVkaWFGaWx0ZXJzKGZpbHRlcnM6IEdhbWVNZWRpYUZpbHRlcnMsIHBhcmFtczogSHR0cFBhcmFtcywgKTogSHR0cFBhcmFtcyB7XG4gIGlmIChmaWx0ZXJzKSB7XG4gICAgcGFyYW1zID0gYXBwbHlHYW1lc0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcbiAgICBpZiAoZmlsdGVycy50b3VybmFtZW50VG91cikge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndG91cm5hbWVudF90b3VyJywgZmlsdGVycy50b3VybmFtZW50VG91ci50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMudGVhbUlkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0ZWFtX2lkJywgZmlsdGVycy50ZWFtSWQudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnRvdXJuYW1lbnRTdGFnZUlkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCd0b3VybmFtZW50X3N0YWdlX2lkJywgZmlsdGVycy50b3VybmFtZW50U3RhZ2VJZC50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMucGxheW9mZklkKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdwbGF5b2ZmX2lkJywgZmlsdGVycy5wbGF5b2ZmSWQudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIGlmIChmaWx0ZXJzLnBsYXlvZmZTdGFnZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGxheW9mZl9zdGFnZScsIGZpbHRlcnMucGxheW9mZlN0YWdlLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAoZmlsdGVycy5wbGF5b2ZmUm91bmQpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3BsYXlvZmZfcm91bmQnLCBmaWx0ZXJzLnBsYXlvZmZSb3VuZC50b1N0cmluZygpKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMuc3RhdHVzKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzdGF0dXMnLCBHYW1lU3RhdHVzZXNbZmlsdGVycy5zdGF0dXNdKTtcbiAgICB9XG4gICAgaWYgKGZpbHRlcnMubWVkaWFDb3VudCkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnbWVkaWFfY291bnQnLCBmaWx0ZXJzLm1lZGlhQ291bnQudG9TdHJpbmcoKSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBwYXJhbXM7XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { NotificationBaseApi } from './notification-base-api';
3
+ import * as i0 from "@angular/core";
4
+ export class NotificationApi extends NotificationBaseApi {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.apiUrl = '/api/v1';
8
+ }
9
+ }
10
+ NotificationApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11
+ NotificationApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationApi, providedIn: 'root' });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationApi, decorators: [{
13
+ type: Injectable,
14
+ args: [{ providedIn: 'root' }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2FwaS9ub3RpZmljYXRpb24tYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRzlELE1BQU0sT0FBTyxlQUFnQixTQUFRLG1CQUFtQjtJQUR4RDs7UUFFWSxXQUFNLEdBQUcsU0FBUyxDQUFDO0tBQzlCOzs2R0FGWSxlQUFlO2lIQUFmLGVBQWUsY0FESCxNQUFNOzRGQUNsQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkJhc2VBcGkgfSBmcm9tICcuL25vdGlmaWNhdGlvbi1iYXNlLWFwaSc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbkFwaSBleHRlbmRzIE5vdGlmaWNhdGlvbkJhc2VBcGkge1xuICBwcm90ZWN0ZWQgYXBpVXJsID0gJy9hcGkvdjEnO1xufVxuIl19
@@ -0,0 +1,62 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { map } from 'rxjs/operators';
4
+ import { Notification } from '../models/notification';
5
+ import { NotificationSettings } from '../models/notification-settings';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "../services/config.service";
9
+ export class NotificationBaseApi {
10
+ constructor(httpClient, configService) {
11
+ this.httpClient = httpClient;
12
+ this.configService = configService;
13
+ }
14
+ async getCount() {
15
+ return this.httpClient
16
+ .get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/count/`)
17
+ .pipe(map(data => +data))
18
+ .toPromise();
19
+ }
20
+ async getList(page, size, filters = {}) {
21
+ let params = new HttpParams()
22
+ .set('page', page.toString())
23
+ .set('size', size.toString());
24
+ for (const key of Object.keys(filters)) {
25
+ params = params.set(key, filters[key]);
26
+ }
27
+ return this.httpClient.get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/`, { params, observe: 'response' })
28
+ .pipe(map(response => ({
29
+ total: +response.headers.get('x-page-count'),
30
+ data: response.body.map(item => new Notification(item)),
31
+ }))).toPromise();
32
+ }
33
+ async markViewed(notificationId, viewed) {
34
+ return this.httpClient
35
+ .post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/${notificationId}/viewed/`, { viewed })
36
+ .pipe(map(data => new Notification(data)))
37
+ .toPromise();
38
+ }
39
+ async markAllViewed() {
40
+ return this.httpClient
41
+ .post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/viewed/`, {})
42
+ .pipe(map(data => data.map(item => new Notification(item))))
43
+ .toPromise();
44
+ }
45
+ async getNotificationSettings() {
46
+ return this.httpClient.get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification_settings/`)
47
+ .pipe(map(data => new NotificationSettings(data)))
48
+ .toPromise();
49
+ }
50
+ async updateNotificationSettings(data) {
51
+ return this.httpClient.post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification_settings/`, data.json())
52
+ .pipe(map(result => new NotificationSettings(result)))
53
+ .toPromise();
54
+ }
55
+ }
56
+ NotificationBaseApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationBaseApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
57
+ NotificationBaseApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationBaseApi, providedIn: 'root' });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NotificationBaseApi, decorators: [{
59
+ type: Injectable,
60
+ args: [{ providedIn: 'root' }]
61
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWJhc2UtYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvYXBpL25vdGlmaWNhdGlvbi1iYXNlLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBV3ZFLE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsWUFDVSxVQUFzQixFQUN0QixhQUE0QjtRQUQ1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ25DLENBQUM7SUFFSixLQUFLLENBQUMsUUFBUTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sc0JBQXNCLENBQUM7YUFDNUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDeEIsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBWSxFQUFFLElBQVksRUFBRSxVQUErQixFQUFFO1FBQ3pFLElBQUksTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFO2FBQzFCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQzVCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFB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QUQvQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNldHRpbmdzIH0gZnJvbSAnLi4vbW9kZWxzL25vdGlmaWNhdGlvbi1zZXR0aW5ncyc7XG5pbXBvcnQgeyBQYWdpbmF0ZWRSZXNwb25zZSB9IGZyb20gJy4vcGFnaW5hdGVkLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbkZpbHRlcnMge1xuICBwcm90ZWN0ZWQ/OiBib29sZWFuO1xuICBub3Rfdmlld2VkPzogYm9vbGVhbjtcbiAgaW1wb3J0YW50PzogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uQmFzZUFwaSB7XG4gIHByb3RlY3RlZCBhcGlVcmw6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICApIHt9XG5cbiAgYXN5bmMgZ2V0Q291bnQoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfSR7dGhpcy5hcGlVcmx9L25vdGlmaWNhdGlvbi9jb3VudC9gKVxuICAgICAgLnBpcGUobWFwKGRhdGEgPT4gK2RhdGEpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0TGlzdChwYWdlOiBudW1iZXIsIHNpemU6IG51bWJlciwgZmlsdGVyczogTm90aWZpY2F0aW9uRmlsdGVycyA9IHt9KTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxOb3RpZmljYXRpb25bXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKVxuICAgICAgLnNldCgncGFnZScsIHBhZ2UudG9TdHJpbmcoKSlcbiAgICAgIC5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGZpbHRlcnMpKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KGtleSwgZmlsdGVyc1trZXldKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0ke3RoaXMuYXBpVXJsfS9ub3RpZmljYXRpb24vYCxcbiAgICAgIHtwYXJhbXMsIG9ic2VydmU6ICdyZXNwb25zZSd9XG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChyZXNwb25zZSA9PiAoe1xuICAgICAgICAgIHRvdGFsOiArcmVzcG9uc2UuaGVhZGVycy5nZXQoJ3gtcGFnZS1jb3VudCcpLFxuICAgICAgICAgIGRhdGE6IHJlc3BvbnNlLmJvZHkubWFwKGl0ZW0gPT4gbmV3IE5vdGlmaWNhdGlvbihpdGVtKSksXG4gICAgICAgIH0pKSxcbiAgICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBtYXJrVmlld2VkKG5vdGlmaWNhdGlvbklkOiBudW1iZXIsIHZpZXdlZDogYm9vbGVhbik6IFByb21pc2U8Tm90aWZpY2F0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3QoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9JHt0aGlzLmFwaVVybH0vbm90aWZpY2F0aW9uLyR7bm90aWZpY2F0aW9uSWR9L3ZpZXdlZC9gLCB7dmlld2VkfSlcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IG5ldyBOb3RpZmljYXRpb24oZGF0YSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgbWFya0FsbFZpZXdlZCgpOiBQcm9taXNlPE5vdGlmaWNhdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3Q8b2JqZWN0W10+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfSR7dGhpcy5hcGlVcmx9L25vdGlmaWNhdGlvbi92aWV3ZWQvYCwge30pXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBkYXRhLm1hcChpdGVtID0+IG5ldyBOb3RpZmljYXRpb24oaXRlbSkpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldE5vdGlmaWNhdGlvblNldHRpbmdzKCk6IFByb21pc2U8Tm90aWZpY2F0aW9uU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0ke3RoaXMuYXBpVXJsfS9ub3RpZmljYXRpb25fc2V0dGluZ3MvYClcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IG5ldyBOb3RpZmljYXRpb25TZXR0aW5ncyhkYXRhKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVOb3RpZmljYXRpb25TZXR0aW5ncyhkYXRhOiBOb3RpZmljYXRpb25TZXR0aW5ncyk6IFByb21pc2U8Tm90aWZpY2F0aW9uU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0ke3RoaXMuYXBpVXJsfS9ub3RpZmljYXRpb25fc2V0dGluZ3MvYCxcbiAgICAgIGRhdGEuanNvbigpXG4gICAgKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiBuZXcgTm90aWZpY2F0aW9uU2V0dGluZ3MocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { NotificationBaseApi } from './notification-base-api';
3
+ import * as i0 from "@angular/core";
4
+ export class OrgNotificationApi extends NotificationBaseApi {
5
+ constructor() {
6
+ super(...arguments);
7
+ this.apiUrl = '/org/api/v1';
8
+ }
9
+ }
10
+ OrgNotificationApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OrgNotificationApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
11
+ OrgNotificationApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OrgNotificationApi, providedIn: 'root' });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: OrgNotificationApi, decorators: [{
13
+ type: Injectable,
14
+ args: [{ providedIn: 'root' }]
15
+ }] });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnLW5vdGlmaWNhdGlvbi1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9hcGkvb3JnLW5vdGlmaWNhdGlvbi1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFHOUQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQUQzRDs7UUFFWSxXQUFNLEdBQUcsYUFBYSxDQUFDO0tBQ2xDOztnSEFGWSxrQkFBa0I7b0hBQWxCLGtCQUFrQixjQUROLE1BQU07NEZBQ2xCLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25CYXNlQXBpIH0gZnJvbSAnLi9ub3RpZmljYXRpb24tYmFzZS1hcGknO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBPcmdOb3RpZmljYXRpb25BcGkgZXh0ZW5kcyBOb3RpZmljYXRpb25CYXNlQXBpIHtcbiAgcHJvdGVjdGVkIGFwaVVybCA9ICcvb3JnL2FwaS92MSc7XG59XG4iXX0=
@@ -0,0 +1,28 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { Team } from '../models/team';
4
+ import { map } from 'rxjs/operators';
5
+ import { TournamentTeam } from '../models/tournament-team';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "../services/config.service";
9
+ export class PublicTeamApi {
10
+ constructor(httpClient, configService) {
11
+ this.httpClient = httpClient;
12
+ this.configService = configService;
13
+ }
14
+ getById(teamId) {
15
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_team/${teamId}/`).pipe(map(result => new Team(result))).toPromise();
16
+ }
17
+ getTournamentTeams(teamId, leagueId) {
18
+ const params = new HttpParams().set('league_id', leagueId.toString());
19
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_team/${teamId}/tournament_teams/`, { params }).pipe(map(result => result.map(item => new TournamentTeam(item)))).toPromise();
20
+ }
21
+ }
22
+ PublicTeamApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PublicTeamApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
23
+ PublicTeamApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PublicTeamApi, providedIn: 'root' });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PublicTeamApi, decorators: [{
25
+ type: Injectable,
26
+ args: [{ providedIn: 'root' }]
27
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLXRlYW0tYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvYXBpL3B1YmxpYy10ZWFtLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUczRCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUNVLFVBQXNCLEVBQ3RCLGFBQTRCO1FBRDVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFdEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFjO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUNsRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUNoQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFjLEVBQUUsUUFBZ0I7UUFDakQsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3hCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHVCQUF1QixNQUFNLG9CQUFvQixFQUNwRixFQUFDLE1BQU0sRUFBQyxDQUNULENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQzVELENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7MkdBckJVLGFBQWE7K0dBQWIsYUFBYSxjQURELE1BQU07NEZBQ2xCLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBUZWFtIH0gZnJvbSAnLi4vbW9kZWxzL3RlYW0nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgVG91cm5hbWVudFRlYW0gfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC10ZWFtJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUHVibGljVGVhbUFwaSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICkge1xuICB9XG5cbiAgZ2V0QnlJZCh0ZWFtSWQ6IG51bWJlcik6IFByb21pc2U8VGVhbT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvcHVibGljX3RlYW0vJHt0ZWFtSWR9L2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IG5ldyBUZWFtKHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGdldFRvdXJuYW1lbnRUZWFtcyh0ZWFtSWQ6IG51bWJlciwgbGVhZ3VlSWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFRlYW1bXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsZWFndWVfaWQnLCBsZWFndWVJZC50b1N0cmluZygpKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3B1YmxpY190ZWFtLyR7dGVhbUlkfS90b3VybmFtZW50X3RlYW1zL2AsXG4gICAgICB7cGFyYW1zfVxuICAgICkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0Lm1hcChpdGVtID0+IG5ldyBUb3VybmFtZW50VGVhbShpdGVtKSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,38 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { User } from '../models/user';
4
+ import { map } from 'rxjs/operators';
5
+ import { Tournament } from '../models/tournament';
6
+ import { TournamentTeamUser } from '../models/tournament-team-user';
7
+ import { LeaguePlayer } from '../models/league-player';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/common/http";
10
+ import * as i2 from "../services/config.service";
11
+ export class PublicUserApi {
12
+ constructor(httpClient, configService) {
13
+ this.httpClient = httpClient;
14
+ this.configService = configService;
15
+ }
16
+ getById(userId) {
17
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/`).pipe(map(result => new User(result))).toPromise();
18
+ }
19
+ getTournaments(userId, leagueId) {
20
+ const params = new HttpParams().set('league_id', leagueId.toString());
21
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/tournaments/`, { params }).pipe(map(result => result.map(item => new Tournament(item)))).toPromise();
22
+ }
23
+ getTournamentUser(userId, seasonId) {
24
+ const params = new HttpParams().set('season_id', seasonId.toString());
25
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/tournament_user/`, { params }).pipe(map(result => new TournamentTeamUser(result))).toPromise();
26
+ }
27
+ getLeaguePlayer(userId, leagueId) {
28
+ const params = new HttpParams().set('league_id', leagueId.toString());
29
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/league_player/`, { params }).pipe(map(result => new LeaguePlayer(result))).toPromise();
30
+ }
31
+ }
32
+ PublicUserApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PublicUserApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
33
+ PublicUserApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PublicUserApi, providedIn: 'root' });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PublicUserApi, decorators: [{
35
+ type: Injectable,
36
+ args: [{ providedIn: 'root' }]
37
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLXVzZXItYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvYXBpL3B1YmxpYy11c2VyLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU5RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFHdkQsTUFBTSxPQUFPLGFBQWE7SUFDeEIsWUFDVSxVQUFzQixFQUN0QixhQUE0QjtRQUQ1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBRXRDLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBYztRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHVCQUF1QixNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDbEcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDaEMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWMsRUFBRSxRQUFnQjtRQUM3QyxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLE1BQU0sZUFBZSxFQUMvRSxFQUFDLE1BQU0sRUFBQyxDQUNULENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ3hELENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQWMsRUFBRSxRQUFnQjtRQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdEUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLE1BQU0sbUJBQW1CLEVBQ25GLEVBQUMsTUFBTSxFQUFDLENBQ1QsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUM5QyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBYyxFQUFFLFFBQWdCO1FBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUN0RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN4QixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsTUFBTSxpQkFBaUIsRUFDakYsRUFBQyxNQUFNLEVBQUMsQ0FDVCxDQUFDLElBQUksQ0FDSixHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUN4QyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7OzJHQXpDVSxhQUFhOytHQUFiLGFBQWEsY0FERCxNQUFNOzRGQUNsQixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL21vZGVscy91c2VyJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvdXJuYW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudCc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbVVzZXIgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC10ZWFtLXVzZXInO1xuaW1wb3J0IHsgTGVhZ3VlUGxheWVyIH0gZnJvbSAnLi4vbW9kZWxzL2xlYWd1ZS1wbGF5ZXInO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBQdWJsaWNVc2VyQXBpIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgKSB7XG4gIH1cblxuICBnZXRCeUlkKHVzZXJJZDogbnVtYmVyKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9wdWJsaWNfdXNlci8ke3VzZXJJZH0vYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFVzZXIocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgZ2V0VG91cm5hbWVudHModXNlcklkOiBudW1iZXIsIGxlYWd1ZUlkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRbXT4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsZWFndWVfaWQnLCBsZWFndWVJZC50b1N0cmluZygpKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3B1YmxpY191c2VyLyR7dXNlcklkfS90b3VybmFtZW50cy9gLFxuICAgICAge3BhcmFtc31cbiAgICApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5tYXAoaXRlbSA9PiBuZXcgVG91cm5hbWVudChpdGVtKSkpLFxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBnZXRUb3VybmFtZW50VXNlcih1c2VySWQ6IG51bWJlciwgc2Vhc29uSWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFRlYW1Vc2VyPiB7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3NlYXNvbl9pZCcsIHNlYXNvbklkLnRvU3RyaW5nKCkpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KFxuICAgICAgYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS9wdWJsaWNfdXNlci8ke3VzZXJJZH0vdG91cm5hbWVudF91c2VyL2AsXG4gICAgICB7cGFyYW1zfVxuICAgICkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFRvdXJuYW1lbnRUZWFtVXNlcihyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBnZXRMZWFndWVQbGF5ZXIodXNlcklkOiBudW1iZXIsIGxlYWd1ZUlkOiBudW1iZXIpOiBQcm9taXNlPExlYWd1ZVBsYXllcj4ge1xuICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdsZWFndWVfaWQnLCBsZWFndWVJZC50b1N0cmluZygpKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvcHVibGljX3VzZXIvJHt1c2VySWR9L2xlYWd1ZV9wbGF5ZXIvYCxcbiAgICAgIHtwYXJhbXN9XG4gICAgKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgTGVhZ3VlUGxheWVyKHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,30 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { City } from '../models/city';
4
+ import { Sport } from '../models/sport';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ import * as i2 from "../services/config.service";
8
+ export class ReferenceApi {
9
+ constructor(httpClient, configService) {
10
+ this.httpClient = httpClient;
11
+ this.configService = configService;
12
+ }
13
+ async getCities() {
14
+ return this.httpClient
15
+ .get(`${this.configService.get('apiUrl')}/api/v1/reference/cities/`)
16
+ .pipe(map(data => data.map(item => new City(item)))).toPromise();
17
+ }
18
+ async getSports() {
19
+ return this.httpClient
20
+ .get(`${this.configService.get('apiUrl')}/api/v1/sport/`)
21
+ .pipe(map(data => data.map(item => new Sport(item)))).toPromise();
22
+ }
23
+ }
24
+ ReferenceApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ReferenceApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
25
+ ReferenceApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ReferenceApi, providedIn: 'root' });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ReferenceApi, decorators: [{
27
+ type: Injectable,
28
+ args: [{ providedIn: 'root' }]
29
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmZXJlbmNlLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2FwaS9yZWZlcmVuY2UtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFHeEMsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFDVSxVQUFzQixFQUN0QixhQUE0QjtRQUQ1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBQ25DLENBQUM7SUFFSixLQUFLLENBQUMsU0FBUztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsR0FBRyxDQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDO2FBQzdFLElBQUksQ0FDSCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUM5QyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUztRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsR0FBRyxDQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDO2FBQ2xFLElBQUksQ0FDSCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUMvQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2xCLENBQUM7OzBHQXBCVSxZQUFZOzhHQUFaLFlBQVksY0FEQSxNQUFNOzRGQUNsQixZQUFZO2tCQUR4QixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2l0eSB9IGZyb20gJy4uL21vZGVscy9jaXR5JztcbmltcG9ydCB7IFNwb3J0IH0gZnJvbSAnLi4vbW9kZWxzL3Nwb3J0JztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUmVmZXJlbmNlQXBpIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgKSB7fVxuXG4gIGFzeW5jIGdldENpdGllcygpOiBQcm9taXNlPENpdHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8b2JqZWN0W10+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvcmVmZXJlbmNlL2NpdGllcy9gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChkYXRhID0+IGRhdGEubWFwKGl0ZW0gPT4gbmV3IENpdHkoaXRlbSkpKVxuICAgICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFNwb3J0cygpOiBQcm9taXNlPFNwb3J0W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PG9iamVjdFtdPihgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3Nwb3J0L2ApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKGRhdGEgPT4gZGF0YS5tYXAoaXRlbSA9PiBuZXcgU3BvcnQoaXRlbSkpKVxuICAgICAgKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,47 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { map } from 'rxjs/operators';
4
+ import { Game } from '../models/game';
5
+ import { GameBaseApi } from './game-base-api';
6
+ import { RugbyGameTeamStatistic } from '../models/rugby-game-team-statistic';
7
+ import { RugbyGameStatistic } from '../models/rugby-game-statistic';
8
+ import { RugbyGameLog } from '../models/rugby-game-log';
9
+ import { RugbyFoulType } from '../models/rugby-foul-type';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common/http";
12
+ import * as i2 from "../services/config.service";
13
+ export class RugbyGameApi extends GameBaseApi {
14
+ constructor(httpClient, configService) {
15
+ super(httpClient, configService);
16
+ this.httpClient = httpClient;
17
+ this.configService = configService;
18
+ }
19
+ async getById(gameId) {
20
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/`).pipe(map(result => new Game(result))).toPromise();
21
+ }
22
+ async getTeamStatistic(gameId) {
23
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/team_statistic/`).pipe(map(result => new RugbyGameTeamStatistic(result))).toPromise();
24
+ }
25
+ async getUserStatistic(gameId) {
26
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/user_statistic/`).pipe(map(result => result.map(item => new RugbyGameStatistic(item)))).toPromise();
27
+ }
28
+ async getLogs(gameId) {
29
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/logs/`).pipe(map(result => result.map(item => new RugbyGameLog(item)))).toPromise();
30
+ }
31
+ async getFoulTypes() {
32
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/foul_types/`).pipe(map(result => new RugbyFoulType(result))).toPromise();
33
+ }
34
+ async downloadProtocol(gameId) {
35
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/game_protocol/`, {
36
+ params: new HttpParams().set('file_type', 'pdf'),
37
+ responseType: 'blob'
38
+ }).toPromise();
39
+ }
40
+ }
41
+ RugbyGameApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RugbyGameApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
42
+ RugbyGameApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RugbyGameApi, providedIn: 'root' });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: RugbyGameApi, decorators: [{
44
+ type: Injectable,
45
+ args: [{ providedIn: 'root' }]
46
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVnYnktZ2FtZS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9hcGkvcnVnYnktZ2FtZS1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUcxRCxNQUFNLE9BQU8sWUFBYSxTQUFRLFdBQVc7SUFDM0MsWUFDWSxVQUFzQixFQUN0QixhQUE0QjtRQUV0QyxLQUFLLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBSHZCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFHeEMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBYztRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGlDQUFpQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDNUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDaEMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQWM7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxpQ0FBaUMsTUFBTSxrQkFBa0IsQ0FBQyxDQUFDLElBQUksQ0FDM0gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUNsRCxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBYztRQUNuQyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGlDQUFpQyxNQUFNLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUNySSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ2hFLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBYztRQUMxQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLGlDQUFpQyxNQUFNLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDM0gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDMUQsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDLElBQUksQ0FDN0csR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDekMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQWM7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxpQ0FBaUMsTUFBTSxpQkFBaUIsRUFBRTtZQUN0SCxNQUFNLEVBQUUsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQztZQUNoRCxZQUFZLEVBQUUsTUFBTTtTQUNyQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQzs7MEdBM0NVLFlBQVk7OEdBQVosWUFBWSxjQURBLE1BQU07NEZBQ2xCLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdhbWUgfSBmcm9tICcuLi9tb2RlbHMvZ2FtZSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2FtZUJhc2VBcGkgfSBmcm9tICcuL2dhbWUtYmFzZS1hcGknO1xuaW1wb3J0IHsgUnVnYnlHYW1lVGVhbVN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9ydWdieS1nYW1lLXRlYW0tc3RhdGlzdGljJztcbmltcG9ydCB7IFJ1Z2J5R2FtZVN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy9ydWdieS1nYW1lLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBSdWdieUdhbWVMb2cgfSBmcm9tICcuLi9tb2RlbHMvcnVnYnktZ2FtZS1sb2cnO1xuaW1wb3J0IHsgUnVnYnlGb3VsVHlwZSB9IGZyb20gJy4uL21vZGVscy9ydWdieS1mb3VsLXR5cGUnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBSdWdieUdhbWVBcGkgZXh0ZW5kcyBHYW1lQmFzZUFwaSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHBDbGllbnQsIGNvbmZpZ1NlcnZpY2UpO1xuICB9XG5cbiAgYXN5bmMgZ2V0QnlJZChnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8R2FtZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ydWdieV9nYW1lLyR7Z2FtZUlkfS9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgR2FtZShyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUZWFtU3RhdGlzdGljKGdhbWVJZDogbnVtYmVyKTogUHJvbWlzZTxSdWdieUdhbWVUZWFtU3RhdGlzdGljPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3J1Z2J5X2dhbWUvJHtnYW1lSWR9L3RlYW1fc3RhdGlzdGljL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IG5ldyBSdWdieUdhbWVUZWFtU3RhdGlzdGljKHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJTdGF0aXN0aWMoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPFJ1Z2J5R2FtZVN0YXRpc3RpY1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ydWdieV9nYW1lLyR7Z2FtZUlkfS91c2VyX3N0YXRpc3RpYy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQubWFwKGl0ZW0gPT4gbmV3IFJ1Z2J5R2FtZVN0YXRpc3RpYyhpdGVtKSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldExvZ3MoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPFJ1Z2J5R2FtZUxvZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ydWdieV9nYW1lLyR7Z2FtZUlkfS9sb2dzL2ApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5tYXAoaXRlbSA9PiBuZXcgUnVnYnlHYW1lTG9nKGl0ZW0pKSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Rm91bFR5cGVzKCk6IFByb21pc2U8UnVnYnlGb3VsVHlwZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9ydWdieV9nYW1lL2ZvdWxfdHlwZXMvYCkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gbmV3IFJ1Z2J5Rm91bFR5cGUocmVzdWx0KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZG93bmxvYWRQcm90b2NvbChnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3J1Z2J5X2dhbWUvJHtnYW1lSWR9L2dhbWVfcHJvdG9jb2wvYCwge1xuICAgICAgcGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnZmlsZV90eXBlJywgJ3BkZicpLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcbiAgICB9KS50b1Byb21pc2UoKTtcbiAgfVxufVxuIl19