@mtgame/core 0.0.67 → 0.0.68

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 (58) hide show
  1. package/api/handball-game-api.d.ts +18 -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 +650 -54
  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/handball-game-api.js +66 -0
  9. package/esm2015/api/public-api.js +2 -1
  10. package/esm2015/api/tournament-api.js +21 -1
  11. package/esm2015/localization/handball-game-log-types.js +24 -0
  12. package/esm2015/localization/public-api.js +2 -1
  13. package/esm2015/localization/user-profile.js +9 -1
  14. package/esm2015/models/game.js +4 -1
  15. package/esm2015/models/handball-game-config.js +34 -0
  16. package/esm2015/models/handball-game-log.js +92 -0
  17. package/esm2015/models/handball-game-statistic.js +101 -0
  18. package/esm2015/models/handball-game-team-statistic.js +27 -0
  19. package/esm2015/models/handball-profile.js +39 -0
  20. package/esm2015/models/handball-statistic.js +86 -0
  21. package/esm2015/models/public-api.js +7 -1
  22. package/esm2015/models/sport.js +9 -1
  23. package/esm2015/models/user.js +4 -1
  24. package/esm5/api/handball-game-api.js +81 -0
  25. package/esm5/api/public-api.js +2 -1
  26. package/esm5/api/tournament-api.js +35 -1
  27. package/esm5/localization/handball-game-log-types.js +25 -0
  28. package/esm5/localization/public-api.js +2 -1
  29. package/esm5/localization/user-profile.js +10 -2
  30. package/esm5/models/game.js +4 -1
  31. package/esm5/models/handball-game-config.js +39 -0
  32. package/esm5/models/handball-game-log.js +99 -0
  33. package/esm5/models/handball-game-statistic.js +162 -0
  34. package/esm5/models/handball-game-team-statistic.js +32 -0
  35. package/esm5/models/handball-profile.js +44 -0
  36. package/esm5/models/handball-statistic.js +95 -0
  37. package/esm5/models/public-api.js +7 -1
  38. package/esm5/models/sport.js +9 -1
  39. package/esm5/models/user.js +4 -1
  40. package/fesm2015/mtgame-core.js +466 -1
  41. package/fesm2015/mtgame-core.js.map +1 -1
  42. package/fesm5/mtgame-core.js +641 -54
  43. package/fesm5/mtgame-core.js.map +1 -1
  44. package/localization/handball-game-log-types.d.ts +23 -0
  45. package/localization/public-api.d.ts +1 -0
  46. package/localization/user-profile.d.ts +8 -0
  47. package/models/game.d.ts +2 -0
  48. package/models/handball-game-config.d.ts +15 -0
  49. package/models/handball-game-log.d.ts +49 -0
  50. package/models/handball-game-statistic.d.ts +44 -0
  51. package/models/handball-game-team-statistic.d.ts +8 -0
  52. package/models/handball-profile.d.ts +17 -0
  53. package/models/handball-statistic.d.ts +55 -0
  54. package/models/public-api.d.ts +6 -0
  55. package/models/sport.d.ts +5 -1
  56. package/models/user.d.ts +2 -0
  57. package/mtgame-core.metadata.json +1 -1
  58. package/package.json +1 -1
@@ -7,6 +7,7 @@ import { BasketballProfile } from './basketball-profile';
7
7
  import { VolleyballProfile } from './volleyball-profile';
8
8
  import { HockeyProfile } from './hockey-profile';
9
9
  import { FootballProfile } from './football-profile';
10
+ import { HandballProfile } from './handball-profile';
10
11
  export var UserGender;
