@mtgame/core 0.0.8 → 0.0.10

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 (76) hide show
  1. package/api/hockey-game-api.d.ts +17 -0
  2. package/api/media-api.d.ts +1 -0
  3. package/api/public-api.d.ts +1 -0
  4. package/api/tournament-api.d.ts +2 -0
  5. package/bundles/mtgame-core.umd.js +575 -47
  6. package/bundles/mtgame-core.umd.js.map +1 -1
  7. package/bundles/mtgame-core.umd.min.js +2 -2
  8. package/bundles/mtgame-core.umd.min.js.map +1 -1
  9. package/esm2015/api/hockey-game-api.js +54 -0
  10. package/esm2015/api/media-api.js +7 -1
  11. package/esm2015/api/public-api.js +2 -1
  12. package/esm2015/api/tournament-api.js +18 -1
  13. package/esm2015/localization/hockey-game-log-types.js +23 -0
  14. package/esm2015/localization/overtime-types.js +7 -3
  15. package/esm2015/localization/public-api.js +2 -1
  16. package/esm2015/models/base-statistic.js +3 -0
  17. package/esm2015/models/basketball-game-config.js +2 -8
  18. package/esm2015/models/basketball-statistic.js +4 -3
  19. package/esm2015/models/game.js +6 -1
  20. package/esm2015/models/hockey-game-config.js +34 -0
  21. package/esm2015/models/hockey-game-log.js +87 -0
  22. package/esm2015/models/hockey-game-statistic.js +76 -0
  23. package/esm2015/models/hockey-game-team-statistic.js +27 -0
  24. package/esm2015/models/hockey-profile.js +41 -0
  25. package/esm2015/models/hockey-statistic.js +71 -0
  26. package/esm2015/models/public-api.js +9 -2
  27. package/esm2015/models/sport.js +13 -1
  28. package/esm2015/models/tournament.js +12 -1
  29. package/esm2015/models/user.js +4 -1
  30. package/esm2015/models/volleyball-statistic.js +4 -3
  31. package/esm5/api/hockey-game-api.js +65 -0
  32. package/esm5/api/media-api.js +9 -1
  33. package/esm5/api/public-api.js +2 -1
  34. package/esm5/api/tournament-api.js +32 -1
  35. package/esm5/localization/hockey-game-log-types.js +24 -0
  36. package/esm5/localization/overtime-types.js +6 -2
  37. package/esm5/localization/public-api.js +2 -1
  38. package/esm5/models/base-statistic.js +7 -0
  39. package/esm5/models/basketball-game-config.js +2 -8
  40. package/esm5/models/basketball-statistic.js +4 -3
  41. package/esm5/models/game.js +6 -1
  42. package/esm5/models/hockey-game-config.js +39 -0
  43. package/esm5/models/hockey-game-log.js +94 -0
  44. package/esm5/models/hockey-game-statistic.js +113 -0
  45. package/esm5/models/hockey-game-team-statistic.js +32 -0
  46. package/esm5/models/hockey-profile.js +46 -0
  47. package/esm5/models/hockey-statistic.js +76 -0
  48. package/esm5/models/public-api.js +9 -2
  49. package/esm5/models/sport.js +13 -1
  50. package/esm5/models/tournament.js +12 -1
  51. package/esm5/models/user.js +4 -1
  52. package/esm5/models/volleyball-statistic.js +4 -3
  53. package/fesm2015/mtgame-core.js +434 -10
  54. package/fesm2015/mtgame-core.js.map +1 -1
  55. package/fesm5/mtgame-core.js +567 -48
  56. package/fesm5/mtgame-core.js.map +1 -1
  57. package/localization/hockey-game-log-types.d.ts +22 -0
  58. package/localization/overtime-types.d.ts +5 -1
  59. package/localization/public-api.d.ts +1 -0
  60. package/models/base-statistic.d.ts +17 -0
  61. package/models/basketball-game-config.d.ts +1 -6
  62. package/models/basketball-statistic.d.ts +2 -2
  63. package/models/game.d.ts +4 -0
  64. package/models/hockey-game-config.d.ts +15 -0
  65. package/models/hockey-game-log.d.ts +52 -0
  66. package/models/hockey-game-statistic.d.ts +43 -0
  67. package/models/hockey-game-team-statistic.d.ts +8 -0
  68. package/models/hockey-profile.d.ts +18 -0
  69. package/models/hockey-statistic.d.ts +47 -0
  70. package/models/public-api.d.ts +8 -1
  71. package/models/sport.d.ts +7 -1
  72. package/models/tournament.d.ts +10 -1
  73. package/models/user.d.ts +2 -0
  74. package/models/volleyball-statistic.d.ts +2 -17
  75. package/mtgame-core.metadata.json +1 -1
  76. package/package.json +1 -1
@@ -261,6 +261,9 @@ var SportTypes;
261
261
  SportTypes[SportTypes["streetball"] = 4] = "streetball";
262
262
  SportTypes[SportTypes["classic_volleyball"] = 5] = "classic_volleyball";
263
263
  SportTypes[SportTypes["beach_volleyball"] = 6] = "beach_volleyball";
264
+ SportTypes[SportTypes["hockey"] = 7] = "hockey";
265
+ SportTypes[SportTypes["ice_hockey"] = 8] = "ice_hockey";
266
+ SportTypes[SportTypes["ball_hockey"] = 9] = "ball_hockey";
264
267
  })(SportTypes || (SportTypes = {}));
