@mtgame/core 0.2.26 → 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,57 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { TournamentRound } from '../models/tournament-round';
4
+ import { map } from 'rxjs/operators';
5
+ import { TournamentRoundTeam } from '../models/tournament-round-team';
6
+ import { Playoff } from '../models/playoff';
7
+ import { TournamentGroup } from '../models/tournament-group';
8
+ import { applyGamesFilters } from './tournament-api';
9
+ import { Game } from '../models/game';
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 TournamentRoundApi {
14
+ constructor(httpClient, configService) {
15
+ this.httpClient = httpClient;
16
+ this.configService = configService;
17
+ }
18
+ async getById(tournamentRoundId) {
19
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${tournamentRoundId}/`).pipe(map(data => new TournamentRound(data))).toPromise();
20
+ }
21
+ async getTeams(tournamentRoundId, filters) {
22
+ let params = new HttpParams();
23
+ if (filters) {
24
+ if (filters.divisionId) {
25
+ params = params.set('division_id', filters.divisionId);
26
+ }
27
+ if (filters.groupId) {
28
+ params = params.set('group_id', filters.groupId);
29
+ }
30
+ }
31
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${tournamentRoundId}/teams/`, { params }).pipe(map(data => data.map(item => new TournamentRoundTeam(item)))).toPromise();
32
+ }
33
+ async getPlayoffs(tournamentRoundId) {
34
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${tournamentRoundId}/playoffs/`).pipe(map(data => data.map(item => new Playoff(data)))).toPromise();
35
+ }
36
+ async getGroups(tournamentRoundId) {
37
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${tournamentRoundId}/groups/`).pipe(map(data => data.map(item => new TournamentGroup(item)))).toPromise();
38
+ }
39
+ async getGames(roundId, page, size, filters) {
40
+ let params = new HttpParams().set('page', page.toString());
41
+ if (size) {
42
+ params = params.set('size', size.toString());
43
+ }
44
+ params = applyGamesFilters(filters, params);
45
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${roundId}/games/`, { params, observe: 'response' }).pipe(map(result => ({
46
+ total: +result.headers.get('X-Page-Count'),
47
+ data: result.body.map(item => new Game(item))
48
+ }))).toPromise();
49
+ }
50
+ }
51
+ TournamentRoundApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TournamentRoundApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ TournamentRoundApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TournamentRoundApi, providedIn: 'root' });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TournamentRoundApi, decorators: [{
54
+ type: Injectable,
55
+ args: [{ providedIn: 'root' }]
56
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1yb3VuZC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9hcGkvdG91cm5hbWVudC1yb3VuZC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRdEMsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNVLFVBQXNCLEVBQ3RCLGFBQTRCO1FBRDVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQXlCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2xILEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3ZDLENBQUMsU0FBUyxF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Q0FBQztZQUMxQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QyxDQUFDLENBQUMsQ0FDSixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7O2dIQTlEVSxrQkFBa0I7b0hBQWxCLGtCQUFrQixjQUROLE1BQU07NEZBQ2xCLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFRvdXJuYW1lbnRSb3VuZCB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXJvdW5kJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvdXJuYW1lbnRSb3VuZFRlYW0gfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1yb3VuZC10ZWFtJztcbmltcG9ydCB7IFBsYXlvZmYgfSBmcm9tICcuLi9tb2RlbHMvcGxheW9mZic7XG5pbXBvcnQgeyBUb3VybmFtZW50R3JvdXAgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1ncm91cCc7XG5pbXBvcnQgeyBhcHBseUdhbWVzRmlsdGVycywgVG91cm5hbWVudEdhbWVzRmlsdGVycyB9IGZyb20gJy4vdG91cm5hbWVudC1hcGknO1xuaW1wb3J0IHsgUGFnaW5hdGVkUmVzcG9uc2UgfSBmcm9tICcuL3BhZ2luYXRlZC1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR2FtZSB9IGZyb20gJy4uL21vZGVscy9nYW1lJztcblxuZXhwb3J0IGludGVyZmFjZSBUb3VybmFtZW50Um91bmRUZWFtc0ZpbHRlcnMge1xuICBncm91cElkPzogbnVtYmVyO1xuICBkaXZpc2lvbklkPzogbnVtYmVyO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBUb3VybmFtZW50Um91bmRBcGkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIGFzeW5jIGdldEJ5SWQodG91cm5hbWVudFJvdW5kSWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFJvdW5kPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3JvdW5kLyR7dG91cm5hbWVudFJvdW5kSWR9L2ApLnBpcGUoXG4gICAgICBtYXAoZGF0YSA9PiBuZXcgVG91cm5hbWVudFJvdW5kKGRhdGEpKSxcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGVhbXModG91cm5hbWVudFJvdW5kSWQ6IG51bWJlciwgZmlsdGVycz86IFRvdXJuYW1lbnRSb3VuZFRlYW1zRmlsdGVycyk6IFByb21pc2U8VG91cm5hbWVudFJvdW5kVGVhbVtdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgIGlmIChmaWx0ZXJzLmRpdmlzaW9uSWQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZGl2aXNpb25faWQnLCBmaWx0ZXJzLmRpdmlzaW9uSWQpO1xuICAgICAgfVxuICAgICAgaWYgKGZpbHRlcnMuZ3JvdXBJZCkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdncm91cF9pZCcsIGZpbHRlcnMuZ3JvdXBJZCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PG9iamVjdFtdPihcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9yb3VuZC8ke3RvdXJuYW1lbnRSb3VuZElkfS90ZWFtcy9gLFxuICAgICAge3BhcmFtc31cbiAgICApLnBpcGUoXG4gICAgICBtYXAoZGF0YSA9PiBkYXRhLm1hcChpdGVtID0+IG5ldyBUb3VybmFtZW50Um91bmRUZWFtKGl0ZW0pKSksXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFBsYXlvZmZzKHRvdXJuYW1lbnRSb3VuZElkOiBudW1iZXIpOiBQcm9taXNlPFBsYXlvZmZbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PG9iamVjdFtdPihcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9yb3VuZC8ke3RvdXJuYW1lbnRSb3VuZElkfS9wbGF5b2Zmcy9gXG4gICAgKS5waXBlKFxuICAgICAgbWFwKGRhdGEgPT4gZGF0YS5tYXAoaXRlbSA9PiBuZXcgUGxheW9mZihkYXRhKSkpLFxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHcm91cHModG91cm5hbWVudFJvdW5kSWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudEdyb3VwW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfcm91bmQvJHt0b3VybmFtZW50Um91bmRJZH0vZ3JvdXBzL2BcbiAgICApLnBpcGUoXG4gICAgICBtYXAoZGF0YSA9PiBkYXRhLm1hcChpdGVtID0+IG5ldyBUb3VybmFtZW50R3JvdXAoaXRlbSkpKSxcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0R2FtZXMocm91bmRJZDogbnVtYmVyLCBwYWdlOiBudW1iZXIsIHNpemU6IG51bWJlciwgZmlsdGVyczogVG91cm5hbWVudEdhbWVzRmlsdGVycyk6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8R2FtZVtdPj4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncGFnZScsIHBhZ2UudG9TdHJpbmcoKSk7XG4gICAgaWYgKHNpemUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBwYXJhbXMgPSBhcHBseUdhbWVzRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PG9iamVjdFtdPihcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9yb3VuZC8ke3JvdW5kSWR9L2dhbWVzL2AsXG4gICAgICB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfVxuICAgICkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgdG90YWw6ICtyZXN1bHQuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICBkYXRhOiByZXN1bHQuYm9keS5tYXAoaXRlbSA9PiBuZXcgR2FtZShpdGVtKSlcbiAgICAgIH0pKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH19XG4iXX0=
@@ -0,0 +1,92 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { TournamentSeason } from '../models/tournament-season';
4
+ import { map } from 'rxjs/operators';
5
+ import { Game } from '../models/game';
6
+ import { Tournament } from '../models/tournament';
7
+ import { applyGamesFilters } from './tournament-api';
8
+ import { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';
9
+ import { applyGameMediaFilters } from './media-api';
10
+ import { TournamentTeam } from '../models/tournament-team';
11
+ import { GameTimelineStages } from '../models/game-timeline-stages';
12
+ import { Playoff } from '../models/playoff';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/common/http";
15
+ import * as i2 from "../services/config.service";
16
+ export class TournamentSeasonApi {
17
+ constructor(httpClient, configService) {
18
+ this.httpClient = httpClient;
19
+ this.configService = configService;
20
+ }
21
+ async getByAlias(leagueId, alias) {
22
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/${alias}/`).pipe(map(result => new TournamentSeason(result))).toPromise();
23
+ }
24
+ async getTournaments(seasonId) {
25
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/tournaments/`).pipe(map(result => result.map(item => new Tournament(item)))).toPromise();
26
+ }
27
+ async getGames(seasonId, page, size, filters) {
28
+ let params = new HttpParams().set('page', page.toString());
29
+ if (size) {
30
+ params = params.set('size', size.toString());
31
+ }
32
+ params = applyGamesFilters(filters, params);
33
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/games/`, { params, observe: 'response' }).pipe(map(result => ({
34
+ total: +result.headers.get('X-Page-Count'),
35
+ data: result.body.map(item => new Game(item)),
36
+ }))).toPromise();
37
+ }
38
+ async getEvents(seasonId, page, size, filters) {
39
+ let params = new HttpParams().set('page', page.toString())
40
+ .set('size', size.toString());
41
+ if (filters) {
42
+ if (filters.event) {
43
+ params = params.set('event', TournamentEventTypes[filters.event]);
44
+ }
45
+ if (filters.search) {
46
+ params = params.set('search', filters.search);
47
+ }
48
+ if (filters.tournamentTour) {
49
+ params = params.set('tournament_tour', filters.tournamentTour.toString());
50
+ }
51
+ }
52
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/events/`, { params, observe: 'response' })
53
+ .pipe(map(result => ({
54
+ total: +result.headers.get('X-Page-Count'),
55
+ data: result.body.map(item => new TournamentEvent(item)),
56
+ })))
57
+ .toPromise();
58
+ }
59
+ async getGameMedia(seasonId, page, size, filters) {
60
+ let params = new HttpParams().set('page', page.toString()).set('size', size.toString());
61
+ params = applyGameMediaFilters(filters, params);
62
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/game_media/`, { observe: 'response', params })
63
+ .pipe(map(response => {
64
+ return {
65
+ total: +response.headers.get('X-Page-Count'),
66
+ data: response.body.map(item => new Game(item)),
67
+ };
68
+ })).toPromise();
69
+ }
70
+ async getTeams(seasonId, short) {
71
+ let params = new HttpParams();
72
+ if (short) {
73
+ params = params.set('short', '1');
74
+ }
75
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/teams/`, { params }).pipe(map(result => result.map(item => new TournamentTeam(item)))).toPromise();
76
+ }
77
+ async getPlayoffs(seasonId) {
78
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/playoffs/`).pipe(map(result => result.map(item => new Playoff(item)))).toPromise();
79
+ }
80
+ async getGamesStages(seasonId) {
81
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/games_stages/`)
82
+ .pipe(map(data => new GameTimelineStages(data)))
83
+ .toPromise();
84
+ }
85
+ }
86
+ TournamentSeasonApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TournamentSeasonApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
87
+ TournamentSeasonApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TournamentSeasonApi, providedIn: 'root' });
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TournamentSeasonApi, decorators: [{
89
+ type: Injectable,
90
+ args: [{ providedIn: 'root' }]
91
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1zZWFzb24tYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvYXBpL3RvdXJuYW1lbnQtc2Vhc29uLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUvRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLElBQUksRUFBZ0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFzRCxNQUFNLGtCQUFrQixDQUFDO0FBRXpHLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQW9CLE1BQU0sYUFBYSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFHNUMsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUNVLFVBQXNCLEVBQ3RCLGFBQTRCO1FBRDVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBZ0IsRUFBRSxLQUFhO1FBQzlDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJ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QUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQWdCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsNkJBQTZCLFFBQVEsZ0JBQWdCLENBQUM7YUFDakgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUMvQyxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOztpSEE1R1UsbUJBQW1CO3FIQUFuQixtQkFBbUIsY0FEUCxNQUFNOzRGQUNsQixtQkFBbUI7a0JBRC9CLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRvdXJuYW1lbnRTZWFzb24gfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1zZWFzb24nO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdhbWUsIEdhbWVTdGF0dXNlcyB9IGZyb20gJy4uL21vZGVscy9nYW1lJztcbmltcG9ydCB7IFRvdXJuYW1lbnQgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudCc7XG5pbXBvcnQgeyBhcHBseUdhbWVzRmlsdGVycywgVG91cm5hbWVudEV2ZW50c0xpc3RGaWx0ZXIsIFRvdXJuYW1lbnRHYW1lc0ZpbHRlcnMgfSBmcm9tICcuL3RvdXJuYW1lbnQtYXBpJztcbmltcG9ydCB7IFBhZ2luYXRlZFJlc3BvbnNlIH0gZnJvbSAnLi9wYWdpbmF0ZWQtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRvdXJuYW1lbnRFdmVudCwgVG91cm5hbWVudEV2ZW50VHlwZXMgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1ldmVudCc7XG5pbXBvcnQgeyBhcHBseUdhbWVNZWRpYUZpbHRlcnMsIEdhbWVNZWRpYUZpbHRlcnMgfSBmcm9tICcuL21lZGlhLWFwaSc7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbSB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXRlYW0nO1xuaW1wb3J0IHsgR2FtZVRpbWVsaW5lU3RhZ2VzIH0gZnJvbSAnLi4vbW9kZWxzL2dhbWUtdGltZWxpbmUtc3RhZ2VzJztcbmltcG9ydCB7IFBsYXlvZmYgfSBmcm9tICcuLi9tb2RlbHMvcGxheW9mZic7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFRvdXJuYW1lbnRTZWFzb25BcGkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIGFzeW5jIGdldEJ5QWxpYXMobGVhZ3VlSWQ6IG51bWJlciwgYWxpYXM6IHN0cmluZyk6IFByb21pc2U8VG91cm5hbWVudFNlYXNvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvbGVhZ3VlLyR7bGVhZ3VlSWR9L3RvdXJuYW1lbnRfc2Vhc29ucy8ke2FsaWFzfS9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgVG91cm5hbWVudFNlYXNvbihyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUb3VybmFtZW50cyhzZWFzb25JZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfc2Vhc29uLyR7c2Vhc29uSWR9L3RvdXJuYW1lbnRzL2BcbiAgICApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+IHJlc3VsdC5tYXAoaXRlbSA9PiBuZXcgVG91cm5hbWVudChpdGVtKSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEdhbWVzKHNlYXNvbklkOiBudW1iZXIsIHBhZ2U6IG51bWJlciwgc2l6ZTogbnVtYmVyLCBmaWx0ZXJzOiBUb3VybmFtZW50R2FtZXNGaWx0ZXJzKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxHYW1lW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKTtcbiAgICBpZiAoc2l6ZSkge1xuICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc2l6ZScsIHNpemUudG9TdHJpbmcoKSk7XG4gICAgfVxuICAgIHBhcmFtcyA9IGFwcGx5R2FtZXNGaWx0ZXJzKGZpbHRlcnMsIHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KFxuICAgICAgYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3NlYXNvbi8ke3NlYXNvbklkfS9nYW1lcy9gLFxuICAgICAge3BhcmFtcywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ31cbiAgICApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+ICh7XG4gICAgICAgIHRvdGFsOiArcmVzdWx0LmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogcmVzdWx0LmJvZHkubWFwKGl0ZW0gPT4gbmV3IEdhbWUoaXRlbSkpLFxuICAgICAgfSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEV2ZW50cyhcbiAgICBzZWFzb25JZDogbnVtYmVyLCBwYWdlOiBudW1iZXIsIHNpemU6IG51bWJlcixcbiAgICBmaWx0ZXJzPzogVG91cm5hbWVudEV2ZW50c0xpc3RGaWx0ZXJcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxUb3VybmFtZW50RXZlbnRbXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3BhZ2UnLCBwYWdlLnRvU3RyaW5nKCkpXG4gICAgICAuc2V0KCdzaXplJywgc2l6ZS50b1N0cmluZygpKTtcbiAgICBpZiAoZmlsdGVycykge1xuICAgICAgaWYgKGZpbHRlcnMuZXZlbnQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZXZlbnQnLCBUb3VybmFtZW50RXZlbnRUeXBlc1tmaWx0ZXJzLmV2ZW50XSk7XG4gICAgICB9XG4gICAgICBpZiAoZmlsdGVycy5zZWFyY2gpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnc2VhcmNoJywgZmlsdGVycy5zZWFyY2gpO1xuICAgICAgfVxuICAgICAgaWYgKGZpbHRlcnMudG91cm5hbWVudFRvdXIpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndG91cm5hbWVudF90b3VyJywgZmlsdGVycy50b3VybmFtZW50VG91ci50b1N0cmluZygpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KFxuICAgICAgYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3NlYXNvbi8ke3NlYXNvbklkfS9ldmVudHMvYCxcbiAgICAgIHtwYXJhbXMsIG9ic2VydmU6ICdyZXNwb25zZSd9XG4gICAgKVxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiAoe1xuICAgICAgICB0b3RhbDogK3Jlc3VsdC5oZWFkZXJzLmdldCgnWC1QYWdlLUNvdW50JyksXG4gICAgICAgIGRhdGE6IHJlc3VsdC5ib2R5Lm1hcChpdGVtID0+IG5ldyBUb3VybmFtZW50RXZlbnQoaXRlbSkpLFxuICAgICAgfSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0R2FtZU1lZGlhKHNlYXNvbklkOiBudW1iZXIsIHBhZ2U6IG51bWJlciwgc2l6ZTogbnVtYmVyLCBmaWx0ZXJzOiBHYW1lTWVkaWFGaWx0ZXJzKTogUHJvbWlzZTxQYWdpbmF0ZWRSZXNwb25zZTxHYW1lW10+PiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdwYWdlJywgcGFnZS50b1N0cmluZygpKS5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIHBhcmFtcyA9IGFwcGx5R2FtZU1lZGlhRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KFxuICAgICAgYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3NlYXNvbi8ke3NlYXNvbklkfS9nYW1lX21lZGlhL2AsXG4gICAgICB7b2JzZXJ2ZTogJ3Jlc3BvbnNlJywgcGFyYW1zfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b3RhbDogK3Jlc3BvbnNlLmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgICAgIGRhdGE6IHJlc3BvbnNlLmJvZHkubWFwKGl0ZW0gPT4gbmV3IEdhbWUoaXRlbSkpLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGVhbXMoc2Vhc29uSWQ6IG51bWJlciwgc2hvcnQ/OiBib29sZWFuKTogUHJvbWlzZTxUb3VybmFtZW50VGVhbVtdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKHNob3J0KSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzaG9ydCcsICcxJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PG9iamVjdFtdPihcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9zZWFzb24vJHtzZWFzb25JZH0vdGVhbXMvYCxcbiAgICAgIHtwYXJhbXN9XG4gICAgKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQubWFwKGl0ZW0gPT4gbmV3IFRvdXJuYW1lbnRUZWFtKGl0ZW0pKSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0UGxheW9mZnMoc2Vhc29uSWQ6IG51bWJlcik6IFByb21pc2U8UGxheW9mZltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KFxuICAgICAgYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3NlYXNvbi8ke3NlYXNvbklkfS9wbGF5b2Zmcy9gXG4gICAgKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQubWFwKGl0ZW0gPT4gbmV3IFBsYXlvZmYoaXRlbSkpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHYW1lc1N0YWdlcyhzZWFzb25JZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lVGltZWxpbmVTdGFnZXM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfc2Vhc29uLyR7c2Vhc29uSWR9L2dhbWVzX3N0YWdlcy9gKVxuICAgICAgLnBpcGUobWFwKGRhdGEgPT4gbmV3IEdhbWVUaW1lbGluZVN0YWdlcyhkYXRhKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,48 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TournamentStage } from '../models/tournament-stage';
3
+ import { map } from 'rxjs/operators';
4
+ import { TournamentGroup } from '../models/tournament-group';
5
+ import { Playoff } from '../models/playoff';
6
+ import { TournamentStageTeam } from '../models/tournament-stage-team';
7
+ import { TeamAchievement } from '../models/team-achievement';
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 TournamentStageApi {
12
+ constructor(httpClient, configService) {
13
+ this.httpClient = httpClient;
14
+ this.configService = configService;
15
+ }
16
+ async getById(id) {
17
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${id}/`)
18
+ .pipe(map(result => new TournamentStage(result)))
19
+ .toPromise();
20
+ }
21
+ async getGroups(stageId) {
22
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/groups/`)
23
+ .pipe(map(result => result.map(item => new TournamentGroup(item))))
24
+ .toPromise();
25
+ }
26
+ async getTeamsAchievements(stageId) {
27
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/achievements/`)
28
+ .pipe(map(result => result.map(item => new TeamAchievement(item))))
29
+ .toPromise();
30
+ }
31
+ async getPlayoffs(stageId) {
32
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/playoff/`)
33
+ .pipe(map(result => result.map(item => new Playoff(item))))
34
+ .toPromise();
35
+ }
36
+ async getTeams(stageId) {
37
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/teams/`)
38
+ .pipe(map(result => result.map(item => new TournamentStageTeam(item))))
39
+ .toPromise();
40
+ }
41
+ }
42
+ TournamentStageApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TournamentStageApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
43
+ TournamentStageApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TournamentStageApi, providedIn: 'root' });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TournamentStageApi, decorators: [{
45
+ type: Injectable,
46
+ args: [{ providedIn: 'root' }]
47
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1zdGFnZS1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9hcGkvdG91cm5hbWVudC1zdGFnZS1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBRzdELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFDVSxVQUFzQixFQUN0QixhQUE0QjtRQUQ1QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBRXRDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQVU7UUFDdEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLENBQUM7YUFDN0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDaEQsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsT0FBZTtRQUM3QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLDRCQUE0QixPQUFPLFVBQVUsQ0FBQzthQUNuSCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNsRSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE9BQWU7UUFDeEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsT0FBTyxnQkFBZ0IsQ0FBQzthQUN6SCxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNsRSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFlO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLE9BQU8sV0FBVyxDQUFDO2FBQ3BILElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFELFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQWU7UUFDNUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBVyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsT0FBTyxTQUFTLENBQUM7YUFDbEgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN0RSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOztnSEFuQ1Usa0JBQWtCO29IQUFsQixrQkFBa0IsY0FETixNQUFNOzRGQUNsQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRvdXJuYW1lbnRTdGFnZSB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXN0YWdlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvdXJuYW1lbnRHcm91cCB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LWdyb3VwJztcbmltcG9ydCB7IFBsYXlvZmYgfSBmcm9tICcuLi9tb2RlbHMvcGxheW9mZic7XG5pbXBvcnQgeyBUb3VybmFtZW50U3RhZ2VUZWFtIH0gZnJvbSAnLi4vbW9kZWxzL3RvdXJuYW1lbnQtc3RhZ2UtdGVhbSc7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGVhbUFjaGlldmVtZW50IH0gZnJvbSAnLi4vbW9kZWxzL3RlYW0tYWNoaWV2ZW1lbnQnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBUb3VybmFtZW50U3RhZ2VBcGkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIGFzeW5jIGdldEJ5SWQoaWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFN0YWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3N0YWdlLyR7aWR9L2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IG5ldyBUb3VybmFtZW50U3RhZ2UocmVzdWx0KSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHcm91cHMoc3RhZ2VJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50R3JvdXBbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PG9iamVjdFtdPihgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfc3RhZ2UvJHtzdGFnZUlkfS9ncm91cHMvYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gcmVzdWx0Lm1hcChpdGVtID0+IG5ldyBUb3VybmFtZW50R3JvdXAoaXRlbSkpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlYW1zQWNoaWV2ZW1lbnRzKHN0YWdlSWQ6IG51bWJlcik6IFByb21pc2U8VGVhbUFjaGlldmVtZW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3N0YWdlLyR7c3RhZ2VJZH0vYWNoaWV2ZW1lbnRzL2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IHJlc3VsdC5tYXAoaXRlbSA9PiBuZXcgVGVhbUFjaGlldmVtZW50KGl0ZW0pKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRQbGF5b2ZmcyhzdGFnZUlkOiBudW1iZXIpOiBQcm9taXNlPFBsYXlvZmZbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PG9iamVjdFtdPihgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfc3RhZ2UvJHtzdGFnZUlkfS9wbGF5b2ZmL2ApXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IHJlc3VsdC5tYXAoaXRlbSA9PiBuZXcgUGxheW9mZihpdGVtKSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGVhbXMoc3RhZ2VJZDogbnVtYmVyKTogUHJvbWlzZTxUb3VybmFtZW50U3RhZ2VUZWFtW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3N0YWdlLyR7c3RhZ2VJZH0vdGVhbXMvYClcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4gcmVzdWx0Lm1hcChpdGVtID0+IG5ldyBUb3VybmFtZW50U3RhZ2VUZWFtKGl0ZW0pKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,219 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { User } from '../models/user';
4
+ import { File } from '../models/file';
5
+ import { map } from 'rxjs/operators';
6
+ import { UserProfile } from '../models/user-profile';
7
+ import { BasketballProfile } from '../models/basketball-profile';
8
+ import { VolleyballProfile } from '../models/volleyball-profile';
9
+ import { Team } from '../models/team';
10
+ import { TeamInvite } from '../models/team-invite';
11
+ import { BasketballStatistic } from '../models/basketball-statistic';
12
+ import { VolleyballStatistic } from '../models/volleyball-statistic';
13
+ import { Game } from '../models/game';
14
+ import { GameInvite } from '../models/game-invite';
15
+ import { TeamEvent } from '../models/team-event';
16
+ import { UserAccess } from '../models/user-access';
17
+ import { UserPermission } from '../models/user-permission';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "@angular/common/http";
20
+ import * as i2 from "../services/config.service";
21
+ export class UserApi {
22
+ constructor(httpClient, configService) {
23
+ this.httpClient = httpClient;
24
+ this.configService = configService;
25
+ }
26
+ async getCurrentUser() {
27
+ return this.httpClient
28
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/current/`)
29
+ .pipe(map(data => new User(data)))
30
+ .toPromise();
31
+ }
32
+ async getUserById(userId) {
33
+ return this.httpClient
34
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/`)
35
+ .pipe(map(data => new User(data)))
36
+ .toPromise();
37
+ }
38
+ async getAccess(userId) {
39
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/user/${userId || 'current'}/access/`)
40
+ .pipe(map(data => new UserAccess(data)))
41
+ .toPromise();
42
+ }
43
+ async updateUser(userId, data) {
44
+ return this.httpClient
45
+ .patch(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/`, data.json())
46
+ .pipe(map(result => new User(result)))
47
+ .toPromise();
48
+ }
49
+ async updateUserPhoto(file, filename) {
50
+ const formData = new FormData();
51
+ formData.append('file', file, filename);
52
+ return this.httpClient
53
+ .post(`${this.configService.get('apiUrl')}/api/v1/user/current/photo/`, formData)
54
+ .pipe(map(data => new File(data)))
55
+ .toPromise();
56
+ }
57
+ async changePassword(userId, oldPassword, password, passwordConfirm) {
58
+ const payload = {
59
+ old_password: oldPassword,
60
+ password,
61
+ password_confirm: passwordConfirm
62
+ };
63
+ return this.httpClient
64
+ .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_password/`, payload)
65
+ .toPromise();
66
+ }
67
+ async changeEmail(userId, email, password) {
68
+ const payload = { email, password };
69
+ return this.httpClient
70
+ .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_email/`, payload)
71
+ .toPromise();
72
+ }
73
+ async changeEmailConfirm(userId, email, password, token) {
74
+ const payload = { email, password, token };
75
+ return this.httpClient
76
+ .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_email_confirm/`, payload)
77
+ .toPromise();
78
+ }
79
+ async getUserProfile(userId) {
80
+ return this.httpClient
81
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/profile/`)
82
+ .pipe(map(data => new UserProfile(data)))
83
+ .toPromise();
84
+ }
85
+ async getBasketballProfile(userId) {
86
+ return this.httpClient
87
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/basketball_profile/`)
88
+ .pipe(map(data => new BasketballProfile(data)))
89
+ .toPromise();
90
+ }
91
+ async getVolleyballProfile(userId) {
92
+ return this.httpClient
93
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/volleyball_profile/`)
94
+ .pipe(map(data => new VolleyballProfile(data)))
95
+ .toPromise();
96
+ }
97
+ async updateUserProfile(userProfile) {
98
+ return this.httpClient
99
+ .patch(`${this.configService.get('apiUrl')}/api/v1/user/${userProfile.userId}/profile/`, userProfile.json())
100
+ .pipe(map(data => new UserProfile(data)))
101
+ .toPromise();
102
+ }
103
+ async updateUserBasketballProfile(basketballProfile) {
104
+ return this.httpClient
105
+ .patch(`${this.configService.get('apiUrl')}/api/v1/user/${basketballProfile.userId}/basketball_profile/`, basketballProfile.json())
106
+ .pipe(map(data => new BasketballProfile(data)))
107
+ .toPromise();
108
+ }
109
+ async updateUserVolleyballProfile(volleyballProfile) {
110
+ return this.httpClient
111
+ .patch(`${this.configService.get('apiUrl')}/api/v1/user/${volleyballProfile.userId}/volleyball_profile/`, volleyballProfile.json())
112
+ .pipe(map(data => new VolleyballProfile(data)))
113
+ .toPromise();
114
+ }
115
+ async getUserPermissions(userId) {
116
+ return this.httpClient
117
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId || 'current'}/permission/`)
118
+ .pipe(map(data => new UserPermission(data)))
119
+ .toPromise();
120
+ }
121
+ async updateUserPermission(data) {
122
+ return this.httpClient
123
+ .patch(`${this.configService.get('apiUrl')}/api/v1/user/current/permission/`, data.json())
124
+ .pipe(map(result => new UserPermission(result)))
125
+ .toPromise();
126
+ }
127
+ async getTeams(userId) {
128
+ return this.httpClient
129
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/teams/`)
130
+ .pipe(map(data => data.map(item => new Team(item))))
131
+ .toPromise();
132
+ }
133
+ async getInvites() {
134
+ return this.httpClient
135
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/`)
136
+ .pipe(map(data => data.map(item => new TeamInvite(item))))
137
+ .toPromise();
138
+ }
139
+ async acceptInvite(inviteId) {
140
+ return this.httpClient
141
+ .post(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/${inviteId}/accept/`, {})
142
+ .pipe(map(data => new TeamInvite(data)))
143
+ .toPromise();
144
+ }
145
+ async declineInvite(inviteId) {
146
+ return this.httpClient
147
+ .post(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/${inviteId}/decline/`, {})
148
+ .pipe(map(data => new TeamInvite(data)))
149
+ .toPromise();
150
+ }
151
+ async getStatistics(userId) {
152
+ return this.httpClient
153
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/statistics/`)
154
+ .pipe(map(data => new BasketballStatistic(data)))
155
+ .toPromise();
156
+ }
157
+ async getStreetballStatistics(userId) {
158
+ return this.httpClient
159
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/streetball_statistics/`)
160
+ .pipe(map(data => new BasketballStatistic(data)))
161
+ .toPromise();
162
+ }
163
+ async getVolleyballStatistic(userId) {
164
+ return this.httpClient
165
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/volleyball_statistics/`)
166
+ .pipe(map(data => new VolleyballStatistic(data)))
167
+ .toPromise();
168
+ }
169
+ async getGames(userId) {
170
+ return this.httpClient
171
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/games/`)
172
+ .pipe(map(data => data.map(item => new Game(item))))
173
+ .toPromise();
174
+ }
175
+ async getGameInvites() {
176
+ return this.httpClient
177
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/`)
178
+ .pipe(map(data => data.map(item => new GameInvite(item))))
179
+ .toPromise();
180
+ }
181
+ async acceptGameInvite(inviteId) {
182
+ return this.httpClient
183
+ .post(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/${inviteId}/accept/`, {})
184
+ .pipe(map(data => new GameInvite(data)))
185
+ .toPromise();
186
+ }
187
+ async declineGameInvite(inviteId) {
188
+ return this.httpClient
189
+ .post(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/${inviteId}/decline/`, {})
190
+ .pipe(map(data => new GameInvite(data)))
191
+ .toPromise();
192
+ }
193
+ async searchUsers(query) {
194
+ const params = (new HttpParams()).set('search', query);
195
+ return this.httpClient
196
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/`, { params })
197
+ .pipe(map(data => data.map(item => new User(item))))
198
+ .toPromise();
199
+ }
200
+ async setWizardShowed(wizard) {
201
+ return this.httpClient
202
+ .put(`${this.configService.get('apiUrl')}/api/v1/user/current/wizards/`, { wizard })
203
+ .pipe(map(data => new User(data)))
204
+ .toPromise();
205
+ }
206
+ async getTeamEvents(userId) {
207
+ return this.httpClient
208
+ .get(`${this.configService.get('apiUrl')}/api/v1/user/current/team_events/`)
209
+ .pipe(map(data => data.map(item => new TeamEvent(item))))
210
+ .toPromise();
211
+ }
212
+ }
213
+ UserApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UserApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
214
+ UserApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UserApi, providedIn: 'root' });
215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UserApi, decorators: [{
216
+ type: Injectable,
217
+ args: [{ providedIn: 'root' }]
218
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9hcGkvdXNlci1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDckUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUkzRCxNQUFNLE9BQU8sT0FBTztJQUNsQixZ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QUNqQyxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFjO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsR0FBRyxDQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLG1DQUFtQyxDQUFDO2FBQ3JGLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3hELFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7O3FHQTVOVSxPQUFPO3lHQUFQLE9BQU8sY0FESyxNQUFNOzRGQUNsQixPQUFPO2tCQURuQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXInO1xuaW1wb3J0IHsgRmlsZSB9IGZyb20gJy4uL21vZGVscy9maWxlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFVzZXJQcm9maWxlIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItcHJvZmlsZSc7XG5pbXBvcnQgeyBCYXNrZXRiYWxsUHJvZmlsZSB9IGZyb20gJy4uL21vZGVscy9iYXNrZXRiYWxsLXByb2ZpbGUnO1xuaW1wb3J0IHsgVm9sbGV5YmFsbFByb2ZpbGUgfSBmcm9tICcuLi9tb2RlbHMvdm9sbGV5YmFsbC1wcm9maWxlJztcbmltcG9ydCB7IFRlYW0gfSBmcm9tICcuLi9tb2RlbHMvdGVhbSc7XG5pbXBvcnQgeyBUZWFtSW52aXRlIH0gZnJvbSAnLi4vbW9kZWxzL3RlYW0taW52aXRlJztcbmltcG9ydCB7IEJhc2tldGJhbGxTdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvYmFza2V0YmFsbC1zdGF0aXN0aWMnO1xuaW1wb3J0IHsgVm9sbGV5YmFsbFN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy92b2xsZXliYWxsLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBHYW1lIH0gZnJvbSAnLi4vbW9kZWxzL2dhbWUnO1xuaW1wb3J0IHsgR2FtZUludml0ZSB9IGZyb20gJy4uL21vZGVscy9nYW1lLWludml0ZSc7XG5pbXBvcnQgeyBUZWFtRXZlbnQgfSBmcm9tICcuLi9tb2RlbHMvdGVhbS1ldmVudCc7XG5pbXBvcnQgeyBVc2VyQWNjZXNzIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItYWNjZXNzJztcbmltcG9ydCB7IFVzZXJQZXJtaXNzaW9uIH0gZnJvbSAnLi4vbW9kZWxzL3VzZXItcGVybWlzc2lvbic7XG5pbXBvcnQgeyBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uZmlnLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBVc2VyQXBpIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgKSB7fVxuXG4gIGFzeW5jIGdldEN1cnJlbnRVc2VyKCk6IFByb21pc2U8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS91c2VyL2N1cnJlbnQvYClcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IG5ldyBVc2VyKGRhdGEpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJCeUlkKHVzZXJJZDogbnVtYmVyKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3VzZXIvJHt1c2VySWR9L2ApXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBuZXcgVXNlcihkYXRhKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRBY2Nlc3ModXNlcklkPzogbnVtYmVyKTogUHJvbWlzZTxVc2VyQWNjZXNzPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS91c2VyLyR7dXNlcklkIHx8ICdjdXJyZW50J30vYWNjZXNzL2ApXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBuZXcgVXNlckFjY2VzcyhkYXRhKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVVc2VyKHVzZXJJZDogbnVtYmVyLCBkYXRhOiBVc2VyKTogUHJvbWlzZTxVc2VyPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBhdGNoKGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdXNlci8ke3VzZXJJZH0vYCwgZGF0YS5qc29uKCkpXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IG5ldyBVc2VyKHJlc3VsdCkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlVXNlclBob3RvKGZpbGU6IGFueSwgZmlsZW5hbWU/OiBzdHJpbmcpOiBQcm9taXNlPEZpbGU+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUsIGZpbGVuYW1lKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucG9zdChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3VzZXIvY3VycmVudC9waG90by9gLCBmb3JtRGF0YSlcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IG5ldyBGaWxlKGRhdGEpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGNoYW5nZVBhc3N3b3JkKHVzZXJJZDogbnVtYmVyLCBvbGRQYXNzd29yZDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nLCBwYXNzd29yZENvbmZpcm06IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgIG9sZF9wYXNzd29yZDogb2xkUGFzc3dvcmQsXG4gICAgICBwYXNzd29yZCxcbiAgICAgIHBhc3N3b3JkX2NvbmZpcm06IHBhc3N3b3JkQ29uZmlybVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3QoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS91c2VyLyR7dXNlcklkfS9jaGFuZ2VfcGFzc3dvcmQvYCwgcGF5bG9hZClcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGNoYW5nZUVtYWlsKHVzZXJJZDogbnVtYmVyLCBlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBwYXlsb2FkID0ge2VtYWlsLCBwYXNzd29yZH07XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3QoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS91c2VyLyR7dXNlcklkfS9jaGFuZ2VfZW1haWwvYCwgcGF5bG9hZClcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGNoYW5nZUVtYWlsQ29uZmlybSh1c2VySWQsIGVtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIHRva2VuOiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSB7ZW1haWwsIHBhc3N3b3JkLCB0b2tlbn07XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBvc3QoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS91c2VyLyR7dXNlcklkfS9jaGFuZ2VfZW1haWxfY29uZmlybS9gLCBwYXlsb2FkKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VXNlclByb2ZpbGUodXNlcklkOiBudW1iZXIpOiBQcm9taXNlPFVzZXJQcm9maWxlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3VzZXIvJHt1c2VySWR9L3Byb2ZpbGUvYClcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IG5ldyBVc2VyUHJvZmlsZShkYXRhKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRCYXNrZXRiYWxsUHJvZmlsZSh1c2VySWQ6IG51bWJlcik6IFByb21pc2U8QmFza2V0YmFsbFByb2ZpbGU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdXNlci8ke3VzZXJJZH0vYmFza2V0YmFsbF9wcm9maWxlL2ApXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBuZXcgQmFza2V0YmFsbFByb2ZpbGUoZGF0YSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Vm9sbGV5YmFsbFByb2ZpbGUodXNlcklkOiBudW1iZXIpOiBQcm9taXNlPFZvbGxleWJhbGxQcm9maWxlPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3VzZXIvJHt1c2VySWR9L3ZvbGxleWJhbGxfcHJvZmlsZS9gKVxuICAgICAgLnBpcGUobWFwKGRhdGEgPT4gbmV3IFZvbGxleWJhbGxQcm9maWxlKGRhdGEpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVVzZXJQcm9maWxlKHVzZXJQcm9maWxlOiBVc2VyUHJvZmlsZSk6IFByb21pc2U8VXNlclByb2ZpbGU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucGF0Y2goYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS91c2VyLyR7dXNlclByb2ZpbGUudXNlcklkfS9wcm9maWxlL2AsIHVzZXJQcm9maWxlLmpzb24oKSlcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IG5ldyBVc2VyUHJvZmlsZShkYXRhKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyB1cGRhdGVVc2VyQmFza2V0YmFsbFByb2ZpbGUoYmFza2V0YmFsbFByb2ZpbGU6IEJhc2tldGJhbGxQcm9maWxlKTogUHJvbWlzZTxCYXNrZXRiYWxsUHJvZmlsZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wYXRjaChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3VzZXIvJHtiYXNrZXRiYWxsUHJvZmlsZS51c2VySWR9L2Jhc2tldGJhbGxfcHJvZmlsZS9gLCBiYXNrZXRiYWxsUHJvZmlsZS5qc29uKCkpXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBuZXcgQmFza2V0YmFsbFByb2ZpbGUoZGF0YSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlVXNlclZvbGxleWJhbGxQcm9maWxlKHZvbGxleWJhbGxQcm9maWxlOiBWb2xsZXliYWxsUHJvZmlsZSk6IFByb21pc2U8Vm9sbGV5YmFsbFByb2ZpbGU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucGF0Y2goYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS91c2VyLyR7dm9sbGV5YmFsbFByb2ZpbGUudXNlcklkfS92b2xsZXliYWxsX3Byb2ZpbGUvYCwgdm9sbGV5YmFsbFByb2ZpbGUuanNvbigpKVxuICAgICAgLnBpcGUobWFwKGRhdGEgPT4gbmV3IFZvbGxleWJhbGxQcm9maWxlKGRhdGEpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJQZXJtaXNzaW9ucyh1c2VySWQ/OiBudW1iZXIpOiBQcm9taXNlPFVzZXJQZXJtaXNzaW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3VzZXIvJHt1c2VySWQgfHwgJ2N1cnJlbnQnfS9wZXJtaXNzaW9uL2ApXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBuZXcgVXNlclBlcm1pc3Npb24oZGF0YSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlVXNlclBlcm1pc3Npb24oZGF0YTogVXNlclBlcm1pc3Npb24pOiBQcm9taXNlPFVzZXJQZXJtaXNzaW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLnBhdGNoKGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdXNlci9jdXJyZW50L3Blcm1pc3Npb24vYCwgZGF0YS5qc29uKCkpXG4gICAgICAucGlwZShtYXAocmVzdWx0ID0+IG5ldyBVc2VyUGVybWlzc2lvbihyZXN1bHQpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlYW1zKHVzZXJJZDogbnVtYmVyKTogUHJvbWlzZTxUZWFtW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0PG9iamVjdFtdPihgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3VzZXIvJHt1c2VySWR9L3RlYW1zL2ApXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBkYXRhLm1hcChpdGVtID0+IG5ldyBUZWFtKGl0ZW0pKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRJbnZpdGVzKCk6IFByb21pc2U8VGVhbUludml0ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDxvYmplY3RbXT4oYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS91c2VyL2N1cnJlbnQvaW52aXRlcy9gKVxuICAgICAgLnBpcGUobWFwKGRhdGEgPT4gZGF0YS5tYXAoaXRlbSA9PiBuZXcgVGVhbUludml0ZShpdGVtKSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgYWNjZXB0SW52aXRlKGludml0ZUlkOiBudW1iZXIpOiBQcm9taXNlPFRlYW1JbnZpdGU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucG9zdChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3VzZXIvY3VycmVudC9pbnZpdGVzLyR7aW52aXRlSWR9L2FjY2VwdC9gLCB7fSlcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IG5ldyBUZWFtSW52aXRlKGRhdGEpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGRlY2xpbmVJbnZpdGUoaW52aXRlSWQ6IG51bWJlcik6IFByb21pc2U8VGVhbUludml0ZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdXNlci9jdXJyZW50L2ludml0ZXMvJHtpbnZpdGVJZH0vZGVjbGluZS9gLCB7fSlcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IG5ldyBUZWFtSW52aXRlKGRhdGEpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFN0YXRpc3RpY3ModXNlcklkOiBudW1iZXIpOiBQcm9taXNlPEJhc2tldGJhbGxTdGF0aXN0aWM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdXNlci8ke3VzZXJJZH0vc3RhdGlzdGljcy9gKVxuICAgICAgLnBpcGUobWFwKGRhdGEgPT4gbmV3IEJhc2tldGJhbGxTdGF0aXN0aWMoZGF0YSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0U3RyZWV0YmFsbFN0YXRpc3RpY3ModXNlcklkOiBudW1iZXIpOiBQcm9taXNlPEJhc2tldGJhbGxTdGF0aXN0aWM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdXNlci8ke3VzZXJJZH0vc3RyZWV0YmFsbF9zdGF0aXN0aWNzL2ApXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBuZXcgQmFza2V0YmFsbFN0YXRpc3RpYyhkYXRhKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRWb2xsZXliYWxsU3RhdGlzdGljKHVzZXJJZDogbnVtYmVyKTogUHJvbWlzZTxWb2xsZXliYWxsU3RhdGlzdGljPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3VzZXIvJHt1c2VySWR9L3ZvbGxleWJhbGxfc3RhdGlzdGljcy9gKVxuICAgICAgLnBpcGUobWFwKGRhdGEgPT4gbmV3IFZvbGxleWJhbGxTdGF0aXN0aWMoZGF0YSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0R2FtZXModXNlcklkOiBudW1iZXIpOiBQcm9taXNlPEdhbWVbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8b2JqZWN0W10+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdXNlci8ke3VzZXJJZH0vZ2FtZXMvYClcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IGRhdGEubWFwKGl0ZW0gPT4gbmV3IEdhbWUoaXRlbSkpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEdhbWVJbnZpdGVzKCk6IFByb21pc2U8R2FtZUludml0ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDxvYmplY3RbXT4oYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS91c2VyL2N1cnJlbnQvZ2FtZV9pbnZpdGVzL2ApXG4gICAgICAucGlwZShtYXAoZGF0YSA9PiBkYXRhLm1hcChpdGVtID0+IG5ldyBHYW1lSW52aXRlKGl0ZW0pKSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBhY2NlcHRHYW1lSW52aXRlKGludml0ZUlkOiBudW1iZXIpOiBQcm9taXNlPEdhbWVJbnZpdGU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50XG4gICAgICAucG9zdChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3VzZXIvY3VycmVudC9nYW1lX2ludml0ZXMvJHtpbnZpdGVJZH0vYWNjZXB0L2AsIHt9KVxuICAgICAgLnBpcGUobWFwKGRhdGEgPT4gbmV3IEdhbWVJbnZpdGUoZGF0YSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZGVjbGluZUdhbWVJbnZpdGUoaW52aXRlSWQ6IG51bWJlcik6IFByb21pc2U8R2FtZUludml0ZT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wb3N0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdXNlci9jdXJyZW50L2dhbWVfaW52aXRlcy8ke2ludml0ZUlkfS9kZWNsaW5lL2AsIHt9KVxuICAgICAgLnBpcGUobWFwKGRhdGEgPT4gbmV3IEdhbWVJbnZpdGUoZGF0YSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgc2VhcmNoVXNlcnMocXVlcnk6IHN0cmluZyk6IFByb21pc2U8VXNlcltdPiB7XG4gICAgY29uc3QgcGFyYW1zID0gKG5ldyBIdHRwUGFyYW1zKCkpLnNldCgnc2VhcmNoJywgcXVlcnkpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8b2JqZWN0W10+KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdXNlci9gLCB7cGFyYW1zfSlcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IGRhdGEubWFwKGl0ZW0gPT4gbmV3IFVzZXIoaXRlbSkpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIHNldFdpemFyZFNob3dlZCh3aXphcmQ6IHN0cmluZyk6IFByb21pc2U8VXNlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5wdXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS91c2VyL2N1cnJlbnQvd2l6YXJkcy9gLCB7d2l6YXJkfSlcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IG5ldyBVc2VyKGRhdGEpKSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlYW1FdmVudHModXNlcklkOiBudW1iZXIpOiBQcm9taXNlPFRlYW1FdmVudFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudFxuICAgICAgLmdldDxvYmplY3RbXT4oYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS91c2VyL2N1cnJlbnQvdGVhbV9ldmVudHMvYClcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IGRhdGEubWFwKGl0ZW0gPT4gbmV3IFRlYW1FdmVudChpdGVtKSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { HttpParams } from '@angular/common/http';
3
+ import { Game } from '../models/game';
4
+ import { map } from 'rxjs/operators';
5
+ import { VolleyballGameTeamStatistic } from '../models/volleyball-game-team-statistic';
6
+ import { VolleyballGameStatistic } from '../models/volleyball-game-statistic';
7
+ import { VolleyballGameLog } from '../models/volleyball-game-log';
8
+ import { GameBaseApi } from './game-base-api';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common/http";
11
+ import * as i2 from "../services/config.service";
12
+ export class VolleyballGameApi extends GameBaseApi {
13
+ constructor(httpClient, configService) {
14
+ super(httpClient, configService);
15
+ this.httpClient = httpClient;
16
+ this.configService = configService;
17
+ }
18
+ async getById(gameId) {
19
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/`).pipe(map(result => new Game(result))).toPromise();
20
+ }
21
+ async getTeamStatistic(gameId) {
22
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/team_statistic/`).pipe(map(result => new VolleyballGameTeamStatistic(result))).toPromise();
23
+ }
24
+ async getUserStatistic(gameId) {
25
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/user_statistic/`).pipe(map(result => result.map(item => new VolleyballGameStatistic(item)))).toPromise();
26
+ }
27
+ async getLogs(gameId) {
28
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/logs/`).pipe(map(result => result.map(item => new VolleyballGameLog(item)))).toPromise();
29
+ }
30
+ async downloadProtocolLight(gameId, format) {
31
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/game_protocol_light/`, {
32
+ params: new HttpParams().set('file_type', format),
33
+ responseType: 'blob'
34
+ }).toPromise();
35
+ }
36
+ async downloadProtocol(gameId, format) {
37
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/game_protocol/`, {
38
+ params: new HttpParams().set('file_type', format),
39
+ responseType: 'blob'
40
+ }).toPromise();
41
+ }
42
+ }
43
+ VolleyballGameApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: VolleyballGameApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
44
+ VolleyballGameApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: VolleyballGameApi, providedIn: 'root' });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: VolleyballGameApi, decorators: [{
46
+ type: Injectable,
47
+ args: [{ providedIn: 'root' }]
48
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm9sbGV5YmFsbC1nYW1lLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2FwaS92b2xsZXliYWxsLWdhbWUtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzlELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRzlDLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxXQUFXO0lBQ2hELFlBQ1ksVUFBc0IsRUFDdEIsYUFBNEI7UUFFdEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUh2QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO0lBR3hDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQWM7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxzQ0FBc0MsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2pILEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQ2hDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFjO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0NBQXNDLE1BQU0sa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQ2hJLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksMkJBQTJCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDdkQsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQWM7UUFDbkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0NBQXNDLE1BQU0sa0JBQWtCLENBQ2xHLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDckUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFjO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQ3hCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLHNDQUFzQyxNQUFNLFFBQVEsQ0FDeEYsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUMvRCxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCLENBQUMsTUFBYyxFQUFFLE1BQStCO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0NBQXNDLE1BQU0sdUJBQXVCLEVBQUU7WUFDakksTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7WUFDakQsWUFBWSxFQUFFLE1BQU07U0FDckIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBYyxFQUFFLE1BQStCO1FBQ3BFLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0NBQXNDLE1BQU0saUJBQWlCLEVBQUU7WUFDM0gsTUFBTSxFQUFFLElBQUksVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7WUFDakQsWUFBWSxFQUFFLE1BQU07U0FDckIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7OytHQWhEVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQURMLE1BQU07NEZBQ2xCLGlCQUFpQjtrQkFEN0IsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgR2FtZSB9IGZyb20gJy4uL21vZGVscy9nYW1lJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFZvbGxleWJhbGxHYW1lVGVhbVN0YXRpc3RpYyB9IGZyb20gJy4uL21vZGVscy92b2xsZXliYWxsLWdhbWUtdGVhbS1zdGF0aXN0aWMnO1xuaW1wb3J0IHsgVm9sbGV5YmFsbEdhbWVTdGF0aXN0aWMgfSBmcm9tICcuLi9tb2RlbHMvdm9sbGV5YmFsbC1nYW1lLXN0YXRpc3RpYyc7XG5pbXBvcnQgeyBWb2xsZXliYWxsR2FtZUxvZyB9IGZyb20gJy4uL21vZGVscy92b2xsZXliYWxsLWdhbWUtbG9nJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBHYW1lQmFzZUFwaSB9IGZyb20gJy4vZ2FtZS1iYXNlLWFwaSc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFZvbGxleWJhbGxHYW1lQXBpIGV4dGVuZHMgR2FtZUJhc2VBcGkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cENsaWVudDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwQ2xpZW50LCBjb25maWdTZXJ2aWNlKTtcbiAgfVxuXG4gIGFzeW5jIGdldEJ5SWQoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPEdhbWU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfdm9sbGV5YmFsbF9nYW1lLyR7Z2FtZUlkfS9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgR2FtZShyZXN1bHQpKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRUZWFtU3RhdGlzdGljKGdhbWVJZDogbnVtYmVyKTogUHJvbWlzZTxWb2xsZXliYWxsR2FtZVRlYW1TdGF0aXN0aWM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfdm9sbGV5YmFsbF9nYW1lLyR7Z2FtZUlkfS90ZWFtX3N0YXRpc3RpYy9gKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiBuZXcgVm9sbGV5YmFsbEdhbWVUZWFtU3RhdGlzdGljKHJlc3VsdCkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFVzZXJTdGF0aXN0aWMoZ2FtZUlkOiBudW1iZXIpOiBQcm9taXNlPFZvbGxleWJhbGxHYW1lU3RhdGlzdGljW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfdm9sbGV5YmFsbF9nYW1lLyR7Z2FtZUlkfS91c2VyX3N0YXRpc3RpYy9gXG4gICAgKS5waXBlKFxuICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQubWFwKGl0ZW0gPT4gbmV3IFZvbGxleWJhbGxHYW1lU3RhdGlzdGljKGl0ZW0pKSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0TG9ncyhnYW1lSWQ6IG51bWJlcik6IFByb21pc2U8Vm9sbGV5YmFsbEdhbWVMb2dbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PG9iamVjdFtdPihcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF92b2xsZXliYWxsX2dhbWUvJHtnYW1lSWR9L2xvZ3MvYFxuICAgICkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gcmVzdWx0Lm1hcChpdGVtID0+IG5ldyBWb2xsZXliYWxsR2FtZUxvZyhpdGVtKSkpXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGRvd25sb2FkUHJvdG9jb2xMaWdodChnYW1lSWQ6IG51bWJlciwgZm9ybWF0OiAncGRmJyB8ICd4bHN4JyB8ICdodG1sJyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3ZvbGxleWJhbGxfZ2FtZS8ke2dhbWVJZH0vZ2FtZV9wcm90b2NvbF9saWdodC9gLCB7XG4gICAgICBwYXJhbXM6IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdmaWxlX3R5cGUnLCBmb3JtYXQpLFxuICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcbiAgICB9KS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGRvd25sb2FkUHJvdG9jb2woZ2FtZUlkOiBudW1iZXIsIGZvcm1hdDogJ3BkZicgfCAneGxzeCcgfCAnaHRtbCcpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF92b2xsZXliYWxsX2dhbWUvJHtnYW1lSWR9L2dhbWVfcHJvdG9jb2wvYCwge1xuICAgICAgcGFyYW1zOiBuZXcgSHR0cFBhcmFtcygpLnNldCgnZmlsZV90eXBlJywgZm9ybWF0KSxcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXG4gICAgfSkudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==