11
12
  (function (UserGender) {
12
13
  UserGender[UserGender["male"] = 1] = "male";
@@ -77,6 +78,7 @@ var User = /** @class */ (function (_super) {
77
78
  volleyball_profile: 'volleyballProfile',
78
79
  hockey_profile: 'hockeyProfile',
79
80
  football_profile: 'footballProfile',
81
+ handball_profile: 'handballProfile',
80
82
  wizards: 'wizards',
81
83
  city: 'city',
82
84
  gender: 'gender',
@@ -90,6 +92,7 @@ var User = /** @class */ (function (_super) {
90
92
  volleyballProfile: VolleyballProfile,
91
93
  hockeyProfile: HockeyProfile,
92
94
  footballProfile: FootballProfile,
95
+ handballProfile: HandballProfile,
93
96
  city: City,
94
97
  gender: enumField(UserGender)
95
98
  }
@@ -98,4 +101,4 @@ var User = /** @class */ (function (_super) {
98
101
  return User;
99
102
  }(BaseModel));
100
103
  export { User };
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJELE1BQU0sQ0FBTixJQUFZLFVBR1g7QUFIRCxXQUFZLFVBQVU7SUFDcEIsMkNBQVEsQ0FBQTtJQUNSLCtDQUFNLENBQUE7QUFDUixDQUFDLEVBSFcsVUFBVSxLQUFWLFVBQVUsUUFHckI7QUFrQ0Q7SUFBMEIsd0JBQVM7SUFBbkM7O0lBZ0RBLENBQUM7SUE1QlEsWUFBTyxHQUFkLFVBQWUsSUFBUztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFHTSxXQUFNLEdBQWIsVUFBYyxJQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELHNCQUFJLDBCQUFRO2FBQVo7WUFDRSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxFQUFELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRSxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDJCQUFTO2FBQWI7WUFDRSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxFQUFELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsRSxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDBCQUFRO2FBQVo7WUFDRSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxFQUFELENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFkLENBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRixDQUFDOzs7T0FBQTtJQUVELHNCQUFJLHFCQUFHO2FBQVA7WUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDbkIsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUNELElBQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqRCxDQUFDOzs7T0FBQTtJQTNCRDtRQURDLFdBQVc7NkJBR1g7SUFHRDtRQURDLFVBQVU7NEJBR1Y7SUEzQlUsSUFBSTtRQWhDaEIsYUFBYSxDQUFDO1lBQ2IsYUFBYSxFQUFFO2dCQUNiLEVBQUUsRUFBRSxJQUFJO2dCQUNSLFNBQVMsRUFBRSxVQUFVO2dCQUNyQixVQUFVLEVBQUUsV0FBVztnQkFDdkIsV0FBVyxFQUFFLFlBQVk7Z0JBQ3pCLEtBQUssRUFBRSxPQUFPO2dCQUNkLEtBQUssRUFBRSxPQUFPO2dCQUNkLFVBQVUsRUFBRSxXQUFXO2dCQUN2QixLQUFLLEVBQUUsT0FBTztnQkFDZCxPQUFPLEVBQUUsU0FBUztnQkFDbEIsa0JBQWtCLEVBQUUsbUJBQW1CO2dCQUN2QyxrQkFBa0IsRUFBRSxtQkFBbUI7Z0JBQ3ZDLGNBQWMsRUFBRSxlQUFlO2dCQUMvQixnQkFBZ0IsRUFBRSxpQkFBaUI7Z0JBQ25DLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixJQUFJLEVBQUUsTUFBTTtnQkFDWixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsU0FBUyxFQUFFLFVBQVU7YUFDdEI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLEtBQUssRUFBRSxJQUFJO2dCQUNYLE9BQU8sRUFBRSxXQUFXO2dCQUNwQixpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxJQUFJLEVBQUUsSUFBSTtnQkFDVixNQUFNLEVBQUUsU0FBUyxDQUFDLFVBQVUsQ0FBQzthQUM5QjtTQUNGLENBQUM7T0FDVyxJQUFJLENBZ0RoQjtJQUFELFdBQUM7Q0FBQSxBQWhERCxDQUEwQixTQUFTLEdBZ0RsQztTQWhEWSxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsLCBEYXRlRmllbGQsIGVudW1GaWVsZCwgTW9kZWxJbnN0YW5jZSwgVG9CYWNrSG9vaywgVG9Gcm9udEhvb2sgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgVXNlclByb2ZpbGUgfSBmcm9tICcuL3VzZXItcHJvZmlsZSc7XG5pbXBvcnQgeyBGaWxlIH0gZnJvbSAnLi9maWxlJztcbmltcG9ydCB7IENpdHkgfSBmcm9tICcuL2NpdHknO1xuaW1wb3J0IHsgQmFza2V0YmFsbFByb2ZpbGUgfSBmcm9tICcuL2Jhc2tldGJhbGwtcHJvZmlsZSc7XG5pbXBvcnQgeyBWb2xsZXliYWxsUHJvZmlsZSB9IGZyb20gJy4vdm9sbGV5YmFsbC1wcm9maWxlJztcbmltcG9ydCB7IEhvY2tleVByb2ZpbGUgfSBmcm9tICcuL2hvY2tleS1wcm9maWxlJztcbmltcG9ydCB7IEZvb3RiYWxsUHJvZmlsZSB9IGZyb20gJy4vZm9vdGJhbGwtcHJvZmlsZSc7XG5cbmV4cG9ydCBlbnVtIFVzZXJHZW5kZXIge1xuICBtYWxlID0gMSxcbiAgZmVtYWxlXG59XG5cbkBNb2RlbEluc3RhbmNlKHtcbiAgbWFwcGluZ0ZpZWxkczoge1xuICAgIGlkOiAnaWQnLFxuICAgIGxhc3RfbmFtZTogJ2xhc3ROYW1lJyxcbiAgICBmaXJzdF9uYW1lOiAnZmlyc3ROYW1lJyxcbiAgICBtaWRkbGVfbmFtZTogJ21pZGRsZU5hbWUnLFxuICAgIGVtYWlsOiAnZW1haWwnLFxuICAgIHBob25lOiAncGhvbmUnLFxuICAgIGJpcnRoX2RhdGU6ICdiaXJ0aERhdGUnLFxuICAgIHBob3RvOiAncGhvdG8nLFxuICAgIHByb2ZpbGU6ICdwcm9maWxlJyxcbiAgICBiYXNrZXRiYWxsX3Byb2ZpbGU6ICdiYXNrZXRiYWxsUHJvZmlsZScsXG4gICAgdm9sbGV5YmFsbF9wcm9maWxlOiAndm9sbGV5YmFsbFByb2ZpbGUnLFxuICAgIGhvY2tleV9wcm9maWxlOiAnaG9ja2V5UHJvZmlsZScsXG4gICAgZm9vdGJhbGxfcHJvZmlsZTogJ2Zvb3RiYWxsUHJvZmlsZScsXG4gICAgd2l6YXJkczogJ3dpemFyZHMnLFxuICAgIGNpdHk6ICdjaXR5JyxcbiAgICBnZW5kZXI6ICdnZW5kZXInLFxuICAgIGlzX2FjdGl2ZTogJ2lzQWN0aXZlJyxcbiAgfSxcbiAgcmVsYXRpb246IHtcbiAgICBiaXJ0aERhdGU6IERhdGVGaWVsZCxcbiAgICBwaG90bzogRmlsZSxcbiAgICBwcm9maWxlOiBVc2VyUHJvZmlsZSxcbiAgICBiYXNrZXRiYWxsUHJvZmlsZTogQmFza2V0YmFsbFByb2ZpbGUsXG4gICAgdm9sbGV5YmFsbFByb2ZpbGU6IFZvbGxleWJhbGxQcm9maWxlLFxuICAgIGhvY2tleVByb2ZpbGU6IEhvY2tleVByb2ZpbGUsXG4gICAgZm9vdGJhbGxQcm9maWxlOiBGb290YmFsbFByb2ZpbGUsXG4gICAgY2l0eTogQ2l0eSxcbiAgICBnZW5kZXI6IGVudW1GaWVsZChVc2VyR2VuZGVyKVxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFVzZXIgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICBsYXN0TmFtZTogc3RyaW5nO1xuICBmaXJzdE5hbWU6IHN0cmluZztcbiAgbWlkZGxlTmFtZTogc3RyaW5nO1xuICBlbWFpbDogc3RyaW5nO1xuICBwaG9uZTogc3RyaW5nO1xuICBiaXJ0aERhdGU6IERhdGU7XG4gIHByb2ZpbGU6IFVzZXJQcm9maWxlO1xuICBiYXNrZXRiYWxsUHJvZmlsZTogQmFza2V0YmFsbFByb2ZpbGU7XG4gIHZvbGxleWJhbGxQcm9maWxlOiBWb2xsZXliYWxsUHJvZmlsZTtcbiAgaG9ja2V5UHJvZmlsZTogSG9ja2V5UHJvZmlsZTtcbiAgZm9vdGJhbGxQcm9maWxlOiBGb290YmFsbFByb2ZpbGU7XG4gIHBob3RvOiBGaWxlO1xuICB3aXphcmRzOiBzdHJpbmdbXTtcbiAgY2l0eTogQ2l0eTtcbiAgZ2VuZGVyOiBVc2VyR2VuZGVyO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2sodXNlcjogVXNlcik6IGFueSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXQgZnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW3RoaXMubGFzdE5hbWUsIHRoaXMuZmlyc3ROYW1lXS5maWx0ZXIocyA9PiBzKS5qb2luKCcgJyk7XG4gIH1cblxuICBnZXQgc2hvcnROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFt0aGlzLmxhc3ROYW1lLCB0aGlzLmZpcnN0TmFtZV0uZmlsdGVyKHMgPT4gcykuam9pbignICcpO1xuICB9XG5cbiAgZ2V0IGluaXRpYWxzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFt0aGlzLmxhc3ROYW1lLCB0aGlzLmZpcnN0TmFtZV0uZmlsdGVyKHMgPT4gcykubWFwKHMgPT4gcy5zdWJzdHIoMCwgMSkpLmpvaW4oJycpO1xuICB9XG5cbiAgZ2V0IGFnZSgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5iaXJ0aERhdGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBkaWZmID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKSAtIHRoaXMuYmlydGhEYXRlLmdldFRpbWUoKTtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihkaWZmIC8gKDM2NSAqIDg2NDAwICogMTAwMCkpO1xuICB9XG59XG4iXX0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BtdGdhbWUvY29yZS8iLCJzb3VyY2VzIjpbIm1vZGVscy91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDakcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxNQUFNLENBQU4sSUFBWSxVQUdYO0FBSEQsV0FBWSxVQUFVO0lBQ3BCLDJDQUFRLENBQUE7SUFDUiwrQ0FBTSxDQUFBO0FBQ1IsQ0FBQyxFQUhXLFVBQVUsS0FBVixVQUFVLFFBR3JCO0FBb0NEO0lBQTBCLHdCQUFTO0lBQW5DOztJQWlEQSxDQUFDO0lBNUJRLFlBQU8sR0FBZCxVQUFlLElBQVM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBR00sV0FBTSxHQUFiLFVBQWMsSUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxzQkFBSSwwQkFBUTthQUFaO1lBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsRUFBRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwyQkFBUzthQUFiO1lBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsRUFBRCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSwwQkFBUTthQUFaO1lBQ0UsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsRUFBRCxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBZCxDQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUYsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxxQkFBRzthQUFQO1lBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ25CLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxJQUFNLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQzs7O09BQUE7SUEzQkQ7UUFEQyxXQUFXOzZCQUdYO0lBR0Q7UUFEQyxVQUFVOzRCQUdWO0lBNUJVLElBQUk7UUFsQ2hCLGFBQWEsQ0FBQztZQUNiLGFBQWEsRUFBRTtnQkFDYixFQUFFLEVBQUUsSUFBSTtnQkFDUixTQUFTLEVBQUUsVUFBVTtnQkFDckIsVUFBVSxFQUFFLFdBQVc7Z0JBQ3ZCLFdBQVcsRUFBRSxZQUFZO2dCQUN6QixLQUFLLEVBQUUsT0FBTztnQkFDZCxLQUFLLEVBQUUsT0FBTztnQkFDZCxVQUFVLEVBQUUsV0FBVztnQkFDdkIsS0FBSyxFQUFFLE9BQU87Z0JBQ2QsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLGtCQUFrQixFQUFFLG1CQUFtQjtnQkFDdkMsa0JBQWtCLEVBQUUsbUJBQW1CO2dCQUN2QyxjQUFjLEVBQUUsZUFBZTtnQkFDL0IsZ0JBQWdCLEVBQUUsaUJBQWlCO2dCQUNuQyxnQkFBZ0IsRUFBRSxpQkFBaUI7Z0JBQ25DLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixJQUFJLEVBQUUsTUFBTTtnQkFDWixNQUFNLEVBQUUsUUFBUTtnQkFDaEIsU0FBUyxFQUFFLFVBQVU7YUFDdEI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLEtBQUssRUFBRSxJQUFJO2dCQUNYLE9BQU8sRUFBRSxXQUFXO2dCQUNwQixpQkFBaUIsRUFBRSxpQkFBaUI7Z0JBQ3BDLGlCQUFpQixFQUFFLGlCQUFpQjtnQkFDcEMsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLGVBQWUsRUFBRSxlQUFlO2dCQUNoQyxlQUFlLEVBQUUsZUFBZTtnQkFDaEMsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsTUFBTSxFQUFFLFNBQVMsQ0FBQyxVQUFVLENBQUM7YUFDOUI7U0FDRixDQUFDO09BQ1csSUFBSSxDQWlEaEI7SUFBRCxXQUFDO0NBQUEsQUFqREQsQ0FBMEIsU0FBUyxHQWlEbEM7U0FqRFksSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbCwgRGF0ZUZpZWxkLCBlbnVtRmllbGQsIE1vZGVsSW5zdGFuY2UsIFRvQmFja0hvb2ssIFRvRnJvbnRIb29rIH0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7IFVzZXJQcm9maWxlIH0gZnJvbSAnLi91c2VyLXByb2ZpbGUnO1xuaW1wb3J0IHsgRmlsZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBDaXR5IH0gZnJvbSAnLi9jaXR5JztcbmltcG9ydCB7IEJhc2tldGJhbGxQcm9maWxlIH0gZnJvbSAnLi9iYXNrZXRiYWxsLXByb2ZpbGUnO1xuaW1wb3J0IHsgVm9sbGV5YmFsbFByb2ZpbGUgfSBmcm9tICcuL3ZvbGxleWJhbGwtcHJvZmlsZSc7XG5pbXBvcnQgeyBIb2NrZXlQcm9maWxlIH0gZnJvbSAnLi9ob2NrZXktcHJvZmlsZSc7XG5pbXBvcnQgeyBGb290YmFsbFByb2ZpbGUgfSBmcm9tICcuL2Zvb3RiYWxsLXByb2ZpbGUnO1xuaW1wb3J0IHsgSGFuZGJhbGxQcm9maWxlIH0gZnJvbSAnLi9oYW5kYmFsbC1wcm9maWxlJztcblxuZXhwb3J0IGVudW0gVXNlckdlbmRlciB7XG4gIG1hbGUgPSAxLFxuICBmZW1hbGVcbn1cblxuQE1vZGVsSW5zdGFuY2Uoe1xuICBtYXBwaW5nRmllbGRzOiB7XG4gICAgaWQ6ICdpZCcsXG4gICAgbGFzdF9uYW1lOiAnbGFzdE5hbWUnLFxuICAgIGZpcnN0X25hbWU6ICdmaXJzdE5hbWUnLFxuICAgIG1pZGRsZV9uYW1lOiAnbWlkZGxlTmFtZScsXG4gICAgZW1haWw6ICdlbWFpbCcsXG4gICAgcGhvbmU6ICdwaG9uZScsXG4gICAgYmlydGhfZGF0ZTogJ2JpcnRoRGF0ZScsXG4gICAgcGhvdG86ICdwaG90bycsXG4gICAgcHJvZmlsZTogJ3Byb2ZpbGUnLFxuICAgIGJhc2tldGJhbGxfcHJvZmlsZTogJ2Jhc2tldGJhbGxQcm9maWxlJyxcbiAgICB2b2xsZXliYWxsX3Byb2ZpbGU6ICd2b2xsZXliYWxsUHJvZmlsZScsXG4gICAgaG9ja2V5X3Byb2ZpbGU6ICdob2NrZXlQcm9maWxlJyxcbiAgICBmb290YmFsbF9wcm9maWxlOiAnZm9vdGJhbGxQcm9maWxlJyxcbiAgICBoYW5kYmFsbF9wcm9maWxlOiAnaGFuZGJhbGxQcm9maWxlJyxcbiAgICB3aXphcmRzOiAnd2l6YXJkcycsXG4gICAgY2l0eTogJ2NpdHknLFxuICAgIGdlbmRlcjogJ2dlbmRlcicsXG4gICAgaXNfYWN0aXZlOiAnaXNBY3RpdmUnLFxuICB9LFxuICByZWxhdGlvbjoge1xuICAgIGJpcnRoRGF0ZTogRGF0ZUZpZWxkLFxuICAgIHBob3RvOiBGaWxlLFxuICAgIHByb2ZpbGU6IFVzZXJQcm9maWxlLFxuICAgIGJhc2tldGJhbGxQcm9maWxlOiBCYXNrZXRiYWxsUHJvZmlsZSxcbiAgICB2b2xsZXliYWxsUHJvZmlsZTogVm9sbGV5YmFsbFByb2ZpbGUsXG4gICAgaG9ja2V5UHJvZmlsZTogSG9ja2V5UHJvZmlsZSxcbiAgICBmb290YmFsbFByb2ZpbGU6IEZvb3RiYWxsUHJvZmlsZSxcbiAgICBoYW5kYmFsbFByb2ZpbGU6IEhhbmRiYWxsUHJvZmlsZSxcbiAgICBjaXR5OiBDaXR5LFxuICAgIGdlbmRlcjogZW51bUZpZWxkKFVzZXJHZW5kZXIpXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgVXNlciBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIGlkOiBudW1iZXI7XG4gIGxhc3ROYW1lOiBzdHJpbmc7XG4gIGZpcnN0TmFtZTogc3RyaW5nO1xuICBtaWRkbGVOYW1lOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHBob25lOiBzdHJpbmc7XG4gIGJpcnRoRGF0ZTogRGF0ZTtcbiAgcHJvZmlsZTogVXNlclByb2ZpbGU7XG4gIGJhc2tldGJhbGxQcm9maWxlOiBCYXNrZXRiYWxsUHJvZmlsZTtcbiAgdm9sbGV5YmFsbFByb2ZpbGU6IFZvbGxleWJhbGxQcm9maWxlO1xuICBob2NrZXlQcm9maWxlOiBIb2NrZXlQcm9maWxlO1xuICBmb290YmFsbFByb2ZpbGU6IEZvb3RiYWxsUHJvZmlsZTtcbiAgaGFuZGJhbGxQcm9maWxlOiBIYW5kYmFsbFByb2ZpbGU7XG4gIHBob3RvOiBGaWxlO1xuICB3aXphcmRzOiBzdHJpbmdbXTtcbiAgY2l0eTogQ2l0eTtcbiAgZ2VuZGVyOiBVc2VyR2VuZGVyO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcblxuICBAVG9Gcm9udEhvb2tcbiAgc3RhdGljIHRvRnJvbnQoZGF0YTogYW55KTogYW55IHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBUb0JhY2tIb29rXG4gIHN0YXRpYyB0b0JhY2sodXNlcjogVXNlcik6IGFueSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXQgZnVsbE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gW3RoaXMubGFzdE5hbWUsIHRoaXMuZmlyc3ROYW1lXS5maWx0ZXIocyA9PiBzKS5qb2luKCcgJyk7XG4gIH1cblxuICBnZXQgc2hvcnROYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFt0aGlzLmxhc3ROYW1lLCB0aGlzLmZpcnN0TmFtZV0uZmlsdGVyKHMgPT4gcykuam9pbignICcpO1xuICB9XG5cbiAgZ2V0IGluaXRpYWxzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFt0aGlzLmxhc3ROYW1lLCB0aGlzLmZpcnN0TmFtZV0uZmlsdGVyKHMgPT4gcykubWFwKHMgPT4gcy5zdWJzdHIoMCwgMSkpLmpvaW4oJycpO1xuICB9XG5cbiAgZ2V0IGFnZSgpOiBudW1iZXIge1xuICAgIGlmICghdGhpcy5iaXJ0aERhdGUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCBkaWZmID0gKG5ldyBEYXRlKCkpLmdldFRpbWUoKSAtIHRoaXMuYmlydGhEYXRlLmdldFRpbWUoKTtcbiAgICByZXR1cm4gTWF0aC5mbG9vcihkaWZmIC8gKDM2NSAqIDg2NDAwICogMTAwMCkpO1xuICB9XG59XG4iXX0=
@@ -348,6 +348,8 @@ var SportTypes;
348
348
  SportTypes[SportTypes["football"] = 10] = "football";
349
349
  SportTypes[SportTypes["classic_football"] = 11] = "classic_football";
350
350
  SportTypes[SportTypes["mini_football"] = 12] = "mini_football";
351
+ SportTypes[SportTypes["handball"] = 13] = "handball";
352
+ SportTypes[SportTypes["handball_classic"] = 14] = "handball_classic";
351
353
  })(SportTypes || (SportTypes = {}));
352
354
  let Sport = class Sport extends BaseModel {
353
355
  isBasketball() {
@@ -386,6 +388,12 @@ let Sport = class Sport extends BaseModel {
386
388
  isMiniFootball() {
387
389
  return this.id === SportTypes.mini_football;
388
390
  }
391
+ isHandball() {
392
+ return this.id === SportTypes.handball || this.parentId === SportTypes.handball;
393
+ }
394
+ isHandballClassic() {
395
+ return this.id === SportTypes.handball_classic;
396
+ }
389
397
  static toFront(data) {
390
398
  return null;
391
399
  }
@@ -608,6 +616,41 @@ FootballProfile = __decorate([
608
616
  })
609
617
  ], FootballProfile);
610
618
 
619
+ var GameHandballPosition;
620
+ (function (GameHandballPosition) {
621
+ GameHandballPosition[GameHandballPosition["goalkeeper"] = 1] = "goalkeeper";
622
+ GameHandballPosition[GameHandballPosition["winger"] = 2] = "winger";
623
+ GameHandballPosition[GameHandballPosition["pivot"] = 3] = "pivot";
624
+ GameHandballPosition[GameHandballPosition["centre_back"] = 4] = "centre_back";
625
+ GameHandballPosition[GameHandballPosition["fullback"] = 5] = "fullback";
626
+ })(GameHandballPosition || (GameHandballPosition = {}));
627
+ let HandballProfile = class HandballProfile extends BaseModel {
628
+ static toFront(value) {
629
+ }
630
+ static toBack(value) {
631
+ }
632
+ };
633
+ __decorate([
634
+ ToFrontHook
635
+ ], HandballProfile, "toFront", null);
636
+ __decorate([
637
+ ToBackHook
638
+ ], HandballProfile, "toBack", null);
639
+ HandballProfile = __decorate([
640
+ ModelInstance({
641
+ mappingFields: {
642
+ id: 'id',
643
+ user_id: 'userId',
644
+ position: 'position',
645
+ work_hand: 'workHand'
646
+ },
647
+ relation: {
648
+ position: enumField(GameHandballPosition),
649
+ workHand: enumField(WorkHand)
650
+ }
651
+ })
652
+ ], HandballProfile);
653
+
611
654
  var UserGender;
612
655
  (function (UserGender) {
613
656
  UserGender[UserGender["male"] = 1] = "male";
@@ -659,6 +702,7 @@ User = __decorate([
659
702
  volleyball_profile: 'volleyballProfile',
660
703
  hockey_profile: 'hockeyProfile',
661
704
  football_profile: 'footballProfile',
705
+ handball_profile: 'handballProfile',
662
706
  wizards: 'wizards',
663
707
  city: 'city',
664
708
  gender: 'gender',
@@ -672,6 +716,7 @@ User = __decorate([
672
716
  volleyballProfile: VolleyballProfile,
673
717
  hockeyProfile: HockeyProfile,
674
718
  footballProfile: FootballProfile,
719
+ handballProfile: HandballProfile,
675
720
  city: City,
676
721
  gender: enumField(UserGender)
677
722
  }
@@ -1236,6 +1281,36 @@ FootballGameConfig = __decorate([
1236
1281
  })
1237
1282
  ], FootballGameConfig);
1238
1283
 
1284
+ let HandballGameConfig = class HandballGameConfig extends BaseModel {
1285
+ static toFront(data) { }
1286
+ static toBack(data) { }
1287
+ };
1288
+ __decorate([
1289
+ ToFrontHook
1290
+ ], HandballGameConfig, "toFront", null);
1291
+ __decorate([
1292
+ ToBackHook
1293
+ ], HandballGameConfig, "toBack", null);
1294
+ HandballGameConfig = __decorate([
1295
+ ModelInstance({
1296
+ mappingFields: {
1297
+ periods_count: 'periodsCount',
1298
+ period_time: 'periodTime',
1299
+ overtime_type: 'overtimeType',
1300
+ overtime_time: 'overtimeTime',
1301
+ max_game_players: 'maxGamePlayers',
1302
+ timeout_count: 'timeoutCount',
1303
+ overtime_timeout_count: 'overtimeTimeoutCount',
1304
+ timeout_time: 'timeoutTime',
1305
+ game_time_type: 'gameTimeType',
1306
+ },
1307
+ relation: {
1308
+ overtimeType: enumField(OvertimeTypes),
1309
+ gameTimeType: enumField(GameTimeTypes),
1310
+ }
1311
+ })
1312
+ ], HandballGameConfig);
1313
+
1239
1314
  var GameStatuses;
1240
1315
  (function (GameStatuses) {
1241
1316
  GameStatuses[GameStatuses["open"] = 1] = "open";
@@ -1318,6 +1393,7 @@ Game = __decorate([
1318
1393
  volleyball_game_config: 'volleyballGameConfig',
1319
1394
  hockey_game_config: 'hockeyGameConfig',
1320
1395
  football_game_config: 'footballGameConfig',
1396
+ handball_game_config: 'handballGameConfig',
1321
1397
  score_by_period: 'scoreByPeriod',
1322
1398
  playoff_stage: 'playoffStage',
1323
1399
  tournament_stage_id: 'tournamentStageId',
@@ -1338,6 +1414,7 @@ Game = __decorate([
1338
1414
  volleyballGameConfig: VolleyballGameConfig,
1339
1415
  hockeyGameConfig: HockeyGameConfig,
1340
1416
  footballGameConfig: FootballGameConfig,
1417
+ handballGameConfig: HandballGameConfig,
1341
1418
  tournamentCourt: LeagueCourt,
1342
1419
  media: listField(MediaItem),
1343
1420
  tournament: Tournament,
@@ -2916,6 +2993,345 @@ FootballGameApi = __decorate([
2916
2993
  Injectable({ providedIn: 'root' })
2917
2994
  ], FootballGameApi);
2918
2995
 
2996
+ var HandballGameLogTypes;
2997
+ (function (HandballGameLogTypes) {
2998
+ HandballGameLogTypes[HandballGameLogTypes["enter_game"] = 1] = "enter_game";
2999
+ HandballGameLogTypes[HandballGameLogTypes["exit_game"] = 2] = "exit_game";
3000
+ HandballGameLogTypes[HandballGameLogTypes["shot_miss"] = 3] = "shot_miss";
3001
+ HandballGameLogTypes[HandballGameLogTypes["shot_on_goal"] = 4] = "shot_on_goal";
3002
+ HandballGameLogTypes[HandballGameLogTypes["shot_blocked"] = 5] = "shot_blocked";
3003
+ HandballGameLogTypes[HandballGameLogTypes["goal"] = 6] = "goal";
3004
+ HandballGameLogTypes[HandballGameLogTypes["assist"] = 7] = "assist";
3005
+ HandballGameLogTypes[HandballGameLogTypes["penalty_miss"] = 8] = "penalty_miss";
3006
+ HandballGameLogTypes[HandballGameLogTypes["penalty_shot_on_goal"] = 9] = "penalty_shot_on_goal";
3007
+ HandballGameLogTypes[HandballGameLogTypes["penalty_goal"] = 10] = "penalty_goal";
3008
+ HandballGameLogTypes[HandballGameLogTypes["save"] = 11] = "save";
3009
+ HandballGameLogTypes[HandballGameLogTypes["penalty_save"] = 12] = "penalty_save";
3010
+ HandballGameLogTypes[HandballGameLogTypes["foul"] = 13] = "foul";
3011
+ HandballGameLogTypes[HandballGameLogTypes["yellow_card"] = 14] = "yellow_card";
3012
+ HandballGameLogTypes[HandballGameLogTypes["red_card"] = 15] = "red_card";
3013
+ HandballGameLogTypes[HandballGameLogTypes["two_minute_foul"] = 16] = "two_minute_foul";
3014
+ HandballGameLogTypes[HandballGameLogTypes["turnover"] = 17] = "turnover";
3015
+ HandballGameLogTypes[HandballGameLogTypes["steal"] = 18] = "steal";
3016
+ HandballGameLogTypes[HandballGameLogTypes["block_shot"] = 19] = "block_shot";
3017
+ HandballGameLogTypes[HandballGameLogTypes["timeout"] = 20] = "timeout";
3018
+ })(HandballGameLogTypes || (HandballGameLogTypes = {}));
3019
+ let HandballGameLog = class HandballGameLog extends BaseModel {
3020
+ constructor() {
3021
+ super(...arguments);
3022
+ this.active = true;
3023
+ }
3024
+ compare(model) {
3025
+ if (this.time === model.time && this.period === model.period) {
3026
+ return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;
3027
+ }
3028
+ if (this.period === model.period) {
3029
+ return this.time < model.time ? 1 : -1;
3030
+ }
3031
+ return this.period < model.period ? 1 : -1;
3032
+ }
3033
+ get timeFormatted() {
3034
+ const minutes = Math.floor(this.time / 60);
3035
+ const seconds = this.time - minutes * 60;
3036
+ return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;
3037
+ }
3038
+ isScoreType() {
3039
+ return [HandballGameLogTypes.goal, HandballGameLogTypes.penalty_goal].indexOf(this.logType) > -1;
3040
+ }
3041
+ isAfter(log) {
3042
+ if (this.time === log.time && this.period === log.period) {
3043
+ return this.id > log.id;
3044
+ }
3045
+ if (this.period === log.period) {
3046
+ return this.time > log.time;
3047
+ }
3048
+ return this.period > log.period;
3049
+ }
3050
+ isFoulType() {
3051
+ return [HandballGameLogTypes.foul, HandballGameLogTypes.yellow_card, HandballGameLogTypes.red_card].indexOf(this.logType) > -1;
3052
+ }
3053
+ static toFront(value) { }
3054
+ static toBack(value) { }
3055
+ };
3056
+ __decorate([
3057
+ ToFrontHook
3058
+ ], HandballGameLog, "toFront", null);
3059
+ __decorate([
3060
+ ToBackHook
3061
+ ], HandballGameLog, "toBack", null);
3062
+ HandballGameLog = __decorate([
3063
+ ModelInstance({
3064
+ mappingFields: {
3065
+ id: 'id',
3066
+ unique_id: 'uniqueId',
3067
+ game_id: 'gameId',
3068
+ game_user_id: 'gameUserId',
3069
+ team_id: 'teamId',
3070
+ log_type: 'logType',
3071
+ datetime: 'datetime',
3072
+ time: 'time',
3073
+ period: 'period',
3074
+ active: 'active',
3075
+ is_highlight: 'isHighlight',
3076
+ is_goalie: 'isGoalie',
3077
+ },
3078
+ relation: {
3079
+ datetime: DateTimeField,
3080
+ logType: enumField(HandballGameLogTypes)
3081
+ }
3082
+ })
3083
+ ], HandballGameLog);
3084
+
3085
+ let HandballGameStatistic = class HandballGameStatistic extends BaseModel {
3086
+ get id() {
3087
+ return this.gameUserId;
3088
+ }
3089
+ get shots() {
3090
+ return (this.shotMisses || 0) + (this.shotsOnGoal || 0) + (this.shotsBlocked || 0);
3091
+ }
3092
+ get totalGoals() {
3093
+ return (this.goals || 0) + (this.penaltyGoals || 0);
3094
+ }
3095
+ get goalsPercent() {
3096
+ if (!this.shots || !this.totalGoals) {
3097
+ return 0;
3098
+ }
3099
+ return Math.round(1000 * this.totalGoals / this.shots) / 10;
3100
+ }
3101
+ get shotsOnGoalPercent() {
3102
+ if (!this.shotsOnGoal || !this.shots) {
3103
+ return 0;
3104
+ }
3105
+ return Math.round(1000 * this.shotsOnGoal / this.shots) / 10;
3106
+ }
3107
+ get penaltyShots() {
3108
+ return (this.penaltyShotsOnGoal || 0) + (this.penaltyMisses || 0);
3109
+ }
3110
+ get penaltyGoalsPercent() {
3111
+ if (!this.penaltyShots || !this.penaltyGoals) {
3112
+ return 0;
3113
+ }
3114
+ return Math.round(1000 * this.penaltyGoals / this.penaltyShots) / 10;
3115
+ }
3116
+ get shotsAgainst() {
3117
+ return (this.saves || 0) + (this.goalsAgainst || 0);
3118
+ }
3119
+ get penaltyShotsAgainst() {
3120
+ return (this.penaltySaves || 0) + (this.penaltyGoalsAgainst || 0);
3121
+ }
3122
+ get totalGoalsAgainst() {
3123
+ return (this.goalsAgainst || 0) + (this.penaltyGoalsAgainst || 0);
3124
+ }
3125
+ get totalSaves() {
3126
+ return (this.saves || 0) + (this.penaltySaves || 0);
3127
+ }
3128
+ get savesPercent() {
3129
+ if (!this.shotsAgainst || !this.saves) {
3130
+ return 0;
3131
+ }
3132
+ return Math.round(1000 * this.saves / this.shotsAgainst) / 10;
3133
+ }
3134
+ get penaltySavesPercent() {
3135
+ if (!this.penaltyShotsAgainst || !this.penaltySaves) {
3136
+ return 0;
3137
+ }
3138
+ return Math.round(1000 * this.penaltySaves / this.penaltyShotsAgainst) / 10;
3139
+ }
3140
+ get gameMinutes() {
3141
+ return Math.floor(this.gameTime / 60);
3142
+ }
3143
+ static toFront(data) { }
3144
+ static toBack(data) { }
3145
+ };
3146
+ __decorate([
3147
+ ToFrontHook
3148
+ ], HandballGameStatistic, "toFront", null);
3149
+ __decorate([
3150
+ ToBackHook
3151
+ ], HandballGameStatistic, "toBack", null);
3152
+ HandballGameStatistic = __decorate([
3153
+ ModelInstance({
3154
+ mappingFields: {
3155
+ game_user_id: 'gameUserId',
3156
+ points: 'points',
3157
+ shot_misses: 'shotMisses',
3158
+ shots_on_goal: 'shotsOnGoal',
3159
+ shots_blocked: 'shotsBlocked',
3160
+ goals: 'goals',
3161
+ assists: 'assists',
3162
+ penalty_goals: 'penaltyGoals',
3163
+ penalty_misses: 'penaltyMisses',
3164
+ penalty_shots_on_goal: 'penaltyShotsOnGoal',
3165
+ saves: 'saves',
3166
+ penalty_saves: 'penaltySaves',
3167
+ goals_against: 'goalsAgainst',
3168
+ penalty_goals_against: 'penaltyGoalsAgainst',
3169
+ safety_rate: 'safetyRate',
3170
+ fouls: 'fouls',
3171
+ yellowCards: 'yellowCards',
3172
+ red_cards: 'redCards',
3173
+ two_minute_fouls: 'twoMinuteFouls',
3174
+ turnovers: 'turnovers',
3175
+ steals: 'steals',
3176
+ block_shots: 'blockShots',
3177
+ game_time: 'gameTime',
3178
+ plus_minus: 'plusMinus'
3179
+ }
3180
+ })
3181
+ ], HandballGameStatistic);
3182
+
3183
+ let HandballStatistic = class HandballStatistic extends BaseStatistic {
3184
+ get userMinutes() {
3185
+ if (!this.gameTime) {
3186
+ return '00:00';
3187
+ }
3188
+ const minutes = Math.floor(this.gameTime / 60);
3189
+ const seconds = Math.floor(this.gameTime - minutes * 60);
3190
+ return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;
3191
+ }
3192
+ static toFront(data) { }
3193
+ static toBack(data) { }
3194
+ };
3195
+ __decorate([
3196
+ ToFrontHook
3197
+ ], HandballStatistic, "toFront", null);
3198
+ __decorate([
3199
+ ToBackHook
3200
+ ], HandballStatistic, "toBack", null);
3201
+ HandballStatistic = __decorate([
3202
+ ModelInstance({
3203
+ mappingFields: {
3204
+ tournament_team_user: 'tournamentTeamUser',
3205
+ team: 'team',
3206
+ team_user: 'teamUser',
3207
+ user: 'user',
3208
+ tournament_team: 'tournamentTeam',
3209
+ month: 'month',
3210
+ win_lose: 'winLose',
3211
+ games_count: 'gamesCount',
3212
+ won_games_count: 'wonGamesCount',
3213
+ points: 'points',
3214
+ shot_misses: 'shotMisses',
3215
+ shots_on_goal: 'shotsOnGoal',
3216
+ shots_blocked: 'shotsBlocked',
3217
+ goals: 'goals',
3218
+ assists: 'assists',
3219
+ penalty_goals: 'penaltyGoals',
3220
+ penalty_misses: 'penaltyMisses',
3221
+ penalty_shots_on_goal: 'penaltyShotsOnGoal',
3222
+ saves: 'saves',
3223
+ penalty_saves: 'penaltySaves',
3224
+ goals_against: 'goalsAgainst',
3225
+ penalty_goals_against: 'penaltyGoalsAgainst',
3226
+ safety_rate: 'safetyRate',
3227
+ fouls: 'fouls',
3228
+ yellow_cards: 'yellowCards',
3229
+ red_cards: 'redCards',
3230
+ two_minute_fouls: 'twoMinuteFouls',
3231
+ turnovers: 'turnovers',
3232
+ steals: 'steals',
3233
+ block_shots: 'blockShots',
3234
+ game_time: 'gameTime',
3235
+ plus_minus: 'plusMinus',
3236
+ shots: 'shots',
3237
+ goals_percent: 'goalsPercent',
3238
+ penalty_shots: 'penaltyShots',
3239
+ penalty_goals_percent: 'penaltyGoalsPercent',
3240
+ shots_against: 'shotsAgainst',
3241
+ saves_percent: 'savesPercent',
3242
+ penalty_shots_against: 'penaltyShotsAgainst',
3243
+ penalty_saves_percent: 'penaltySavesPercent',
3244
+ total_goals: 'totalGoals',
3245
+ total_saves: 'totalSaves',
3246
+ total_goals_against: 'totalGoalsAgainst',
3247
+ newbie: 'newbie'
3248
+ },
3249
+ relation: {
3250
+ tournamentTeamUser: TournamentTeamUser,
3251
+ team: Team,
3252
+ teamUser: TeamUser,
3253
+ user: User,
3254
+ tournamentTeam: TournamentTeam,
3255
+ month: DateField
3256
+ }
3257
+ })
3258
+ ], HandballStatistic);
3259
+
3260
+ let HandballGameTeamStatistic = class HandballGameTeamStatistic extends BaseModel {
3261
+ static toFront(data) { }
3262
+ static toBack(data) { }
3263
+ };
3264
+ __decorate([
3265
+ ToFrontHook
3266
+ ], HandballGameTeamStatistic, "toFront", null);
3267
+ __decorate([
3268
+ ToBackHook
3269
+ ], HandballGameTeamStatistic, "toBack", null);
3270
+ HandballGameTeamStatistic = __decorate([
3271
+ ModelInstance({
3272
+ mappingFields: {
3273
+ team: 'team',
3274
+ competitor_team: 'competitorTeam'
3275
+ },
3276
+ relation: {
3277
+ team: HandballStatistic,
3278
+ competitorTeam: HandballStatistic
3279
+ }
3280
+ })
3281
+ ], HandballGameTeamStatistic);
3282
+
3283
+ let HandballGameApi = class HandballGameApi extends GameBaseApi {
3284
+ constructor(httpClient, configService) {
3285
+ super(httpClient, configService);
3286
+ this.httpClient = httpClient;
3287
+ this.configService = configService;
3288
+ }
3289
+ getById(gameId) {
3290
+ return __awaiter(this, void 0, void 0, function* () {
3291
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/`).pipe(map(result => Game.toFront(result))).toPromise();
3292
+ });
3293
+ }
3294
+ getTeamStatistic(gameId) {
3295
+ return __awaiter(this, void 0, void 0, function* () {
3296
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/team_statistic/`).pipe(map(result => HandballGameTeamStatistic.toFront(result))).toPromise();
3297
+ });
3298
+ }
3299
+ getUserStatistic(gameId) {
3300
+ return __awaiter(this, void 0, void 0, function* () {
3301
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/user_statistic/`).pipe(map(result => HandballGameStatistic.toFront(result))).toPromise();
3302
+ });
3303
+ }
3304
+ getLogs(gameId) {
3305
+ return __awaiter(this, void 0, void 0, function* () {
3306
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/logs/`).pipe(map(result => HandballGameLog.toFront(result))).toPromise();
3307
+ });
3308
+ }
3309
+ downloadProtocol(gameId, format) {
3310
+ return __awaiter(this, void 0, void 0, function* () {
3311
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/game_protocol/`, {
3312
+ params: new HttpParams().set('file_type', format),
3313
+ responseType: 'blob'
3314
+ }).toPromise();
3315
+ });
3316
+ }
3317
+ downloadApplication(gameId, format, type) {
3318
+ return __awaiter(this, void 0, void 0, function* () {
3319
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/game_application_file/`, {
3320
+ params: new HttpParams().set('file_type', format).set('application_type', type),
3321
+ responseType: 'blob'
3322
+ }).toPromise();
3323
+ });
3324
+ }
3325
+ };
3326
+ HandballGameApi.ctorParameters = () => [
3327
+ { type: HttpClient },
3328
+ { type: ConfigService }
3329
+ ];
3330
+ HandballGameApi.ɵprov = ɵɵdefineInjectable({ factory: function HandballGameApi_Factory() { return new HandballGameApi(ɵɵinject(HttpClient), ɵɵinject(ConfigService)); }, token: HandballGameApi, providedIn: "root" });
3331
+ HandballGameApi = __decorate([
3332
+ Injectable({ providedIn: 'root' })
3333
+ ], HandballGameApi);
3334
+
2919
3335
  let TournamentNews = class TournamentNews extends BaseModel {
2920
3336
  static toFront(data) { }
2921
3337
  static toBack(data) { }
@@ -3546,6 +3962,25 @@ let TournamentApi = class TournamentApi {
3546
3962
  return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/football_statistic/`, { params }).pipe(map(result => FootballStatistic.toFront(result))).toPromise();
3547
3963
  });
3548
3964
  }
3965
+ getHandballStatistic(filters) {
3966
+ return __awaiter(this, void 0, void 0, function* () {
3967
+ let params = new HttpParams();
3968
+ if (filters) {
3969
+ for (const key of Object.keys(filters)) {
3970
+ if (filters[key]) {
3971
+ params = params.set(key, filters[key]);
3972
+ }
3973
+ }
3974
+ if (filters.per_game !== undefined) {
3975
+ params = params.set('per_game', filters.per_game ? '1' : '0');
3976
+ }
3977
+ if (filters.tournament_ids) {
3978
+ params = params.set('tournament_ids', filters.tournament_ids.join(','));
3979
+ }
3980
+ }
3981
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/handball_statistic/`, { params }).pipe(map(result => HandballStatistic.toFront(result))).toPromise();
3982
+ });
3983
+ }
3549
3984
  getTournamentTeamUsers(tournamentTeamId) {
3550
3985
  return __awaiter(this, void 0, void 0, function* () {
3551
3986
  return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/users/`).pipe(map(result => TournamentTeamUser.toFront(result))).toPromise();
@@ -6015,6 +6450,29 @@ const FootballGameLogTypeLocalization = {
6015
6450
  [FootballGameLogTypes.timeout]: 'Таймаут'
6016
6451
  };
6017
6452
 
6453
+ const HandballGameLogTypeLocalization = {
6454
+ [HandballGameLogTypes.enter_game]: 'Выход на поле',
6455
+ [HandballGameLogTypes.exit_game]: 'Ушел с поля',
6456
+ [HandballGameLogTypes.shot_miss]: 'Бросок мимо',
6457
+ [HandballGameLogTypes.shot_on_goal]: 'Бросок в створ',
6458
+ [HandballGameLogTypes.shot_blocked]: 'Заблокированный бросок',
6459
+ [HandballGameLogTypes.goal]: 'Гол',
6460
+ [HandballGameLogTypes.assist]: 'Передача',
6461
+ [HandballGameLogTypes.penalty_miss]: 'Пенальти промах',
6462
+ [HandballGameLogTypes.penalty_shot_on_goal]: 'Пенальти в створ',
6463
+ [HandballGameLogTypes.penalty_goal]: 'Гол с пенальти',
6464
+ [HandballGameLogTypes.save]: 'Сэйв',
6465
+ [HandballGameLogTypes.penalty_save]: 'Сэйв пенальти',
6466
+ [HandballGameLogTypes.foul]: 'Фол',
6467
+ [HandballGameLogTypes.yellow_card]: 'Желлтая карточка',
6468
+ [HandballGameLogTypes.red_card]: 'Красная карточка',
6469
+ [HandballGameLogTypes.two_minute_foul]: '2х минутный штраф',
6470
+ [HandballGameLogTypes.turnover]: 'Потеря',
6471
+ [HandballGameLogTypes.steal]: 'Перехват',
6472
+ [HandballGameLogTypes.block_shot]: 'Блок броска',
6473
+ [HandballGameLogTypes.timeout]: 'Таймаут'
6474
+ };
6475
+
6018
6476
  const OvertimeTypeLocalization = {
6019
6477
  [OvertimeTypes.to_score_diff]: 'До разницы в N мячей',
6020
6478
  [OvertimeTypes.to_score_total]: 'До N очков',
@@ -6099,6 +6557,13 @@ const FootballWorkFootLocalization = {
6099
6557
  [FootballWorkFoot.right]: 'Правая',
6100
6558
  [FootballWorkFoot.both]: 'Обе'
6101
6559
  };
6560
+ const GameHandballPositionLocalization = {
6561
+ [GameHandballPosition.goalkeeper]: 'Вратарь',
6562
+ [GameHandballPosition.winger]: 'Крайний',
6563
+ [GameHandballPosition.pivot]: 'Линейный',
6564
+ [GameHandballPosition.centre_back]: 'Центральный',
6565
+ [GameHandballPosition.fullback]: 'Полусредний',
6566
+ };
6102
6567
 
6103
6568
  const VolleyballGameLogTypeLocalization = {
6104
6569
  [VolleyballGameLogType.enter_game]: 'Выход на площадку',
@@ -6514,5 +6979,5 @@ HttpCookieInterceptor = __decorate([
6514
6979
  * Generated bundle index. Do not edit.
6515
6980
  */
6516
6981
 
6517
- export { BannerLocation, 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, FootballGameApi, FootballGameConfig, FootballGameLog, FootballGameLogTypeLocalization, FootballGameLogTypes, FootballGameStatistic, FootballGameTeamStatistic, FootballProfile, FootballStatistic, FootballWorkFoot, FootballWorkFootLocalization, Game, GameBasketballPosition, GameBasketballPositionLocalization, GameBasketballPositionShortLocalization, GameFootballPosition, GameFootballPositionLocalization, GameHockeyPosition, GameHockeyPositionLocalization, GameInvite, GameInviteStatus, GameResultTypes, GameStatuses, GameTimeTypes, GameTimelineStageItem, GameTimelineStages, GameUser, GameVolleyballPosition, GameVolleyballPositionLocalization, GameVolleyballPositionShortLocalization, GameVolleyballPositionShortRuLocalization, HockeyAdvantageTypes, HockeyGameApi, HockeyGameConfig, HockeyGameLog, HockeyGameLogTypeLocalization, HockeyGameLogTypes, HockeyGameStatistic, HockeyGameTeamStatistic, HockeyPenaltyTypes, HockeyProfile, HockeyStatistic, HockeyWorkHand, HttpCookieInterceptor, League, LeagueApi, LeagueBanner, LeagueCourt, LeagueNews, LeagueNewsApi, LeagueNewsType, LeaguePartner, LeaguePlaylist, LocalStorageEngine, MediaApi, MediaItem, ModelInstance, Notification, NotificationAllowTypes, NotificationApi, NotificationBaseApi, NotificationServiceEnum, NotificationSettings, NotificationType, OrgNotificationApi, Organization, OvertimeTypeLocalization, OvertimeTypes, Playoff, PlayoffSettings, PlayoffTypes, Poll, PollAnswer, PollStatuses, PollVariant, PublicTeamApi, PublicUserApi, 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, TournamentSeason, TournamentSeasonApi, TournamentSeasonStatuses, 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, VolleyballStatisticTypes, 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, penaltyTypeField as ɵa, GameBaseApi as ɵb };
6982
+ export { BannerLocation, 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, FootballGameApi, FootballGameConfig, FootballGameLog, FootballGameLogTypeLocalization, FootballGameLogTypes, FootballGameStatistic, FootballGameTeamStatistic, FootballProfile, FootballStatistic, FootballWorkFoot, FootballWorkFootLocalization, Game, GameBasketballPosition, GameBasketballPositionLocalization, GameBasketballPositionShortLocalization, GameFootballPosition, GameFootballPositionLocalization, GameHandballPosition, GameHandballPositionLocalization, GameHockeyPosition, GameHockeyPositionLocalization, GameInvite, GameInviteStatus, GameResultTypes, GameStatuses, GameTimeTypes, GameTimelineStageItem, GameTimelineStages, GameUser, GameVolleyballPosition, GameVolleyballPositionLocalization, GameVolleyballPositionShortLocalization, GameVolleyballPositionShortRuLocalization, HandballGameApi, HandballGameConfig, HandballGameLog, HandballGameLogTypeLocalization, HandballGameLogTypes, HandballGameStatistic, HandballGameTeamStatistic, HandballProfile, HandballStatistic, HockeyAdvantageTypes, HockeyGameApi, HockeyGameConfig, HockeyGameLog, HockeyGameLogTypeLocalization, HockeyGameLogTypes, HockeyGameStatistic, HockeyGameTeamStatistic, HockeyPenaltyTypes, HockeyProfile, HockeyStatistic, HockeyWorkHand, HttpCookieInterceptor, League, LeagueApi, LeagueBanner, LeagueCourt, LeagueNews, LeagueNewsApi, LeagueNewsType, LeaguePartner, LeaguePlaylist, LocalStorageEngine, MediaApi, MediaItem, ModelInstance, Notification, NotificationAllowTypes, NotificationApi, NotificationBaseApi, NotificationServiceEnum, NotificationSettings, NotificationType, OrgNotificationApi, Organization, OvertimeTypeLocalization, OvertimeTypes, Playoff, PlayoffSettings, PlayoffTypes, Poll, PollAnswer, PollStatuses, PollVariant, PublicTeamApi, PublicUserApi, 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, TournamentSeason, TournamentSeasonApi, TournamentSeasonStatuses, 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, VolleyballStatisticTypes, 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, penaltyTypeField as ɵa, GameBaseApi as ɵb };
6518
6983
  //# sourceMappingURL=mtgame-core.js.map