@mtgame/core 0.0.9 → 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 (73) hide show
  1. package/api/hockey-game-api.d.ts +17 -0
  2. package/api/public-api.d.ts +1 -0
  3. package/api/tournament-api.d.ts +2 -0
  4. package/bundles/mtgame-core.umd.js +565 -47
  5. package/bundles/mtgame-core.umd.js.map +1 -1
  6. package/bundles/mtgame-core.umd.min.js +2 -2
  7. package/bundles/mtgame-core.umd.min.js.map +1 -1
  8. package/esm2015/api/hockey-game-api.js +54 -0
  9. package/esm2015/api/public-api.js +2 -1
  10. package/esm2015/api/tournament-api.js +18 -1
  11. package/esm2015/localization/hockey-game-log-types.js +23 -0
  12. package/esm2015/localization/overtime-types.js +7 -3
  13. package/esm2015/localization/public-api.js +2 -1
  14. package/esm2015/models/base-statistic.js +3 -0
  15. package/esm2015/models/basketball-game-config.js +2 -8
  16. package/esm2015/models/basketball-statistic.js +4 -3
  17. package/esm2015/models/game.js +4 -1
  18. package/esm2015/models/hockey-game-config.js +34 -0
  19. package/esm2015/models/hockey-game-log.js +87 -0
  20. package/esm2015/models/hockey-game-statistic.js +76 -0
  21. package/esm2015/models/hockey-game-team-statistic.js +27 -0
  22. package/esm2015/models/hockey-profile.js +41 -0
  23. package/esm2015/models/hockey-statistic.js +71 -0
  24. package/esm2015/models/public-api.js +9 -2
  25. package/esm2015/models/sport.js +13 -1
  26. package/esm2015/models/tournament.js +12 -1
  27. package/esm2015/models/user.js +4 -1
  28. package/esm2015/models/volleyball-statistic.js +4 -3
  29. package/esm5/api/hockey-game-api.js +65 -0
  30. package/esm5/api/public-api.js +2 -1
  31. package/esm5/api/tournament-api.js +32 -1
  32. package/esm5/localization/hockey-game-log-types.js +24 -0
  33. package/esm5/localization/overtime-types.js +6 -2
  34. package/esm5/localization/public-api.js +2 -1
  35. package/esm5/models/base-statistic.js +7 -0
  36. package/esm5/models/basketball-game-config.js +2 -8
  37. package/esm5/models/basketball-statistic.js +4 -3
  38. package/esm5/models/game.js +4 -1
  39. package/esm5/models/hockey-game-config.js +39 -0
  40. package/esm5/models/hockey-game-log.js +94 -0
  41. package/esm5/models/hockey-game-statistic.js +113 -0
  42. package/esm5/models/hockey-game-team-statistic.js +32 -0
  43. package/esm5/models/hockey-profile.js +46 -0
  44. package/esm5/models/hockey-statistic.js +76 -0
  45. package/esm5/models/public-api.js +9 -2
  46. package/esm5/models/sport.js +13 -1
  47. package/esm5/models/tournament.js +12 -1
  48. package/esm5/models/user.js +4 -1
  49. package/esm5/models/volleyball-statistic.js +4 -3
  50. package/fesm2015/mtgame-core.js +426 -10
  51. package/fesm2015/mtgame-core.js.map +1 -1
  52. package/fesm5/mtgame-core.js +557 -48
  53. package/fesm5/mtgame-core.js.map +1 -1
  54. package/localization/hockey-game-log-types.d.ts +22 -0
  55. package/localization/overtime-types.d.ts +5 -1
  56. package/localization/public-api.d.ts +1 -0
  57. package/models/base-statistic.d.ts +17 -0
  58. package/models/basketball-game-config.d.ts +1 -6
  59. package/models/basketball-statistic.d.ts +2 -2
  60. package/models/game.d.ts +2 -0
  61. package/models/hockey-game-config.d.ts +15 -0
  62. package/models/hockey-game-log.d.ts +52 -0
  63. package/models/hockey-game-statistic.d.ts +43 -0
  64. package/models/hockey-game-team-statistic.d.ts +8 -0
  65. package/models/hockey-profile.d.ts +18 -0
  66. package/models/hockey-statistic.d.ts +47 -0
  67. package/models/public-api.d.ts +8 -1
  68. package/models/sport.d.ts +7 -1
  69. package/models/tournament.d.ts +10 -1
  70. package/models/user.d.ts +2 -0
  71. package/models/volleyball-statistic.d.ts +2 -17
  72. package/mtgame-core.metadata.json +1 -1
  73. 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";