265
268
  let Sport = class Sport extends BaseModel {
266
269
  isBasketball() {
@@ -281,6 +284,15 @@ let Sport = class Sport extends BaseModel {
281
284
  isBeachVolleyball() {
282
285
  return this.id === SportTypes.beach_volleyball;
283
286
  }
287
+ isHockey() {
288
+ return this.id === SportTypes.hockey || this.parentId === SportTypes.hockey;
289
+ }
290
+ isIceHockey() {
291
+ return this.id === SportTypes.ice_hockey;
292
+ }
293
+ isBallHockey() {
294
+ return this.id === SportTypes.ball_hockey;
295
+ }
284
296
  static toFront(data) {
285
297
  return null;
286
298
  }
@@ -425,6 +437,44 @@ VolleyballProfile = __decorate([
425
437
  })
426
438
  ], VolleyballProfile);
427
439
 
440
+ var GameHockeyPosition;
441
+ (function (GameHockeyPosition) {
442
+ GameHockeyPosition[GameHockeyPosition["defensemen"] = 1] = "defensemen";
443
+ GameHockeyPosition[GameHockeyPosition["forward"] = 2] = "forward";
444
+ GameHockeyPosition[GameHockeyPosition["goaltender"] = 3] = "goaltender";
445
+ })(GameHockeyPosition || (GameHockeyPosition = {}));
446
+ var HockeyWorkHand;
447
+ (function (HockeyWorkHand) {
448
+ HockeyWorkHand[HockeyWorkHand["left"] = 1] = "left";
449
+ HockeyWorkHand[HockeyWorkHand["right"] = 2] = "right";
450
+ })(HockeyWorkHand || (HockeyWorkHand = {}));
451
+ let HockeyProfile = class HockeyProfile extends BaseModel {
452
+ static toFront(value) {
453
+ }
454
+ static toBack(value) {
455
+ }
456
+ };
457
+ __decorate([
458
+ ToFrontHook
459
+ ], HockeyProfile, "toFront", null);
460
+ __decorate([
461
+ ToBackHook
462
+ ], HockeyProfile, "toBack", null);
463
+ HockeyProfile = __decorate([
464
+ ModelInstance({
465
+ mappingFields: {
466
+ id: 'id',
467
+ user_id: 'userId',
468
+ position: 'position',
469
+ work_hand: 'workHand'
470
+ },
471
+ relation: {
472
+ position: enumField(GameHockeyPosition),
473
+ workHand: enumField(HockeyWorkHand)
474
+ }
475
+ })
476
+ ], HockeyProfile);
477
+
428
478
  var UserGender;
429
479
  (function (UserGender) {
430
480
  UserGender[UserGender["male"] = 1] = "male";
@@ -474,6 +524,7 @@ User = __decorate([
474
524
  profile: 'profile',
475
525
  basketball_profile: 'basketballProfile',
476
526
  volleyball_profile: 'volleyballProfile',
527
+ hockey_profile: 'hockeyProfile',
477
528
  wizards: 'wizards',
478
529
  city: 'city',
479
530
  gender: 'gender',
@@ -485,6 +536,7 @@ User = __decorate([
485
536
  profile: UserProfile,
486
537
  basketballProfile: BasketballProfile,
487
538
  volleyballProfile: VolleyballProfile,
539
+ hockeyProfile: HockeyProfile,
488
540
  city: City,
489
541
  gender: enumField(UserGender)
490
542
  }
@@ -639,6 +691,16 @@ var GameTimeTypes;
639
691
  GameTimeTypes[GameTimeTypes["clean"] = 1] = "clean";
640
692
  GameTimeTypes[GameTimeTypes["dirty"] = 2] = "dirty";
641
693
  })(GameTimeTypes || (GameTimeTypes = {}));
694
+ var OvertimeTypes;
695
+ (function (OvertimeTypes) {
696
+ OvertimeTypes[OvertimeTypes["to_score_total"] = 1] = "to_score_total";
697
+ OvertimeTypes[OvertimeTypes["to_score_diff"] = 2] = "to_score_diff";
698
+ OvertimeTypes[OvertimeTypes["time"] = 3] = "time";
699
+ OvertimeTypes[OvertimeTypes["without_overtime"] = 4] = "without_overtime";
700
+ OvertimeTypes[OvertimeTypes["to_first_goal"] = 5] = "to_first_goal";
701
+ OvertimeTypes[OvertimeTypes["to_first_goal_and_bullitts"] = 6] = "to_first_goal_and_bullitts";
702
+ OvertimeTypes[OvertimeTypes["bullitts"] = 7] = "bullitts";
703
+ })(OvertimeTypes || (OvertimeTypes = {}));
642
704
  let TournamentSettings = class TournamentSettings extends BaseModel {
643
705
  static toFront(data) { }
644
706
  static toBack(data) { }
@@ -684,6 +746,7 @@ TournamentSettings = __decorate([
684
746
  gender: enumField(TournamentGender),
685
747
  basketballStatisticType: enumField(BasketballStatisticTypes),
686
748
  gameTimeType: enumField(GameTimeTypes),
749
+ overtimeType: enumField(OvertimeTypes),
687
750
  }
688
751
  })
689
752
  ], TournamentSettings);
@@ -770,12 +833,6 @@ Tournament = __decorate([
770
833
  })
771
834
  ], Tournament);
772
835
 
773
- var OvertimeTypes;
774
- (function (OvertimeTypes) {
775
- OvertimeTypes[OvertimeTypes["to_score_total"] = 1] = "to_score_total";
776
- OvertimeTypes[OvertimeTypes["to_score_diff"] = 2] = "to_score_diff";
777
- OvertimeTypes[OvertimeTypes["time"] = 3] = "time";
778
- })(OvertimeTypes || (OvertimeTypes = {}));
779
836
  let BasketballGameConfig = class BasketballGameConfig extends BaseModel {
780
837
  static toFront(data) { }
781
838
  static toBack(data) { }
@@ -905,6 +962,36 @@ MediaItem = __decorate([
905
962
  })
906
963
  ], MediaItem);
907
964
 
965
+ let HockeyGameConfig = class HockeyGameConfig extends BaseModel {
966
+ static toFront(data) { }
967
+ static toBack(data) { }
968
+ };
969
+ __decorate([
970
+ ToFrontHook
971
+ ], HockeyGameConfig, "toFront", null);
972
+ __decorate([
973
+ ToBackHook
974
+ ], HockeyGameConfig, "toBack", null);
975
+ HockeyGameConfig = __decorate([
976
+ ModelInstance({
977
+ mappingFields: {
978
+ periods_count: 'periodsCount',
979
+ period_time: 'periodTime',
980
+ overtime_type: 'overtimeType',
981
+ overtime_time: 'overtimeTime',
982
+ max_game_players: 'maxGamePlayers',
983
+ timeout_count: 'timeoutCount',
984
+ overtime_timeout_count: 'overtimeTimeoutCount',
985
+ timeout_time: 'timeoutTime',
986
+ game_time_type: 'gameTimeType',
987
+ },
988
+ relation: {
989
+ overtimeType: enumField(OvertimeTypes),
990
+ gameTimeType: enumField(GameTimeTypes),
991
+ }
992
+ })
993
+ ], HockeyGameConfig);
994
+
908
995
  var GameStatuses;