@@ -985,6 +1072,7 @@ Game = __decorate([
985
1072
  tournament_tour: 'tournamentTour',
986
1073
  basketball_game_config: 'basketballGameConfig',
987
1074
  volleyball_game_config: 'volleyballGameConfig',
1075
+ hockey_game_config: 'hockeyGameConfig',
988
1076
  score_by_period: 'scoreByPeriod',
989
1077
  playoff_stage: 'playoffStage',
990
1078
  tournament_stage_id: 'tournamentStageId',
@@ -1001,6 +1089,7 @@ Game = __decorate([
1001
1089
  resultType: enumField(GameResultTypes),
1002
1090
  basketballGameConfig: BasketballGameConfig,
1003
1091
  volleyballGameConfig: VolleyballGameConfig,
1092
+ hockeyGameConfig: HockeyGameConfig,
1004
1093
  tournamentCourt: LeagueCourt,
1005
1094
  media: listField(MediaItem),
1006
1095
  }
@@ -1386,7 +1475,10 @@ ConfigService = __decorate([
1386
1475
  __param(0, Optional()), __param(0, Inject(CONFIG_DATA))
1387
1476
  ], ConfigService);
1388
1477
 
1389
- let BasketballStatistic = class BasketballStatistic extends BaseModel {
1478
+ class BaseStatistic {
1479
+ }
1480
+
1481
+ let BasketballStatistic = class BasketballStatistic extends BaseStatistic {
1390
1482
  get totalFouls() {
1391
1483
  return this.personalFouls + this.technicalFouls + this.unsportsmanlikeFouls;
1392
1484
  }
@@ -1749,6 +1841,288 @@ FileApi = __decorate([
1749
1841
  Injectable({ providedIn: 'root' })
1750
1842
  ], FileApi);
1751
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
+
1752
2126
  let LeagueNews = class LeagueNews extends BaseModel {
1753
2127
  static toFront(data) {
1754
2128
  return undefined;
@@ -2650,7 +3024,7 @@ TeamInviteExternal = __decorate([
2650
3024
  })
2651
3025
  ], TeamInviteExternal);
2652
3026
 
2653
- let VolleyballStatistic = class VolleyballStatistic extends BaseModel {
3027
+ let VolleyballStatistic = class VolleyballStatistic extends BaseStatistic {
2654
3028
  static toFront(data) { }
2655
3029
  static toBack(data) { }
2656
3030
  };
@@ -3625,6 +3999,22 @@ let TournamentApi = class TournamentApi {
3625
3999
  return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/volleyball_statistic/`, { params }).pipe(map(result => VolleyballStatistic.toFront(result))).toPromise();
3626
4000
  });
3627
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
+ }
3628
4018
  };
3629
4019
  TournamentApi.ctorParameters = () => [
3630
4020
  { type: HttpClient },
@@ -4355,10 +4745,36 @@ const BasketballGameLogTypeLocalization = {
4355
4745
  [BasketballGameLogTypes.timeout]: 'Таймаут',
4356
4746
  };
4357
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
+
4358
4770
  const OvertimeTypeLocalization = {
4359
4771
  [OvertimeTypes.to_score_diff]: 'До разницы в N мячей',
4360
4772
  [OvertimeTypes.to_score_total]: 'До N очков',
4361
- [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]: 'Буллиты'
4362
4778
  };
4363
4779
 
4364
4780
  const TeamUserRoleLocalization = {
@@ -4790,5 +5206,5 @@ HttpCookieInterceptor = __decorate([
4790
5206
  * Generated bundle index. Do not edit.
4791
5207
  */
4792
5208
 
4793
- 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 };
4794
5210
  //# sourceMappingURL=mtgame-core.js.map