909
996
  (function (GameStatuses) {
910
997
  GameStatuses[GameStatuses["open"] = 1] = "open";
@@ -969,8 +1056,10 @@ Game = __decorate([
969
1056
  id: 'id',
970
1057
  status: 'status',
971
1058
  team: 'team',
1059
+ tournament_team_id: 'tournamentTeamId',
972
1060
  team_id: 'teamId',
973
1061
  competitor_team: 'competitorTeam',
1062
+ competitor_tournament_team_id: 'competitorTournamentTeamId',
974
1063
  competitor_team_id: 'competitorTeamId',
975
1064
  competitor_team_name: 'competitorTeamName',
976
1065
  datetime: 'datetime',
@@ -983,6 +1072,7 @@ Game = __decorate([
983
1072
  tournament_tour: 'tournamentTour',
984
1073
  basketball_game_config: 'basketballGameConfig',
985
1074
  volleyball_game_config: 'volleyballGameConfig',
1075
+ hockey_game_config: 'hockeyGameConfig',
986
1076
  score_by_period: 'scoreByPeriod',
987
1077
  playoff_stage: 'playoffStage',
988
1078
  tournament_stage_id: 'tournamentStageId',
@@ -999,6 +1089,7 @@ Game = __decorate([
999
1089
  resultType: enumField(GameResultTypes),
1000
1090
  basketballGameConfig: BasketballGameConfig,
1001
1091
  volleyballGameConfig: VolleyballGameConfig,
1092
+ hockeyGameConfig: HockeyGameConfig,
1002
1093
  tournamentCourt: LeagueCourt,
1003
1094
  media: listField(MediaItem),
1004
1095
  }
@@ -1384,7 +1475,10 @@ ConfigService = __decorate([
1384
1475
  __param(0, Optional()), __param(0, Inject(CONFIG_DATA))
1385
1476
  ], ConfigService);
1386
1477
 
1387
- let BasketballStatistic = class BasketballStatistic extends BaseModel {
1478
+ class BaseStatistic {
1479
+ }
1480
+
1481
+ let BasketballStatistic = class BasketballStatistic extends BaseStatistic {
1388
1482
  get totalFouls() {
1389
1483
  return this.personalFouls + this.technicalFouls + this.unsportsmanlikeFouls;
1390
1484
  }
@@ -1747,6 +1841,288 @@ FileApi = __decorate([
1747
1841
  Injectable({ providedIn: 'root' })
1748
1842
  ], FileApi);
1749
1843
 
1844
+ var HockeyGameLogTypes;
1845
+ (function (HockeyGameLogTypes) {
1846
+ HockeyGameLogTypes[HockeyGameLogTypes["enter_game"] = 1] = "enter_game";
1847
+ HockeyGameLogTypes[HockeyGameLogTypes["exit_game"] = 2] = "exit_game";
1848
+ HockeyGameLogTypes[HockeyGameLogTypes["shot_miss"] = 3] = "shot_miss";
1849
+ HockeyGameLogTypes[HockeyGameLogTypes["shot_on_goal"] = 4] = "shot_on_goal";
1850
+ HockeyGameLogTypes[HockeyGameLogTypes["shot_blocked"] = 5] = "shot_blocked";
1851
+ HockeyGameLogTypes[HockeyGameLogTypes["goal"] = 6] = "goal";
1852
+ HockeyGameLogTypes[HockeyGameLogTypes["shootout_attempt"] = 7] = "shootout_attempt";
1853
+ HockeyGameLogTypes[HockeyGameLogTypes["shootout_goal"] = 8] = "shootout_goal";
1854
+ HockeyGameLogTypes[HockeyGameLogTypes["assist"] = 9] = "assist";
1855
+ HockeyGameLogTypes[HockeyGameLogTypes["block_shot"] = 10] = "block_shot";
1856
+ HockeyGameLogTypes[HockeyGameLogTypes["minor_penalty"] = 11] = "minor_penalty";
1857
+ HockeyGameLogTypes[HockeyGameLogTypes["major_penalty"] = 12] = "major_penalty";
1858
+ HockeyGameLogTypes[HockeyGameLogTypes["misconduct_penalty"] = 13] = "misconduct_penalty";
1859
+ HockeyGameLogTypes[HockeyGameLogTypes["game_misconduct_penalty"] = 14] = "game_misconduct_penalty";
1860
+ HockeyGameLogTypes[HockeyGameLogTypes["match_penalty"] = 15] = "match_penalty";
1861
+ HockeyGameLogTypes[HockeyGameLogTypes["penalty_shot"] = 16] = "penalty_shot";
1862
+ HockeyGameLogTypes[HockeyGameLogTypes["face_off_lose"] = 17] = "face_off_lose";
1863
+ HockeyGameLogTypes[HockeyGameLogTypes["face_off_win"] = 18] = "face_off_win";
1864
+ HockeyGameLogTypes[HockeyGameLogTypes["save"] = 19] = "save";
1865
+ })(HockeyGameLogTypes || (HockeyGameLogTypes = {}));
1866
+ var HockeyAdvantageTypes;
1867
+ (function (HockeyAdvantageTypes) {
1868
+ HockeyAdvantageTypes[HockeyAdvantageTypes["power_play"] = 1] = "power_play";
1869
+ HockeyAdvantageTypes[HockeyAdvantageTypes["shorthanded"] = 2] = "shorthanded";
1870
+ HockeyAdvantageTypes[HockeyAdvantageTypes["even_strength"] = 3] = "even_strength";
1871
+ })(HockeyAdvantageTypes || (HockeyAdvantageTypes = {}));
1872
+ let HockeyGameLog = class HockeyGameLog extends BaseModel {
1873
+ constructor() {
1874
+ super(...arguments);
1875
+ this.active = true;
1876
+ }
1877
+ compare(model) {
1878
+ if (this.time === model.time && this.period === model.period) {
1879
+ return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;
1880
+ }
1881
+ if (this.period === model.period) {
1882
+ return this.time < model.time ? 1 : -1;
1883
+ }
1884
+ return this.period < model.period ? 1 : -1;
1885
+ }
1886
+ get timeFormatted() {
1887
+ const minutes = Math.floor(this.time / 60);
1888
+ const seconds = this.time - minutes * 60;
1889
+ return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;
1890
+ }
1891
+ isScoreType() {
1892
+ return [HockeyGameLogTypes.goal, HockeyGameLogTypes.shootout_goal].indexOf(this.logType) > -1;
1893
+ }
1894
+ static toFront(value) { }
1895
+ static toBack(value) { }
1896
+ };
1897
+ __decorate([
1898
+ ToFrontHook
1899
+ ], HockeyGameLog, "toFront", null);
1900
+ __decorate([
1901
+ ToBackHook
1902
+ ], HockeyGameLog, "toBack", null);
1903
+ HockeyGameLog = __decorate([
1904
+ ModelInstance({
1905
+ mappingFields: {
1906
+ id: 'id',
1907
+ unique_id: 'uniqueId',
1908
+ game_id: 'gameId',
1909
+ game_user_id: 'gameUserId',
1910
+ team_id: 'teamId',
1911
+ log_type: 'logType',
1912
+ datetime: 'datetime',
1913
+ time: 'time',
1914
+ period: 'period',
1915
+ active: 'active',
1916
+ is_highlight: 'isHighlight',
1917
+ advantage: 'advantage',
1918
+ is_goalie: 'isGoalie',
1919
+ },
1920
+ relation: {
1921
+ datetime: DateTimeField,
1922
+ logType: enumField(HockeyGameLogTypes),
1923
+ advantage: enumField(HockeyAdvantageTypes),
1924
+ }
1925
+ })
1926
+ ], HockeyGameLog);
1927
+
1928
+ let HockeyGameStatistic = class HockeyGameStatistic extends BaseModel {
1929
+ get id() {
1930
+ return this.gameUserId;
1931
+ }
1932
+ get shotMisses() {
1933
+ return (this.ppShotMisses || 0) + (this.evShotMisses || 0) + (this.shShotMisses || 0);
1934
+ }
1935
+ get shotsOnGoal() {
1936
+ return (this.ppShotsOnGoal || 0) + (this.evShotsOnGoal || 0) + (this.shShotsOnGoal || 0);
1937
+ }
1938
+ get shotsBlocked() {
1939
+ return (this.ppShotsBlocked || 0) + (this.evShotsBlocked || 0) + (this.shShotsBlocked || 0);
1940
+ }
1941
+ get goals() {
1942
+ return (this.ppGoals || 0) + (this.evGoals || 0) + (this.shGoals || 0);
1943
+ }
1944
+ get assists() {
1945
+ return (this.ppAssists || 0) + (this.evAssists || 0) + (this.shAssists || 0);
1946
+ }
1947
+ get faceOffs() {
1948
+ return (this.faceOffWins || 0) + (this.faceOffLosses || 0);
1949
+ }
1950
+ get shootOuts() {
1951
+ return (this.shootoutAttempts || 0) + (this.shootoutGoals || 0);
1952
+ }
1953
+ static toFront(data) { }
1954
+ static toBack(data) { }
1955
+ };
1956
+ __decorate([
1957
+ ToFrontHook
1958
+ ], HockeyGameStatistic, "toFront", null);
1959
+ __decorate([
1960
+ ToBackHook
1961
+ ], HockeyGameStatistic, "toBack", null);
1962
+ HockeyGameStatistic = __decorate([
1963
+ ModelInstance({
1964
+ mappingFields: {
1965
+ game_user_id: 'gameUserId',
1966
+ updated_at: 'updatedAt',
1967
+ points: 'points',
1968
+ pp_shot_misses: 'ppShotMisses',
1969
+ pp_shots_on_goal: 'ppShotsOnGoal',
1970
+ pp_shots_blocked: 'ppShotsBlocked',
1971
+ ev_shot_misses: 'evShotMisses',
1972
+ ev_shots_on_goal: 'evShotsOnGoal',
1973
+ ev_shots_blocked: 'evShotsBlocked',
1974
+ sh_shot_misses: 'evShotMisses',
1975
+ sh_shots_on_goal: 'shShotsOnGoal',
1976
+ sh_shots_blocked: 'shShotsBlocked',
1977
+ pp_goals: 'ppGoals',
1978
+ ev_goals: 'evGoals',
1979
+ sh_goals: 'shGoals',
1980
+ pp_assists: 'ppAssists',
1981
+ ev_assists: 'evAssists',
1982
+ sh_assists: 'shAssists',
1983
+ shootout_attempts: 'shootoutAttempts',
1984
+ shootout_goals: 'shootoutGoals',
1985
+ block_shots: 'blockShots',
1986
+ face_off_losses: 'faceOffLosses',
1987
+ face_off_wins: 'faceOffWins',
1988
+ saves: 'saves',
1989
+ goals_against: 'goalsAgainst',
1990
+ safety_rate: 'safetyRate',
1991
+ penalty_minutes: 'penaltyMinutes',
1992
+ game_time: 'gameTime',
1993
+ plus_minus: 'plusMinus'
1994
+ },
1995
+ relation: {
1996
+ updatedAt: DateTimeField,
1997
+ }
1998
+ })
1999
+ ], HockeyGameStatistic);
2000
+
2001
+ let HockeyStatistic = class HockeyStatistic extends BaseStatistic {
2002
+ static toFront(data) { }
2003
+ static toBack(data) { }
2004
+ };
2005
+ __decorate([
2006
+ ToFrontHook
2007
+ ], HockeyStatistic, "toFront", null);
2008
+ __decorate([
2009
+ ToBackHook
2010
+ ], HockeyStatistic, "toBack", null);
2011
+ HockeyStatistic = __decorate([
2012
+ ModelInstance({
2013
+ mappingFields: {
2014
+ tournament_team_user: 'tournamentTeamUser',
2015
+ team: 'team',
2016
+ team_user: 'teamUser',
2017
+ user: 'user',
2018
+ tournament_team: 'tournamentTeam',
2019
+ month: 'month',
2020
+ win_lose: 'winLose',
2021
+ games_count: 'gamesCount',
2022
+ won_games_count: 'wonGamesCount',
2023
+ points: 'points',
2024
+ pp_shot_misses: 'ppShotMisses',
2025
+ pp_shots_on_goal: 'ppShotsOnGoal',
2026
+ pp_shots_blocked: 'ppShotsBlocked',
2027
+ ev_shot_misses: 'evShotMisses',
2028
+ ev_shots_on_goal: 'evShotsOnGoal',
2029
+ ev_shots_blocked: 'evShotsBlocked',
2030
+ sh_shot_misses: 'evShotMisses',
2031
+ sh_shots_on_goal: 'shShotsOnGoal',
2032
+ sh_shots_blocked: 'shShotsBlocked',
2033
+ pp_goals: 'ppGoals',
2034
+ ev_goals: 'evGoals',
2035
+ sh_goals: 'shGoals',
2036
+ pp_assists: 'ppAssists',
2037
+ ev_assists: 'evAssists',
2038
+ sh_assists: 'shAssists',
2039
+ shootout_attempts: 'shootoutAttempts',
2040
+ shootout_goals: 'shootoutGoals',
2041
+ block_shots: 'blockShots',
2042
+ face_off_losses: 'faceOffLosses',
2043
+ face_off_wins: 'faceOffWins',
2044
+ saves: 'saves',
2045
+ goals_against: 'goalsAgainst',
2046
+ safety_rate: 'safetyRate',
2047
+ penalty_minutes: 'penaltyMinutes',
2048
+ game_time: 'gameTime',
2049
+ plus_minus: 'plusMinus',
2050
+ newbie: 'newbie',
2051
+ },
2052
+ relation: {
2053
+ tournamentTeamUser: TournamentTeamUser,
2054
+ team: Team,
2055
+ teamUser: TeamUser,
2056
+ user: User,
2057
+ tournamentTeam: TournamentTeam,
2058
+ month: DateField
2059
+ }
2060
+ })
2061
+ ], HockeyStatistic);
2062
+
2063
+ let HockeyGameTeamStatistic = class HockeyGameTeamStatistic extends BaseModel {
2064
+ static toFront(data) { }
2065
+ static toBack(data) { }
2066
+ };
2067
+ __decorate([
2068
+ ToFrontHook
2069
+ ], HockeyGameTeamStatistic, "toFront", null);
2070
+ __decorate([
2071
+ ToBackHook
2072
+ ], HockeyGameTeamStatistic, "toBack", null);
2073
+ HockeyGameTeamStatistic = __decorate([
2074
+ ModelInstance({
2075
+ mappingFields: {
2076
+ team: 'team',
2077
+ competitor_team: 'competitorTeam'
2078
+ },
2079
+ relation: {
2080
+ team: HockeyStatistic,
2081
+ competitorTeam: HockeyStatistic
2082
+ }
2083
+ })
2084
+ ], HockeyGameTeamStatistic);
2085
+
2086
+ let HockeyGameApi = class HockeyGameApi {
2087
+ constructor(httpClient, configService) {
2088
+ this.httpClient = httpClient;
2089
+ this.configService = configService;
2090
+ }
2091
+ getById(gameId) {
2092
+ return __awaiter(this, void 0, void 0, function* () {
2093
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/`).pipe(map(result => Game.toFront(result))).toPromise();
2094
+ });
2095
+ }
2096
+ getUsers(gameId) {
2097
+ return __awaiter(this, void 0, void 0, function* () {
2098
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/users/`).pipe(map(result => GameUser.toFront(result))).toPromise();
2099
+ });
2100
+ }
2101
+ getTeamStatistic(gameId) {
2102
+ return __awaiter(this, void 0, void 0, function* () {
2103
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/team_statistic/`).pipe(map(result => HockeyGameTeamStatistic.toFront(result))).toPromise();
2104
+ });
2105
+ }
2106
+ getUserStatistic(gameId) {
2107
+ return __awaiter(this, void 0, void 0, function* () {
2108
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/user_statistic/`).pipe(map(result => HockeyGameStatistic.toFront(result))).toPromise();
2109
+ });
2110
+ }
2111
+ getLogs(gameId) {
2112
+ return __awaiter(this, void 0, void 0, function* () {
2113
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/logs/`).pipe(map(result => HockeyGameLog.toFront(result))).toPromise();
2114
+ });
2115
+ }
2116
+ };
2117
+ HockeyGameApi.ctorParameters = () => [
2118
+ { type: HttpClient },
2119
+ { type: ConfigService }
2120
+ ];
2121
+ HockeyGameApi.ɵprov = ɵɵdefineInjectable({ factory: function HockeyGameApi_Factory() { return new HockeyGameApi(ɵɵinject(HttpClient), ɵɵinject(ConfigService)); }, token: HockeyGameApi, providedIn: "root" });
2122
+ HockeyGameApi = __decorate([
2123
+ Injectable({ providedIn: 'root' })
2124
+ ], HockeyGameApi);
2125
+
1750
2126
  let LeagueNews = class LeagueNews extends BaseModel {
1751
2127
  static toFront(data) {
1752
2128
  return undefined;
@@ -2005,6 +2381,12 @@ let MediaApi = class MediaApi {
2005
2381
  .toPromise();
2006
2382
  });
2007
2383
  }
2384
+ downloadMedia(mediaId) {
2385
+ return __awaiter(this, void 0, void 0, function* () {
2386
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/download/`, { responseType: 'blob' })
2387
+ .toPromise();
2388
+ });
2389
+ }
2008
2390
  };
2009
2391
  MediaApi.ctorParameters = () => [
2010
2392
  { type: HttpClient },
@@ -2642,7 +3024,7 @@ TeamInviteExternal = __decorate([
2642
3024
  })
2643
3025
  ], TeamInviteExternal);
2644
3026
 
2645
- let VolleyballStatistic = class VolleyballStatistic extends BaseModel {
3027
+ let VolleyballStatistic = class VolleyballStatistic extends BaseStatistic {
2646
3028
  static toFront(data) { }
2647
3029
  static toBack(data) { }
2648
3030
  };
@@ -3617,6 +3999,22 @@ let TournamentApi = class TournamentApi {
3617
3999
  return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/volleyball_statistic/`, { params }).pipe(map(result => VolleyballStatistic.toFront(result))).toPromise();
3618
4000
  });
3619
4001
  }
4002
+ getHockeyStatistic(filters) {
4003
+ return __awaiter(this, void 0, void 0, function* () {
4004
+ let params = new HttpParams();
4005
+ if (filters) {
4006
+ for (const key of Object.keys(filters)) {
4007
+ if (filters[key]) {
4008
+ params = params.set(key, filters[key]);
4009
+ }
4010
+ }
4011
+ if (filters.per_game !== undefined) {
4012
+ params = params.set('per_game', filters.per_game ? '1' : '0');
4013
+ }
4014
+ }
4015
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/hockey_statistic/`, { params }).pipe(map(result => HockeyStatistic.toFront(result))).toPromise();
4016
+ });
4017
+ }
3620
4018
  };
3621
4019
  TournamentApi.ctorParameters = () => [
3622
4020
  { type: HttpClient },
@@ -4347,10 +4745,36 @@ const BasketballGameLogTypeLocalization = {
4347
4745
  [BasketballGameLogTypes.timeout]: 'Таймаут',
4348
4746
  };
4349
4747
 
4748
+ const HockeyGameLogTypeLocalization = {
4749
+ [HockeyGameLogTypes.enter_game]: 'Выход на площадку',
4750
+ [HockeyGameLogTypes.exit_game]: 'Ушел с площадки',
4751
+ [HockeyGameLogTypes.shot_miss]: 'Бросок мимо',
4752
+ [HockeyGameLogTypes.shot_on_goal]: 'Бросок по воротам',
4753
+ [HockeyGameLogTypes.shot_blocked]: 'Заблокированный бросок',
4754
+ [HockeyGameLogTypes.goal]: 'Гол',
4755
+ [HockeyGameLogTypes.shootout_attempt]: 'Булит промах',
4756
+ [HockeyGameLogTypes.shootout_goal]: 'Булит гол',
4757
+ [HockeyGameLogTypes.assist]: 'Передача',
4758
+ [HockeyGameLogTypes.block_shot]: 'Блокировка броска',
4759
+ [HockeyGameLogTypes.minor_penalty]: 'Малшый штраф',
4760
+ [HockeyGameLogTypes.major_penalty]: 'Большой штраф',
4761
+ [HockeyGameLogTypes.misconduct_penalty]: 'Дисциплинарный штраф',
4762
+ [HockeyGameLogTypes.game_misconduct_penalty]: 'Дисциплинарный штраф до конца игры',
4763
+ [HockeyGameLogTypes.match_penalty]: 'Матч-штраф',
4764
+ [HockeyGameLogTypes.penalty_shot]: 'Штрафной бросок',
4765
+ [HockeyGameLogTypes.face_off_lose]: 'Проирыш в вбрасывании',
4766
+ [HockeyGameLogTypes.face_off_win]: 'Победа в вбрасывании',
4767
+ [HockeyGameLogTypes.save]: 'Отражен бросок'
4768
+ };
4769
+
4350
4770
  const OvertimeTypeLocalization = {
4351
4771
  [OvertimeTypes.to_score_diff]: 'До разницы в N мячей',
4352
4772
  [OvertimeTypes.to_score_total]: 'До N очков',
4353
- [OvertimeTypes.time]: 'По времени'
4773
+ [OvertimeTypes.time]: 'По времени',
4774
+ [OvertimeTypes.without_overtime]: 'Без овертайма',
4775
+ [OvertimeTypes.to_first_goal]: 'На N минут до первой шайбы',
4776
+ [OvertimeTypes.to_first_goal_and_bullitts]: 'На N минут до первой шайбы + буллиты',
4777
+ [OvertimeTypes.bullitts]: 'Буллиты'
4354
4778
  };
4355
4779
 
4356
4780
  const TeamUserRoleLocalization = {
@@ -4782,5 +5206,5 @@ HttpCookieInterceptor = __decorate([
4782
5206
  * Generated bundle index. Do not edit.
4783
5207
  */
4784
5208
 
4785
- export { BaseModel, BaseService, BasketballGameApi, BasketballGameConfig, BasketballGameLog, BasketballGameLogTypeLocalization, BasketballGameLogTypes, BasketballGameStatistic, BasketballGameTeamStatistic, BasketballProfile, BasketballStatistic, BasketballStatisticTypes, CONFIG_DATA, CentrifugoService, City, ConfigService, DateField, DateTimeField, FAULT_LOG_TYPES, Feedback, FeedbackApi, File, FileApi, FileEngine, Game, GameBasketballPosition, GameBasketballPositionLocalization, GameBasketballPositionShortLocalization, GameInvite, GameInviteStatus, GameResultTypes, GameStatuses, GameTimeTypes, GameTimelineStageItem, GameTimelineStages, GameUser, GameVolleyballPosition, GameVolleyballPositionLocalization, GameVolleyballPositionShortLocalization, GameVolleyballPositionShortRuLocalization, HttpCookieInterceptor, League, LeagueApi, LeagueCourt, LeagueNews, LeagueNewsApi, LocalStorageEngine, MediaApi, MediaItem, ModelInstance, Notification, NotificationAllowTypes, NotificationApi, NotificationBaseApi, NotificationServiceEnum, NotificationSettings, NotificationType, OrgNotificationApi, Organization, OvertimeTypeLocalization, OvertimeTypes, Playoff, PlayoffSettings, PlayoffTypes, Poll, PollAnswer, PollStatuses, PollVariant, ReferenceApi, SCORE_LOG_TYPES, Sport, SportTypes, StorageEngine, StorageEngineField, Store, Team, TeamAccess, TeamApi, TeamEvent, TeamEventApi, TeamEventInvite, TeamEventInviteStatuses, TeamEventTypeLocalization, TeamEventTypes, TeamInvite, TeamInviteExternal, TeamPermission, TeamPermissionTypes, TeamUser, TeamUserRole, TeamUserRoleLocalization, ToBackHook, ToFrontHook, Tournament, TournamentApi, TournamentDisqualification, TournamentEvent, TournamentEventTypes, TournamentGender, TournamentGroup, TournamentInvite, TournamentJoinApi, TournamentJoinData, TournamentJoinTeam, TournamentNews, TournamentSettings, TournamentStage, TournamentStageApi, TournamentStageStatuses, TournamentStageTeam, TournamentStatuses, TournamentTeam, TournamentTeamUser, TournamentTeamUserInvite, TournamentTeamWinner, TournamentTypes, UntilDestroy, User, UserAccess, UserApi, UserGender, UserPermission, UserPermissionTypes, UserProfile, VolleyballGameApi, VolleyballGameConfig, VolleyballGameLog, VolleyballGameLogType, VolleyballGameLogTypeLocalization, VolleyballGameStatistic, VolleyballGameTeamStatistic, VolleyballGameTypes, VolleyballProfile, VolleyballStatistic, VolleyballWorkHand, VolleyballWorkHandLocalization, WorkHand, WorkHandLocalization, addItemInArray, changeFavicons, componentDestroyed, deleteItemFromArray, enumField, fileSizeValidator, generateArray, getArrayChunks, getCookie, getEnumOptions, getIconsData, handleError, isTouchDevice, listField, markFormGroupTouched, minLengthArrayValidator, patchItemInArray, updateItemInArray, updateItemsInArray, validateDate, validateEmail, validatePhone, validateUrl };
5209
+ export { BaseModel, BaseService, BaseStatistic, BasketballGameApi, BasketballGameConfig, BasketballGameLog, BasketballGameLogTypeLocalization, BasketballGameLogTypes, BasketballGameStatistic, BasketballGameTeamStatistic, BasketballProfile, BasketballStatistic, BasketballStatisticTypes, CONFIG_DATA, CentrifugoService, City, ConfigService, DateField, DateTimeField, FAULT_LOG_TYPES, Feedback, FeedbackApi, File, FileApi, FileEngine, Game, GameBasketballPosition, GameBasketballPositionLocalization, GameBasketballPositionShortLocalization, GameHockeyPosition, GameInvite, GameInviteStatus, GameResultTypes, GameStatuses, GameTimeTypes, GameTimelineStageItem, GameTimelineStages, GameUser, GameVolleyballPosition, GameVolleyballPositionLocalization, GameVolleyballPositionShortLocalization, GameVolleyballPositionShortRuLocalization, HockeyAdvantageTypes, HockeyGameApi, HockeyGameConfig, HockeyGameLog, HockeyGameLogTypeLocalization, HockeyGameLogTypes, HockeyGameStatistic, HockeyGameTeamStatistic, HockeyProfile, HockeyStatistic, HockeyWorkHand, HttpCookieInterceptor, League, LeagueApi, LeagueCourt, LeagueNews, LeagueNewsApi, LocalStorageEngine, MediaApi, MediaItem, ModelInstance, Notification, NotificationAllowTypes, NotificationApi, NotificationBaseApi, NotificationServiceEnum, NotificationSettings, NotificationType, OrgNotificationApi, Organization, OvertimeTypeLocalization, OvertimeTypes, Playoff, PlayoffSettings, PlayoffTypes, Poll, PollAnswer, PollStatuses, PollVariant, ReferenceApi, SCORE_LOG_TYPES, Sport, SportTypes, StorageEngine, StorageEngineField, Store, Team, TeamAccess, TeamApi, TeamEvent, TeamEventApi, TeamEventInvite, TeamEventInviteStatuses, TeamEventTypeLocalization, TeamEventTypes, TeamInvite, TeamInviteExternal, TeamPermission, TeamPermissionTypes, TeamUser, TeamUserRole, TeamUserRoleLocalization, ToBackHook, ToFrontHook, Tournament, TournamentApi, TournamentDisqualification, TournamentEvent, TournamentEventTypes, TournamentGender, TournamentGroup, TournamentInvite, TournamentJoinApi, TournamentJoinData, TournamentJoinTeam, TournamentNews, TournamentSettings, TournamentStage, TournamentStageApi, TournamentStageStatuses, TournamentStageTeam, TournamentStatuses, TournamentTeam, TournamentTeamUser, TournamentTeamUserInvite, TournamentTeamWinner, TournamentTypes, UntilDestroy, User, UserAccess, UserApi, UserGender, UserPermission, UserPermissionTypes, UserProfile, VolleyballGameApi, VolleyballGameConfig, VolleyballGameLog, VolleyballGameLogType, VolleyballGameLogTypeLocalization, VolleyballGameStatistic, VolleyballGameTeamStatistic, VolleyballGameTypes, VolleyballProfile, VolleyballStatistic, VolleyballWorkHand, VolleyballWorkHandLocalization, WorkHand, WorkHandLocalization, addItemInArray, changeFavicons, componentDestroyed, deleteItemFromArray, enumField, fileSizeValidator, generateArray, getArrayChunks, getCookie, getEnumOptions, getIconsData, handleError, isTouchDevice, listField, markFormGroupTouched, minLengthArrayValidator, patchItemInArray, updateItemInArray, updateItemsInArray, validateDate, validateEmail, validatePhone, validateUrl };
4786
5210
  //# sourceMappingURL=mtgame-core.js.map