@mtgame/core 0.1.51 → 0.1.52
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.
- package/api/tournament-api.d.ts +2 -0
- package/bundles/mtgame-core.umd.js +10 -0
- package/bundles/mtgame-core.umd.js.map +1 -1
- package/bundles/mtgame-core.umd.min.js +1 -1
- package/bundles/mtgame-core.umd.min.js.map +1 -1
- package/esm2015/api/media-api.js +4 -1
- package/esm2015/api/tournament-api.js +4 -1
- package/esm2015/models/game-timeline-stages.js +4 -1
- package/esm2015/models/game.js +2 -1
- package/esm5/api/media-api.js +4 -1
- package/esm5/api/tournament-api.js +4 -1
- package/esm5/models/game-timeline-stages.js +4 -1
- package/esm5/models/game.js +2 -1
- package/fesm2015/mtgame-core.js +10 -0
- package/fesm2015/mtgame-core.js.map +1 -1
- package/fesm5/mtgame-core.js +10 -0
- package/fesm5/mtgame-core.js.map +1 -1
- package/models/game-timeline-stages.d.ts +3 -0
- package/models/game.d.ts +1 -0
- package/mtgame-core.metadata.json +1 -1
- package/package.json +1 -1
package/fesm5/mtgame-core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mtgame-core.js","sources":["ng://@mtgame/core/localization/hockey-penalty-types.ts","ng://@mtgame/core/models/util.ts","ng://@mtgame/core/models/file.ts","ng://@mtgame/core/models/sport.ts","ng://@mtgame/core/models/user-profile.ts","ng://@mtgame/core/models/city.ts","ng://@mtgame/core/models/basketball-profile.ts","ng://@mtgame/core/models/volleyball-profile.ts","ng://@mtgame/core/models/hockey-profile.ts","ng://@mtgame/core/models/football-profile.ts","ng://@mtgame/core/models/handball-profile.ts","ng://@mtgame/core/models/rugby-profile.ts","ng://@mtgame/core/models/user.ts","ng://@mtgame/core/models/team.ts","ng://@mtgame/core/models/organization.ts","ng://@mtgame/core/models/league.ts","ng://@mtgame/core/models/tournament-season.ts","ng://@mtgame/core/models/tournament.ts","ng://@mtgame/core/models/basketball-game-config.ts","ng://@mtgame/core/models/volleyball-game-config.ts","ng://@mtgame/core/models/league-court.ts","ng://@mtgame/core/models/media-item.ts","ng://@mtgame/core/models/hockey-game-config.ts","ng://@mtgame/core/models/football-game-config.ts","ng://@mtgame/core/models/handball-game-config.ts","ng://@mtgame/core/utils/array.ts","ng://@mtgame/core/models/playoff.ts","ng://@mtgame/core/models/tournament-group.ts","ng://@mtgame/core/models/rugby-game-config.ts","ng://@mtgame/core/models/game.ts","ng://@mtgame/core/utils/data.ts","ng://@mtgame/core/storage/store.ts","ng://@mtgame/core/services/base.service.ts","ng://@mtgame/core/services/config.service.ts","ng://@mtgame/core/models/tournament-team.ts","ng://@mtgame/core/models/team-user.ts","ng://@mtgame/core/models/tournament-disqualification.ts","ng://@mtgame/core/models/league-player.ts","ng://@mtgame/core/models/tournament-team-user.ts","ng://@mtgame/core/models/basketball-statistic.ts","ng://@mtgame/core/models/basketball-game-team-statistic.ts","ng://@mtgame/core/models/basketball-game-statistic.ts","ng://@mtgame/core/models/basketball-game-log.ts","ng://@mtgame/core/models/game-user.ts","ng://@mtgame/core/models/game-user-limitation.ts","ng://@mtgame/core/api/game-base-api.ts","ng://@mtgame/core/api/basketball-game-api.ts","ng://@mtgame/core/models/feedback.ts","ng://@mtgame/core/api/feedback-api.ts","ng://@mtgame/core/api/file-api.ts","ng://@mtgame/core/models/hockey-game-log.ts","ng://@mtgame/core/models/hockey-game-statistic.ts","ng://@mtgame/core/models/hockey-statistic.ts","ng://@mtgame/core/models/hockey-game-team-statistic.ts","ng://@mtgame/core/api/hockey-game-api.ts","ng://@mtgame/core/models/football-game-log.ts","ng://@mtgame/core/models/football-game-statistic.ts","ng://@mtgame/core/models/football-statistic.ts","ng://@mtgame/core/models/football-game-team-statistic.ts","ng://@mtgame/core/api/football-game-api.ts","ng://@mtgame/core/models/handball-game-log.ts","ng://@mtgame/core/models/handball-game-statistic.ts","ng://@mtgame/core/models/handball-statistic.ts","ng://@mtgame/core/models/handball-game-team-statistic.ts","ng://@mtgame/core/api/handball-game-api.ts","ng://@mtgame/core/models/tournament-news.ts","ng://@mtgame/core/models/game-timeline-stages.ts","ng://@mtgame/core/models/tournament-stage.ts","ng://@mtgame/core/models/volleyball-statistic.ts","ng://@mtgame/core/models/tournament-stage-team.ts","ng://@mtgame/core/models/league-news.ts","ng://@mtgame/core/models/tournament-event.ts","ng://@mtgame/core/models/league-user.ts","ng://@mtgame/core/models/rugby-statistic.ts","ng://@mtgame/core/api/tournament-api.ts","ng://@mtgame/core/models/league-partner.ts","ng://@mtgame/core/models/league-banner.ts","ng://@mtgame/core/models/league-document.ts","ng://@mtgame/core/api/league-api.ts","ng://@mtgame/core/api/league-news-api.ts","ng://@mtgame/core/api/league-player-api.ts","ng://@mtgame/core/api/media-api.ts","ng://@mtgame/core/models/poll.ts","ng://@mtgame/core/models/team-invite.ts","ng://@mtgame/core/models/game-invite.ts","ng://@mtgame/core/models/team-event-type.ts","ng://@mtgame/core/localization/team-event-type.ts","ng://@mtgame/core/models/team-event.ts","ng://@mtgame/core/models/team-event-invite.ts","ng://@mtgame/core/models/tournament-team-user-invite.ts","ng://@mtgame/core/models/tournament-invite.ts","ng://@mtgame/core/models/notification.ts","ng://@mtgame/core/models/notification-settings.ts","ng://@mtgame/core/api/notification-base-api.ts","ng://@mtgame/core/api/notification-api.ts","ng://@mtgame/core/api/org-notification-api.ts","ng://@mtgame/core/api/reference-api.ts","ng://@mtgame/core/models/rugby-game-team-statistic.ts","ng://@mtgame/core/models/rugby-game-statistic.ts","ng://@mtgame/core/models/rugby-foul-type.ts","ng://@mtgame/core/models/rugby-game-log.ts","ng://@mtgame/core/api/rugby-game-api.ts","ng://@mtgame/core/models/team-invite-external.ts","ng://@mtgame/core/models/team-permission.ts","ng://@mtgame/core/models/team-access.ts","ng://@mtgame/core/api/team-api.ts","ng://@mtgame/core/api/team-event-api.ts","ng://@mtgame/core/models/tournament-join-team.ts","ng://@mtgame/core/api/tournament-join-api.ts","ng://@mtgame/core/api/tournament-season-api.ts","ng://@mtgame/core/api/tournament-stage-api.ts","ng://@mtgame/core/models/user-access.ts","ng://@mtgame/core/models/user-permission.ts","ng://@mtgame/core/api/user-api.ts","ng://@mtgame/core/models/volleyball-game-team-statistic.ts","ng://@mtgame/core/models/volleyball-game-statistic.ts","ng://@mtgame/core/models/volleyball-game-log.ts","ng://@mtgame/core/api/volleyball-game-api.ts","ng://@mtgame/core/api/public-team-api.ts","ng://@mtgame/core/api/public-user-api.ts","ng://@mtgame/core/localization/basketball-game-log-types.ts","ng://@mtgame/core/localization/hockey-game-log-types.ts","ng://@mtgame/core/localization/football-game-log-types.ts","ng://@mtgame/core/localization/handball-game-log-types.ts","ng://@mtgame/core/localization/overtime-types.ts","ng://@mtgame/core/localization/rugby-foul-sanction.ts","ng://@mtgame/core/localization/rugby-game-log-types.ts","ng://@mtgame/core/localization/team-user-role.ts","ng://@mtgame/core/localization/user-profile.ts","ng://@mtgame/core/localization/volleyball-game-log-types.ts","ng://@mtgame/core/models/league-playlist.ts","ng://@mtgame/core/services/centrifugo.service.ts","ng://@mtgame/core/storage/storage-engine.ts","ng://@mtgame/core/storage/local-storage-engine.ts","ng://@mtgame/core/utils/component-destroyed.ts","ng://@mtgame/core/utils/cookie.ts","ng://@mtgame/core/utils/device.ts","ng://@mtgame/core/utils/enum.ts","ng://@mtgame/core/utils/errors.ts","ng://@mtgame/core/utils/favicon.ts","ng://@mtgame/core/utils/form.ts","ng://@mtgame/core/utils/validators.ts","ng://@mtgame/core/http-cookie.interceptor.ts","ng://@mtgame/core/mtgame-core.ts"],"sourcesContent":["export const HockeyPenaltyTypes = [\n {id: 1, code: 'ÐÐÐ ÐС', title: 'ÐгÑеÑÑÐ¾Ñ Ð² дÑаке'},\n {id: 2, code: 'ÐТ-Ð-ÐÐÐ', title: 'ÐÑака в Ð³Ð¾Ð»Ð¾Ð²Ñ Ð¸Ð»Ð¸ ÑеÑ'},\n {id: 3, code: 'ÐТ-ÐÐ ', title: 'ÐÑака вÑаÑаÑÑ'},\n {id: 4, code: 'ÐТ-СÐ', title: 'ÐÑака Ñзади'},\n {id: 5, code: 'ÐÐÐÐ', title: 'ÐлокиÑовка'},\n {id: 6, code: 'ÐÐ -ÐÐ', title: 'ÐÑоÑок клÑÑки'},\n {id: 7, code: 'ÐÐ-ШÐ', title: 'ÐÑбÑÐ¾Ñ ÑайбÑ'},\n {id: 8, code: 'ÐРУÐ', title: 'ÐÑÑбоÑÑÑ'},\n {id: 9, code: 'ÐÐСЦ', title: 'ÐиÑÑиплинаÑнÑй ÑÑÑаÑ'},\n {id: 10, code: 'ÐÐС-ÐÐ', title: 'ÐиÑÑиплинаÑнÑй до конÑа маÑÑа'},\n {id: 11, code: 'ÐÐ ÐÐÐ', title: 'ÐÑака'},\n {id: 12, code: 'ÐÐЧÐÐ', title: 'ÐаÑинÑик дÑаки'},\n {id: 13, code: 'ÐÐ-ÐÐ', title: 'ÐадеÑжка игÑÑ'},\n {id: 14, code: 'ÐÐ-ÐÐ-СÐ', title: 'ÐадеÑжка клÑÑки ÑопеÑника'},\n {id: 15, code: 'ÐÐ-ÐÐ', title: 'ÐадеÑжка клÑÑкой'},\n {id: 16, code: 'ÐÐ-СÐ', title: 'ÐадеÑжка ÑопеÑника'},\n {id: 17, code: 'ÐÐ-ШÐ', title: 'ÐадеÑжка ÑÐ°Ð¹Ð±Ñ ÑÑками'},\n {id: 18, code: 'СÐ-ÐÐ', title: 'ÐгÑа Ñо Ñломанной клÑÑкой'},\n {id: 19, code: 'ÐÐ-ÐÐ', title: 'ÐгÑа вÑÑоко поднÑÑой клÑÑкой'},\n {id: 20, code: 'ÐÐ-УÐ', title: 'ÐолÑÑий ÑдаÑ'},\n {id: 21, code: 'СÐ-ШТ', title: 'ÐалÑй ÑкамееÑнÑй ÑÑÑаÑ'},\n {id: 22, code: 'ÐШ', title: 'ÐаÑÑ-ÑÑÑаÑ'},\n {id: 23, code: 'ÐÐ-ÐТ', title: 'ÐепÑавилÑÐ½Ð°Ñ Ð°Ñака'},\n {id: 24, code: 'ЧС-СТ', title: 'ÐаÑÑÑение ÑиÑленного ÑоÑÑава'},\n {id: 25, code: 'ÐС-ÐÐ', title: 'ÐеÑÑандаÑÑÐ½Ð°Ñ ÐºÐ»ÑÑка'},\n {id: 26, code: 'ÐÐÐ -ÐÐ', title: 'ÐпаÑное ÑнаÑÑжение'},\n {id: 27, code: 'ÐС-ÐÐ', title: 'ÐÑкоÑбление ÑÑдей и неÑпоÑÑивное поведение'},\n {id: 28, code: 'ÐТ-ÐÐ', title: 'ÐÑказ наÑаÑÑ Ð¸Ð³ÑÑ'},\n {id: 29, code: 'ÐТСЧ', title: 'ÐÑÑеÑение'},\n {id: 30, code: 'ÐÐÐÐÐÐ', title: 'Ðлевок'},\n {id: 31, code: 'ÐÐÐÐ', title: 'Ðодножка'},\n {id: 32, code: 'ÐÐÐС', title: 'ÐодÑеÑка'},\n {id: 33, code: 'ÐÐ -ÐÐ', title: 'ÐÑедÑпÑеждение инÑекÑий'},\n {id: 34, code: 'ÐÐ-СÐ', title: 'Ðокидание Ñкамейки во вÑÐµÐ¼Ñ ÐºÐ¾Ð½ÑликÑа'},\n {id: 35, code: 'СÐ-ÐÐ ', title: 'Сдвиг воÑоÑ'},\n {id: 36, code: 'СÐÐ', title: 'СимÑлÑÑиÑ'},\n {id: 37, code: 'ТÐ-ÐÐ ', title: 'ТолÑок на боÑÑ'},\n {id: 38, code: 'ТÐ-ÐÐ', title: 'ТолÑок клÑÑкой'},\n {id: 39, code: 'УÐ-ÐÐÐ', title: 'Ð£Ð´Ð°Ñ Ð³Ð¾Ð»Ð¾Ð²Ð¾Ð¹'},\n {id: 40, code: 'УÐ-ÐÐ', title: 'Ð£Ð´Ð°Ñ ÐºÐ»ÑÑкой'},\n {id: 41, code: 'УÐ-Ð-ÐÐ', title: 'Ð£Ð´Ð°Ñ ÐºÐ¾Ð½Ñом клÑÑки'},\n {id: 42, code: 'УÐ-ÐÐÐ', title: 'Ð£Ð´Ð°Ñ ÐºÐ¾Ð»ÐµÐ½Ð¾Ð¼'},\n {id: 43, code: 'УÐ-ÐÐÐ', title: 'Ð£Ð´Ð°Ñ Ð»Ð¾ÐºÑем'},\n {id: 44, code: 'УÐ-ÐÐ', title: 'Ð£Ð´Ð°Ñ Ð½Ð¾Ð³Ð¾Ð¹'},\n {id: 45, code: 'УÐУС', title: 'УкÑÑ'},\n {id: 46, code: 'ÐÐ-ÐÐ ', title: 'ФизиÑеÑкий конÑÐ°ÐºÑ Ñо зÑиÑелем'},\n {id: 47, code: 'ШТ-ÐÐ ', title: 'ШÑÑÐ°Ñ Ð²ÑаÑаÑÑ'}\n];\n","import { HockeyPenaltyTypes } from '../localization/hockey-penalty-types';\n\nexport const MODEL_MAPPING_FIELDS_KEY = '_mapping_fields_';\nexport const MODEL_RELATION_KEY = '_relation_';\nexport const MODEL_TO_FRONT_KEY = '_to_front_';\nexport const MODEL_TO_BACK_KEY = '_to_back_';\n\ntype ParserInterface = (dto: any, path?: GraphPathInterface) => any;\n\ninterface ModelTypeInterface {\n new(data?: any);\n}\n\nexport interface ModelInterface {\n toFront(dto: any): any;\n toBack(dto: any): any;\n}\n\nexport abstract class BaseModel {\n constructor(data?: {[key: string]: any}) {\n if (data) {\n for (const key of Object.keys(data)) {\n this[key] = data[key];\n }\n }\n }\n\n static toFront(dto: any): any {\n return undefined;\n }\n\n static toBack(dto: any): any {\n return undefined;\n }\n}\n\ninterface GraphPathInterface {\n [key: string]: any;\n}\n\nexport function enumField(enumClass) {\n return {\n toFront: (value) => {\n if (isNaN(+value)) {\n return enumClass[value];\n } else {\n return value;\n }\n },\n toBack: (value) => {\n if (isNaN(+value)) {\n return value;\n } else {\n return enumClass[value];\n }\n }\n };\n}\n\nexport function penaltyTypeField() {\n return {\n toFront: (data) => {\n if (!data) {\n return null;\n }\n if (typeof data === 'object') {\n return data;\n }\n return HockeyPenaltyTypes.find(item => item.id === data);\n },\n toBack: (data) => {\n if (!data) {\n return null;\n }\n if (typeof data === 'object') {\n return data.id;\n }\n return data;\n }\n };\n}\n\nexport function listField(modelClass) {\n return {\n toFront: (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map(item => modelClass.toFront(item));\n },\n toBack: (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map(item => modelClass.toBack(item));\n }\n };\n}\n\nexport class DateField extends BaseModel {\n static toFront(date: any): any {\n if (date) {\n return new Date(date);\n } else {\n return undefined;\n }\n }\n static toBack(date: Date): any {\n if (date) {\n const dateUtc = new Date(Date.UTC(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds())\n );\n return dateUtc.toISOString().slice(0, 10);\n } else {\n return undefined;\n }\n }\n}\n\nexport class DateTimeField extends BaseModel {\n static toFront(date: any): any {\n if (date) {\n return new Date(date);\n } else {\n return undefined;\n }\n }\n static toBack(date: Date): any {\n if (date) {\n const dateUtc = new Date(Date.UTC(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds())\n );\n return date.toISOString();\n } else {\n return undefined;\n }\n }\n}\n\nexport function ModelInstance(\n config: {\n mappingFields?: { [key: string]: string },\n relation?: { [key: string]: BaseModel }\n }\n) {\n return (target: ModelTypeInterface) => {\n if (config) {\n if (config.mappingFields) {\n target[MODEL_MAPPING_FIELDS_KEY] = config.mappingFields;\n }\n if (config.relation) {\n target[MODEL_RELATION_KEY] = config.relation;\n }\n target[MODEL_TO_FRONT_KEY] = (dto: any, path: GraphPathInterface) => {\n return toFront(target, dto, path);\n };\n target[MODEL_TO_BACK_KEY] = (dto: any, path: GraphPathInterface) => {\n return toBack(target, dto, path);\n };\n }\n };\n}\n\nexport const ToFrontHook = (target: ModelTypeInterface, key: string | symbol, descriptor: TypedPropertyDescriptor<Function>) => {\n return {\n value: (...args: any[]) => {\n const parseMethod = target[MODEL_TO_FRONT_KEY] as ParserInterface;\n if (parseMethod) {\n return parseMethod(args[0], (args.length > 1 ? args[1] : undefined));\n }\n return undefined;\n }\n };\n};\n\nexport const ToBackHook = (target: ModelTypeInterface, key: string | symbol, descriptor: TypedPropertyDescriptor<Function>) => {\n return {\n value: (...args: any[]) => {\n const parseMethod = target[MODEL_TO_BACK_KEY] as ParserInterface;\n if (parseMethod) {\n return parseMethod(args[0]);\n }\n return undefined;\n }\n };\n};\n\nfunction extractValue(key, data) {\n if (!data) {\n return undefined;\n }\n\n const keyParts = key.split('.');\n if (keyParts.length === 1) {\n if (key in data) {\n return data[key];\n } else {\n return undefined;\n }\n }\n\n for (const k of keyParts) {\n if (data && k in data) {\n data = data[k];\n } else {\n return undefined;\n }\n }\n\n return data;\n}\n\nfunction toFront(modelType: ModelTypeInterface, data: any, path?: GraphPathInterface): any {\n // Check if recursion is required\n if (Array.isArray(data)) {\n return data.map(item => {\n return toFront(modelType, item);\n });\n }\n\n const instance = new modelType();\n\n // Mapping fields\n const mappingFields = modelType[MODEL_MAPPING_FIELDS_KEY] as string[];\n const relation = modelType[MODEL_RELATION_KEY] as { [key: string]: ModelInterface };\n if (mappingFields) {\n for (const backField of Object.keys(mappingFields)) {\n const frontField = mappingFields[backField];\n const value = extractValue(backField, data);\n if (relation && relation.hasOwnProperty(frontField)) {\n instance[frontField] = relation[frontField].toFront(value);\n } else {\n instance[frontField] = value;\n }\n }\n }\n\n return instance;\n}\n\nfunction toBack(modelType: ModelTypeInterface, instance: any, path?: GraphPathInterface): any {\n if (!instance) {\n return instance;\n }\n\n // Check if recursion is required\n if (Array.isArray(instance)) {\n return instance.map(item => {\n return toBack(modelType, item);\n });\n }\n\n const data = {};\n const mappingFields = modelType[MODEL_MAPPING_FIELDS_KEY] as string[];\n const relation = modelType[MODEL_RELATION_KEY] as { [key: string]: ModelInterface };\n if (mappingFields) {\n for (const backField of Object.keys(mappingFields)) {\n const frontField = mappingFields[backField];\n if (relation && relation.hasOwnProperty(frontField) && instance[frontField] !== undefined) {\n data[backField] = relation[frontField].toBack(instance[frontField]);\n } else {\n data[backField] = instance[frontField];\n }\n }\n }\n\n return data;\n}\n","import { ModelInstance, ToFrontHook, ToBackHook, enumField, DateTimeField } from './util';\n\nexport enum FileEngine {\n django = 1,\n s3\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n original_name: 'originalName',\n path: 'path',\n resized_path: 'resizedPath',\n mime_type: 'mimeType',\n size: 'size',\n engine: 'engine',\n created_at: 'createdAt',\n },\n relation: {\n engine: enumField(FileEngine),\n createdAt: DateTimeField,\n }\n})\nexport class File {\n id: number;\n name: string;\n _originalName: string;\n _path: string;\n resizedPath: string;\n mimeType: string;\n size: number;\n engine: FileEngine;\n createdAt: Date;\n\n set originalName(name: string) {\n this._originalName = name;\n }\n\n get originalName(): string {\n return this._originalName || this.name;\n }\n\n set path(filePath: string) {\n this._path = filePath;\n }\n\n get path(): string {\n return this.resizedPath || this._path;\n }\n\n @ToFrontHook\n static toFront(data: any): File {\n return null;\n }\n\n @ToBackHook\n static toBack(file: File): any {\n return null;\n }\n}\n","import {ModelInstance, ToFrontHook, ToBackHook, BaseModel} from './util';\n\nexport enum SportTypes {\n basketball = 1,\n volleyball = 2,\n classic_basketball = 3,\n streetball = 4,\n classic_volleyball = 5,\n beach_volleyball = 6,\n hockey = 7,\n ice_hockey = 8,\n ball_hockey = 9,\n football = 10,\n classic_football = 11,\n mini_football = 12,\n handball = 13,\n handball_classic = 14,\n rugby = 15,\n rugby7 = 16,\n rugby15 = 17,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n parent_id: 'parentId',\n sub_sports: 'subSports'\n }\n})\nexport class Sport extends BaseModel {\n id: number;\n name: string;\n parentId: number;\n subSports: Sport[];\n\n isBasketball() {\n return this.id === SportTypes.basketball || this.parentId === SportTypes.basketball;\n }\n\n isClassicBasketball() {\n return this.id === SportTypes.classic_basketball;\n }\n\n isStreetball() {\n return this.id === SportTypes.streetball;\n }\n\n isVolleyball() {\n return this.id === SportTypes.volleyball || this.parentId === SportTypes.volleyball;\n }\n\n isClassicVolleyball() {\n return this.id === SportTypes.classic_volleyball;\n }\n\n isBeachVolleyball() {\n return this.id === SportTypes.beach_volleyball;\n }\n\n isHockey(): boolean {\n return this.id === SportTypes.hockey || this.parentId === SportTypes.hockey;\n }\n\n isIceHockey(): boolean {\n return this.id === SportTypes.ice_hockey;\n }\n\n isBallHockey(): boolean {\n return this.id === SportTypes.ball_hockey;\n }\n\n isFootball() {\n return this.id === SportTypes.football || this.parentId === SportTypes.football;\n }\n\n isClassicFootball() {\n return this.id === SportTypes.classic_football;\n }\n\n isMiniFootball() {\n return this.id === SportTypes.mini_football;\n }\n\n isHandball() {\n return this.id === SportTypes.handball || this.parentId === SportTypes.handball;\n }\n\n isHandballClassic() {\n return this.id === SportTypes.handball_classic;\n }\n\n isRugby() {\n return this.id === SportTypes.rugby || this.parentId === SportTypes.rugby;\n }\n\n isRugby15() {\n return this.id === SportTypes.rugby15;\n }\n\n isRugby7() {\n return this.id === SportTypes.rugby7;\n }\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(sport: Sport): any {\n return null;\n }\n}\n","import { ModelInstance, ToBackHook, ToFrontHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n height: 'height',\n weight: 'weight'\n }\n})\nexport class UserProfile {\n id: number;\n userId: number;\n height: number;\n weight: number;\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name'\n }\n})\nexport class City extends BaseModel {\n id: number;\n name: string;\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameBasketballPosition {\n point_guard = 1,\n shooting_guard,\n small_forward,\n power_forward,\n center\n}\n\nexport enum WorkHand {\n left = 1,\n right\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameBasketballPosition),\n workHand: enumField(WorkHand)\n }\n})\nexport class BasketballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameBasketballPosition;\n workHand: WorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameVolleyballPosition {\n setter = 1,\n libero,\n middle_player,\n receiver_attacker,\n dioganal\n}\n\nexport enum VolleyballWorkHand {\n left = 1,\n right\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameVolleyballPosition),\n workHand: enumField(VolleyballWorkHand)\n }\n})\nexport class VolleyballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameVolleyballPosition;\n workHand: VolleyballWorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameHockeyPosition {\n defensemen = 1,\n forward,\n goaltender\n}\n\nexport enum HockeyWorkHand {\n left = 1,\n right\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameHockeyPosition),\n workHand: enumField(HockeyWorkHand)\n }\n})\nexport class HockeyProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameHockeyPosition;\n workHand: HockeyWorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameFootballPosition {\n defensemen = 1,\n midfielder,\n forward,\n goalkeeper\n}\n\nexport enum FootballWorkFoot {\n left = 1,\n right,\n both\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_foot: 'workFoot'\n },\n relation: {\n position: enumField(GameFootballPosition),\n workFoot: enumField(FootballWorkFoot)\n }\n})\nexport class FootballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameFootballPosition;\n workFoot: FootballWorkFoot;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { WorkHand } from './basketball-profile';\n\nexport enum GameHandballPosition {\n goalkeeper = 1,\n winger,\n pivot,\n centre_back,\n fullback\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameHandballPosition),\n workHand: enumField(WorkHand)\n }\n})\nexport class HandballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameHandballPosition;\n workHand: WorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameRugbyPosition {\n front_line = 1,\n second_line,\n back_line,\n halfback,\n three_quarter,\n fullback,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position'\n },\n relation: {\n position: enumField(GameRugbyPosition),\n }\n})\nexport class RugbyProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameRugbyPosition;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, DateField, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { UserProfile } from './user-profile';\nimport { File } from './file';\nimport { City } from './city';\nimport { BasketballProfile } from './basketball-profile';\nimport { VolleyballProfile } from './volleyball-profile';\nimport { HockeyProfile } from './hockey-profile';\nimport { FootballProfile } from './football-profile';\nimport { HandballProfile } from './handball-profile';\nimport { RugbyProfile } from './rugby-profile';\n\nexport enum UserGender {\n male = 1,\n female\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n last_name: 'lastName',\n first_name: 'firstName',\n middle_name: 'middleName',\n email: 'email',\n phone: 'phone',\n birth_date: 'birthDate',\n photo: 'photo',\n profile: 'profile',\n basketball_profile: 'basketballProfile',\n volleyball_profile: 'volleyballProfile',\n hockey_profile: 'hockeyProfile',\n football_profile: 'footballProfile',\n handball_profile: 'handballProfile',\n rugby_profile: 'rugbyProfile',\n wizards: 'wizards',\n city: 'city',\n gender: 'gender',\n is_active: 'isActive',\n },\n relation: {\n birthDate: DateField,\n photo: File,\n profile: UserProfile,\n basketballProfile: BasketballProfile,\n volleyballProfile: VolleyballProfile,\n hockeyProfile: HockeyProfile,\n footballProfile: FootballProfile,\n handballProfile: HandballProfile,\n rugbyProfile: RugbyProfile,\n city: City,\n gender: enumField(UserGender)\n }\n})\nexport class User extends BaseModel {\n id: number;\n lastName: string;\n firstName: string;\n middleName: string;\n email: string;\n phone: string;\n birthDate: Date;\n profile: UserProfile;\n basketballProfile: BasketballProfile;\n volleyballProfile: VolleyballProfile;\n hockeyProfile: HockeyProfile;\n footballProfile: FootballProfile;\n handballProfile: HandballProfile;\n rugbyProfile: RugbyProfile;\n photo: File;\n wizards: string[];\n city: City;\n gender: UserGender;\n isActive: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(user: User): any {\n return null;\n }\n\n get fullName(): string {\n return [this.lastName, this.firstName].filter(s => s).join(' ');\n }\n\n get shortName(): string {\n return [this.lastName, this.firstName].filter(s => s).join(' ');\n }\n\n get initials(): string {\n return [this.lastName, this.firstName].filter(s => s).map(s => s.substr(0, 1)).join('');\n }\n\n get age(): number {\n if (!this.birthDate) {\n return null;\n }\n const diff = (new Date()).getTime() - this.birthDate.getTime();\n return Math.floor(diff / (365 * 86400 * 1000));\n }\n}\n","import { ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateField } from './util';\nimport { File } from './file';\nimport { Sport } from './sport';\nimport { User } from './user';\nimport { City } from './city';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n sport: 'sport',\n logo: 'logo',\n owner: 'owner',\n city: 'city',\n users_count: 'usersCount',\n won_games_count: 'wonGamesCount',\n games_count: 'gamesCount',\n score_sum: 'scoreSum',\n closest_game_datetime: 'closestGameDatetime',\n },\n relation: {\n sport: Sport,\n logo: File,\n owner: User,\n city: City,\n closestGameDatetime: DateField,\n }\n})\nexport class Team extends BaseModel {\n id: number;\n name: string;\n sport: Sport;\n logo: File;\n owner: User;\n city: City;\n usersCount: number;\n wonGamesCount: number;\n gamesCount: number;\n scoreSum: number;\n closestGameDatetime: Date;\n\n getEmptyLogoClass(): string {\n const classList = ['empty-logo'];\n if (this.sport.isBasketball()) {\n classList.push('empty-logo-basketball');\n }\n if (this.sport.isVolleyball()) {\n classList.push('empty-logo-volleyball');\n }\n if (this.sport.isHockey()) {\n classList.push('empty-logo-hockey');\n }\n if (this.sport.isFootball()) {\n classList.push('empty-logo-football');\n }\n if (this.sport.isHandball()) {\n classList.push('empty-logo-handball');\n }\n return classList.join(' ');\n }\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(team: Team): any {\n return null;\n }\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook } from './util';\nimport { User } from './user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n owner_id: 'ownerId',\n owner: 'owner',\n },\n relation: {\n owner: User,\n }\n})\nexport class Organization extends BaseModel {\n id: number;\n ownerId: number;\n owner: User;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField } from './util';\nimport { Organization } from './organization';\nimport { File } from './file';\nimport { Sport } from './sport';\n\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n logo: 'logo',\n contact_email: 'contactEmail',\n contact_phone: 'contactPhone',\n name: 'name',\n alias: 'alias',\n sport: 'sport',\n description: 'description',\n social_links: 'socialLinks',\n links: 'links',\n organization: 'organization',\n tournaments_count: 'tournamentsCount',\n documents_count: 'documentsCount',\n closest_game_datetime: 'closestGameDatetime',\n cover: 'cover',\n about: 'about',\n },\n relation: {\n organization: Organization,\n logo: File,\n cover: File,\n sport: Sport,\n }\n})\nexport class League extends BaseModel {\n id: number;\n logo: File;\n contactEmail: string;\n contactPhone: string;\n name: string;\n alias: string;\n sport: Sport;\n description: string;\n socialLinks: string[];\n links: string[];\n organization: Organization;\n tournamentsCount: number;\n documentsCount: number;\n closestGameDatetime: string;\n cover: File;\n about: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get vkLink(): string {\n return this.socialLinks.find(link => link.indexOf('vk.com/') > -1);\n }\n\n get fbLink(): string {\n return this.socialLinks.find(link => link.indexOf('facebook.com/') > -1);\n }\n\n get instaLink(): string {\n return this.socialLinks.find(link => link.indexOf('instagram.com/') > -1);\n }\n\n get youtubeLink(): string {\n return this.socialLinks.find(link => link.indexOf('youtube.com/') > -1);\n }\n\n get telegramLink(): string {\n return this.socialLinks.find(link =>\n link.substr(0, 13) === 'https://t.me/' ||\n link.substr(0, 17) === 'https://www.t.me/'\n );\n }\n\n get tiktokLink(): string {\n return this.socialLinks.find(link => link.indexOf('tiktok.com/') > -1);\n }\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, enumField, DateField } from './util';\nimport { File } from './file';\n\nexport enum TournamentSeasonStatuses {\n open,\n in_progress,\n closed,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n alias: 'alias',\n logo: 'logo',\n cover: 'cover',\n preview_image: 'previewImage',\n status: 'status',\n start_date: 'startDate',\n closed_date: 'closedDate',\n tournaments: 'tournaments',\n },\n relation: {\n logo: File,\n cover: File,\n previewImage: File,\n status: enumField(TournamentSeasonStatuses),\n startDate: DateField,\n closedDate: DateField,\n }\n})\nexport class TournamentSeason extends BaseModel {\n id: number;\n name: string;\n alias: string;\n logo: File;\n cover: File;\n previewImage: File;\n status: TournamentSeasonStatuses;\n startDate: Date;\n closedDate: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, DateTimeField, ToBackHook, ToFrontHook } from './util';\nimport { City } from './city';\nimport { File } from './file';\nimport { League } from './league';\nimport { Sport } from './sport';\nimport { Team } from './team';\nimport { TournamentSeason } from './tournament-season';\n\nexport enum TournamentTypes {\n group = 'group',\n elimination = 'elimination',\n fiba = 'fiba'\n}\n\nexport enum TournamentStatuses {\n open,\n in_progress,\n closed,\n}\n\nexport enum TournamentGender {\n male= 1,\n female,\n all\n}\n\nexport enum BasketballStatisticTypes {\n standard = 1,\n light,\n advanced\n}\n\nexport enum VolleyballStatisticTypes {\n standard = 1,\n light,\n advanced\n}\n\nexport enum GameTimeTypes {\n clean = 1,\n dirty,\n}\n\nexport enum OvertimeTypes {\n to_score_total = 1,\n to_score_diff,\n time,\n without_overtime,\n to_first_goal,\n to_first_goal_and_bullitts,\n bullitts,\n penalties,\n time_and_penalties\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n gender: 'gender',\n age_from: 'ageFrom',\n age_to: 'ageTo',\n max_team_players: 'maxTeamPlayers',\n max_game_players: 'maxGamePlayers',\n type: 'type',\n tours_count: 'toursCount',\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_score: 'overtimeScore',\n game_type: 'gameType',\n timeout_count: 'timeoutCount',\n timeout_time: 'timeoutTime',\n substitute_count: 'substituteCount',\n game_up_to_score: 'gameUpToScore',\n volleyball_score_in_set: 'volleyballScoreInSet',\n volleyball_score_in_last_set: 'volleyballScoreInLastSet',\n manage_team_application: 'manageTeamApplication',\n recruitment_is_open: 'recruitmentIsOpen',\n transfer_is_open: 'transferIsOpen',\n basketball_statistic_type: 'basketballStatisticType',\n volleyball_statistic_type: 'volleyballStatisticType',\n shot_clock_enabled: 'shotClockEnabled',\n game_time_type: 'gameTimeType',\n with_result_table: 'withResultTable',\n free_substitute_enabled: 'freeSubstituteEnabled',\n bonus_points_enabled: 'bonusPointsEnabled',\n },\n relation: {\n type: enumField(TournamentTypes),\n gender: enumField(TournamentGender),\n basketballStatisticType: enumField(BasketballStatisticTypes),\n volleyballStatisticType: enumField(VolleyballStatisticTypes),\n gameTimeType: enumField(GameTimeTypes),\n overtimeType: enumField(OvertimeTypes),\n }\n})\nexport class TournamentSettings extends BaseModel {\n id: number;\n gender: TournamentGender;\n ageFrom: number;\n ageTo: number;\n maxTeamPlayers: number;\n maxGamePlayers: number;\n type: TournamentTypes;\n toursCount: number;\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimeScore: number;\n gameType: string;\n timeoutCount: number;\n timeoutTime: number;\n substituteCount: number;\n gameUpToScore: number;\n volleyballScoreInSet: number;\n volleyballScoreInLastSet: number;\n manageTeamApplication: boolean;\n recruitmentIsOpen: boolean;\n transferIsOpen: boolean;\n basketballStatisticType: BasketballStatisticTypes;\n volleyballStatisticType: VolleyballStatisticTypes;\n shotClockEnabled: boolean;\n gameTimeType: GameTimeTypes;\n withResultTable: boolean;\n freeSubstituteEnabled: boolean;\n bonusPointsEnabled: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n tournament_id: 'tournamentId',\n name: 'name',\n logo: 'logo',\n team: 'team',\n points: 'points',\n },\n relation: {\n logo: File,\n team: Team,\n }\n})\nexport class TournamentTeamWinner extends BaseModel {\n id: number;\n teamId: number;\n tournamentId: number;\n name: string;\n logo: File;\n team: Team;\n points: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n alias: 'alias',\n logo: 'logo',\n cover: 'cover',\n preview_image: 'previewImage',\n city: 'city',\n sport: 'sport',\n location: 'location',\n description: 'description',\n date: 'date',\n price: 'price',\n regulation_files: 'regulationFiles',\n settings: 'settings',\n league: 'league',\n teams_count: 'teamsCount',\n closest_game_datetime: 'closestGameDatetime',\n status: 'status',\n team_winner: 'teamWinner',\n team_second: 'teamSecond',\n team_third: 'teamThird',\n season: 'season',\n season_id: 'seasonId',\n },\n relation: {\n logo: File,\n cover: File,\n previewImage: File,\n city: City,\n sport: Sport,\n regulationFile: File,\n settings: TournamentSettings,\n date: DateTimeField,\n league: League,\n status: enumField(TournamentStatuses),\n teamWinner: TournamentTeamWinner,\n teamSecond: TournamentTeamWinner,\n teamThird: TournamentTeamWinner,\n season: TournamentSeason,\n }\n})\nexport class Tournament extends BaseModel {\n id: number;\n name: string;\n alias: string;\n logo: File;\n cover: File;\n previewImage: File;\n city: City;\n sport: Sport;\n location: string;\n description: string;\n date: Date;\n price: number;\n regulationFiles: File[];\n settings: TournamentSettings;\n league: League;\n teamsCount: number;\n closestGameDatetime: string;\n status: TournamentStatuses;\n teamWinner: TournamentTeamWinner;\n teamSecond: TournamentTeamWinner;\n teamThird: TournamentTeamWinner;\n season: TournamentSeason;\n seasonId: number;\n\n getEmptyLogoClass(): string {\n const classList = ['empty-logo'];\n if (this.sport.isBasketball()) {\n classList.push('empty-logo-basketball');\n }\n if (this.sport.isVolleyball()) {\n classList.push('empty-logo-volleyball');\n }\n if (this.sport.isHockey()) {\n classList.push('empty-logo-hockey');\n }\n if (this.sport.isFootball()) {\n classList.push('empty-logo-football');\n }\n return classList.join(' ');\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { BasketballStatisticTypes, GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n game_up_to_score: 'gameUpToScore',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_score: 'overtimeScore',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n statistic_type: 'statisticType',\n shot_clock_enabled: 'shotClockEnabled',\n game_time_type: 'gameTimeType',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n statisticType: enumField(BasketballStatisticTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class BasketballGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n gameUpToScore: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimeScore: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n statisticType: BasketballStatisticTypes;\n shotClockEnabled: boolean;\n gameTimeType: GameTimeTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { VolleyballStatisticTypes } from './tournament';\n\nexport enum VolleyballGameTypes {\n best_of_five = 1,\n best_of_three\n}\n\n@ModelInstance({\n mappingFields: {\n game_type: 'gameType',\n timeout_count: 'timeoutCount',\n timeout_time: 'timeoutTime',\n substitute_count: 'substituteCount',\n score_in_set: 'scoreInSet',\n score_in_last_set: 'scoreInLastSet',\n statistic_type: 'statisticType',\n libero_user_ids: 'liberoUserIds',\n },\n relation: {\n gameType: enumField(VolleyballGameTypes),\n statisticType: enumField(VolleyballStatisticTypes),\n }\n})\nexport class VolleyballGameConfig extends BaseModel {\n gameType: VolleyballGameTypes;\n timeoutCount: number;\n timeoutTime: number;\n substituteCount: number;\n scoreInSet: number;\n scoreInLastSet: number;\n statisticType: VolleyballStatisticTypes;\n liberoUserIds: number[];\n\n get setsCount(): number {\n return this.gameType === VolleyballGameTypes.best_of_three ? 3 : 5;\n }\n\n getSetMaxScore(set: number) {\n return set === this.setsCount ? this.scoreInLastSet : this.scoreInSet;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n address: 'address',\n league_id: 'leagueId'\n }\n})\nexport class LeagueCourt extends BaseModel {\n id: number;\n name: string;\n address: string;\n leagueId: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n original_photo: 'originalPhoto',\n list_photo: 'listPhoto',\n detail_photo: 'detailPhoto',\n game: 'game',\n tournament: 'tournament',\n game_id: 'gameId',\n tournament_id: 'tournament_id',\n video_url: 'videoUrl',\n video_preview: 'videoPreview',\n is_live: 'isLive',\n },\n relation: {\n originalPhoto: File,\n listPhoto: File,\n detailPhoto: File,\n videoPreview: File\n }\n})\nexport class MediaItem extends BaseModel {\n id: number;\n originalPhoto: File;\n listPhoto: File;\n detailPhoto: File;\n gameId: number;\n tournamentId: number;\n videoUrl: string;\n videoPreview: File;\n isLive: boolean;\n\n get isVideo(): boolean {\n return Boolean(this.videoUrl);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n game_time_type: 'gameTimeType',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class HockeyGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n gameTimeType: GameTimeTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get overtimePeriod(): number {\n return this.periodsCount + 1;\n }\n\n get bullitsPeriod(): number {\n return this.periodsCount + 2;\n }\n\n get playoffBullitsPeriod(): number {\n return this.periodsCount + 3;\n }\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_periods: 'overtimePeriods',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n game_time_type: 'gameTimeType',\n substitute_count: 'substituteCount',\n free_substitute_enabled: 'freeSubstituteEnabled',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class FootballGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimePeriods: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n gameTimeType: GameTimeTypes;\n substituteCount: number;\n freeSubstituteEnabled: boolean;\n\n get penaltyPeriod(): number {\n if (this.overtimeType !== OvertimeTypes.time_and_penalties) {\n return +this.periodsCount + 1;\n }\n return +this.periodsCount + this.overtimePeriods + 1;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n game_time_type: 'gameTimeType',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class HandballGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n gameTimeType: GameTimeTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","export function generateArray(length: number): number[] {\n if (length <= 0) {\n return [];\n }\n return Array.apply(null, Array(length)).map((_, i) => i + 1);\n}\n\nexport function getArrayChunks(array: any[], length: number): any[][] {\n const chunks = [];\n const chunkLength = Math.ceil(array.length / length);\n if (chunkLength === 0) {\n return [array];\n }\n for (let i = 0; i < chunkLength; i++) {\n chunks.push(array.slice(i * length, (i + 1) * length));\n }\n return chunks;\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { generateArray } from '../utils/array';\n\nexport enum PlayoffTypes {\n double_elimination = 'double_elimination',\n elimination = 'elimination'\n}\n\n@ModelInstance({\n mappingFields: {\n rounds: 'rounds',\n final_rounds: 'finalRounds',\n third_place_rounds: 'thirdPlaceRounds',\n teams_count: 'teamsCount',\n type: 'type',\n min_player_games_count: 'minPlayerGamesCount',\n min_player_time: 'minPlayerTime',\n },\n relation: {\n type: enumField(PlayoffTypes)\n }\n})\nexport class PlayoffSettings extends BaseModel {\n rounds: number;\n finalRounds: number;\n thirdPlaceRounds: number;\n teamsCount: number;\n type: PlayoffTypes;\n minPlayerGamesCount: number;\n minPlayerTime: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n settings: 'settings',\n tournament_id: 'tournamentId',\n tournament_stage_id: 'tournamentStageId',\n is_official: 'isOfficial'\n },\n relation: {\n settings: PlayoffSettings\n }\n})\nexport class Playoff extends BaseModel {\n id: number;\n name: string;\n settings: PlayoffSettings;\n tournamentId: number;\n tournamentStageId: number;\n isOfficial: boolean;\n private stages: {title: string, value: number}[] = [];\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get stagesCount(): number {\n return Math.log(this.settings.teamsCount) / Math.log(2);\n }\n\n getPlayoffStages() {\n if (this.stages.length === 0 && this.settings.teamsCount) {\n const stagesCount = Math.log(this.settings.teamsCount) / Math.log(2);\n this.stages = generateArray(stagesCount).map(stage => {\n const playoffStage = this.settings.teamsCount / 2 ** stage;\n let title = '';\n if (playoffStage === 1) {\n title = 'Финал';\n } else {\n title = `1 / ${playoffStage}`;\n }\n return {\n value: stage,\n title\n };\n });\n }\n return this.stages;\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { TournamentTeam } from './tournament-team';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n sort: 'sort',\n tournament_stage_id: 'tournamentStageId'\n }\n})\nexport class TournamentGroup extends BaseModel {\n id: number;\n name: string;\n sort: number;\n tournamentStageId: number;\n teams: TournamentTeam[];\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_periods: 'overtimePeriods',\n max_game_players: 'maxGamePlayers',\n game_time_type: 'gameTimeType',\n substitute_count: 'substituteCount',\n free_substitute_enabled: 'freeSubstituteEnabled',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class RugbyGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimePeriods: number;\n maxGamePlayers: number;\n gameTimeType: GameTimeTypes;\n substituteCount: number;\n freeSubstituteEnabled: boolean;\n\n get penaltyPeriod(): number {\n if (this.overtimeType !== OvertimeTypes.time_and_penalties) {\n return +this.periodsCount + 1;\n }\n return +this.periodsCount + this.overtimePeriods + 1;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField, listField } from './util';\nimport { Team } from './team';\nimport { BasketballGameConfig } from './basketball-game-config';\nimport { VolleyballGameConfig } from './volleyball-game-config';\nimport { LeagueCourt } from './league-court';\nimport { MediaItem } from './media-item';\nimport { HockeyGameConfig } from './hockey-game-config';\nimport { Tournament } from './tournament';\nimport { FootballGameConfig } from './football-game-config';\nimport { HandballGameConfig } from './handball-game-config';\nimport { Playoff } from './playoff';\nimport { TournamentGroup } from './tournament-group';\nimport { File } from './file';\nimport { RugbyGameConfig } from \"./rugby-game-config\";\n\nexport enum GameStatuses {\n open = 1,\n in_progress,\n closed,\n archived,\n draft\n}\n\nexport enum GameResultTypes {\n team_won = 1,\n competitor_team_won,\n team_technical_defeat,\n competitor_team_technical_defeat\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n logo: 'logo',\n },\n relation: {\n logo: File\n }\n})\nexport class TournamentTeamShort extends BaseModel {\n id: number;\n name: string;\n logo: File;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n status: 'status',\n team: 'team',\n tournament_team: 'tournamentTeam',\n tournament_team_id: 'tournamentTeamId',\n team_id: 'teamId',\n competitor_team: 'competitorTeam',\n competitor_tournament_team: 'competitorTournamentTeam',\n competitor_tournament_team_id: 'competitorTournamentTeamId',\n competitor_team_id: 'competitorTeamId',\n competitor_team_name: 'competitorTeamName',\n datetime: 'datetime',\n location: 'location',\n team_score: 'teamScore',\n competitor_team_score: 'competitorTeamScore',\n result_type: 'resultType',\n playoff_number: 'playoffNumber',\n tournament_id: 'tournamentId',\n tournament_tour: 'tournamentTour',\n game_config: 'gameConfig',\n basketball_game_config: 'basketballGameConfig',\n volleyball_game_config: 'volleyballGameConfig',\n hockey_game_config: 'hockeyGameConfig',\n football_game_config: 'footballGameConfig',\n handball_game_config: 'handballGameConfig',\n rugby_game_config: 'rugbyGameConfig',\n score_by_period: 'scoreByPeriod',\n playoff_stage: 'playoffStage',\n tournament_stage_id: 'tournamentStageId',\n tournament_playoff_id: 'tournamentPlayoffId',\n tournament_playoff: 'tournamentPlayoff',\n tournament_court: 'tournamentCourt',\n media_count: 'mediaCount',\n media_live_count: 'mediaLiveCount',\n media: 'media',\n tournament: 'tournament',\n tournament_group: 'tournamentGroup',\n },\n relation: {\n status: enumField(GameStatuses),\n team: Team,\n tournamentTeam: TournamentTeamShort,\n competitorTeam: Team,\n competitorTournamentTeam: TournamentTeamShort,\n datetime: DateTimeField,\n resultType: enumField(GameResultTypes),\n basketballGameConfig: BasketballGameConfig,\n volleyballGameConfig: VolleyballGameConfig,\n hockeyGameConfig: HockeyGameConfig,\n footballGameConfig: FootballGameConfig,\n handballGameConfig: HandballGameConfig,\n tournamentPlayoff: Playoff,\n tournamentCourt: LeagueCourt,\n media: listField(MediaItem),\n tournament: Tournament,\n tournamentGroup: TournamentGroup,\n }\n})\nexport class Game extends BaseModel {\n private _basketballGameConfig: BasketballGameConfig;\n private _volleyballGameConfig: VolleyballGameConfig;\n private _hockeyGameConfig: HockeyGameConfig;\n private _footballGameConfig: FootballGameConfig;\n private _handballGameConfig: HandballGameConfig;\n private _rugbyGameConfig: RugbyGameConfig;\n\n id: number;\n status: GameStatuses;\n team: Team;\n tournamentTeam: TournamentTeamShort;\n teamId: number;\n tournamentTeamId: number;\n competitorTeam: Team;\n competitorTournamentTeam: TournamentTeamShort;\n competitorTeamId: number;\n competitorTournamentTeamId: number;\n competitorTeamName: string;\n gameConfig: any;\n datetime: Date;\n location: string;\n teamScore: number;\n competitorTeamScore: number;\n resultType: GameResultTypes;\n playoffNumber: string;\n tournamentId: number;\n tournamentTour: number;\n scoreByPeriod: any;\n playoffStage: string;\n tournamentStageId: number;\n tournamentPlayoffId: number;\n tournamentPlayoff: Playoff;\n tournamentCourt: LeagueCourt;\n mediaCount: number;\n mediaLiveCount: number;\n media: MediaItem[];\n tournament: Tournament;\n tournamentGroup: TournamentGroup;\n\n get basketballGameConfig(): BasketballGameConfig {\n if (this._basketballGameConfig && this._basketballGameConfig.periodsCount) {\n return this._basketballGameConfig;\n }\n if (this.gameConfig) {\n this._basketballGameConfig = BasketballGameConfig.toFront(this.gameConfig);\n }\n return this._basketballGameConfig;\n }\n\n set basketballGameConfig(value) {\n this._basketballGameConfig = value;\n }\n\n get volleyballGameConfig(): VolleyballGameConfig {\n if (this._volleyballGameConfig && this._volleyballGameConfig.setsCount) {\n return this._volleyballGameConfig;\n }\n if (this.gameConfig) {\n this._volleyballGameConfig = VolleyballGameConfig.toFront(this.gameConfig);\n }\n return this._volleyballGameConfig;\n }\n\n set volleyballGameConfig(value) {\n this._volleyballGameConfig = value;\n }\n\n get hockeyGameConfig(): HockeyGameConfig {\n if (this._hockeyGameConfig && this._hockeyGameConfig.periodsCount) {\n return this._hockeyGameConfig;\n }\n if (this.gameConfig) {\n this._hockeyGameConfig = HockeyGameConfig.toFront(this.gameConfig);\n }\n return this._hockeyGameConfig;\n }\n\n set hockeyGameConfig(value) {\n this._hockeyGameConfig = value;\n }\n\n get handballGameConfig(): HandballGameConfig {\n if (this._handballGameConfig && this._handballGameConfig.periodsCount) {\n return this._handballGameConfig;\n }\n if (this.gameConfig) {\n this._handballGameConfig = HandballGameConfig.toFront(this.gameConfig);\n }\n return this._handballGameConfig;\n }\n\n set handballGameConfig(value) {\n this._handballGameConfig = value;\n }\n\n get footballGameConfig(): FootballGameConfig {\n if (this._footballGameConfig && this._footballGameConfig.periodsCount) {\n return this._footballGameConfig;\n }\n if (this.gameConfig) {\n this._footballGameConfig = FootballGameConfig.toFront(this.gameConfig);\n }\n return this._footballGameConfig;\n }\n\n set footballGameConfig(value) {\n this._footballGameConfig = value;\n }\n\n get rugbyGameConfig(): RugbyGameConfig {\n if (this._rugbyGameConfig && this._rugbyGameConfig.periodsCount) {\n return this._rugbyGameConfig;\n }\n if (this.gameConfig) {\n this._rugbyGameConfig = RugbyGameConfig.toFront(this.gameConfig);\n }\n return this._rugbyGameConfig;\n }\n\n set rugbyGameConfig(value) {\n this._rugbyGameConfig = value;\n }\n\n get scoreByPeriodList(): {period: number, teamScore: number, competitorTeamScore: number}[] {\n if (!this.scoreByPeriod) {\n return [];\n }\n return Object.keys(this.scoreByPeriod).map(period => ({\n period: +period,\n teamScore: this.scoreByPeriod[period][0],\n competitorTeamScore: this.scoreByPeriod[period][1]\n }));\n }\n\n get isClosed(): boolean {\n return this.status === GameStatuses.closed;\n }\n\n get isTeamWon() {\n return [GameResultTypes.team_won, GameResultTypes.competitor_team_technical_defeat].includes(this.resultType);\n }\n\n get isCompetitorTeamWon() {\n return [GameResultTypes.competitor_team_won, GameResultTypes.team_technical_defeat].includes(this.resultType);\n }\n\n get teamWinnerId() {\n if (!this.isClosed) {\n return null;\n }\n if (this.isTeamWon) {\n return this.team.id;\n }\n if (this.isCompetitorTeamWon) {\n return this.competitorTeam.id;\n }\n return null;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","export function updateItemInArray(data: any[], item: any, force = false, checkFunction?: (item: any) => boolean): any[] {\n if (!Array.isArray(data)) {\n return data;\n }\n return data.map(v => {\n if (checkFunction && isFunction(checkFunction)) {\n if (!checkFunction(v)) {\n return v;\n }\n } else if (v.id !== item.id) {\n return v;\n }\n if (v.updatedAt && item.updatedAt && !force) {\n return v.updatedAt > item.updatedAt ? v : item;\n }\n return item;\n });\n}\n\nexport function updateItemsInArray(data: any[], items: any[], force: boolean = false, checkFunction?: (item: any) => boolean): any[] {\n items.forEach(item => {\n data = updateItemInArray(data, item, force, checkFunction);\n });\n return data;\n}\n\nexport function patchItemInArray(data: any[], item: any, checkFunction?: (item: any) => boolean): any[] {\n if (!Array.isArray(data)) {\n return data;\n }\n return data.map(v => {\n if (checkFunction && isFunction(checkFunction)) {\n if (!checkFunction(v)) {\n return v;\n }\n } else if (v.id !== item.id) {\n return v;\n }\n return Object.assign(v, item);\n });\n}\n\nexport function addItemInArray(data: any[], item: any, atEnd: boolean = false, checkFunction?: (item: any) => boolean): any[] {\n if (!Array.isArray(data)) {\n return [item];\n }\n if (data.find(i => isFunction(checkFunction) ? checkFunction(i) : i.id === item.id)) {\n return data;\n }\n\n return atEnd\n ? [...data, item]\n : [item, ...data];\n}\n\nexport function addItemsInArray(data: any[], items: any[], atEnd: boolean = false, checkFunction?: (item: any) => boolean): any[] {\n (!atEnd\n ? Object.assign([], items).reverse()\n : items\n ).forEach(item => {\n data = addItemInArray(data, item, atEnd, checkFunction);\n });\n return data;\n}\n\nexport function deleteItemFromArray(data: any[], item: any): any[] {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isFunction(item)) {\n return data.filter(i => !item(i));\n } else {\n return data.filter(v => v.id !== item.id);\n }\n}\n\nfunction isFunction(functionToCheck) {\n return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { addItemInArray, addItemsInArray, deleteItemFromArray, updateItemInArray, updateItemsInArray } from '../utils/data';\nimport { StorageEngine } from './storage-engine';\n\nexport class Store {\n private data: {[key: string]: BehaviorSubject<any>} = {};\n\n constructor(private engine?: StorageEngine) {\n }\n\n get(key: string): Observable<any> {\n return this.getSubject(key).pipe(filter(item => item !== undefined));\n }\n\n value(key: string): any {\n return this.getSubject(key).value;\n }\n\n save(key: string, value: any): void {\n this.getSubject(key).next(value);\n if (this.engine) {\n this.engine.save(key, value);\n }\n }\n\n appendItem(key: string, value: any, checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemInArray(this.value(key) || [], value, true, checkFunction));\n }\n\n appendItems(key: string, value: any[], checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemsInArray(this.value(key) || [], value, true));\n }\n\n prependItem(key: string, value: any, checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemInArray(this.value(key) || [], value, false, checkFunction));\n }\n\n prependItems(key: string, value: any[], checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemsInArray(this.value(key) || [], value, false, checkFunction));\n }\n\n updateItem(key: string, value: any, force?: boolean, checkFunction?: (item: any) => boolean): void {\n this.save(key, updateItemInArray(this.value(key) || [], value, force, checkFunction));\n }\n\n updateItems(key: string, value: any, force?: boolean, checkFunction?: (item: any) => boolean): void {\n this.save(key, updateItemsInArray(this.value(key) || [], value, force, checkFunction));\n }\n\n deleteItem(key: string, value: any): void {\n this.save(key, deleteItemFromArray(this.value(key) || [], value));\n }\n\n dispose(): void {\n for (const key of Object.keys(this.data)) {\n this.data[key].complete();\n delete this.data[key];\n }\n }\n\n clearStorageData(): void {\n if (this.engine) {\n this.engine.clear();\n }\n }\n\n getEngine(): StorageEngine {\n return this.engine;\n }\n\n private getSubject(key: string): BehaviorSubject<any> {\n if (!this.data[key]) {\n this.data[key] = new BehaviorSubject<any>(this.engine ? this.engine.get(key) : undefined);\n }\n return this.data[key];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '../storage/store';\n\n@Injectable({providedIn: 'root'})\nexport class BaseService {\n protected store = new Store();\n\n dispose(): void {\n this.store.dispose();\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { BaseService } from './base.service';\n\nconst CONFIG_STORE_KEY = 'config';\n\nexport const CONFIG_DATA = 'mtg-core-config-data';\n\n@Injectable({providedIn: 'root'})\nexport class ConfigService extends BaseService {\n constructor(\n @Optional() @Inject(CONFIG_DATA) private configData: any\n ) {\n super();\n if (configData) {\n this.initialize(configData);\n }\n }\n\n get config$() {\n return this.store.get(CONFIG_STORE_KEY);\n }\n\n get config() {\n return this.store.value(CONFIG_STORE_KEY) || {};\n }\n\n initialize(data: any): void {\n this.store.save(CONFIG_STORE_KEY, data);\n }\n\n set(key: string, value: any): void {\n this.store.save(CONFIG_STORE_KEY, {\n ...this.config,\n [key]: value\n });\n }\n\n get(key: string): any {\n return this.store.value(CONFIG_STORE_KEY) && this.store.value(CONFIG_STORE_KEY)[key];\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { Team } from './team';\nimport { TournamentGroup } from './tournament-group';\nimport { Game } from './game';\nimport { Tournament } from './tournament';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n logo: 'logo',\n team_id: 'teamId',\n tournament_id: 'tournamentId',\n tournament: 'tournament',\n team: 'team',\n group: 'group',\n final_standing: 'finalStanding',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n draw_games_count: 'drawGamesCount',\n lose_games_count: 'loseGamesCount',\n last_games_count: 'lastGamesCount',\n last_games_won: 'lastGamesWon',\n score_sum: 'scoreSum',\n missed_sum: 'missedSum',\n score_points_sum: 'scorePointsSum',\n missed_points_sum: 'missedPointsSum',\n points: 'points',\n users_count: 'usersCount',\n games: 'games',\n notifications_count: 'notificationsCount',\n win_normal_time_games_count: 'winNormalTimeGamesCount',\n lose_normal_time_games_count: 'loseNormalTimeGamesCount',\n win_overtime_games_count: 'winOvertimeGamesCount',\n lose_overtime_games_count: 'loseOvertimeGamesCount',\n last_five_games: 'lastFiveGames',\n tries_scored: 'triesScored',\n tries_missed: 'triesMissed',\n attack_bonuses: 'attackBonuses',\n defense_bonuses: 'defenseBonuses',\n },\n relation: {\n logo: File,\n tournament: Tournament,\n team: Team,\n group: TournamentGroup,\n games: Game,\n lastFiveGames: Game,\n }\n})\nexport class TournamentTeam extends BaseModel {\n id: number;\n name: string;\n logo: File;\n teamId: number;\n tournamentId: number;\n tournament: Tournament;\n team: Team;\n group: TournamentGroup;\n finalStanding: number;\n gamesCount: number;\n wonGamesCount: number;\n loseGamesCount: number;\n drawGamesCount: number;\n lastGamesCount: number;\n lastGamesWon: number;\n scoreSum: number;\n missedSum: number;\n scorePointsSum: number;\n missedPointsSum: number;\n points: number;\n usersCount: number;\n games: Game[];\n notificationsCount: number;\n winNormalTimeGamesCount: number;\n loseNormalTimeGamesCount: number;\n winOvertimeGamesCount: number;\n loseOvertimeGamesCount: number;\n lastFiveGames: Game[];\n triesScored: number;\n triesMissed: number;\n attackBonuses: number;\n defenseBonuses: number;\n\n get gamesWonPercent(): number {\n if (!this.gamesCount) {\n return 0;\n }\n return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { User } from './user';\nimport { Team } from './team';\n\nexport enum TeamUserRole {\n member = 1,\n moderator,\n admin,\n coach,\n head_coach,\n playing_coach,\n manager,\n head_manager,\n captain,\n assistant,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n user: 'user',\n role: 'role',\n number: 'number',\n team: 'team',\n },\n relation: {\n user: User,\n team: Team,\n role: enumField(TeamUserRole)\n }\n})\nexport class TeamUser extends BaseModel {\n id: number;\n teamId: number;\n user: User;\n team: Team;\n number: number;\n role: TeamUserRole;\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(teamPlayer: TeamUser): any {\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team_user_id: 'tournamentTeamUserId',\n date_from: 'dateFrom',\n date_to: 'dateTo',\n matches_count: 'matchesCount',\n },\n relation: {\n dateFrom: DateField,\n dateTo: DateField,\n }\n})\nexport class TournamentDisqualification extends BaseModel {\n id: number;\n tournamentTeamUserId: number;\n dateFrom: Date;\n dateTo: Date;\n matchesCount: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';\nimport { File } from './file';\nimport { User } from './user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n league_id: 'leagueId',\n first_name: 'firstName',\n last_name: 'lastName',\n middle_name: 'middleName',\n birth_date: 'birthDate',\n photo: 'photo',\n user: 'user',\n has_changes: 'hasChanges',\n rating: 'rating',\n },\n relation: {\n birthDate: DateField,\n photo: File,\n user: User,\n }\n})\nexport class LeaguePlayer extends BaseModel {\n id: number;\n userId: number;\n leagueId: number;\n firstName: string;\n lastName: string;\n middleName: string;\n birthDate: Date;\n photo: File;\n user: User;\n hasChanges: boolean;\n rating: number;\n\n get fullName(): string {\n return [this.lastName, this.firstName, this.middleName].filter(s => s).join(' ');\n }\n\n get shortName(): string {\n return [this.lastName, this.firstName].filter(s => s).join(' ');\n }\n\n get initials(): string {\n return [this.lastName, this.firstName].filter(s => s).map(s => s.substr(0, 1)).join('');\n }\n\n get age(): number {\n if (!this.birthDate) {\n return null;\n }\n const diff = (new Date()).getTime() - this.birthDate.getTime();\n return Math.floor(diff / (365 * 86400 * 1000));\n }\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { TournamentTeam } from './tournament-team';\nimport { TeamUser } from './team-user';\nimport { TournamentDisqualification } from './tournament-disqualification';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team: 'tournamentTeam',\n team_user: 'teamUser',\n disqualified: 'disqualified',\n disqualification: 'disqualification',\n league_player: 'leaguePlayer',\n },\n relation: {\n tournamentTeam: TournamentTeam,\n teamUser: TeamUser,\n disqualification: TournamentDisqualification,\n leaguePlayer: LeaguePlayer,\n }\n})\nexport class TournamentTeamUser extends BaseModel {\n id: number;\n tournamentTeam: TournamentTeam;\n teamUser: TeamUser;\n disqualified: boolean;\n disqualification: TournamentDisqualification;\n leaguePlayer: LeaguePlayer;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n points: 'points',\n two_points_made: 'twoPointsMade',\n three_points_made: 'threePointsMade',\n free_throws_made: 'freeThrowsMade',\n one_points_made: 'onePointsMade',\n two_point_attempts: 'twoPointAttempts',\n three_point_attempts: 'threePointAttempts',\n free_throw_attempts: 'freeThrowAttempts',\n one_point_attempts: 'onePointAttempts',\n two_point_percent: 'twoPointPercent',\n three_point_percent: 'threePointPercent',\n free_throw_percent: 'freeThrowPercent',\n one_point_percent: 'onePointPercent',\n assists: 'assists',\n blocks: 'blocks',\n rebounds: 'rebounds',\n offensive_rebounds: 'offensiveRebounds',\n defensive_rebounds: 'defensiveRebounds',\n steals: 'steals',\n turnovers: 'turnovers',\n personal_fouls: 'personalFouls',\n technical_fouls: 'technicalFouls',\n unsportsmanlike_fouls: 'unsportsmanlikeFouls',\n game_time: 'gameTime',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class BasketballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n points: number;\n twoPointsMade: number;\n threePointsMade: number;\n freeThrowsMade: number;\n onePointsMade: number;\n twoPointAttempts: number;\n threePointAttempts: number;\n freeThrowAttempts: number;\n onePointAttempts: number;\n twoPointPercent: number;\n threePointPercent: number;\n freeThrowPercent: number;\n onePointPercent: number;\n assists: number;\n blocks: number;\n rebounds: number;\n offensiveRebounds: number;\n defensiveRebounds: number;\n steals: number;\n turnovers: number;\n personalFouls: number;\n technicalFouls: number;\n unsportsmanlikeFouls: number;\n gameTime: number;\n newbie: boolean;\n rank: number;\n\n get totalFouls() {\n return this.personalFouls + this.technicalFouls + this.unsportsmanlikeFouls;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { BasketballStatistic } from './basketball-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: BasketballStatistic,\n competitorTeam: BasketballStatistic\n }\n})\nexport class BasketballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: BasketballStatistic;\n competitorTeam: BasketballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n points: 'points',\n free_throws_made: 'freeThrowsMade',\n two_points_made: 'twoPointsMade',\n three_points_made: 'threePointsMade',\n one_points_made: 'onePointsMade',\n two_point_attempts: 'twoPointAttempts',\n three_point_attempts: 'threePointAttempts',\n free_throw_attempts: 'freeThrowAttempts',\n one_point_attempts: 'onePointAttempts',\n assists: 'assists',\n blocks: 'blocks',\n rebounds: 'rebounds',\n offensive_rebounds: 'offensiveRebounds',\n defensive_rebounds: 'defensiveRebounds',\n steals: 'steals',\n turnovers: 'turnovers',\n personal_fouls: 'personalFouls',\n technical_fouls: 'technicalFouls',\n unsportsmanlike_fouls: 'unsportsmanlikeFouls',\n updated_at: 'updatedAt',\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class BasketballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n freeThrowsMade: number;\n twoPointsMade: number;\n threePointsMade: number;\n onePointsMade: number;\n twoPointAttempts: number;\n threePointAttempts: number;\n freeThrowAttempts: number;\n onePointAttempts: number;\n assists: number;\n blocks: number;\n rebounds: number;\n offensiveRebounds: number;\n defensiveRebounds: number;\n steals: number;\n turnovers: number;\n personalFouls: number;\n technicalFouls: number;\n unsportsmanlikeFouls: number;\n updatedAt: Date;\n\n get id(): number {\n return this.gameUserId;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get totalFouls(): number {\n return (this.personalFouls || 0) + (this.technicalFouls || 0) + (this.unsportsmanlikeFouls || 0);\n }\n}\n","import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField } from './util';\nimport { GameUser } from './game-user';\nimport { GameLogBase } from './game-log-base';\n\nexport enum BasketballGameLogTypes {\n enter_game = 1,\n exit_game,\n remove_game,\n two_point_made,\n three_point_made,\n free_throw_made,\n two_point_attempt,\n three_point_attempt,\n free_throw_attempt,\n assist,\n block,\n rebound,\n offensive_rebound,\n defensive_rebound,\n steal,\n turnover,\n personal_foul,\n technical_foul,\n unsportsmanlike_foul,\n one_point_attempt,\n one_point_made,\n timeout,\n team_rebound,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(BasketballGameLogTypes),\n }\n})\nexport class BasketballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: BasketballGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n combined: BasketballGameLog;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n\n isPointsType() {\n return [\n BasketballGameLogTypes.two_point_made,\n BasketballGameLogTypes.three_point_made,\n BasketballGameLogTypes.free_throw_made,\n BasketballGameLogTypes.one_point_made,\n ].indexOf(this.logType) > -1;\n }\n\n isReboundType() {\n return [\n BasketballGameLogTypes.rebound,\n BasketballGameLogTypes.offensive_rebound,\n BasketballGameLogTypes.defensive_rebound\n ].indexOf(this.logType) > -1;\n }\n\n isFoulType() {\n return [\n BasketballGameLogTypes.personal_foul,\n BasketballGameLogTypes.technical_foul,\n BasketballGameLogTypes.unsportsmanlike_foul\n ].indexOf(this.logType) > -1;\n }\n\n getScore() {\n const scoreMapping = {\n [BasketballGameLogTypes.one_point_made]: 1,\n [BasketballGameLogTypes.free_throw_made]: 1,\n [BasketballGameLogTypes.two_point_made]: 2,\n [BasketballGameLogTypes.three_point_made]: 3\n };\n return scoreMapping[this.logType];\n }\n\n compare(model: BasketballGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { TeamUser } from './team-user';\nimport { TournamentTeamUser } from './tournament-team-user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n game_id: 'gameId',\n team_user: 'teamUser',\n tournament_team_user: 'tournamentTeamUser',\n is_mvp: 'isMvp',\n updated_at: 'updatedAt'\n },\n relation: {\n teamUser: TeamUser,\n tournamentTeamUser: TournamentTeamUser,\n updatedAt: DateTimeField,\n }\n})\nexport class GameUser extends BaseModel {\n id: number;\n gameId: number;\n teamUser: TeamUser;\n tournamentTeamUser: TournamentTeamUser;\n isMvp: boolean;\n updatedAt: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField, listField } from './util';\n\ninterface LimitationValue {\n current: number;\n required: number;\n}\n\n@ModelInstance({\n mappingFields: {\n min_user_games_count: 'minUserGamesCount',\n min_user_time: 'minUserTime',\n manual: 'manual',\n },\n})\nexport class GameUserLimitationTypes extends BaseModel {\n minUserGamesCount: LimitationValue;\n minUserTime: LimitationValue;\n manual: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n\n\n@ModelInstance({\n mappingFields: {\n tournament_team_user_id: 'tournamentTeamUserId',\n limitations: 'limitations'\n },\n relation: {\n limitations: GameUserLimitationTypes\n }\n})\nexport class GameUserLimitations extends BaseModel {\n tournamentTeamUserId: number;\n limitations: GameUserLimitationTypes;\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { GameUser } from '../models/game-user';\nimport { map } from 'rxjs/operators';\nimport { ConfigService } from '../services/config.service';\nimport { GameUserLimitations } from '../models/game-user-limitation';\n\n@Injectable({providedIn: 'root'})\nexport class GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService,\n ) {\n }\n\n async getUsers(gameId: number): Promise<GameUser[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/users/`).pipe(\n map(result => GameUser.toFront(result))\n ).toPromise();\n }\n\n async getMvp(gameId: number): Promise<GameUser[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/mvp/`).pipe(\n map(result => GameUser.toFront(result))\n ).toPromise();\n }\n\n async getUsersLimitation(gameId: number): Promise<GameUserLimitations[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/users_limitation/`).pipe(\n map(result => GameUserLimitations.toFront(result))\n ).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user' | 'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/game_application/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { BasketballGameTeamStatistic } from '../models/basketball-game-team-statistic';\nimport { BasketballGameStatistic } from '../models/basketball-game-statistic';\nimport { BasketballGameLog } from '../models/basketball-game-log';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class BasketballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<BasketballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/team_statistic/`).pipe(\n map(result => BasketballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<BasketballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/user_statistic/`).pipe(\n map(result => BasketballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<BasketballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/logs/`).pipe(\n map(result => BasketballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, fileType: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/game_protocol/?file_type=${fileType}`,\n {responseType: 'blob'}\n )\n .toPromise();\n }\n\n async downloadFibaProtocol(gameId: number, fileType: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/game_protocol_fiba/?file_type=${fileType}`,\n {responseType: 'blob'}\n )\n .toPromise();\n }\n}\n","import { ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n theme: 'theme',\n message: 'message',\n files: 'files',\n email: 'email',\n captcha: 'captcha',\n },\n relation: {\n files: File\n }\n})\nexport class Feedback {\n id: number;\n theme: string;\n message: string;\n email: string;\n captcha: string;\n files: File[];\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(value: any): any {\n return null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Feedback } from '../models/feedback';\nimport { map } from 'rxjs/operators';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class FeedbackApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async sendFeedback(data: any): Promise<Feedback> {\n return this.httpClient.post(`${this.configService.get('apiUrl')}/api/v1/feedback/`, Feedback.toBack(data))\n .pipe(map(response => Feedback.toFront(response)))\n .toPromise();\n }\n\n async sendLeagueFeedback(leagueId: number, data: any): Promise<Feedback> {\n return this.httpClient.post(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/feedback/`, Feedback.toBack(data))\n .pipe(map(response => Feedback.toFront(response)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { map } from 'rxjs/operators';\nimport { File } from '../models/file';\n\n@Injectable({providedIn: 'root'})\nexport class FileApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async upload(fileData: any, filename?: string, width?: number, height?: number): Promise<File> {\n let params = new HttpParams();\n if (width && height) {\n params = params.set('width', width.toString()).set('height', height.toString());\n }\n\n const formData = new FormData();\n formData.append('file', fileData, filename);\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/file/`, formData, {params})\n .pipe(map(data => File.toFront(data)))\n .toPromise();\n }\n\n async createZipArchive(files: {file: any, filename: string}[]): Promise<any> {\n const formData = new FormData();\n for (const file of files) {\n formData.append('files', file.file, file.filename);\n }\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/file/zip_archive/`, formData, {responseType: 'blob'})\n .toPromise();\n }\n}\n","import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField, penaltyTypeField } from './util';\nimport { GameUser } from './game-user';\nimport { GameLogBase } from './game-log-base';\n\nexport enum HockeyGameLogTypes {\n enter_game = 1,\n exit_game,\n shot_miss,\n shot_on_goal,\n shot_blocked,\n goal,\n shootout_attempt,\n shootout_goal,\n assist,\n block_shot ,\n minor_penalty ,\n major_penalty ,\n misconduct_penalty ,\n game_misconduct_penalty ,\n match_penalty ,\n penalty_shot ,\n face_off_lose ,\n face_off_win ,\n save ,\n timeout,\n penalty_start,\n penalty_end,\n after_game_shootout_attempt,\n after_game_shootout_goal,\n after_game_shootout_save,\n shootout_save,\n}\n\nexport enum HockeyAdvantageTypes {\n power_play = 1,\n shorthanded,\n even_strength\n}\n\nexport interface PenaltyType {\n id: number;\n code: string;\n title: string;\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n advantage: 'advantage',\n advantage_num: 'advantageNum',\n is_goalie: 'isGoalie',\n penalty_type: 'penaltyType',\n penalized_game_user_id: 'penalizedGameUserId',\n mutual_penalty: 'mutualPenalty',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(HockeyGameLogTypes),\n advantage: enumField(HockeyAdvantageTypes),\n penaltyType: penaltyTypeField()\n }\n})\nexport class HockeyGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: HockeyGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n advantage: HockeyAdvantageTypes;\n advantageNum: number;\n isGoalie: boolean;\n penaltyType: PenaltyType;\n _penalizedGameUserId: number;\n mutualPenalty: boolean;\n\n get penalizedGameUserId(): number {\n if (this._penalizedGameUserId) {\n return this._penalizedGameUserId;\n }\n return this.gameUserId;\n }\n\n set penalizedGameUserId(value: number) {\n this._penalizedGameUserId = value;\n }\n\n compare(model: HockeyGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return [HockeyGameLogTypes.goal, HockeyGameLogTypes.shootout_goal, HockeyGameLogTypes.after_game_shootout_goal].indexOf(this.logType) > -1;\n }\n\n isPenaltyType(): boolean {\n return [\n HockeyGameLogTypes.minor_penalty, HockeyGameLogTypes.major_penalty,\n HockeyGameLogTypes.misconduct_penalty, HockeyGameLogTypes.game_misconduct_penalty,\n HockeyGameLogTypes.penalty_shot, HockeyGameLogTypes.match_penalty\n ].indexOf(this.logType) > -1;\n }\n\n isAfter(log: HockeyGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n updated_at: 'updatedAt',\n points: 'points',\n pp_shot_misses: 'ppShotMisses',\n pp_shots_on_goal: 'ppShotsOnGoal',\n pp_shots_blocked: 'ppShotsBlocked',\n ev_shot_misses: 'evShotMisses',\n ev_shots_on_goal: 'evShotsOnGoal',\n ev_shots_blocked: 'evShotsBlocked',\n sh_shot_misses: 'shShotMisses',\n sh_shots_on_goal: 'shShotsOnGoal',\n sh_shots_blocked: 'shShotsBlocked',\n pp_goals: 'ppGoals',\n ev_goals: 'evGoals',\n sh_goals: 'shGoals',\n pp_assists: 'ppAssists',\n ev_assists: 'evAssists',\n sh_assists: 'shAssists',\n shootout_attempts: 'shootoutAttempts',\n shootout_goals: 'shootoutGoals',\n after_game_shootout_attempts: 'afterGameShootoutAttempts',\n after_game_shootout_goals: 'afterGameShootoutGoals',\n block_shots: 'blockShots',\n face_off_losses: 'faceOffLosses',\n face_off_wins: 'faceOffWins',\n saves: 'saves',\n shootout_save: 'shootoutSaves',\n after_game_shootout_saves: 'afterGameShootoutSaves',\n goals_against: 'goalsAgainst',\n shootout_goals_against: 'shootoutGoalsAgainst',\n after_game_shootout_goals_against: 'afterGameShootoutGoalsAgainst',\n safety_rate: 'safetyRate',\n penalty_minutes: 'penaltyMinutes',\n game_time: 'gameTime',\n plus_minus: 'plusMinus'\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class HockeyGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n ppShotMisses: number;\n ppShotsOnGoal: number;\n ppShotsBlocked: number;\n evShotMisses: number;\n evShotsOnGoal: number;\n evShotsBlocked: number;\n shShotMisses: number;\n shShotsOnGoal: number;\n shShotsBlocked: number;\n ppGoals: number;\n evGoals: number;\n shGoals: number;\n ppAssists: number;\n evAssists: number;\n shAssists: number;\n shootoutAttempts: number;\n shootoutGoals: number;\n afterGameShootoutAttempts: number;\n afterGameShootoutGoals: number;\n blockShots: number;\n faceOffLosses: number;\n faceOffWins: number;\n saves: number;\n shootoutSaves: number;\n afterGameShootoutSaves: number;\n goalsAgainst: number;\n shootoutGoalsAgainst: number;\n afterGameShootoutGoalsAgainst: number;\n safetyRate: number;\n penaltyMinutes: number;\n gameTime: number;\n plusMinus: number;\n updatedAt: Date;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get shotsOnGoal(): number {\n return (this.evShotsOnGoal || 0) + (this.ppShotsOnGoal || 0) + (this.shShotsOnGoal || 0);\n }\n\n get shotsBlocked(): number {\n return (this.evShotsBlocked || 0) + (this.ppShotsBlocked || 0) + (this.shShotsBlocked || 0);\n }\n\n get shotMisses(): number {\n return (this.evShotMisses || 0) + (this.ppShotMisses || 0) + (this.shShotMisses || 0);\n }\n\n get ppShots(): number {\n return (this.ppShotMisses || 0) + (this.ppShotsOnGoal || 0) + (this.ppShotsBlocked || 0);\n }\n\n get evShots(): number {\n return (this.evShotMisses || 0) + (this.evShotsOnGoal || 0) + (this.evShotsBlocked || 0);\n }\n\n get shShots(): number {\n return (this.shShotMisses || 0) + (this.shShotsOnGoal || 0) + (this.shShotsBlocked || 0);\n }\n\n get shots(): number {\n return this.ppShots + this.evShots + this.shShots + (this.shootoutAttempts || 0);\n }\n\n get totalShots(): number {\n return this.shots + (this.shootoutAttempts || 0);\n }\n\n get goals(): number {\n return (this.ppGoals || 0) + (this.shGoals || 0) + (this.evGoals || 0);\n }\n\n get totalGoals(): number {\n return this.goals + (this.shootoutGoals || 0);\n }\n\n get assists(): number {\n return (this.ppAssists || 0) + (this.evAssists || 0) + (this.shAssists || 0);\n }\n\n get faceOffs(): number {\n return (this.faceOffWins || 0) + (this.faceOffLosses || 0);\n }\n\n get shootOuts(): number {\n return (this.shootoutAttempts || 0) + (this.shootoutGoals || 0);\n }\n\n get shotsAgainst(): number {\n return (this.saves || 0) + (this.goalsAgainst || 0);\n }\n\n get shootoutShotsAgainst(): number {\n return (this.shootoutSaves || 0) + (this.shootoutGoalsAgainst || 0);\n }\n\n get totalShotsAgainst(): number {\n return this.shotsAgainst + this.shootoutShotsAgainst;\n }\n\n get savesPercent(): number {\n if (!this.shotsAgainst || !this.saves) {\n return 0;\n }\n return Math.round(1000 * this.saves / this.shotsAgainst) / 10;\n }\n\n get totalSaves(): number {\n return (this.saves || 0) + (this.shootoutSaves || 0);\n }\n\n get totalSavesPercent(): number {\n if (!this.totalShotsAgainst || !this.totalSaves) {\n return 0;\n }\n return Math.round(1000 * this.totalSaves / this.totalShotsAgainst) / 10;\n }\n\n get totalGoalsAgainst(): number {\n return (this.goalsAgainst || 0) + (this.shootoutGoalsAgainst || 0);\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n lose_games_count: 'loseGamesCount',\n points: 'points',\n pp_shots: 'ppShots',\n pp_shot_misses: 'ppShotMisses',\n pp_shots_on_goal: 'ppShotsOnGoal',\n pp_shots_blocked: 'ppShotsBlocked',\n ev_shots: 'evShots',\n ev_shot_misses: 'evShotMisses',\n ev_shots_on_goal: 'evShotsOnGoal',\n ev_shots_blocked: 'evShotsBlocked',\n sh_shots: 'shShots',\n sh_shot_misses: 'shShotMisses',\n sh_shots_on_goal: 'shShotsOnGoal',\n sh_shots_blocked: 'shShotsBlocked',\n pp_goals_percent: 'ppGoalsPercent',\n pp_goals: 'ppGoals',\n ev_goals_percent: 'evGoalsPercent',\n ev_goals: 'evGoals',\n sh_goals_percent: 'shGoalsPercent',\n goals: 'goals',\n total_goals: 'totalGoals',\n sh_goals: 'shGoals',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n shots: 'shots',\n total_shots: 'totalShots',\n goals_percent: 'goalsPercent',\n total_goals_percent: 'totalGoalsPercent',\n pp_assists: 'ppAssists',\n ev_assists: 'evAssists',\n sh_assists: 'shAssists',\n shootout_attempts: 'shootoutAttempts',\n shootout_goals: 'shootoutGoals',\n after_game_shootout_attempts: 'afterGameShootoutAttempts',\n after_game_shootout_goals: 'afterGameShootoutGoals',\n block_shots: 'blockShots',\n face_off_losses: 'faceOffLosses',\n face_off_wins: 'faceOffWins',\n face_offs: 'faceOffs',\n face_off_percent: 'faceOffPercent',\n saves: 'saves',\n total_saves: 'totalSaves',\n shootout_saves: 'shootoutSaves',\n shots_against: 'shotsAgainst',\n shootout_shots_against: 'shootoutShotsAgainst',\n total_shots_against: 'totalShotsAgainst',\n saves_percent: 'savesPercent',\n total_saves_percent: 'totalSavesPercent',\n goals_against: 'goalsAgainst',\n shootout_goals_against: 'shootoutGoalsAgainst',\n total_goals_against: 'totalGoalsAgainst',\n safety_rate: 'safetyRate',\n penalty_minutes: 'penaltyMinutes',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class HockeyStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n loseGamesCount: number;\n points: number;\n ppShots: number;\n ppShotMisses: number;\n ppShotsOnGoal: number;\n ppShotsBlocked: number;\n evShots: number;\n evShotMisses: number;\n evShotsOnGoal: number;\n evShotsBlocked: number;\n shShots: number;\n shShotMisses: number;\n shShotsOnGoal: number;\n shShotsBlocked: number;\n ppGoalsPercent: number;\n ppGoals: number;\n evGoalsPercent: number;\n evGoals: number;\n shGoalsPercent: number;\n shGoals: number;\n goals: number;\n totalGoals: number;\n totalGoalsPercent;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n shots: number;\n totalShots: number;\n goalsPercent: number;\n ppAssists: number;\n evAssists: number;\n shAssists: number;\n shootoutAttempts: number;\n shootoutGoals: number;\n afterGameShootoutAttempts: number;\n afterGameShootoutGoals: number;\n blockShots: number;\n faceOffLosses: number;\n faceOffWins: number;\n faceOffs: number;\n faceOffPercent: number;\n savesPercent: number;\n totalSavesPercent: number;\n saves: number;\n shootoutSaves: number;\n totalSaves: number;\n shotsAgainst: number;\n shootoutShotsAgainst: number;\n totalShotsAgainst: number;\n goalsAgainst: number;\n shootoutGoalsAgainst: number;\n totalGoalsAgainst: number;\n safetyRate: number;\n penaltyMinutes: number;\n gameTime: number;\n plusMinus: number;\n newbie: boolean;\n rank: number;\n\n get assists(): number {\n return (this.ppAssists || 0) + (this.shAssists || 0) + (this.evAssists || 0);\n }\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n get gamesWonPercent(): number {\n if (!this.gamesCount) {\n return 0;\n }\n return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { HockeyStatistic } from './hockey-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: HockeyStatistic,\n competitorTeam: HockeyStatistic\n }\n})\nexport class HockeyGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: HockeyStatistic;\n competitorTeam: HockeyStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { HockeyGameLog } from '../models/hockey-game-log';\nimport { HockeyGameStatistic } from '../models/hockey-game-statistic';\nimport { HockeyGameTeamStatistic } from '../models/hockey-game-team-statistic';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class HockeyGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<HockeyGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/team_statistic/`).pipe(\n map(result => HockeyGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<HockeyGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/user_statistic/`).pipe(\n map(result => HockeyGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<HockeyGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/logs/`).pipe(\n map(result => HockeyGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user'|'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/game_application_file/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField, penaltyTypeField } from './util';\nimport { GameUser } from './game-user';\nimport { GameLogBase } from './game-log-base';\n\nexport enum FootballGameLogTypes {\n enter_game = 1,\n exit_game,\n shot_miss,\n shot_on_goal,\n shot_blocked,\n goal,\n penalty_attempt,\n penalty_goal,\n penalty_save,\n small_penalty_attempt,\n small_penalty_goal,\n small_penalty_save,\n assist,\n block_shot,\n corner,\n free_kick,\n foul,\n save,\n yellow_card,\n red_card,\n perfect_pass,\n loss,\n steal,\n out,\n timeout,\n auto_goal,\n end_game_penalty_miss,\n end_game_penalty_goal,\n end_game_penalty_save\n}\n\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n is_goalie: 'isGoalie',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(FootballGameLogTypes)\n }\n})\nexport class FootballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: FootballGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n isGoalie: boolean;\n\n compare(model: FootballGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return [\n FootballGameLogTypes.goal,\n FootballGameLogTypes.penalty_goal,\n FootballGameLogTypes.small_penalty_goal,\n FootballGameLogTypes.auto_goal,\n FootballGameLogTypes.end_game_penalty_goal,\n ].indexOf(this.logType) > -1;\n }\n\n isAfter(log: FootballGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n updated_at: 'updatedAt',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n goals: 'goals',\n assists: 'assists',\n corners: 'corners',\n free_kicks: 'freeKicks',\n penalty_goals: 'penaltyGoals',\n penalty_attempts: 'penaltyAttempts',\n penalty_goals_against: 'penaltyGoalsAgainst',\n penalty_saves: 'penaltySaves',\n small_penalty_goals: 'smallPenaltyGoals',\n small_penalty_attempts: 'smallPenaltyAttempts',\n small_penalty_goals_against: 'smallPenaltyGoalsAgainst',\n small_penalty_saves: 'smallPenaltySaves',\n saves: 'saves',\n goals_against: 'goalsAgainst',\n safety_rate: 'safetyRate',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n fouls: 'fouls',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n perfect_passes: 'perfectPasses',\n losses: 'losses',\n steals: 'steals',\n outs: 'outs',\n block_shots: 'blockShots',\n auto_goals: 'autoGoals',\n auto_goals_against: 'autoGoalsAgainst',\n end_game_penalty_goals: 'endGamePenaltyGoals',\n end_game_penalty_misses: 'endGamePenaltyMisses',\n end_game_penalty_saves: 'endGamePenaltySaves'\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class FootballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n goals: number;\n assists: number;\n blockShots: number;\n corners: number;\n freeKicks: number;\n penaltyGoals: number;\n penaltyAttempts: number;\n penaltyGoalsAgainst: number;\n penaltySaves: number;\n smallPenaltyGoals: number;\n smallPenaltyAttempts: number;\n smallPenaltyGoalsAgainst: number;\n smallPenaltySaves: number;\n saves: number;\n goalsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n perfectPasses: number;\n losses: number;\n steals: number;\n outs: number;\n gameTime: number;\n plusMinus: number;\n updatedAt: Date;\n autoGoals: number;\n autoGoalsAgainst: number;\n endGamePenaltyGoals: number;\n endGamePenaltyMisses: number;\n endGamePenaltySaves: number;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get shots(): number {\n return (this.shotMisses || 0) + (this.shotsOnGoal || 0) + (this.shotsBlocked || 0);\n }\n\n\n get totalGoals(): number {\n return (this.goals || 0) + (this.penaltyGoals || 0) + (this.smallPenaltyGoals || 0);\n }\n\n get goalsPercent(): number {\n if (!this.shots || !this.totalGoals) {\n return 0;\n }\n return Math.round(1000 * this.totalGoals / this.shots) / 10;\n }\n\n get shotsOnGoalPercent(): number {\n if (!this.shotsOnGoal || !this.shots) {\n return 0;\n }\n return Math.round(1000 * this.shotsOnGoal / this.shots) / 10;\n }\n\n get penalties(): number {\n return (this.penaltyGoals || 0) + (this.penaltyAttempts || 0);\n }\n\n get penaltyGoalsPercent(): number {\n if (!this.penaltyAttempts || !this.penaltyGoals) {\n return 0;\n }\n const penaltyShots = this.penaltyAttempts + this.penaltyGoals;\n return Math.round(1000 * this.penaltyGoals / penaltyShots) / 10;\n }\n\n get smallPenalties(): number {\n return (this.smallPenaltyGoals || 0) + (this.smallPenaltyAttempts || 0);\n }\n\n get smallPenaltyGoalsPercent(): number {\n if (!this.smallPenaltyAttempts || !this.smallPenaltyGoals) {\n return 0;\n }\n const smallPenaltyShots = this.smallPenaltyAttempts + this.smallPenaltyGoals;\n return Math.round(1000 * this.smallPenaltyGoals / smallPenaltyShots) / 10;\n }\n\n get shotsAgainst(): number {\n return (this.saves || 0) + (this.goalsAgainst || 0);\n }\n\n get penaltyShotsAgainst(): number {\n return (this.penaltySaves || 0) + (this.penaltyGoalsAgainst || 0);\n }\n\n get smallPenaltyShotsAgainst(): number {\n return (this.smallPenaltySaves || 0) + (this.smallPenaltyGoalsAgainst || 0);\n }\n\n get totalGoalsAgainst(): number {\n return (this.goalsAgainst || 0) + (this.penaltyGoalsAgainst || 0) + (this.smallPenaltyGoalsAgainst || 0) + (this.autoGoalsAgainst || 0);\n }\n\n\n get totalSaves(): number {\n return (this.saves || 0) + (this.penaltySaves || 0) + (this.smallPenaltySaves || 0);\n }\n\n get savesPercent(): number {\n if (!this.shotsAgainst || !this.saves) {\n return 0;\n }\n return Math.round(1000 * this.saves / this.shotsAgainst) / 10;\n }\n\n get penaltySavesPercent(): number {\n if (!this.penaltyShotsAgainst || !this.penaltySaves) {\n return 0;\n }\n return Math.round(1000 * this.penaltySaves / this.penaltyShotsAgainst) / 10;\n }\n\n get smallPenaltySavesPercent(): number {\n if (!this.smallPenaltyShotsAgainst || !this.smallPenaltySaves) {\n return 0;\n }\n return Math.round(1000 * this.smallPenaltySaves / this.smallPenaltyShotsAgainst) / 10;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n shots_on_goal_percent: 'shotsOnGoalPercent',\n shots: 'shots',\n goals: 'goals',\n goals_percent: 'goalsPercent',\n total_goals: 'totalGoals',\n assists: 'assists',\n penalty_goals: 'penaltyGoals',\n penalty_attempts: 'penaltyAttempts',\n penalty_goals_percent: 'penaltyGoalsPercent',\n penalty_saves: 'penaltySaves',\n penalty_goals_against: 'penaltyGoalsAgainst',\n penalty_shots_against: 'penaltyShotsAgainst',\n penalty_saves_percent: 'penaltySavesPercent',\n small_penalty_goals: 'smallPenaltyGoals',\n small_penalty_attempts: 'smallPenaltyAttempts',\n small_penalty_goals_percent: 'smallPenaltyGoalsPercent',\n small_penalty_saves: 'smallPenaltySaves',\n small_penalty_goals_against: 'smallPenaltyGoalsAgainst',\n small_penalty_shots_against: 'smallPenaltyShotsAgainst',\n small_penalty_saves_percent: 'smallPenaltySavesPercent',\n saves: 'saves',\n saves_percent: 'savesPercent',\n total_saves: 'totalSaves',\n goals_against: 'goalsAgainst',\n total_goals_against: 'totalGoalsAgainst',\n shots_against: 'shotsAgainst',\n safety_rate: 'safetyRate',\n fouls: 'fouls',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n perfect_passes: 'perfectPasses',\n losses: 'losses',\n steals: 'steals',\n outs: 'outs',\n block_shots: 'blockShots',\n corners: 'corners',\n free_kicks: 'freeKicks',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n newbie: 'newbie',\n rank: 'rank',\n auto_goals: 'autoGoals',\n auto_goals_against: 'autoGoalsAgainst',\n end_game_penalty_goals: 'endGamePenaltyGoals',\n end_game_penalty_misses: 'endGamePenaltyMisses',\n end_game_penalty_saves: 'endGamePenaltySaves'\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class FootballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n shotsOnGoalPercent: number;\n shots: number;\n goals: number;\n totalGoals: number;\n goalsPercent: number;\n assists: number;\n penaltyGoals: number;\n penaltyAttempts: number;\n penaltyGoalsPercent: number;\n penaltySaves: number;\n penaltyGoalsAgainst: number;\n penaltyShotsAgainst: number;\n penaltySavesPercent: number;\n smallPenaltyGoals: number;\n smallPenaltyAttempts: number;\n smallPenaltyGoalsPercent: number;\n smallPenaltySaves: number;\n smallPenaltyGoalsAgainst: number;\n smallPenaltyShotsAgainst: number;\n smallPenaltySavesPercent: number;\n saves: number;\n savesPercent: number;\n totalSaves: number;\n goalsAgainst: number;\n totalGoalsAgainst: number;\n shotsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n perfectPasses: number;\n losses: number;\n steals: number;\n outs: number;\n gameTime: number;\n plusMinus: number;\n blockShots: number;\n corners: number;\n freeKicks: number;\n newbie: boolean;\n rank: number;\n autoGoals: number;\n autoGoalsAgainst: number;\n endGamePenaltyGoals: number;\n endGamePenaltyMisses: number;\n endGamePenaltySaves: number;\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n get tournamentTeamGamesCount(): number {\n return this.tournamentTeam && this.tournamentTeam.gamesCount;\n }\n\n get tournamentTeamWonGamesCount(): number {\n return this.tournamentTeam && this.tournamentTeam.wonGamesCount;\n }\n\n get tournamentTeamDrawGamesCount(): number {\n return this.tournamentTeam && this.tournamentTeam.drawGamesCount;\n }\n\n get tournamentTeamLostGamesCount(): number {\n if (!this.tournamentTeam) {\n return null;\n }\n return this.tournamentTeam.gamesCount - this.tournamentTeam.drawGamesCount - this.tournamentTeam.wonGamesCount;\n }\n\n get tournamentTeamScoreSum(): number {\n return this.tournamentTeam && this.tournamentTeam.scoreSum;\n }\n\n get tournamentTeamMissedSum(): number {\n return this.tournamentTeam && this.tournamentTeam.missedSum;\n }\n\n get tournamentTeamPlusMinus(): number {\n if (!this.tournamentTeam) {\n return null;\n }\n return this.tournamentTeam.scoreSum - this.tournamentTeam.missedSum;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { FootballStatistic } from './football-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: FootballStatistic,\n competitorTeam: FootballStatistic\n }\n})\nexport class FootballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: FootballStatistic;\n competitorTeam: FootballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { FootballGameLog } from '../models/football-game-log';\nimport { FootballGameStatistic } from '../models/football-game-statistic';\nimport { FootballGameTeamStatistic } from '../models/football-game-team-statistic';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class FootballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<FootballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/team_statistic/`).pipe(\n map(result => FootballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<FootballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/user_statistic/`).pipe(\n map(result => FootballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<FootballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/logs/`).pipe(\n map(result => FootballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user' | 'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/game_application_file/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { GameLogBase } from './game-log-base';\nimport { GameUser } from './game-user';\n\nexport enum HandballGameLogTypes {\n enter_game = 1,\n exit_game,\n shot_miss,\n shot_on_goal,\n shot_blocked,\n goal,\n assist,\n penalty_miss,\n penalty_shot_on_goal,\n penalty_goal,\n save,\n penalty_save,\n foul,\n yellow_card,\n red_card,\n two_minute_foul,\n turnover,\n steal,\n block_shot,\n timeout\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n is_goalie: 'isGoalie',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(HandballGameLogTypes)\n }\n})\nexport class HandballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: HandballGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n isGoalie: boolean;\n\n compare(model: HandballGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return [HandballGameLogTypes.goal, HandballGameLogTypes.penalty_goal].indexOf(this.logType) > -1;\n }\n\n isAfter(log: HandballGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n isFoulType(): boolean {\n return [HandballGameLogTypes.foul, HandballGameLogTypes.yellow_card, HandballGameLogTypes.red_card].indexOf(this.logType) > -1;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n goals: 'goals',\n assists: 'assists',\n penalty_goals: 'penaltyGoals',\n penalty_misses: 'penaltyMisses',\n penalty_shots_on_goal: 'penaltyShotsOnGoal',\n saves: 'saves',\n penalty_saves: 'penaltySaves',\n goals_against: 'goalsAgainst',\n penalty_goals_against: 'penaltyGoalsAgainst',\n safety_rate: 'safetyRate',\n fouls: 'fouls',\n yellowCards: 'yellowCards',\n red_cards: 'redCards',\n two_minute_fouls: 'twoMinuteFouls',\n turnovers: 'turnovers',\n steals: 'steals',\n block_shots: 'blockShots',\n game_time: 'gameTime',\n plus_minus: 'plusMinus'\n }\n})\nexport class HandballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n goals: number;\n assists: number;\n penaltyGoals: number;\n penaltyMisses: number;\n penaltyShotsOnGoal: number;\n saves: number;\n penaltySaves: number;\n goalsAgainst: number;\n penaltyGoalsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n twoMinuteFouls: number;\n turnovers: number;\n steals: number;\n blockShots: number;\n gameTime: number;\n plusMinus: number;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get shots(): number {\n return (this.shotMisses || 0) + (this.shotsOnGoal || 0) + (this.shotsBlocked || 0);\n }\n\n\n get totalGoals(): number {\n return (this.goals || 0) + (this.penaltyGoals || 0);\n }\n\n get goalsPercent(): number {\n if (!this.shots || !this.totalGoals) {\n return 0;\n }\n return Math.round(1000 * this.totalGoals / this.shots) / 10;\n }\n\n get shotsOnGoalPercent(): number {\n if (!this.shotsOnGoal || !this.shots) {\n return 0;\n }\n return Math.round(1000 * this.shotsOnGoal / this.shots) / 10;\n }\n\n get penaltyShots(): number {\n return (this.penaltyShotsOnGoal || 0) + (this.penaltyMisses || 0);\n }\n\n get penaltyGoalsPercent(): number {\n if (!this.penaltyShots || !this.penaltyGoals) {\n return 0;\n }\n return Math.round(1000 * this.penaltyGoals / this.penaltyShots) / 10;\n }\n\n get shotsAgainst(): number {\n return (this.saves || 0) + (this.goalsAgainst || 0);\n }\n\n get penaltyShotsAgainst(): number {\n return (this.penaltySaves || 0) + (this.penaltyGoalsAgainst || 0);\n }\n\n get totalGoalsAgainst(): number {\n return (this.goalsAgainst || 0) + (this.penaltyGoalsAgainst || 0);\n }\n\n get totalSaves(): number {\n return (this.saves || 0) + (this.penaltySaves || 0);\n }\n\n get savesPercent(): number {\n if (!this.shotsAgainst || !this.saves) {\n return 0;\n }\n return Math.round(1000 * this.saves / this.shotsAgainst) / 10;\n }\n\n get penaltySavesPercent(): number {\n if (!this.penaltyShotsAgainst || !this.penaltySaves) {\n return 0;\n }\n return Math.round(1000 * this.penaltySaves / this.penaltyShotsAgainst) / 10;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n goals: 'goals',\n assists: 'assists',\n penalty_goals: 'penaltyGoals',\n penalty_misses: 'penaltyMisses',\n penalty_shots_on_goal: 'penaltyShotsOnGoal',\n saves: 'saves',\n penalty_saves: 'penaltySaves',\n goals_against: 'goalsAgainst',\n penalty_goals_against: 'penaltyGoalsAgainst',\n safety_rate: 'safetyRate',\n fouls: 'fouls',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n two_minute_fouls: 'twoMinuteFouls',\n turnovers: 'turnovers',\n steals: 'steals',\n block_shots: 'blockShots',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n shots: 'shots',\n goals_percent: 'goalsPercent',\n penalty_shots: 'penaltyShots',\n penalty_goals_percent: 'penaltyGoalsPercent',\n shots_against: 'shotsAgainst',\n saves_percent: 'savesPercent',\n penalty_shots_against: 'penaltyShotsAgainst',\n penalty_saves_percent: 'penaltySavesPercent',\n total_goals: 'totalGoals',\n total_saves: 'totalSaves',\n total_goals_against: 'totalGoalsAgainst',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class HandballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n goals: number;\n assists: number;\n penaltyGoals: number;\n penaltyMisses: number;\n penaltyShotsOnGoal: number;\n saves: number;\n penaltySaves: number;\n goalsAgainst: number;\n penaltyGoalsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n twoMinuteFouls: number;\n turnovers: number;\n steals: number;\n blockShots: number;\n gameTime: number;\n plusMinus: number;\n shots: number;\n goalsPercent: number;\n penaltyShots: number;\n penaltyGoalsPercent: number;\n shotsAgainst: number;\n savesPercent: number;\n penaltyShotsAgainst: number;\n penaltySavesPercent: number;\n totalGoals: number;\n totalSaves: number;\n totalGoalsAgainst: number;\n newbie: boolean;\n rank: number;\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { HandballStatistic } from './handball-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: HandballStatistic,\n competitorTeam: HandballStatistic\n }\n})\nexport class HandballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: HandballStatistic;\n competitorTeam: HandballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { HandballGameLog } from '../models/handball-game-log';\nimport { HandballGameStatistic } from '../models/handball-game-statistic';\nimport { HandballGameTeamStatistic } from '../models/handball-game-team-statistic';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class HandballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<HandballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/team_statistic/`).pipe(\n map(result => HandballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<HandballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/user_statistic/`).pipe(\n map(result => HandballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<HandballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/logs/`).pipe(\n map(result => HandballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user' | 'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/game_application_file/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { File } from './file';\nimport { User } from './user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n picture: 'picture',\n text: 'text',\n author: 'author',\n created_at: 'createdAt',\n },\n relation: {\n picture: File,\n author: User,\n createdAt: DateTimeField,\n }\n})\nexport class TournamentNews extends BaseModel {\n id: number;\n title: string;\n picture: File;\n text: string;\n author: User;\n createdAt: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField } from './util';\n\n@ModelInstance({\n mappingFields: {\n stage_id: 'stageId',\n tours_count: 'toursCount',\n playoff_stages_count: 'playoffStagesCount',\n }\n})\nexport class GameTimelineStageItem {\n stageId: number;\n toursCount: number;\n playoffStagesCount: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n tours_count: 'toursCount',\n playoff_stages_count: 'playoffStagesCount',\n current_tour: 'currentTour',\n current_playoff_stage: 'currentPlayoffStage',\n stages: 'stages',\n tournament_stage_id: 'tournamentStageId',\n },\n relation: {\n stages: listField(GameTimelineStageItem)\n }\n})\nexport class GameTimelineStages extends BaseModel {\n toursCount: number;\n playoffStagesCount: number;\n currentTour: number;\n currentPlayoffStage: number;\n stages: GameTimelineStageItem[];\n tournamentStageId: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField, DateField } from './util';\n\nexport enum TournamentStageStatuses {\n open,\n in_progress,\n closed\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n date: 'date',\n tournament_id: 'tournamentId',\n status: 'status',\n },\n relation: {\n date: DateField,\n status: enumField(TournamentStageStatuses)\n }\n})\nexport class TournamentStage extends BaseModel {\n id: number;\n name: string;\n date: Date;\n tournamentId: number;\n status: TournamentStageStatuses;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';\nimport { Team } from './team';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { TeamUser } from './team-user';\nimport { TournamentTeam } from './tournament-team';\nimport { User } from './user';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n team_user: 'teamUser',\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n tournament_team: 'tournamentTeam',\n user: 'user',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n serve_hits: 'serveHits',\n serve_faults: 'serveFaults',\n serve_aces: 'serveAces',\n serve_percent: 'servePercent',\n ace_percent: 'acePercent',\n stuff_blocks: 'stuffBlocks',\n block_faults: 'blockFaults',\n block_rebounds: 'blockRebounds',\n block_percent: 'blockPercent',\n attack_spikes: 'attackSpikes',\n attack_faults: 'attackFaults',\n attack_shots: 'attackShots',\n attack_percent: 'attackPercent',\n receives: 'receives',\n receive_faults: 'receiveFaults',\n excellent_receives: 'excellentReceives',\n receive_percent: 'receivePercent',\n serve_receives: 'serveReceives',\n serve_receive_faults: 'serveReceiveFaults',\n excellent_serve_receives: 'excellentServeReceives',\n serve_receive_percent: 'serveReceivePercent',\n points: 'points',\n faults: 'faults',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n team: Team,\n teamUser: TeamUser,\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n tournamentTeam: TournamentTeam,\n user: User,\n month: DateField,\n }\n})\nexport class VolleyballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n newbie: boolean;\n rank: number;\n serveHits: number;\n serveFaults: number;\n serveAces: number;\n servePercent: number;\n acePercent: number;\n stuffBlocks: number;\n blockFaults: number;\n blockRebounds: number;\n blockPercent: number;\n attackSpikes: number;\n attackFaults: number;\n attackShots: number;\n attackPercent: number;\n receives: number;\n receiveFaults: number;\n excellentReceives: number;\n receivePercent: number;\n serveReceives: number;\n serveReceiveFaults: number;\n excellentServeReceives: number;\n serveReceivePercent: number;\n points: number;\n faults: number;\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n get totalReceives(): number {\n return this.receives + this.excellentReceives;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { TournamentTeam } from './tournament-team';\nimport { TournamentGroup } from './tournament-group';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team: 'tournamentTeam',\n group: 'group',\n tournament_stage_id: 'tournamentStageId',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n score_sum: 'scoreSum',\n missed_sum: 'missedSum',\n last_games_count: 'lastGamesCount',\n last_games_won: 'lastGamesWon',\n points: 'points',\n final_standing: 'finalStanding',\n received_points: 'receivedPoints',\n },\n relation: {\n tournamentTeam: TournamentTeam,\n group: TournamentGroup\n }\n})\nexport class TournamentStageTeam extends BaseModel {\n id: number;\n tournamentTeam: TournamentTeam;\n group: TournamentGroup;\n tournamentStageId: number;\n gamesCount: number;\n wonGamesCount: number;\n scoreSum: number;\n missedSum: number;\n lastGamesCount: number;\n lastGamesWon: number;\n points: number;\n finalStanding: number;\n receivedPoints: number;\n\n get gamesWonPercent(): number {\n if (!this.gamesCount) {\n return 0;\n }\n return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField, DateTimeField, enumField } from './util';\nimport { File } from './file';\nimport { Tournament } from './tournament';\n\nexport enum LeagueNewsType {\n text = 1,\n video\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n datetime: 'datetime',\n preview_text: 'previewText',\n detail_text: 'detailText',\n picture: 'picture',\n cover: 'cover',\n mobile_picture: 'mobilePicture',\n is_main: 'isMain',\n tournaments: 'tournaments',\n type: 'type',\n video_link: 'videoLink',\n tag: 'tag',\n },\n relation: {\n datetime: DateTimeField,\n picture: File,\n cover: File,\n mobilePicture: File,\n tournaments: listField(Tournament),\n type: enumField(LeagueNewsType),\n }\n})\nexport class LeagueNews extends BaseModel {\n id: number;\n title: string;\n datetime: Date;\n previewText: string;\n detailText: string;\n picture: File;\n cover: File;\n mobilePicture: File;\n isMain: boolean;\n tournaments: Tournament[];\n type: LeagueNewsType;\n videoLink: string;\n tag: string;\n\n @ToFrontHook\n static toFront(data: any): any {\n return undefined;\n }\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField, enumField, listField } from './util';\nimport { Game } from './game';\nimport { Tournament } from './tournament';\nimport { League } from './league';\nimport { LeagueNews } from './league-news';\n\nexport enum TournamentEventTypes {\n game_closed = 1,\n media_added,\n news\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n game: 'game',\n news: 'news',\n league: 'league',\n tournaments: 'tournaments',\n event: 'event',\n datetime: 'datetime'\n },\n relation: {\n game: Game,\n news: LeagueNews,\n league: League,\n tournaments: listField(Tournament),\n datetime: DateField,\n event: enumField(TournamentEventTypes)\n }\n})\nexport class TournamentEvent extends BaseModel {\n id: number;\n game: Game;\n news: LeagueNews;\n tournaments: Tournament[];\n event: TournamentEventTypes;\n datetime: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { User } from './user';\nimport { BaseModel, enumField, listField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\n\nexport enum LeagueUserRoles {\n admin = 1,\n moderator,\n game_manager\n}\n\nexport enum LeagueUserPermissions {\n settings = 1,\n users,\n teams,\n media,\n news,\n game_export,\n schedule,\n game_management\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user: 'user',\n role: 'role',\n permissions: 'permissions'\n },\n relation: {\n user: User,\n permissions: listField(enumField(LeagueUserPermissions))\n }\n})\nexport class LeagueUser extends BaseModel {\n id: number;\n user: User;\n _role: LeagueUserRoles;\n permissions: LeagueUserPermissions[];\n\n set role(value: LeagueUserRoles|string) {\n this._role = LeagueUserRoles[value];\n }\n\n get role(): LeagueUserRoles|string {\n return this._role;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n lose_games_count: 'loseGamesCount',\n draw_games_count: 'drawGamesCount',\n newbie: 'newbie',\n // User statistic\n points: 'points',\n tries: 'tries',\n penalty_tries: 'penaltyTries',\n conversion_kicks: 'conversionKicks',\n conversion_goals: 'conversionGoals',\n conversion_misses: 'conversionMisses',\n conversion_goals_percent: 'conversionGoalsPercent',\n penalties: 'penalties',\n penalty_kicks_on_goal: 'penaltyKicksOnGoal',\n penalty_misses: 'penaltyMisses',\n penalty_goals: 'penaltyGoals',\n tap_penalties: 'tapPenalties',\n penalty_kicks_to_touch: 'penaltyKicksToTouch',\n penalty_goals_percent: 'penaltyGoalsPercent',\n drop_goal_kicks: 'dropGoalKicks',\n drop_goals: 'dropGoals',\n drop_goal_misses: 'dropGoalMisses',\n drop_goals_percent: 'dropGoalsPercent',\n free_kicks: 'freeKicks',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n offloads: 'offloads',\n tackles: 'tackles',\n handling_errors: 'handlingErrors',\n carries_over_gainline: 'carriesOverGainline',\n plus_minus: 'plusMinus',\n game_time: 'gameTime',\n\n // Team statistic\n scrums: 'scrums',\n scrums_won: 'scrumsWon',\n scrums_lost: 'scrumsLost',\n scrums_won_percent: 'scrumsWonPercent',\n scrums_won_free: 'scrumsWonFree',\n opponent_scrums_won: 'opponentScrumsWon',\n opponent_scrums_lost: 'opponentScrumsLost',\n lineouts: 'lineouts',\n lineouts_won: 'lineoutsWon',\n lineouts_lost: 'lineoutsLost',\n lineouts_steal: 'lineoutsSteal',\n opponent_lineouts_lost: 'opponentLineoutsLost',\n quick_throws: 'quickThrows',\n rucks: 'rucks',\n rucks_won: 'rucksWon',\n rucks_lost: 'rucksLost',\n rucks_won_percent: 'rucksWonPercent',\n opponent_rucks_won: 'opponentRucksWon',\n opponent_rucks_lost: 'opponentRucksLost',\n mauls: 'mauls',\n mauls_won: 'maulsWon',\n mauls_lost: 'maulsLost',\n mauls_won_percent: 'maulWonPercent',\n opponent_mauls_won: 'opponentMaulsWon',\n opponent_mauls_lost: 'opponentMaulsLost',\n fouls: 'fouls',\n team_fouls: 'teamFouls',\n },\n relation: {\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class RugbyStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n loseGamesCount: number;\n drawGamesCount: number;\n tournamentTeamPoints: number;\n newbie: boolean;\n rank: number;\n points: number;\n tries: number;\n penaltyTries: number;\n conversionKicks: number;\n conversionGoals: number;\n conversionMisses: number;\n conversionGoalsPercent: number;\n penalties: number;\n penaltyKicksOnGoal: number;\n penaltyMisses: number;\n penaltyGoals: number;\n penaltyGoalsPercent: number;\n tapPenalties: number;\n penaltyKicksToTouch: number;\n dropGoalKicks: number;\n dropGoals: number;\n dropGoalMisses: number;\n dropGoalsPercent: number;\n freeKicks: number;\n yellowCards: number;\n redCards: number;\n offloads: number;\n tackles: number;\n handlingErrors: number;\n carriesOverGainline: number;\n plusMinus: number;\n gameTime: number;\n\n scrums: number;\n scrumsWon: number;\n scrumsLost: number;\n scrumsWonPercent: number;\n scrumsWonFree: number;\n opponentScrumsWon: number;\n opponentScrumsLost: number;\n lineouts: number;\n lineoutsWon: number;\n lineoutsLost: number;\n lineoutsSteal: number;\n opponentLineoutsLost: number;\n quickThrows: number;\n rucks: number;\n rucksWon: number;\n rucksLost: number;\n rucksWonPercent: number;\n opponentRucksWon: number;\n opponentRucksLost: number;\n mauls: number;\n maulsWon: number;\n maulsLost: number;\n maulWonPercent: number;\n opponentMaulsWon: number;\n opponentMaulsLost: number;\n fouls: number;\n teamFouls: number;\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Tournament } from '../models/tournament';\nimport { map } from 'rxjs/operators';\nimport { TournamentNews } from '../models/tournament-news';\nimport { Game, GameStatuses } from '../models/game';\nimport { GameTimelineStages } from '../models/game-timeline-stages';\nimport { TournamentTeam } from '../models/tournament-team';\nimport { TournamentStage } from '../models/tournament-stage';\nimport { Playoff } from '../models/playoff';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { BasketballStatistic } from '../models/basketball-statistic';\nimport { VolleyballStatistic } from '../models/volleyball-statistic';\nimport { TournamentTeamUser } from '../models/tournament-team-user';\nimport { TournamentStageTeam } from '../models/tournament-stage-team';\nimport { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';\nimport { ConfigService } from '../services/config.service';\nimport { HockeyStatistic } from '../models/hockey-statistic';\nimport { FootballStatistic } from '../models/football-statistic';\nimport { LeagueUserPermissions } from '../models/league-user';\nimport { HandballStatistic } from '../models/handball-statistic';\nimport { RugbyStatistic } from '../models/rugby-statistic';\nimport { TournamentGroup } from '../models/tournament-group';\n\nexport interface TournamentGamesFilters {\n tournamentIds?: number[];\n tournamentSeasonId?: number;\n tournamentStageId?: number;\n tournamentTour?: number;\n teamId?: number;\n playoffStage?: number;\n playoffId?: number;\n isPlayoff?: boolean;\n status?: GameStatuses;\n statuses?: GameStatuses[];\n tournamentCourtId?: number;\n leaguePlayerId?: number;\n userId?: number;\n query?: string;\n}\n\nexport type StatisticGroupByTypes = 'team' | 'user' | 'team_user' | 'tournament_team' | 'league_player' | 'tournament_team_user'\n | 'month' | 'win_loses';\n\nexport interface StatisticFilters {\n tournament_id?: number;\n tournament_ids?: number[];\n tournament_season_id?: number;\n tournament_team_id?: number;\n league_player_id?: number;\n tournament_team_user_id?: number;\n team_id?: number;\n team_user_id?: number;\n user_id?: number;\n tournament_stage_id?: number;\n tournament_tour?: number;\n playoff_stage?: number;\n playoff_id?: number;\n is_playoff?: boolean;\n date_from?: string;\n date_to?: string;\n query?: string;\n per_game?: boolean;\n group_by: StatisticGroupByTypes;\n order_by?: string;\n page?: number;\n size?: number;\n}\n\nexport interface StatisticLeadersFilters {\n tournament_id?: number;\n tournament_ids?: number[];\n tournament_season_id?: number;\n tournament_team_id?: number;\n team_id?: number;\n tournament_stage_id?: number;\n tournament_tour?: number;\n playoff_stage?: number;\n playoff_id?: number;\n date_from?: string;\n date_to?: string;\n per_game?: boolean;\n group_by: StatisticGroupByTypes;\n size?: number;\n fields: string[];\n}\n\nexport interface TournamentEventsListFilter {\n event?: TournamentEventTypes;\n search?: string;\n tournamentTour?: number;\n}\n\n@Injectable({providedIn: 'root'})\nexport class TournamentApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getById(tournamentId: number): Promise<Tournament> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/`)\n .pipe(map(result => Tournament.toFront(result)))\n .toPromise();\n }\n\n async getByAlias(leagueId: number, alias: string): Promise<Tournament> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournaments/${alias}/`)\n .pipe(map(result => Tournament.toFront(result)))\n .toPromise();\n }\n\n async getNews(tournamentId: number): Promise<TournamentNews[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/news/`)\n .pipe(map(result => TournamentNews.toFront(result)))\n .toPromise();\n }\n\n async getEvents(tournamentId: number, page: number, size: number, filters?: TournamentEventsListFilter): Promise<PaginatedResponse<TournamentEvent[]>> {\n let params = new HttpParams().set('page', page.toString())\n .set('size', size.toString());\n if (filters) {\n if (filters.event) {\n params = params.set('event', TournamentEventTypes[filters.event]);\n }\n if (filters.search) {\n params = params.set('search', filters.search);\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/events/`, {params, observe: 'response'})\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentEvent.toFront(result.body)\n })))\n .toPromise();\n }\n\n async getTournamentStages(tournamentId: number): Promise<TournamentStage[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/stages/`).pipe(\n map(data => TournamentStage.toFront(data))\n ).toPromise();\n }\n\n async getPlayoff(tournamentId: number): Promise<Playoff[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/playoff/`).pipe(\n map(result => Playoff.toFront(result))\n ).toPromise();\n }\n\n async getPlayoffGames(playoffId: number, playoffNumber?: string): Promise<Game[]> {\n let params = new HttpParams();\n if (playoffNumber) {\n params = params.set('playoff_number', playoffNumber);\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_playoff/${playoffId}/games/`,\n {params}\n ).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getGamesStages(tournamentId: number): Promise<GameTimelineStages> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/games_stages/`)\n .pipe(map(data => GameTimelineStages.toFront(data)))\n .toPromise();\n }\n\n async getGames(tournamentId: number, page: number, size: number, filters: TournamentGamesFilters = {}): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n params = applyGamesFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/games/`, {params, observe: 'response'})\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: Game.toFront(result.body)\n }))).toPromise();\n }\n\n async getGroups(tournamentId: number): Promise<TournamentGroup[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/groups/`)\n .pipe(map(result => TournamentGroup.toFront(result)))\n .toPromise();\n }\n\n async getTeams(tournamentId: number, groupId?: number): Promise<TournamentTeam[]> {\n let params = new HttpParams();\n if (groupId) {\n params = params.set('group_id', groupId.toString());\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/teams/`, {params})\n .pipe(map(result => TournamentTeam.toFront(result)))\n .toPromise();\n }\n\n async getStageTeams(tournamentId: number): Promise<TournamentStageTeam[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/stage_teams/`)\n .pipe(map(result => TournamentStageTeam.toFront(result)))\n .toPromise();\n }\n\n async getTeamById(tournamentTeamId: number): Promise<TournamentTeam> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/`)\n .pipe(map(result => TournamentTeam.toFront(result)))\n .toPromise();\n }\n\n async getUserById(userId: number): Promise<TournamentTeamUser> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team_user/${userId}/`)\n .pipe(map(result => TournamentTeamUser.toFront(result)))\n .toPromise();\n }\n\n async getUserGames(tournamentUserId: number): Promise<Game[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team_user/${tournamentUserId}/games/`)\n .pipe(map(result => Game.toFront(result)))\n .toPromise();\n }\n\n async getBasketballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: BasketballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/basketball_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = BasketballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getVolleyballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: VolleyballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/volleyball_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = VolleyballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getHockeyStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: HockeyStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/hockey_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = HockeyStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getFootballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: FootballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/football_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = FootballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getHandballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: HandballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/handball_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = HandballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getBasketballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<BasketballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/basketball_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: BasketballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getVolleyballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<VolleyballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/volleyball_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: VolleyballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getHockeyStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<HockeyStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/hockey_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: HockeyStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getFootballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<FootballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/football_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: FootballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getHandballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<HandballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/handball_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: HandballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getRugbyStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<RugbyStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/rugby_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: RugbyStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getTournamentTeamUsers(tournamentTeamId: number): Promise<TournamentTeamUser[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/users/`).pipe(\n map(result => TournamentTeamUser.toFront(result))\n ).toPromise();\n }\n\n async myPermission(tournamentId: number): Promise<LeagueUserPermissions[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/permission/`).pipe(\n map((data: any) => (data.permissions || []).map(item => LeagueUserPermissions[item]))\n ).toPromise();\n }\n\n async getTournamentTeamTournaments(tournamentTeamId: number): Promise<Tournament[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/tournaments/`).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n async getTournamentUserTournaments(tournamentTeamUserId: number): Promise<Tournament[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team_user/${tournamentTeamUserId}/tournaments/`).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n}\n\nexport function applyGamesFilters(filters: TournamentGamesFilters, params: HttpParams): HttpParams {\n if (filters.tournamentIds) {\n params = params.set('tournament_ids', filters.tournamentIds.join(','));\n }\n if (filters.tournamentStageId) {\n params = params.set('tournament_stage_id', filters.tournamentStageId.toString());\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n if (filters.playoffStage) {\n params = params.set('playoff_stage', filters.playoffStage.toString());\n }\n if (filters.teamId) {\n params = params.set('team_id', filters.teamId.toString());\n }\n if (filters.status) {\n params = params.set('status', GameStatuses[filters.status]);\n }\n if (filters.statuses) {\n const statuses = filters.statuses.map(i => GameStatuses[i]);\n params = params.set('statuses', statuses.join(','));\n }\n if (filters.tournamentCourtId) {\n params = params.set('tournament_court_id', filters.tournamentCourtId.toString());\n }\n if (filters.leaguePlayerId) {\n params = params.set('league_player_id', filters.leaguePlayerId.toString());\n }\n if (filters.userId) {\n params = params.set('user_id', filters.userId.toString());\n }\n if (filters.query) {\n params = params.set('query', filters.query);\n }\n if (filters.isPlayoff !== undefined && filters.isPlayoff !== null) {\n params = params.set('is_playoff', filters.isPlayoff ? '1' : '0');\n }\n return params;\n}\n\nexport function applyStatisticFilters(filters: StatisticFilters, params: HttpParams): HttpParams {\n for (const key of Object.keys(filters)) {\n if (filters[key]) {\n params = params.set(key, filters[key]);\n }\n }\n\n if (filters.per_game !== undefined) {\n params = params.set('per_game', filters.per_game ? '1' : '0');\n }\n\n if (filters.tournament_ids) {\n params = params.set('tournament_ids', filters.tournament_ids.join(','));\n }\n\n if (filters.is_playoff !== undefined && filters.is_playoff !== null) {\n params = params.set('is_playoff', filters.is_playoff ? '1' : '0');\n }\n\n return params;\n}\n\nexport function applyStatisticLeadersFilters(filters: StatisticLeadersFilters, params: HttpParams): HttpParams {\n for (const key of Object.keys(filters)) {\n if (filters[key]) {\n params = params.set(key, filters[key]);\n }\n }\n\n if (filters.per_game !== undefined) {\n params = params.set('per_game', filters.per_game ? '1' : '0');\n }\n\n if (filters.tournament_ids) {\n params = params.set('tournament_ids', filters.tournament_ids.join(','));\n }\n if (filters.fields) {\n params = params.set('fields', filters.fields.join(','));\n }\n return params;\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n picture: 'picture',\n link: 'link',\n sort: 'sort',\n },\n relation: {\n picture: File\n }\n})\nexport class LeaguePartner extends BaseModel {\n id: number;\n title: string;\n picture: File;\n link: string;\n sort: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import {ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField} from './util';\nimport {File} from './file';\n\nexport enum BannerLocation {\n slider = 'slider',\n central = 'central',\n media = 'media',\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n picture: 'picture',\n link: 'link',\n sort: 'sort',\n location: 'location',\n },\n relation: {\n picture: File,\n location: enumField(BannerLocation),\n }\n})\nexport class LeagueBanner extends BaseModel {\n id: number;\n title: string;\n picture: File;\n link: string;\n sort: number;\n location: BannerLocation;\n\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n file: 'file',\n },\n relation: {\n file: File,\n }\n})\nexport class LeagueDocument extends BaseModel {\n id: number;\n file: File;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { League } from '../models/league';\nimport { map } from 'rxjs/operators';\nimport { Tournament, TournamentStatuses } from '../models/tournament';\nimport { ConfigService } from '../services/config.service';\nimport { applyGamesFilters, TournamentEventsListFilter, TournamentGamesFilters } from './tournament-api';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';\nimport { GameMediaFilters } from './media-api';\nimport { TournamentSeason } from '../models/tournament-season';\nimport { Game, GameStatuses } from '../models/game';\nimport { LeaguePartner } from '../models/league-partner';\nimport { LeagueCourt } from '../models/league-court';\nimport { BannerLocation, LeagueBanner } from '../models/league-banner';\nimport { LeagueDocument } from '../models/league-document';\n\nexport interface TournamentListFilters {\n statuses: TournamentStatuses[];\n}\n\n@Injectable({providedIn: 'root'})\nexport class LeagueApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService\n ) {\n }\n\n async getByAlias(alias: string): Promise<League> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${alias}/`).pipe(\n map(result => League.toFront(result))\n ).toPromise();\n }\n\n async getByDomain(domain: string): Promise<League> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/by_domain/${domain}/`).pipe(\n map(result => League.toFront(result))\n ).toPromise();\n }\n\n async getTournaments(leagueId: number, filters?: TournamentListFilters): Promise<Tournament[]> {\n let params = new HttpParams();\n if (filters) {\n if (filters.statuses) {\n params = params.set('statuses', filters.statuses.map(s => TournamentStatuses[s]).join(','));\n }\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournaments/`, {params}).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n async getEvents(leagueId: number, page: number, size: number, filters?: TournamentEventsListFilter): Promise<PaginatedResponse<TournamentEvent[]>> {\n let params = new HttpParams().set('page', page.toString())\n .set('size', size.toString());\n if (filters) {\n if (filters.event) {\n params = params.set('event', TournamentEventTypes[filters.event]);\n }\n if (filters.search) {\n params = params.set('search', filters.search);\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/events/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentEvent.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getTournamentSeasons(leagueId: number): Promise<TournamentSeason[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/`).pipe(\n map(result => TournamentSeason.toFront(result))\n ).toPromise();\n }\n\n async getGames(leagueId: number, page: number, size: number, filters: TournamentGamesFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n params = applyGamesFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/games/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: Game.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getSeasons(leagueId: number, page = 1, size = 20, notClosed?: boolean, include?: string[]): Promise<PaginatedResponse<TournamentSeason[]>> {\n const params = new HttpParams()\n .set('page', page.toString())\n .set('size', size.toString())\n .set('not_closed', notClosed ? '1' : '')\n .set('include', include ? include.join(',') : '');\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/`, {params, observe: 'response'})\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentSeason.toFront(result.body)\n })))\n .toPromise();\n }\n\n async getPartners(leagueId: number): Promise<LeaguePartner[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/partners/`).pipe(\n map(result => LeaguePartner.toFront(result))\n ).toPromise();\n }\n\n async getBanners(leagueId: number, location?: BannerLocation): Promise<LeagueBanner[]> {\n const params = location ? new HttpParams().set('location', location) : new HttpParams();\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/banners/`, {params}).pipe(\n map(result => LeagueBanner.toFront(result))\n ).toPromise();\n }\n\n async getCourts(leagueId: number): Promise<LeagueCourt[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/courts/`).pipe(\n map(result => LeagueCourt.toFront(result))\n ).toPromise();\n }\n\n async getGraphicSettings(leagueId: number): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/graphic_settings/`)\n .toPromise();\n }\n\n async getDocuments(leagueId: number): Promise<LeagueDocument[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/documents/`).pipe(\n map(result => LeagueDocument.toFront(result))\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { LeagueNews, LeagueNewsType } from '../models/league-news';\nimport { map } from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class LeagueNewsApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService\n ) {\n }\n\n async getLeagueNewsList(leagueId: number, page: number, size: number, type: LeagueNewsType = LeagueNewsType.text): Promise<PaginatedResponse<LeagueNews[]>> {\n const params = new HttpParams().set('page', page.toString())\n .set('size', size.toString())\n .set('type', LeagueNewsType[type]);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/news/`, {params, observe: 'response'})\n .pipe(map(response => ({\n total: +response.headers.get('X-Page-Count'),\n data: LeagueNews.toFront(response.body)\n })))\n .toPromise();\n }\n\n async getMainLeagueNews(leagueId: number): Promise<LeagueNews> {\n return this.httpClient.get<any[]>(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/news/?is_main=true`)\n .pipe(map(response => response && response.length > 0 ? LeagueNews.toFront(response[0]) : null))\n .toPromise();\n }\n\n async getMainLeagueNewsList(leagueId: number): Promise<LeagueNews[]> {\n return this.httpClient.get<any[]>(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/news/?is_main=true`)\n .pipe(map(response => LeagueNews.toFront(response)))\n .toPromise();\n }\n\n async getNewsById(newsId: number): Promise<LeagueNews> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league_news/${newsId}/`)\n .pipe(map(response => LeagueNews.toFront(response)))\n .toPromise();\n }\n\n async getTournamentNewsList(tournamentId: number): Promise<PaginatedResponse<LeagueNews[]>> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/news/`, {observe: 'response'})\n .pipe(map(response => ({\n total: +response.headers.get('X-Page-Count'),\n data: LeagueNews.toFront(response.body)\n })))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { LeaguePlayer } from '../models/league-player';\nimport { map } from 'rxjs/operators';\nimport { TournamentTeamUser } from '../models/tournament-team-user';\n\n@Injectable({providedIn: 'root'})\nexport class LeaguePlayerApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n getById(leaguePlayerId: number): Promise<LeaguePlayer> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league_player/${leaguePlayerId}/`).pipe(\n map(item => LeaguePlayer.toFront(item))\n ).toPromise();\n }\n\n getTournamentUsers(leaguePlayerId: number, seasonId?: number): Promise<TournamentTeamUser[]> {\n let params = new HttpParams();\n if (seasonId) {\n params = params.set('season_id', seasonId.toString());\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league_player/${leaguePlayerId}/tournament_users/`, {params}).pipe(\n map(item => TournamentTeamUser.toFront(item))\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { MediaItem } from '../models/media-item';\nimport { Game, GameStatuses } from '../models/game';\nimport { map } from 'rxjs/operators';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { ConfigService } from '../services/config.service';\nimport { applyGamesFilters, TournamentGamesFilters } from './tournament-api';\n\nexport interface GameMediaFilters extends TournamentGamesFilters {\n mediaCount?: number;\n}\n\nexport interface MediaFilters {\n mediaType?: 'photo' | 'video' | 'live_video';\n sort?: string;\n teamId?: number;\n}\n\n@Injectable({providedIn: 'root'})\nexport class MediaApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getMedia(mediaId: number): Promise<MediaItem> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/`).pipe(\n map(result => MediaItem.toFront(result))\n ).toPromise();\n }\n\n async getTournamentGameMedia(tournamentId: number, page: number, size: number, filters?: GameMediaFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n params = applyGameMediaFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/game_media/`, {observe: 'response', params}).pipe(\n map(response => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n })\n ).toPromise();\n }\n\n async getLeagueGameMedia(leagueId: number, page: number, size: number, filters?: GameMediaFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n params = applyGameMediaFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/game_media/`, {observe: 'response', params}).pipe(\n map(response => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n })\n ).toPromise();\n }\n\n async getLeagueMedia(leagueId: number, page: number, size: number, filters: MediaFilters = {}): Promise<PaginatedResponse<MediaItem[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n if (filters.mediaType) {\n params = params.set('media_type', filters.mediaType);\n }\n if (filters.sort) {\n params = params.set('sort', filters.sort);\n }\n if (filters.teamId) {\n params = params.set('team_id', filters.teamId.toString());\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/media/`, {params, observe: 'response'})\n .pipe(map(response => ({\n total: +response.headers.get('X-Page-Count'),\n data: MediaItem.toFront(response.body)\n }))).toPromise();\n }\n\n async getGameMediaById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/game_media/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getGameMedia(gameId: number): Promise<MediaItem[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/media/?size=1000`).pipe(\n map(result => MediaItem.toFront(result))\n ).toPromise();\n }\n\n async createZip(mediaIds: number[]): Promise<any> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/media/zip/`, mediaIds, { responseType: 'blob' })\n .toPromise();\n }\n\n async downloadMedia(mediaId: number): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/download/`,{responseType: 'blob'})\n .toPromise();\n }\n}\n\nexport function applyGameMediaFilters(filters: GameMediaFilters, params: HttpParams, ): HttpParams {\n if (filters) {\n params = applyGamesFilters(filters, params);\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n if (filters.teamId) {\n params = params.set('team_id', filters.teamId.toString());\n }\n if (filters.tournamentStageId) {\n params = params.set('tournament_stage_id', filters.tournamentStageId.toString());\n }\n if (filters.playoffId) {\n params = params.set('playoff_id', filters.playoffId.toString());\n }\n if (filters.playoffStage) {\n params = params.set('playoff_stage', filters.playoffStage.toString());\n }\n if (filters.status) {\n params = params.set('status', GameStatuses[filters.status]);\n }\n if (filters.mediaCount) {\n params = params.set('media_count', filters.mediaCount.toString());\n }\n }\n return params;\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { User } from './user';\n\nexport enum PollStatuses {\n open = 1,\n closed,\n archived,\n}\n\n@ModelInstance({\n mappingFields: {\n uuid: 'uuid',\n name: 'name'\n }\n})\nexport class PollVariant extends BaseModel {\n uuid: string;\n name: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n answer_uuid: 'answerUuid',\n user: 'user',\n poll_id: 'pollId',\n },\n relation: {\n user: User\n }\n})\nexport class PollAnswer extends BaseModel {\n id: number;\n answerUuid: string;\n user: User;\n pollId: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n active: 'active',\n status: 'status',\n team_id: 'teamId',\n name: 'name',\n description: 'description',\n variants: 'variants',\n author: 'author',\n answers: 'answers',\n multiple_answer: 'multipleAnswer',\n anonymous: 'anonymous',\n created_at: 'createdAt'\n },\n relation: {\n status: enumField(PollStatuses),\n variants: PollVariant,\n author: User,\n answers: PollAnswer,\n createdAt: DateTimeField,\n }\n})\nexport class Poll extends BaseModel {\n id: number;\n active: boolean;\n teamId: number;\n status: PollStatuses;\n name: string;\n description: string;\n _variants: PollVariant[];\n author: User;\n _answers: PollAnswer[];\n multipleAnswer: boolean;\n anonymous: boolean;\n createdAt: Date;\n variantsWithAnswers: {variant: PollVariant, percent: number}[] = [];\n\n set variants(value: PollVariant[]) {\n this._variants = value || [];\n if (this._answers) {\n this.calculateAnswersPercentage();\n }\n }\n get variants(): PollVariant[] {\n return this._variants;\n }\n\n set answers(value: PollAnswer[]) {\n this._answers = value || [];\n if (this._variants) {\n this.calculateAnswersPercentage();\n }\n }\n get answers(): PollAnswer[] {\n return this._answers;\n }\n\n calculateAnswersPercentage() {\n if (!this._answers.length) {\n return;\n }\n\n const variants = this._variants.map(v => v.uuid);\n const answersByVariant = this._answers.reduce((acc, item) => {\n if (variants.indexOf(item.answerUuid) < 0) {\n return acc;\n }\n if (!acc[item.answerUuid]) {\n acc[item.answerUuid] = 0;\n }\n acc[item.answerUuid]++;\n return acc;\n }, {});\n this.variantsWithAnswers = this._variants.map(item => ({\n variant: item,\n percent: answersByVariant[item.uuid] ? Math.round(100 * answersByVariant[item.uuid] / this._answers.length) : 0\n }))\n .sort((a, b) => a.percent > b.percent ? -1 : 1);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { User } from './user';\nimport { Team } from './team';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n user: 'user',\n team: 'team',\n team_id: 'teamId',\n user_accept: 'userAccept',\n team_accept: 'teamAccept',\n users_count: 'usersCount',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n score_sum: 'scoreSum',\n created_at: 'createdAt',\n updated_at: 'updatedAt',\n },\n relation: {\n user: User,\n team: Team,\n createdAt: DateTimeField,\n updateAt: DateTimeField,\n }\n})\nexport class TeamInvite extends BaseModel {\n id: number;\n userId: number;\n user: User;\n teamId: number;\n team: Team;\n userAccept: boolean;\n teamAccept: boolean;\n usersCount: number;\n gamesCount: number;\n wonGamesCount: number;\n scoreSum: number;\n createdAt: Date;\n updatedAt: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { TeamUser } from './team-user';\nimport { Game } from './game';\n\nexport enum GameInviteStatus {\n accepted = 1,\n declined,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_user: 'teamUser',\n game_id: 'gameId',\n game: 'game',\n status: 'status',\n },\n relation: {\n game: Game,\n teamUser: TeamUser,\n status: enumField(GameInviteStatus),\n }\n})\nexport class GameInvite extends BaseModel {\n id: number;\n teamUser: TeamUser;\n gameId: number;\n game: Game;\n status: GameInviteStatus;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","export enum TeamEventTypes {\n training = 1,\n other = 2,\n}\n","import { TeamEventTypes } from '../models/team-event-type';\n\nexport const TeamEventTypeLocalization = {\n [TeamEventTypes.training]: 'ТÑениÑовка',\n [TeamEventTypes.other]: 'ÐÑÑгое'\n};\n","import { BaseModel, enumField, ModelInstance, DateTimeField, ToBackHook, ToFrontHook } from './util';\nimport { Team } from './team';\nimport { TeamEventTypeLocalization } from '../localization/team-event-type';\nimport { TeamEventTypes } from './team-event-type';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n team: 'team',\n event_type: 'eventType',\n event_custom_name: 'eventCustomName',\n description: 'description',\n datetime: 'datetime',\n location: 'location',\n },\n relation: {\n eventType: enumField(TeamEventTypes),\n team: Team,\n datetime: DateTimeField,\n }\n})\nexport class TeamEvent extends BaseModel {\n id: number;\n teamId: number;\n team: Team;\n eventType: TeamEventTypes;\n eventCustomName: string;\n description: string;\n datetime: Date;\n location: string;\n\n get name(): string {\n if (this.eventType === TeamEventTypes.other) {\n return this.eventCustomName;\n }\n return TeamEventTypeLocalization[this.eventType];\n }\n\n get isClosed(): boolean {\n return this.datetime.getTime() < new Date().getTime();\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum TeamEventInviteStatuses {\n accepted = 1,\n declined = 2\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_event_id: 'teamEventId',\n team_user_id: 'teamUserId',\n status: 'status',\n },\n relation: {\n status: enumField(TeamEventInviteStatuses)\n }\n})\nexport class TeamEventInvite {\n id: number;\n teamEventId: number;\n teamUserId: number;\n status: TeamEventInviteStatuses;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook } from './util';\nimport { TeamUser } from './team-user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team_invite_id: 'tournamentTeamInviteId',\n tournament_team_id: 'tournamentTeamId',\n team_user: 'teamUser',\n accepted: 'accepted'\n },\n relation: {\n teamUser: TeamUser\n }\n})\nexport class TournamentTeamUserInvite extends BaseModel {\n id: number;\n tournamentTeamInviteId: number;\n tournamentTeamId: number;\n teamUser: TeamUser;\n accepted: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { Team } from './team';\nimport { Tournament } from './tournament';\nimport { TournamentTeamUserInvite } from './tournament-team-user-invite';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team: 'team',\n tournament: 'tournament',\n team_accept: 'teamAccept',\n organization_accept: 'organizationAccept',\n user_invites_count: 'userInvitesCount',\n user_invites: 'userInvites',\n notifications_count: 'notificationsCount',\n },\n relation: {\n team: Team,\n tournament: Tournament,\n userInvites: TournamentTeamUserInvite,\n }\n})\nexport class TournamentInvite extends BaseModel {\n id: number;\n team: Team;\n tournament: Tournament;\n teamAccept: boolean;\n organizationAccept: boolean;\n userInvitesCount: number;\n userInvites: TournamentTeamUserInvite[];\n notificationsCount: number;\n\n get isOpen(): boolean {\n return (this.teamAccept === null || this.organizationAccept === null) && this.teamAccept !== false && this.organizationAccept !== false;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { Team } from './team';\nimport { Poll } from './poll';\nimport { Game } from './game';\nimport { TeamInvite } from './team-invite';\nimport { TeamUser } from './team-user';\nimport { GameInvite } from './game-invite';\nimport { TeamEvent } from './team-event';\nimport { TeamEventInvite } from './team-event-invite';\nimport { Tournament } from './tournament';\nimport { TournamentInvite } from './tournament-invite';\nimport { TournamentTeam } from './tournament-team';\nimport { User } from './user';\n\nexport enum NotificationType {\n team_updated = 1,\n team_invited,\n team_join_request,\n team_join_declined_by_team,\n team_join_declined_by_user,\n team_join_canceled_by_team,\n team_join_canceled_by_user,\n team_joined_for_user,\n team_joined_for_team,\n team_user_role_changed_for_user,\n team_user_role_changed_for_team,\n team_user_number_changed,\n team_user_deleted_for_user,\n team_user_deleted_for_team,\n team_user_left,\n\n game_updated,\n game_invited,\n game_invite_accepted,\n game_invite_declined,\n game_remind,\n game_won,\n game_losing,\n game_tech_defeat,\n game_tech_victory,\n\n poll_created,\n poll_closed,\n\n team_event_invited,\n team_event_accepted,\n team_event_declined,\n team_event_remind,\n\n tournament_invited,\n tournament_joined,\n tournament_join_declined,\n tournament_join_canceled,\n tournament_user_invited,\n tournament_user_accepted_for_team,\n tournament_user_accepted_for_user,\n tournament_user_added,\n tournament_user_declined_for_team,\n tournament_user_declined_for_user,\n tournament_user_invite_deleted,\n tournament_user_deleted,\n tournament_user_disqualified_for_team,\n tournament_user_disqualified_for_user,\n tournament_user_disqualification_updated_for_team,\n tournament_user_disqualification_updated_for_user,\n tournament_team_deleted,\n\n org_tournament_invite_created,\n org_tournament_invite_declined,\n org_tournament_invite_deleted,\n org_tournament_invite_changed,\n org_tournament_user_deleted,\n org_tournament_user_invited,\n org_tournament_user_has_changes,\n org_tournament_team_leave,\n}\n\nexport enum NotificationServiceEnum {\n public = 1,\n org\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n event_type: 'event',\n data: 'data',\n initiator: 'initiator',\n team: 'team',\n team_invite: 'teamInvite',\n team_user: 'teamUser',\n poll: 'poll',\n game: 'game',\n game_invite: 'gameInvite',\n team_event: 'teamEvent',\n team_event_invite: 'teamEventInvite',\n tournament: 'tournament',\n tournament_invite: 'tournamentInvite',\n tournament_team: 'tournamentTeam',\n viewed: 'viewed',\n protected: 'protected',\n service: 'service',\n created_at: 'createdAt',\n },\n relation: {\n event: enumField(NotificationType),\n initiator: User,\n team: Team,\n teamInvite: TeamInvite,\n teamUser: TeamUser,\n poll: Poll,\n game: Game,\n gameInvite: GameInvite,\n teamEvent: TeamEvent,\n teamEventInvite: TeamEventInvite,\n tournament: Tournament,\n tournamentInvite: TournamentInvite,\n tournamentTeam: TournamentTeam,\n service: enumField(NotificationServiceEnum),\n createdAt: DateTimeField,\n }\n})\nexport class Notification extends BaseModel {\n id: number;\n event: NotificationType;\n data: any;\n initiator: User;\n team: Team;\n teamInvite: TeamInvite;\n teamUser: TeamUser;\n poll: Poll;\n game: Game;\n gameInvite: GameInvite;\n teamEvent: TeamEvent;\n teamEventInvite: TeamEventInvite;\n tournament: Tournament;\n tournamentInvite: TournamentInvite;\n tournamentTeam: TournamentTeam;\n viewed: boolean;\n protected: boolean;\n service: NotificationServiceEnum;\n createdAt: Date;\n\n get important(): boolean {\n return true;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\n\nexport enum NotificationAllowTypes {\n all = 1,\n important,\n none\n}\n\n@ModelInstance({\n mappingFields: {\n user_id: 'userId',\n popup: 'popup',\n sound: 'sound',\n browser: 'browser',\n email: 'email'\n },\n relation: {\n sound: enumField(NotificationAllowTypes),\n browser: enumField(NotificationAllowTypes),\n }\n})\nexport class NotificationSettings extends BaseModel {\n userId: number;\n popup: boolean;\n sound: NotificationAllowTypes;\n browser: NotificationAllowTypes;\n email: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Notification } from '../models/notification';\nimport { NotificationSettings } from '../models/notification-settings';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { ConfigService } from '../services/config.service';\n\nexport interface NotificationFilters {\n protected?: boolean;\n not_viewed?: boolean;\n important?: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class NotificationBaseApi {\n protected apiUrl: string;\n\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getCount(): Promise<number> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/count/`)\n .pipe(map(data => +data))\n .toPromise();\n }\n\n async getList(page: number, size: number, filters: NotificationFilters = {}): Promise<PaginatedResponse<Notification[]>> {\n let params = new HttpParams()\n .set('page', page.toString())\n .set('size', size.toString());\n for (const key of Object.keys(filters)) {\n params = params.set(key, filters[key]);\n }\n\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/`, {params, observe: 'response'})\n .pipe(\n map(response => {\n const data: Notification[] = Notification.toFront(response.body);\n return {\n total: +response.headers.get('x-page-count'),\n data\n };\n }),\n ).toPromise();\n }\n\n async markViewed(notificationId: number, viewed: boolean): Promise<Notification> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/${notificationId}/viewed/`, {viewed})\n .pipe(map(data => Notification.toFront(data)))\n .toPromise();\n }\n\n async markAllViewed(): Promise<Notification[]> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/viewed/`, {})\n .pipe(map(data => Notification.toFront(data)))\n .toPromise();\n }\n\n async getNotificationSettings(): Promise<NotificationSettings> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification_settings/`)\n .pipe(map(data => NotificationSettings.toFront(data)))\n .toPromise();\n }\n\n async updateNotificationSettings(data: NotificationSettings): Promise<NotificationSettings> {\n return this.httpClient.post(\n `${this.configService.get('apiUrl')}${this.apiUrl}/notification_settings/`,\n NotificationSettings.toBack(data)\n )\n .pipe(map(result => NotificationSettings.toFront(result)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NotificationBaseApi } from './notification-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class NotificationApi extends NotificationBaseApi {\n protected apiUrl = '/api/v1';\n}\n","import { Injectable } from '@angular/core';\nimport { NotificationBaseApi } from './notification-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class OrgNotificationApi extends NotificationBaseApi {\n protected apiUrl = '/org/api/v1';\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { ConfigService } from '../services/config.service';\nimport { City } from '../models/city';\nimport { Sport } from '../models/sport';\n\n@Injectable({providedIn: 'root'})\nexport class ReferenceApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getCities(): Promise<City[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/reference/cities/`)\n .pipe(\n map(data => City.toFront(data))\n ).toPromise();\n }\n\n async getSports(): Promise<Sport[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/sport/`)\n .pipe(\n map(data => Sport.toFront(data))\n ).toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { RugbyStatistic } from './rugby-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: RugbyStatistic,\n competitorTeam: RugbyStatistic\n }\n})\nexport class RugbyGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: RugbyStatistic;\n competitorTeam: RugbyStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n updated_at: 'updatedAt',\n points: 'points',\n tries: 'tries',\n penalty_tries: 'penaltyTries',\n conversion_goals: 'conversionGoals',\n conversion_misses: 'conversionMisses',\n conversion_kicks: 'conversionKicks',\n conversion_goals_percent: 'conversionGoalsPercent',\n penalty_misses: 'penaltyMisses',\n penalty_goals: 'penaltyGoals',\n penalty_kicks_on_goal: 'penaltyKicksOnGoal',\n penalty_goals_percent: 'penaltyGoalsPercent',\n drop_goals: 'dropGoals',\n drop_goal_misses: 'dropGoalMisses',\n drop_goal_kicks: 'dropGoalKicks',\n drop_goals_percent: 'dropGoalsPercent',\n free_kicks: 'freeKicks',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n offloads: 'offloads',\n tackles: 'tackles',\n handling_errors: 'handlingErrors',\n carries_over_gainline: 'carriesOverGainline',\n game_time: 'gameTime',\n plus_minus: 'plusMinus'\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class RugbyGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n tries: number;\n penaltyTries: number;\n conversionKicks: number;\n conversionGoals: number;\n conversionMisses: number;\n conversionGoalsPercent: number;\n penaltyMisses: number;\n penaltyGoals: number;\n penaltyKicksOnGoal: number;\n penaltyGoalsPercent: number;\n dropGoals: number;\n dropGoalMisses: number;\n dropGoalKicks: number;\n dropGoalsPercent: number;\n freeKicks: number;\n yellowCards: number;\n redCards: number;\n offloads: number;\n tackles: number;\n handlingErrors: number;\n carriesOverGainline: number;\n gameTime: number;\n plusMinus: number;\n updatedAt: Date;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, listField, enumField } from './util';\n\nexport enum RugbyFoulSanctions {\n scrum = 1,\n lineout,\n free_kick,\n penalty_shot,\n yellow_card,\n red_card,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n sanction: 'sanction',\n },\n relation: {\n sanction: listField(enumField(RugbyFoulSanctions))\n }\n})\nexport class RugbyFoulType extends BaseModel {\n id: number;\n name: string;\n sanction: RugbyFoulSanctions[];\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { GameLogBase } from './game-log-base';\nimport { GameUser } from './game-user';\nimport { RugbyFoulSanctions, RugbyFoulType } from './rugby-foul-type';\n\nexport enum RugbyGameLogTypes {\n enter_game = 1,\n exit_game,\n try,\n penalty_try,\n conversion_goal,\n conversion_miss,\n penalty_miss,\n penalty_goal,\n drop_goal,\n drop_goal_miss,\n free_kick,\n foul,\n yellow_card,\n red_card,\n offload,\n tackle,\n handling_error,\n carries_over_gainline,\n bleeding_injury,\n head_injury,\n end_game_penalty_miss,\n end_game_penalty_goal,\n\n // team actions\n timeout,\n tap_penalty,\n penalty_kick_to_touch,\n scrum_won,\n scrum_lost,\n scrum_won_free,\n lineout_won,\n lineout_lost,\n quick_throw,\n ruck_won,\n ruck_lost,\n maul_won,\n maul_lost,\n team_foul,\n}\n\nexport const RUGBY_GAME_LOG_TYPE_POINTS = {\n [RugbyGameLogTypes.penalty_try]: 7,\n [RugbyGameLogTypes.try]: 5,\n [RugbyGameLogTypes.conversion_goal]: 2,\n [RugbyGameLogTypes.penalty_goal]: 3,\n [RugbyGameLogTypes.drop_goal]: 3,\n [RugbyGameLogTypes.end_game_penalty_goal]: 1, // Ðе влиÑÐµÑ Ð½Ð° обÑий ÑÑеÑ\n};\n\nexport const RUGBY_TEAM_LOG_TYPES = [\n RugbyGameLogTypes.timeout, RugbyGameLogTypes.scrum_won, RugbyGameLogTypes.scrum_lost, RugbyGameLogTypes.scrum_won_free,\n RugbyGameLogTypes.lineout_won, RugbyGameLogTypes.lineout_lost,\n RugbyGameLogTypes.quick_throw, RugbyGameLogTypes.ruck_won, RugbyGameLogTypes.ruck_lost,\n RugbyGameLogTypes.maul_won, RugbyGameLogTypes.maul_lost, RugbyGameLogTypes.team_foul,\n RugbyGameLogTypes.penalty_kick_to_touch, RugbyGameLogTypes.tap_penalty,\n];\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n group: 'group',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n foul_type: 'foulType',\n foul_sanction: 'foulSanction',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(RugbyGameLogTypes),\n foulType: RugbyFoulType,\n foulSanction: enumField(RugbyFoulSanctions),\n }\n})\nexport class RugbyGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n group: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: RugbyGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n foulType: RugbyFoulType;\n foulSanction: RugbyFoulSanctions;\n\n compare(model: RugbyGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return RUGBY_GAME_LOG_TYPE_POINTS[this.logType] !== undefined;\n }\n\n scorePoints(): number {\n return RUGBY_GAME_LOG_TYPE_POINTS[this.logType];\n }\n\n isAfter(log: RugbyGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n isFoulType(): boolean {\n return [RugbyGameLogTypes.team_foul, RugbyGameLogTypes.foul].indexOf(this.logType) > -1;\n }\n\n isTeamType(): boolean {\n return RUGBY_TEAM_LOG_TYPES.includes(this.logType);\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { GameBaseApi } from './game-base-api';\nimport { RugbyGameTeamStatistic } from '../models/rugby-game-team-statistic';\nimport { RugbyGameStatistic } from '../models/rugby-game-statistic';\nimport { RugbyGameLog } from '../models/rugby-game-log';\nimport { RugbyFoulType } from '../models/rugby-foul-type';\n\n@Injectable({providedIn: 'root'})\nexport class RugbyGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<RugbyGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/team_statistic/`).pipe(\n map(result => RugbyGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<RugbyGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/user_statistic/`).pipe(\n map(result => RugbyGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<RugbyGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/logs/`).pipe(\n map(result => RugbyGameLog.toFront(result))\n ).toPromise();\n }\n\n async getFoulTypes(): Promise<RugbyFoulType> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/foul_types/`).pipe(\n map(result => RugbyFoulType.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', 'pdf'),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n email: 'email',\n first_name: 'firstName',\n last_name: 'lastName',\n },\n})\nexport class TeamInviteExternal extends BaseModel {\n id: number;\n teamId: number;\n email: string;\n firstName: string;\n lastName: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook, enumField } from './util';\n\nexport enum TeamPermissionTypes {\n for_all = 1,\n for_users,\n for_team\n}\n\n@ModelInstance({\n mappingFields: {\n players: 'players',\n games: 'games',\n statistic: 'statistic',\n polls: 'polls',\n events: 'events'\n },\n relation: {\n players: enumField(TeamPermissionTypes),\n games: enumField(TeamPermissionTypes),\n statistic: enumField(TeamPermissionTypes),\n polls: enumField(TeamPermissionTypes),\n events: enumField(TeamPermissionTypes)\n }\n})\nexport class TeamPermission extends BaseModel {\n players: TeamPermissionTypes;\n games: TeamPermissionTypes;\n statistic: TeamPermissionTypes;\n polls: TeamPermissionTypes;\n events: TeamPermissionTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { TeamUserRole } from './team-user';\n\n@ModelInstance({\n mappingFields: {\n can_edit: 'canEdit',\n can_view_users: 'canViewUsers',\n can_manage_permission: 'canManagePermission',\n can_change_owner: 'canChangeOwner',\n can_delete: 'canDelete',\n can_manage_invites: 'canManageInvites',\n can_view_invites: 'canViewInvites',\n can_manage_polls: 'canManagePolls',\n can_view_polls: 'canViewPolls',\n can_answer_poll: 'canAnswerPoll',\n can_manage_games: 'canManageGames',\n can_view_games: 'canViewGames',\n can_view_statistic: 'canViewStatistic',\n can_promote_users: 'canPromoteUsers',\n can_edit_users: 'canEditUsers',\n can_delete_users: 'canDeleteUsers',\n can_view_events: 'canViewEvents',\n can_manage_events: 'canManageEvents',\n can_view_tournaments: 'canViewTournaments',\n can_manage_tournaments: 'canManageTournaments',\n role: 'role'\n },\n relation: {\n role: enumField(TeamUserRole)\n }\n})\nexport class TeamAccess extends BaseModel {\n canEdit: boolean;\n canViewUsers: boolean;\n canManagePermission: boolean;\n canChangeOwner: boolean;\n canDelete: boolean;\n canManageInvites: boolean;\n canViewInvites: boolean;\n canManagePolls: boolean;\n canViewPolls: boolean;\n canAnswerPoll: boolean;\n canManageGames: boolean;\n canViewGames: boolean;\n canViewStatistic: boolean;\n canPromoteUsers: boolean;\n canEditUsers: boolean;\n canDeleteUsers: boolean;\n canViewEvents: boolean;\n canManageEvents: boolean;\n canViewTournaments: boolean;\n canManageTournaments: boolean;\n role: TeamUserRole;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Team } from '../models/team';\nimport { map } from 'rxjs/operators';\nimport { TeamUser, TeamUserRole } from '../models/team-user';\nimport { User } from '../models/user';\nimport { TeamInvite } from '../models/team-invite';\nimport { TeamInviteExternal } from '../models/team-invite-external';\nimport { Poll } from '../models/poll';\nimport { VolleyballStatistic } from '../models/volleyball-statistic';\nimport { Game } from '../models/game';\nimport { TeamEvent } from '../models/team-event';\nimport { Tournament } from '../models/tournament';\nimport { TournamentTeam } from '../models/tournament-team';\nimport { TournamentInvite } from '../models/tournament-invite';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { BasketballStatistic } from '../models/basketball-statistic';\nimport { TeamPermission } from '../models/team-permission';\nimport { TeamAccess } from '../models/team-access';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TeamApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async search(query: string, sportId?: number): Promise<Team[]> {\n let params = (new HttpParams()).set('search', query);\n if (sportId) {\n params = params.set('sport', sportId.toString());\n }\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/`, {params})\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async create(team: Team): Promise<Team> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/`, Team.toBack(team))\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getById(teamId: number): Promise<Team> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/`)\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getTeamAccess(teamId: number): Promise<TeamAccess> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/access/`)\n .pipe(map(data => TeamAccess.toFront(data)))\n .toPromise();\n }\n\n async update(teamId: number, values: any): Promise<Team> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/`, Team.toBack(values))\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async delete(team: Team): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/team/${team.id}/`)\n .toPromise();\n }\n\n async getPermission(teamId: number): Promise<TeamPermission> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/permission/`)\n .pipe(map(data => TeamPermission.toFront(data)))\n .toPromise();\n }\n\n async updatePermission(teamId: number, permission: TeamPermission): Promise<TeamPermission> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/permission/`, TeamPermission.toBack(permission))\n .pipe(map(data => TeamPermission.toFront(data)))\n .toPromise();\n }\n\n async getUsers(teamId: number, tournamentId?: number): Promise<TeamUser[]> {\n let params = new HttpParams();\n if (tournamentId) {\n params = params.set('tournament_id', tournamentId.toString());\n }\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/`, {params})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async updateUserRole(teamId: number, teamUserId: number, role: TeamUserRole): Promise<TeamUser> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/${teamUserId}/role/`, {role: TeamUserRole[role]})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async updateUserNumber(teamId: number, teamUserId: number, gameNumber: number): Promise<TeamUser> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/${teamUserId}/number/`, {number: gameNumber.toString()})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async deleteUser(teamUser: TeamUser): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/team/${teamUser.teamId}/users/${teamUser.id}/`)\n .toPromise();\n }\n\n async changeOwner(teamId: number, user: User): Promise<Team> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/owner/`, {id: user.id})\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getInvites(teamId: number): Promise<TeamInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites/`)\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async sendInvite(teamId: number, user: User): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites/`, {user})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptInvite(invite: TeamInvite): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_invite/${invite.id}/accept/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async declineInvite(invite: TeamInvite): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_invite/${invite.id}/decline/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async resendInvite(invite: TeamInvite): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_invite/${invite.id}/resend/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async getInvitesExternal(teamId: number): Promise<TeamInviteExternal[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites_external/`)\n .pipe(map(data => TeamInviteExternal.toFront(data)))\n .toPromise();\n }\n\n async sendInviteExternal(teamId: number, invite: TeamInviteExternal): Promise<TeamInviteExternal> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites_external/`, TeamInviteExternal.toBack(invite))\n .pipe(map(data => TeamInviteExternal.toFront(data)))\n .toPromise();\n }\n\n async deleteInviteExternal(invite: TeamInviteExternal): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/invites_external/${invite.id}/`)\n .toPromise();\n }\n\n async resendInviteExternal(invite: TeamInviteExternal): Promise<TeamInviteExternal> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/invites_external/${invite.id}/resend/`, {})\n .pipe(map(data => TeamInviteExternal.toFront(data)))\n .toPromise();\n }\n\n async getPolls(teamId: number, archive: boolean = false): Promise<Poll[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/polls/${archive ? '?archive=1' : ''}`)\n .pipe(map(data => Poll.toFront(data)))\n .toPromise();\n }\n\n async createPoll(teamId: number, poll: Poll): Promise<Poll> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/polls/`, Poll.toBack(poll))\n .pipe(map(data => Poll.toFront(data)))\n .toPromise();\n }\n\n async getUsersStatistic(teamId: number): Promise<BasketballStatistic[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/statistics/`)\n .pipe(map(data => BasketballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getVolleyballStatistic(teamId: number): Promise<VolleyballStatistic[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/volleyball_statistics/`)\n .pipe(map(data => VolleyballStatistic.toFront(data)))\n .toPromise();\n }\n\n async joinTeam(teamId: number): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/join/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async leaveTeam(teamId: number): Promise<any> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/leave/`, {})\n .toPromise();\n }\n\n async getGames(teamId: number, archive = false): Promise<Game[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/games/${archive ? '?archive=1' : ''}`)\n .pipe(map(data => Game.toFront(data)))\n .toPromise();\n }\n\n async createGame(teamId: number, game: Game): Promise<Game> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/games/`, Game.toBack(game))\n .pipe(map(data => Game.toFront(data)))\n .toPromise();\n }\n\n async getTeamEvents(teamId: number): Promise<TeamEvent[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/events/`)\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async createTeamEvent(teamId: number, teamEvent: TeamEvent): Promise<TeamEvent> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/events/`, TeamEvent.toBack(teamEvent))\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async getTournaments(teamId: number): Promise<Tournament[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournaments/`)\n .pipe(map(data => Tournament.toFront(data)))\n .toPromise();\n }\n\n async getTournamentTeams(teamId: number): Promise<TournamentTeam[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournament_teams/`)\n .pipe(map(data => TournamentTeam.toFront(data)))\n .toPromise();\n }\n\n async getTournamentInvites(teamId: number): Promise<TournamentInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournament_invites/`)\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n\n async getTournamentGames(teamId: number, tournamentId: number, page: number, size?: number): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournaments/${tournamentId}/games/`, {params, observe: 'response'})\n .pipe(map((response: HttpResponse<any>) => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n }))\n .toPromise();\n }\n\n async acceptTournamentInvite(inviteId: number): Promise<TournamentInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/tournament_invite/${inviteId}/accept/`, {})\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n\n async declineTournamentInvite(inviteId: number): Promise<TournamentInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/tournament_invite/${inviteId}/decline/`, {})\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n\n async registerLazyUser(teamId: number, userData: User): Promise<TeamUser> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/lazy_user/`, {user: User.toBack(userData)})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async getLazyUser(teamUserId: number): Promise<TeamUser> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/`)\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async updateLazyUser(teamUserId: number, userData: User): Promise<TeamUser> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/`, {user: User.toBack(userData)})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async deleteLazyUser(teamUserId: number): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/`)\n .toPromise();\n }\n\n async resendLazyUserEmail(teamUserId: number): Promise<any> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/resend_email/`, {})\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { TeamEvent } from '../models/team-event';\nimport { TeamEventInvite } from '../models/team-event-invite';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TeamEventApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getTeamEvent(teamEventId: number): Promise<TeamEvent> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/`)\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async updateTeamEvent(teamEvent: TeamEvent): Promise<TeamEvent> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEvent.id}/`, TeamEvent.toBack(teamEvent))\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async deleteTeamEvent(teamEventId: number): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/`)\n .toPromise();\n }\n\n async getTeamEventInvites(teamEventId: number): Promise<TeamEventInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/invites/`)\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n\n async createTeamEventInvite(teamEventId: number, teamUserId: number): Promise<TeamEventInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/invites/`, {team_user_id: teamUserId})\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptTeamEventInvite(teamEventInvite: TeamEventInvite): Promise<TeamEventInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_event_invite/${teamEventInvite.id}/accept/`, {})\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n\n async declineTeamEventInvite(teamEventInvite: TeamEventInvite): Promise<TeamEventInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_event_invite/${teamEventInvite.id}/decline/`, {})\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { Team } from './team';\n\n@ModelInstance({\n mappingFields: {\n valid_users_count: 'validUsersCount',\n invalid_users_count: 'invalidUsersCount',\n has_access: 'hasAccess',\n invite_sent: 'inviteSent',\n already_in_tournament: 'alreadyInTournament'\n }\n})\nexport class TournamentJoinData extends BaseModel {\n validUsersCount: number;\n invalidUsersCount: number;\n hasAccess: boolean;\n inviteSent: boolean;\n alreadyInTournament: boolean;\n\n get usersCount(): number {\n return this.validUsersCount + this.invalidUsersCount;\n }\n\n get valid() {\n return this.hasAccess && !this.inviteSent && !this.alreadyInTournament;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n join_data: 'joinData'\n },\n relation: {\n team: Team,\n joinData: TournamentJoinData\n }\n})\nexport class TournamentJoinTeam extends BaseModel {\n team: Team;\n joinData: TournamentJoinData;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TournamentJoinTeam } from '../models/tournament-join-team';\nimport { map } from 'rxjs/operators';\nimport { TeamUser } from '../models/team-user';\nimport { TournamentTeamUserInvite } from '../models/tournament-team-user-invite';\nimport { TournamentInvite } from '../models/tournament-invite';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TournamentJoinApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getTeamsForJoin(tournamentId: number): Promise<TournamentJoinTeam[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/teams_for_join/`).pipe(\n map(response => TournamentJoinTeam.toFront(response))\n ).toPromise();\n }\n\n async getTeamUsers(teamId: number): Promise<TeamUser[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/`)\n .pipe(\n map(data => TeamUser.toFront(data))\n ).toPromise();\n }\n\n async joinTournament(tournamentId: number, teamId: number, invites: TournamentTeamUserInvite[]): Promise<TournamentInvite> {\n const body = {\n team: {id: teamId},\n user_invites: TournamentTeamUserInvite.toBack(invites)\n };\n return this.httpClient.post(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/join/`, body)\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { TournamentSeason } from '../models/tournament-season';\nimport { ConfigService } from '../services/config.service';\nimport { map } from 'rxjs/operators';\nimport { Game, GameStatuses } from '../models/game';\nimport { Tournament } from '../models/tournament';\nimport { applyGamesFilters, TournamentEventsListFilter, TournamentGamesFilters } from './tournament-api';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';\nimport { applyGameMediaFilters, GameMediaFilters } from './media-api';\nimport { TournamentTeam } from '../models/tournament-team';\nimport { GameTimelineStages } from '../models/game-timeline-stages';\nimport { Playoff } from '../models/playoff';\n\n@Injectable({providedIn: 'root'})\nexport class TournamentSeasonApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getByAlias(leagueId: number, alias: string): Promise<TournamentSeason> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/${alias}/`).pipe(\n map(result => TournamentSeason.toFront(result))\n ).toPromise();\n }\n\n async getTournaments(seasonId: number): Promise<Tournament[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/tournaments/`).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n async getGames(seasonId: number, page: number, size: number, filters: TournamentGamesFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n params = applyGamesFilters(filters, params);\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/games/`,\n {params, observe: 'response'}\n ).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: Game.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getEvents(seasonId: number, page: number, size: number, filters?: TournamentEventsListFilter): Promise<PaginatedResponse<TournamentEvent[]>> {\n let params = new HttpParams().set('page', page.toString())\n .set('size', size.toString());\n if (filters) {\n if (filters.event) {\n params = params.set('event', TournamentEventTypes[filters.event]);\n }\n if (filters.search) {\n params = params.set('search', filters.search);\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n }\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/events/`,\n {params, observe: 'response'}\n )\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentEvent.toFront(result.body)\n })))\n .toPromise();\n }\n\n async getGameMedia(seasonId: number, page: number, size: number, filters: GameMediaFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n params = applyGameMediaFilters(filters, params);\n\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/game_media/`,\n {observe: 'response', params})\n .pipe(\n map(response => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n })\n ).toPromise();\n }\n\n async getTeams(seasonId: number, short?: boolean): Promise<TournamentTeam[]> {\n let params = new HttpParams();\n if (short) {\n params = params.set('short', '1');\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/teams/`, {params}).pipe(\n map(result => TournamentTeam.toFront(result))\n ).toPromise();\n }\n\n async getPlayoffs(seasonId: number): Promise<Playoff[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/playoffs/`).pipe(\n map(result => Playoff.toFront(result))\n ).toPromise();\n }\n\n async getGamesStages(seasonId: number): Promise<GameTimelineStages> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/games_stages/`)\n .pipe(map(data => GameTimelineStages.toFront(data)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TournamentStage } from '../models/tournament-stage';\nimport { map } from 'rxjs/operators';\nimport { TournamentGroup } from '../models/tournament-group';\nimport { Playoff } from '../models/playoff';\nimport { TournamentStageTeam } from '../models/tournament-stage-team';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TournamentStageApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getById(id: number): Promise<TournamentStage> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${id}/`)\n .pipe(map(result => TournamentStage.toFront(result)))\n .toPromise();\n }\n\n async getGroups(stageId: number): Promise<TournamentGroup[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/groups/`)\n .pipe(map(result => TournamentGroup.toFront(result)))\n .toPromise();\n }\n\n async getPlayoffs(stageId: number): Promise<Playoff[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/playoff/`)\n .pipe(map(result => Playoff.toFront(result)))\n .toPromise();\n }\n\n async getTeams(stageId: number): Promise<TournamentStageTeam[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/teams/`)\n .pipe(map(result => TournamentStageTeam.toFront(result)))\n .toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n edit: 'edit',\n personal_data: 'personalData',\n teams: 'teams',\n statistic: 'statistic',\n games: 'games'\n }\n})\nexport class UserAccess extends BaseModel {\n edit: boolean;\n personalData: boolean;\n teams: boolean;\n statistic: boolean;\n games: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\n\nexport enum UserPermissionTypes {\n denied = 1,\n for_all,\n for_users,\n for_team\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n personal_data: 'personalData',\n games: 'games',\n teams: 'teams',\n statistic: 'statistic'\n },\n relation: {\n personalData: enumField(UserPermissionTypes),\n games: enumField(UserPermissionTypes),\n teams: enumField(UserPermissionTypes),\n statistic: enumField(UserPermissionTypes)\n }\n})\nexport class UserPermission extends BaseModel {\n id: number;\n personalData: UserPermissionTypes;\n games: UserPermissionTypes;\n teams: UserPermissionTypes;\n statistic: UserPermissionTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { User } from '../models/user';\nimport { File } from '../models/file';\nimport { map } from 'rxjs/operators';\nimport { UserProfile } from '../models/user-profile';\nimport { BasketballProfile } from '../models/basketball-profile';\nimport { VolleyballProfile } from '../models/volleyball-profile';\nimport { Team } from '../models/team';\nimport { TeamInvite } from '../models/team-invite';\nimport { BasketballStatistic } from '../models/basketball-statistic';\nimport { VolleyballStatistic } from '../models/volleyball-statistic';\nimport { Game } from '../models/game';\nimport { GameInvite } from '../models/game-invite';\nimport { TeamEvent } from '../models/team-event';\nimport { UserAccess } from '../models/user-access';\nimport { UserPermission } from '../models/user-permission';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class UserApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getCurrentUser(): Promise<User> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/`)\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async getUserById(userId: number): Promise<User> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/`)\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async getAccess(userId?: number): Promise<UserAccess> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/user/${userId || 'current'}/access/`)\n .pipe(map(data => UserAccess.toFront(data)))\n .toPromise();\n }\n\n async updateUser(userId: number, data: any): Promise<User> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/`, User.toBack(data))\n .pipe(map(result => User.toFront(result)))\n .toPromise();\n }\n\n async updateUserPhoto(file: any, filename?: string): Promise<File> {\n const formData = new FormData();\n formData.append('file', file, filename);\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/photo/`, formData)\n .pipe(map(data => File.toFront(data)))\n .toPromise();\n }\n\n async changePassword(userId: number, oldPassword: string, password: string, passwordConfirm: string): Promise<any> {\n const payload = {\n old_password: oldPassword,\n password,\n password_confirm: passwordConfirm\n };\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_password/`, payload)\n .toPromise();\n }\n\n async changeEmail(userId: number, email: string, password: string): Promise<any> {\n const payload = {email, password};\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_email/`, payload)\n .toPromise();\n }\n\n async changeEmailConfirm(userId, email: string, password: string, token: number): Promise<any> {\n const payload = {email, password, token};\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_email_confirm/`, payload)\n .toPromise();\n }\n\n async getUserProfile(userId: number): Promise<UserProfile> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/profile/`)\n .pipe(map(data => UserProfile.toFront(data)))\n .toPromise();\n }\n\n async getBasketballProfile(userId: number): Promise<BasketballProfile> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/basketball_profile/`)\n .pipe(map(data => BasketballProfile.toFront(data)))\n .toPromise();\n }\n\n async getVolleyballProfile(userId: number): Promise<VolleyballProfile> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/volleyball_profile/`)\n .pipe(map(data => VolleyballProfile.toFront(data)))\n .toPromise();\n }\n\n async updateUserProfile(userProfile: UserProfile): Promise<UserProfile> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${userProfile.userId}/profile/`, UserProfile.toBack(userProfile))\n .pipe(map(data => UserProfile.toFront(data)))\n .toPromise();\n }\n\n async updateUserBasketballProfile(basketballProfile: BasketballProfile): Promise<BasketballProfile> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${basketballProfile.userId}/basketball_profile/`, BasketballProfile.toBack(basketballProfile))\n .pipe(map(data => BasketballProfile.toFront(data)))\n .toPromise();\n }\n\n async updateUserVolleyballProfile(volleyballProfile: VolleyballProfile): Promise<VolleyballProfile> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${volleyballProfile.userId}/volleyball_profile/`, VolleyballProfile.toBack(volleyballProfile))\n .pipe(map(data => VolleyballProfile.toFront(data)))\n .toPromise();\n }\n\n async getUserPermissions(userId?: number): Promise<UserPermission> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId || 'current'}/permission/`)\n .pipe(map(data => UserPermission.toFront(data)))\n .toPromise();\n }\n\n async updateUserPermission(data: any): Promise<UserPermission> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/current/permission/`, UserPermission.toBack(data))\n .pipe(map(result => UserPermission.toFront(result)))\n .toPromise();\n }\n\n async getTeams(userId: number): Promise<Team[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/teams/`)\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getInvites(): Promise<TeamInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/`)\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptInvite(inviteId: number): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/${inviteId}/accept/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async declineInvite(inviteId: number): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/${inviteId}/decline/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async getStatistics(userId: number): Promise<BasketballStatistic> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/statistics/`)\n .pipe(map(data => BasketballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getStreetballStatistics(userId: number): Promise<BasketballStatistic> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/streetball_statistics/`)\n .pipe(map(data => BasketballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getVolleyballStatistic(userId: number): Promise<VolleyballStatistic> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/volleyball_statistics/`)\n .pipe(map(data => VolleyballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getGames(userId: number): Promise<Game[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/games/`)\n .pipe(map(data => Game.toFront(data)))\n .toPromise();\n }\n\n async getGameInvites(): Promise<GameInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/`)\n .pipe(map(data => GameInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptGameInvite(inviteId: number): Promise<GameInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/${inviteId}/accept/`, {})\n .pipe(map(data => GameInvite.toFront(data)))\n .toPromise();\n }\n\n async declineGameInvite(inviteId: number): Promise<GameInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/${inviteId}/decline/`, {})\n .pipe(map(data => GameInvite.toFront(data)))\n .toPromise();\n }\n\n async searchUsers(query: string): Promise<User[]> {\n const params = (new HttpParams()).set('search', query);\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/`, {params})\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async setWizardShowed(wizard: string): Promise<User> {\n return this.httpClient\n .put(`${this.configService.get('apiUrl')}/api/v1/user/current/wizards/`, {wizard})\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async getTeamEvents(userId: number): Promise<TeamEvent[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/team_events/`)\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n}\n","import { ModelInstance, ToBackHook, ToFrontHook, BaseModel } from './util';\nimport { VolleyballStatistic } from './volleyball-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam',\n },\n relation: {\n team: VolleyballStatistic,\n competitorTeam: VolleyballStatistic,\n }\n})\nexport class VolleyballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: VolleyballStatistic;\n competitorTeam: VolleyballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n serve_hits: 'serveHits',\n serve_faults: 'serveFaults',\n serve_aces: 'serveAces',\n stuff_blocks: 'stuffBlocks',\n block_faults: 'blockFaults',\n block_rebounds: 'blockRebounds',\n attack_spikes: 'attackSpikes',\n attack_faults: 'attackFaults',\n attack_shots: 'attackShots',\n receives: 'receives',\n receive_faults: 'receiveFaults',\n excellent_receives: 'excellentReceives',\n serve_receives: 'serveReceives',\n serve_receive_faults: 'serveReceiveFaults',\n excellent_serve_receives: 'excellentServeReceives',\n points: 'points',\n faults: 'faults',\n yellow_cards: 'yellowCards',\n }\n})\nexport class VolleyballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n serveHits: number;\n serveFaults: number;\n serveAces: number;\n stuffBlocks: number;\n blockFaults: number;\n blockRebounds: number;\n attackSpikes: number;\n attackFaults: number;\n attackShots: number;\n receives: number;\n receiveFaults: number;\n excellentReceives: number;\n serveReceives: number;\n serveReceiveFaults: number;\n excellentServeReceives: number;\n points: number;\n faults: number;\n yellowCards: number;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get attacks(): number {\n return this.attackSpikes + this.attackShots;\n }\n\n get blocks(): number {\n return this.stuffBlocks + this.blockRebounds;\n }\n\n get totalReceives(): number {\n return this.receives + this.excellentReceives;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField, DateTimeField } from './util';\nimport { GameLogBase } from './game-log-base';\nimport { GameUser } from './game-user';\n\nexport enum VolleyballGameLogType {\n enter_game = 1,\n exit_game,\n remove_game,\n serve_hit,\n serve_fault,\n serve_ace,\n stuff_block,\n block_fault,\n block_rebound,\n attack_spike,\n attack_fault,\n attack_shot,\n receive,\n receive_fault,\n excellent_receive,\n point,\n fault,\n serve_receive,\n serve_receive_fault,\n excellent_serve_receive,\n timeout,\n yellow_card,\n}\n\nexport const SCORE_LOG_TYPES = [\n VolleyballGameLogType.serve_ace, VolleyballGameLogType.stuff_block,\n VolleyballGameLogType.attack_spike, VolleyballGameLogType.point\n];\nexport const FAULT_LOG_TYPES = [\n VolleyballGameLogType.serve_fault, VolleyballGameLogType.attack_fault,\n VolleyballGameLogType.block_fault, VolleyballGameLogType.receive_fault,\n VolleyballGameLogType.fault, VolleyballGameLogType.serve_receive_fault\n];\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n log_type: 'logType',\n set: 'set',\n rally: 'rally',\n position: 'position',\n team_id: 'teamId',\n datetime: 'datetime',\n is_highlight: 'isHighlight',\n group: 'group',\n },\n relation: {\n logType: enumField(VolleyballGameLogType),\n datetime: DateTimeField\n }\n})\nexport class VolleyballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n active = true;\n gameId: number;\n gameUserId: number;\n logType: VolleyballGameLogType;\n set: number;\n rally: number;\n position: number;\n teamId: number;\n datetime: Date;\n isHighlight: boolean;\n gameUser: GameUser;\n group: string;\n\n compare(model: VolleyballGameLog): number {\n if (this.rally === model.rally && this.set === model.set) {\n if (this.datetime && model.datetime) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n } else {\n return this.id < model.id ? 1 : -1;\n }\n }\n if (this.set === model.set) {\n return this.rally < model.rally ? 1 : -1;\n }\n return this.set < model.set ? 1 : -1;\n }\n\n isScoreType() {\n return SCORE_LOG_TYPES.includes(this.logType);\n }\n\n isFaultType() {\n return FAULT_LOG_TYPES.includes(this.logType);\n }\n\n isServe() {\n return [\n VolleyballGameLogType.serve_hit,\n VolleyballGameLogType.serve_ace,\n VolleyballGameLogType.serve_fault\n ].includes(this.logType);\n }\n\n isAttack() {\n return [\n VolleyballGameLogType.attack_fault,\n VolleyballGameLogType.attack_spike,\n VolleyballGameLogType.attack_shot\n ].includes(this.logType);\n }\n\n isReceive() {\n return [\n VolleyballGameLogType.receive_fault,\n VolleyballGameLogType.receive,\n VolleyballGameLogType.excellent_receive\n ].includes(this.logType);\n }\n\n isServeReceive() {\n return [\n VolleyballGameLogType.serve_receive_fault,\n VolleyballGameLogType.serve_receive,\n VolleyballGameLogType.excellent_serve_receive\n ].includes(this.logType);\n }\n\n isBlock() {\n return [\n VolleyballGameLogType.block_fault,\n VolleyballGameLogType.block_rebound,\n VolleyballGameLogType.stuff_block\n ].includes(this.logType);\n }\n\n isEnterExit() {\n return [\n VolleyballGameLogType.enter_game,\n VolleyballGameLogType.exit_game,\n VolleyballGameLogType.timeout\n ].includes(this.logType);\n }\n\n isComboType() {\n return ![\n VolleyballGameLogType.receive,\n VolleyballGameLogType.serve_receive\n ].includes(this.logType);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Game } from '../models/game';\nimport { map } from 'rxjs/operators';\nimport { VolleyballGameTeamStatistic } from '../models/volleyball-game-team-statistic';\nimport { VolleyballGameStatistic } from '../models/volleyball-game-statistic';\nimport { VolleyballGameLog } from '../models/volleyball-game-log';\nimport { ConfigService } from '../services/config.service';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class VolleyballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<VolleyballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/team_statistic/`).pipe(\n map(result => VolleyballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<VolleyballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/user_statistic/`).pipe(\n map(result => VolleyballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<VolleyballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/logs/`).pipe(\n map(result => VolleyballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocolLight(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/game_protocol_light/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { Team } from '../models/team';\nimport { map } from 'rxjs/operators';\nimport { TournamentTeam } from '../models/tournament-team';\n\n@Injectable({providedIn: 'root'})\nexport class PublicTeamApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n getById(teamId: number): Promise<Team> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_team/${teamId}/`).pipe(\n map(result => Team.toFront(result))\n ).toPromise();\n }\n\n getTournamentTeams(teamId: number, leagueId: number): Promise<TournamentTeam[]> {\n const params = new HttpParams().set('league_id', leagueId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_team/${teamId}/tournament_teams/`, {params}).pipe(\n map(result => TournamentTeam.toFront(result))\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { User } from '../models/user';\nimport { map } from 'rxjs/operators';\nimport { Tournament } from '../models/tournament';\nimport { TournamentTeamUser } from '../models/tournament-team-user';\nimport { LeaguePlayer } from '../models/league-player';\n\n@Injectable({providedIn: 'root'})\nexport class PublicUserApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n getById(userId: number): Promise<User> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/`).pipe(\n map(result => User.toFront(result))\n ).toPromise();\n }\n\n getTournaments(userId: number, leagueId: number): Promise<Tournament[]> {\n const params = new HttpParams().set('league_id', leagueId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/tournaments/`, {params}).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n getTournamentUser(userId: number, seasonId: number): Promise<TournamentTeamUser> {\n const params = new HttpParams().set('season_id', seasonId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/tournament_user/`, {params}).pipe(\n map(result => TournamentTeamUser.toFront(result))\n ).toPromise();\n }\n\n getLeaguePlayer(userId: number, leagueId: number): Promise<LeaguePlayer> {\n const params = new HttpParams().set('league_id', leagueId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/league_player/`, {params}).pipe(\n map(result => LeaguePlayer.toFront(result))\n ).toPromise();\n }\n}\n","import { BasketballGameLogTypes } from '../models/basketball-game-log';\n\nexport const BasketballGameLogTypeLocalization = {\n [BasketballGameLogTypes.enter_game]: 'ÐÑÑ
од на плоÑадкÑ',\n [BasketballGameLogTypes.exit_game]: 'УÑел Ñ Ð¿Ð»Ð¾Ñадки',\n [BasketballGameLogTypes.remove_game]: 'Удаление Ñ Ð¿Ð»Ð¾Ñадки',\n [BasketballGameLogTypes.two_point_attempt]: 'ÐÑоÑок 2 оÑка',\n [BasketballGameLogTypes.three_point_attempt]: 'ÐÑоÑок 3 оÑка',\n [BasketballGameLogTypes.free_throw_attempt]: 'ШÑÑаÑной бÑоÑок',\n [BasketballGameLogTypes.one_point_attempt]: 'ÐÑоÑок 1 оÑко',\n [BasketballGameLogTypes.two_point_made]: '2 оÑка',\n [BasketballGameLogTypes.three_point_made]: '3 оÑка',\n [BasketballGameLogTypes.free_throw_made]: '1 оÑко, ÑÑÑаÑной',\n [BasketballGameLogTypes.one_point_made]: '1 оÑко',\n [BasketballGameLogTypes.assist]: 'ÐеÑедаÑа',\n [BasketballGameLogTypes.block]: 'ÐлокÑоÑ',\n [BasketballGameLogTypes.rebound]: 'ÐодбоÑ',\n [BasketballGameLogTypes.offensive_rebound]: 'ÐÐ¾Ð´Ð±Ð¾Ñ Ð² нападении',\n [BasketballGameLogTypes.defensive_rebound]: 'ÐÐ¾Ð´Ð±Ð¾Ñ Ð² заÑиÑе',\n [BasketballGameLogTypes.steal]: 'ÐеÑеÑ
ваÑ',\n [BasketballGameLogTypes.turnover]: 'ÐоÑеÑÑ',\n [BasketballGameLogTypes.personal_foul]: 'Фол',\n [BasketballGameLogTypes.technical_foul]: 'ТеÑ
ниÑеÑкий Ñол',\n [BasketballGameLogTypes.unsportsmanlike_foul]: 'ÐеÑпоÑÑинÑй Ñол',\n [BasketballGameLogTypes.timeout]: 'ТаймаÑÑ',\n [BasketballGameLogTypes.team_rebound]: 'ÐоманднÑй подбоÑ',\n};\n","import { HockeyGameLogTypes } from '../models/hockey-game-log';\n\nexport const HockeyGameLogTypeLocalization = {\n [HockeyGameLogTypes.enter_game]: 'ÐÑÑ
од на плоÑадкÑ',\n [HockeyGameLogTypes.exit_game]: 'УÑел Ñ Ð¿Ð»Ð¾Ñадки',\n [HockeyGameLogTypes.shot_miss]: 'ÐÑоÑок мимо',\n [HockeyGameLogTypes.shot_on_goal]: 'ÐÑоÑок по воÑоÑам',\n [HockeyGameLogTypes.shot_blocked]: 'ÐаблокиÑованнÑй бÑоÑок',\n [HockeyGameLogTypes.goal]: 'Ðол',\n [HockeyGameLogTypes.shootout_attempt]: 'ÐÑÐ»Ð»Ð¸Ñ Ð¿ÑомаÑ
',\n [HockeyGameLogTypes.shootout_goal]: 'ÐÑÐ»Ð»Ð¸Ñ Ð³Ð¾Ð»',\n [HockeyGameLogTypes.after_game_shootout_attempt]: 'ÐÑÐ»Ð»Ð¸Ñ Ð¿ÑомаÑ
',\n [HockeyGameLogTypes.after_game_shootout_goal]: 'ÐÑÐ»Ð»Ð¸Ñ Ð³Ð¾Ð»',\n [HockeyGameLogTypes.assist]: 'ÐеÑедаÑа',\n [HockeyGameLogTypes.block_shot]: 'ÐлокиÑовка бÑоÑка',\n [HockeyGameLogTypes.minor_penalty]: 'ÐалÑй ÑÑÑаÑ',\n [HockeyGameLogTypes.major_penalty]: 'ÐолÑÑой ÑÑÑаÑ',\n [HockeyGameLogTypes.misconduct_penalty]: 'ÐиÑÑиплинаÑнÑй ÑÑÑаÑ',\n [HockeyGameLogTypes.game_misconduct_penalty]: 'ÐиÑÑиплинаÑнÑй ÑÑÑÐ°Ñ Ð´Ð¾ конÑа игÑÑ',\n [HockeyGameLogTypes.match_penalty]: 'ÐаÑÑ-ÑÑÑаÑ',\n [HockeyGameLogTypes.penalty_shot]: 'ШÑÑаÑной бÑоÑок',\n [HockeyGameLogTypes.face_off_lose]: 'ÐÑоигÑÑÑ Ð² вбÑаÑÑвании',\n [HockeyGameLogTypes.face_off_win]: 'Ðобеда в вбÑаÑÑвании',\n [HockeyGameLogTypes.save]: 'ÐÑÑажен бÑоÑок',\n [HockeyGameLogTypes.shootout_save]: 'ÐÑÑажен бÑоÑок',\n [HockeyGameLogTypes.after_game_shootout_save]: 'ÐÑÑажен бÑоÑок',\n [HockeyGameLogTypes.timeout]: 'ТаймаÑÑ',\n [HockeyGameLogTypes.penalty_start]: 'ÐаÑало ÑÑÑаÑного вÑемени',\n [HockeyGameLogTypes.penalty_end]: 'ÐÐ¾Ð½ÐµÑ ÑÑÑаÑного вÑемени'\n};\n","import { FootballGameLogTypes } from '../models/football-game-log';\n\nexport const FootballGameLogTypeLocalization = {\n [FootballGameLogTypes.enter_game]: 'ÐÑÑ
од на поле',\n [FootballGameLogTypes.exit_game]: 'УÑел Ñ Ð¿Ð¾Ð»Ñ',\n [FootballGameLogTypes.shot_miss]: 'Ð£Ð´Ð°Ñ Ð¼Ð¸Ð¼Ð¾',\n [FootballGameLogTypes.shot_on_goal]: 'Ð£Ð´Ð°Ñ Ð² ÑÑвоÑ',\n [FootballGameLogTypes.shot_blocked]: 'ÐаблокиÑованнÑй ÑдаÑ',\n [FootballGameLogTypes.goal]: 'Ðол',\n [FootballGameLogTypes.assist]: 'ÐеÑедаÑа',\n [FootballGameLogTypes.penalty_attempt]: 'ÐеналÑÑи пÑомаÑ
',\n [FootballGameLogTypes.penalty_goal]: 'ÐеналÑÑи гол',\n [FootballGameLogTypes.small_penalty_attempt]: '10-меÑÑовÑй пÑомаÑ
',\n [FootballGameLogTypes.small_penalty_goal]: '10-меÑÑовÑй гол',\n [FootballGameLogTypes.block_shot]: 'ÐлокиÑовка ÑдаÑа',\n [FootballGameLogTypes.corner]: 'Угловой',\n [FootballGameLogTypes.free_kick]: 'ШÑÑаÑной ÑдаÑ',\n [FootballGameLogTypes.save]: 'ÐÑÑажен ÑдаÑ',\n [FootballGameLogTypes.penalty_save]: 'ÐÑÑажен пеналÑÑи',\n [FootballGameLogTypes.small_penalty_save]: 'ÐÑÑажен 10 меÑÑовÑй',\n [FootballGameLogTypes.foul]: 'Фол',\n [FootballGameLogTypes.yellow_card]: 'ÐелÑÐ°Ñ ÐºÐ°ÑÑоÑка',\n [FootballGameLogTypes.red_card]: 'ÐÑаÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка',\n [FootballGameLogTypes.perfect_pass]: 'ÐаÑ',\n [FootballGameLogTypes.loss]: 'ÐоÑеÑÑ',\n [FootballGameLogTypes.steal]: 'ÐеÑеÑ
ваÑ',\n [FootballGameLogTypes.out]: 'ÐÑÑ',\n [FootballGameLogTypes.timeout]: 'ТаймаÑÑ',\n [FootballGameLogTypes.auto_goal]: 'ÐвÑогол',\n [FootballGameLogTypes.end_game_penalty_goal]: 'ÐеналÑÑи гол',\n [FootballGameLogTypes.end_game_penalty_miss]: 'ÐеналÑÑи пÑомаÑ
',\n [FootballGameLogTypes.end_game_penalty_save]: 'ÐÑÑажен пеналÑÑи',\n};\n","import { HandballGameLogTypes } from '../models/handball-game-log';\n\nexport const HandballGameLogTypeLocalization = {\n [HandballGameLogTypes.enter_game]: 'ÐÑÑ
од на поле',\n [HandballGameLogTypes.exit_game]: 'УÑел Ñ Ð¿Ð¾Ð»Ñ',\n [HandballGameLogTypes.shot_miss]: 'ÐÑоÑок мимо',\n [HandballGameLogTypes.shot_on_goal]: 'ÐÑоÑок в ÑÑвоÑ',\n [HandballGameLogTypes.shot_blocked]: 'ÐаблокиÑованнÑй бÑоÑок',\n [HandballGameLogTypes.goal]: 'Ðол',\n [HandballGameLogTypes.assist]: 'ÐеÑедаÑа',\n [HandballGameLogTypes.penalty_miss]: '7м пÑомаÑ
',\n [HandballGameLogTypes.penalty_shot_on_goal]: '7м в ÑÑвоÑ',\n [HandballGameLogTypes.penalty_goal]: '7м гол',\n [HandballGameLogTypes.save]: 'СÑйв',\n [HandballGameLogTypes.penalty_save]: 'СÑйв 7м',\n [HandballGameLogTypes.foul]: 'Фол',\n [HandballGameLogTypes.yellow_card]: 'ÐеллÑÐ°Ñ ÐºÐ°ÑÑоÑка',\n [HandballGameLogTypes.red_card]: 'ÐÑаÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка',\n [HandballGameLogTypes.two_minute_foul]: '2Ñ
минÑÑнÑй ÑÑÑаÑ',\n [HandballGameLogTypes.turnover]: 'ÐоÑеÑÑ',\n [HandballGameLogTypes.steal]: 'ÐеÑеÑ
ваÑ',\n [HandballGameLogTypes.block_shot]: 'Ðлок бÑоÑка',\n [HandballGameLogTypes.timeout]: 'ТаймаÑÑ'\n};\n","import { OvertimeTypes } from '../models/tournament';\n\nexport const OvertimeTypeLocalization = {\n [OvertimeTypes.to_score_diff]: 'Ðо ÑазниÑÑ Ð² N мÑÑей',\n [OvertimeTypes.to_score_total]: 'Ðо N оÑков',\n [OvertimeTypes.time]: 'Ðо вÑемени',\n [OvertimeTypes.without_overtime]: 'Ðез овеÑÑайма',\n [OvertimeTypes.to_first_goal]: 'Ðа N минÑÑ Ð´Ð¾ пеÑвой ÑайбÑ',\n [OvertimeTypes.to_first_goal_and_bullitts]: 'Ðа N минÑÑ Ð´Ð¾ пеÑвой ÑÐ°Ð¹Ð±Ñ + бÑллиÑÑ',\n [OvertimeTypes.bullitts]: 'ÐÑллиÑÑ',\n [OvertimeTypes.penalties]: 'ÐеналÑÑи',\n [OvertimeTypes.time_and_penalties]: 'ÐополниÑелÑное вÑÐµÐ¼Ñ + пеналÑÑи'\n};\n","import { RugbyFoulSanctions } from '../models/rugby-foul-type';\n\nexport const RugbyFoulSanctionLocalization = {\n [RugbyFoulSanctions.scrum]: 'СÑ
ваÑка',\n [RugbyFoulSanctions.lineout]: 'ÐоÑÑидоÑ',\n [RugbyFoulSanctions.free_kick]: 'СвободнÑй ÑдаÑ',\n [RugbyFoulSanctions.penalty_shot]: 'ШÑÑаÑной ÑдаÑ',\n [RugbyFoulSanctions.yellow_card]: 'ÐелÑÐ°Ñ ÐºÐ°ÑÑоÑка',\n [RugbyFoulSanctions.red_card]: 'ÐÑаÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка',\n};\n","import { RugbyGameLogTypes } from '../models/rugby-game-log';\n\nexport const RugbyGameLogTypeLocalization = {\n [RugbyGameLogTypes.enter_game]: 'ÐÑÑ
од на плоÑадкÑ',\n [RugbyGameLogTypes.exit_game]: 'УÑел Ñ Ð¿Ð»Ð¾Ñадки',\n [RugbyGameLogTypes.try]: 'ÐопÑÑка',\n [RugbyGameLogTypes.penalty_try]: 'ШÑÑаÑÐ½Ð°Ñ Ð¿Ð¾Ð¿ÑÑка',\n [RugbyGameLogTypes.conversion_goal]: 'РеализаÑиÑ',\n [RugbyGameLogTypes.conversion_miss]: 'РеализаÑÐ¸Ñ Ð¿ÑомаÑ
',\n [RugbyGameLogTypes.penalty_miss]: 'ШÑÑаÑной пÑомаÑ
',\n [RugbyGameLogTypes.penalty_goal]: 'ШÑÑаÑной гол',\n [RugbyGameLogTypes.penalty_kick_to_touch]: 'ШÑÑаÑной в аÑÑ',\n [RugbyGameLogTypes.tap_penalty]: 'ШÑÑаÑной ÑозÑгÑан',\n [RugbyGameLogTypes.drop_goal]: 'ÐÑоп-гол',\n [RugbyGameLogTypes.drop_goal_miss]: 'ÐÑоп-гол пÑомаÑ
',\n [RugbyGameLogTypes.free_kick]: 'СвободнÑй ÑдаÑ',\n [RugbyGameLogTypes.foul]: 'Фол',\n [RugbyGameLogTypes.yellow_card]: 'ÐелÑÐ°Ñ ÐºÐ°ÑÑоÑка',\n [RugbyGameLogTypes.red_card]: 'ÐÑаÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка',\n [RugbyGameLogTypes.offload]: 'Скидка пÑи завÑ
ваÑе',\n [RugbyGameLogTypes.tackle]: 'УÑпеÑнÑй заÑ
ваÑ',\n [RugbyGameLogTypes.handling_error]: 'ÐÑибка пÑиема',\n [RugbyGameLogTypes.carries_over_gainline]: 'ÐÑоÑÑв линии',\n [RugbyGameLogTypes.bleeding_injury]: 'ÐÑовоÑоÑаÑÐ°Ñ ÑÑавма',\n [RugbyGameLogTypes.head_injury]: 'ТÑавма головÑ',\n [RugbyGameLogTypes.end_game_penalty_miss]: 'ШÑÑаÑной пÑомаÑ
',\n [RugbyGameLogTypes.end_game_penalty_goal]: 'ШÑÑаÑной гол',\n\n [RugbyGameLogTypes.timeout]: 'ТаймаÑÑ',\n [RugbyGameLogTypes.scrum_won]: 'СÑ
ваÑка вÑигÑана',\n [RugbyGameLogTypes.scrum_lost]: 'СÑ
ваÑка пÑоигÑана',\n [RugbyGameLogTypes.scrum_won_free]: 'СÑ
ваÑка вÑигÑана без ÑопÑоÑивлениÑ',\n [RugbyGameLogTypes.lineout_won]: 'ÐоÑÑÐ¸Ð´Ð¾Ñ Ð²ÑигÑано',\n [RugbyGameLogTypes.lineout_lost]: 'ÐоÑÑÐ¸Ð´Ð¾Ñ Ð¿ÑоигÑано',\n [RugbyGameLogTypes.quick_throw]: 'ÐÑÑÑÑÑй вбÑоÑ',\n [RugbyGameLogTypes.ruck_won]: 'Рак вÑигÑано',\n [RugbyGameLogTypes.ruck_lost]: 'Рак пÑоигÑано',\n [RugbyGameLogTypes.maul_won]: 'Ðол вÑигÑано',\n [RugbyGameLogTypes.maul_lost]: 'Ðол пÑоигÑано',\n [RugbyGameLogTypes.team_foul]: 'Фол',\n};\n","import { TeamUserRole } from '../models/team-user';\n\nexport const TeamUserRoleLocalization = {\n [TeamUserRole.member]: 'ÐолÑзоваÑелÑ',\n [TeamUserRole.moderator]: 'ÐодеÑаÑоÑ',\n [TeamUserRole.admin]: 'ÐладелеÑ',\n [TeamUserRole.coach]: 'ТÑенеÑ',\n [TeamUserRole.head_coach]: 'ÐлавнÑй ÑÑенеÑ',\n [TeamUserRole.playing_coach]: 'ÐгÑаÑÑий ÑÑенеÑ',\n [TeamUserRole.manager]: 'ÐенеджеÑ',\n [TeamUserRole.head_manager]: 'ÐенеÑалÑнÑй менеджеÑ',\n [TeamUserRole.captain]: 'ÐапиÑан',\n [TeamUserRole.assistant]: 'ÐÑÑиÑÑенÑ',\n};\n","import { GameBasketballPosition, WorkHand } from '../models/basketball-profile';\nimport { GameVolleyballPosition, VolleyballWorkHand } from '../models/volleyball-profile';\nimport { GameHockeyPosition } from '../models/hockey-profile';\nimport { FootballWorkFoot, GameFootballPosition } from '../models/football-profile';\nimport { GameHandballPosition } from '../models/handball-profile';\nimport { GameRugbyPosition } from '../models/rugby-profile';\n\nexport const GameBasketballPositionLocalization = {\n [GameBasketballPosition.point_guard]: 'РазÑгÑÑваÑÑий заÑиÑник',\n [GameBasketballPosition.shooting_guard]: 'ÐÑакÑÑÑий заÑиÑник',\n [GameBasketballPosition.small_forward]: 'Ðегкий ÑоÑваÑд',\n [GameBasketballPosition.power_forward]: 'ÐоÑнÑй ÑоÑваÑд',\n [GameBasketballPosition.center]: 'ЦенÑÑовой',\n};\n\nexport const GameBasketballPositionShortLocalization = {\n [GameBasketballPosition.point_guard]: 'PG',\n [GameBasketballPosition.shooting_guard]: 'SG',\n [GameBasketballPosition.small_forward]: 'SF',\n [GameBasketballPosition.power_forward]: 'PF',\n [GameBasketballPosition.center]: 'C',\n};\n\nexport const WorkHandLocalization = {\n [WorkHand.left]: 'ÐеваÑ',\n [WorkHand.right]: 'ÐÑаваÑ'\n};\n\nexport const GameVolleyballPositionLocalization = {\n [GameVolleyballPosition.setter]: 'СвÑзÑÑÑий',\n [GameVolleyballPosition.libero]: 'ÐибеÑо',\n [GameVolleyballPosition.middle_player]: 'ЦенÑÑалÑнÑй блокиÑÑÑÑий',\n [GameVolleyballPosition.receiver_attacker]: 'ÐоигÑовÑик',\n [GameVolleyballPosition.dioganal]: 'ÐиагоналÑнÑй',\n};\n\nexport const GameVolleyballPositionShortLocalization = {\n [GameVolleyballPosition.setter]: 'S',\n [GameVolleyballPosition.libero]: 'L',\n [GameVolleyballPosition.middle_player]: 'MP',\n [GameVolleyballPosition.receiver_attacker]: 'RA',\n [GameVolleyballPosition.dioganal]: 'D',\n};\n\nexport const GameVolleyballPositionShortRuLocalization = {\n [GameVolleyballPosition.setter]: 'ÑвÑз.',\n [GameVolleyballPosition.libero]: 'либеÑо',\n [GameVolleyballPosition.middle_player]: 'блок.',\n [GameVolleyballPosition.receiver_attacker]: 'доигÑ.',\n [GameVolleyballPosition.dioganal]: 'диаг.',\n};\n\nexport const VolleyballWorkHandLocalization = {\n [VolleyballWorkHand.left]: 'ÐеваÑ',\n [VolleyballWorkHand.right]: 'ÐÑаваÑ'\n};\n\nexport const GameHockeyPositionLocalization = {\n [GameHockeyPosition.goaltender]: 'ÐÑаÑаÑÑ',\n [GameHockeyPosition.defensemen]: 'ÐаÑиÑник',\n [GameHockeyPosition.forward]: 'ÐападаÑÑий'\n};\n\nexport const GameFootballPositionLocalization = {\n [GameFootballPosition.goalkeeper]: 'ÐÑаÑаÑÑ',\n [GameFootballPosition.defensemen]: 'ÐаÑиÑник',\n [GameFootballPosition.midfielder]: 'ÐолÑзаÑиÑник',\n [GameFootballPosition.forward]: 'ÐападаÑÑий'\n};\n\nexport const FootballWorkFootLocalization = {\n [FootballWorkFoot.left]: 'ÐеваÑ',\n [FootballWorkFoot.right]: 'ÐÑаваÑ',\n [FootballWorkFoot.both]: 'Ðбе'\n};\n\nexport const GameHandballPositionLocalization = {\n [GameHandballPosition.goalkeeper]: 'ÐÑаÑаÑÑ',\n [GameHandballPosition.winger]: 'ÐÑайний',\n [GameHandballPosition.pivot]: 'ÐинейнÑй',\n [GameHandballPosition.centre_back]: 'ЦенÑÑалÑнÑй',\n [GameHandballPosition.fullback]: 'ÐолÑÑÑедний',\n};\n\nexport const GameRugbyPositionLocalization = {\n [GameRugbyPosition.front_line]: 'ÐадаÑÑий пеÑвой линии',\n [GameRugbyPosition.second_line]: 'ÐападаÑÑий вÑоÑой линии',\n [GameRugbyPosition.back_line]: 'ÐападаÑÑий задней линии',\n [GameRugbyPosition.halfback]: 'ÐолÑзаÑиÑник',\n [GameRugbyPosition.three_quarter]: 'ТÑеÑ
ÑеÑвеÑÑнÑй',\n [GameRugbyPosition.fullback]: 'ÐамÑкаÑÑий'\n};\n\n","import { VolleyballGameLogType } from '../models/volleyball-game-log';\n\nexport const VolleyballGameLogTypeLocalization = {\n [VolleyballGameLogType.enter_game]: 'ÐÑÑ
од на плоÑадкÑ',\n [VolleyballGameLogType.exit_game]: 'УÑ
од Ñ Ð¿Ð»Ð¾Ñадки',\n [VolleyballGameLogType.remove_game]: 'Удаление Ñ Ð¿Ð»Ð¾Ñадки',\n [VolleyballGameLogType.serve_ace]: 'ÐйÑ',\n [VolleyballGameLogType.serve_hit]: 'ÐодаÑа',\n [VolleyballGameLogType.serve_fault]: 'ÐÑибка на подаÑе',\n [VolleyballGameLogType.attack_spike]: 'РезÑлÑÑаÑÐ¸Ð²Ð½Ð°Ñ Ð°Ñака',\n [VolleyballGameLogType.attack_shot]: 'ÐÑака',\n [VolleyballGameLogType.attack_fault]: 'ÐÑибка аÑаки',\n [VolleyballGameLogType.stuff_block]: 'РезÑлÑÑаÑивнÑй блок',\n [VolleyballGameLogType.block_rebound]: 'Ðлок',\n [VolleyballGameLogType.block_fault]: 'ÐÑибка на блоке',\n [VolleyballGameLogType.excellent_receive]: 'ÐÑлиÑнÑй пÑием',\n [VolleyballGameLogType.receive]: 'ÐÑием',\n [VolleyballGameLogType.receive_fault]: 'ÐÑибка на пÑиеме',\n [VolleyballGameLogType.serve_receive]: 'ÐÑием подаÑи',\n [VolleyballGameLogType.excellent_serve_receive]: 'ÐÑлиÑнÑй пÑием подаÑи',\n [VolleyballGameLogType.serve_receive_fault]: 'ÐÑибка пÑиема подаÑи',\n [VolleyballGameLogType.point]: 'ÐÑко',\n [VolleyballGameLogType.fault]: 'ÐÑибка',\n [VolleyballGameLogType.timeout]: 'ТаймаÑÑ',\n [VolleyballGameLogType.yellow_card]: 'ÐÑедÑпÑеждение',\n};\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n files: 'files',\n key_code: 'keyCode',\n },\n relation: {\n files: listField(File)\n }\n})\nexport class LeaguePlaylist extends BaseModel {\n id: number;\n name: string;\n files: File[];\n keyCode: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { Subject } from 'rxjs/internal/Subject';\nimport { ReplaySubject } from 'rxjs/internal/ReplaySubject';\n\nimport * as Centrifuge from 'centrifuge';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ConfigService } from './config.service';\n\ninterface CentrifugoConfig {\n user: string;\n timestamp: string;\n token: string;\n}\n\n@Injectable({providedIn: 'root'})\nexport class CentrifugoService {\n private channels$: { [key: string]: Subject<any> } = {};\n private subscriptions: { [key: string]: any } = {};\n private centrifuge;\n private initializeEngineSubject: ReplaySubject<boolean>;\n private connectedSubject = new BehaviorSubject<boolean>(false);\n\n get connected$(): Observable<boolean> {\n return this.connectedSubject;\n }\n\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) { }\n\n listen(channel): Observable<any> {\n if (channel in this.channels$) {\n return this.channels$[channel];\n }\n\n this.channels$[channel] = new Subject<any>();\n const subscription = this.connect().subscribe(connected => {\n this.subscriptions[channel] = this.addEngineSubscription(channel);\n setTimeout(() => {\n subscription.unsubscribe();\n });\n });\n\n return this.channels$[channel];\n }\n\n unsubscribe(channel): void {\n if (this.subscriptions[channel]) {\n this.subscriptions[channel].unsubscribe();\n delete this.subscriptions[channel];\n }\n if (this.channels$[channel]) {\n this.channels$[channel].complete();\n delete this.channels$[channel];\n }\n }\n\n connect(): Observable<boolean> {\n if (!this.initializeEngineSubject) {\n this.initializeEngineSubject = new ReplaySubject(1);\n\n this.httpClient.get<CentrifugoConfig>(`${this.configService.get('apiUrl')}/api/v1/centrifugo/`)\n .subscribe(config => {\n this.initializeEngine({\n url: this.configService.get('centrifugoUrl'),\n user: config.user,\n timestamp: config.timestamp,\n token: config.token,\n transports: ['websocket']\n });\n this.centrifuge.connect();\n this.centrifuge.on('connect', () => {\n this.initializeEngineSubject.next(true);\n this.connectedSubject.next(true);\n });\n this.centrifuge.on('disconnect', () => {\n this.connectedSubject.next(false);\n });\n });\n }\n\n return this.initializeEngineSubject;\n }\n\n publish(channel: string, message: any): Observable<any> {\n return new Observable<any>(observer => {\n this.connect().subscribe(() => {\n if (!this.subscriptions[channel]) {\n this.subscriptions[channel] = this.addEngineSubscription(channel);\n }\n this.subscriptions[channel].publish(message).then(res => {\n observer.next(res);\n observer.complete();\n }, error => {\n throw error;\n });\n });\n });\n }\n\n disconnect(): void {\n this.centrifuge.disconnect();\n this.initializeEngineSubject = undefined;\n this.channels$ = {};\n this.subscriptions = {};\n }\n\n private initializeEngine(config: {\n url: string,\n user: string,\n timestamp: string,\n token: string,\n transports: string[]\n }): void {\n this.centrifuge = new Centrifuge(config);\n }\n\n private addEngineSubscription(channel: string): Observable<any> {\n return this.centrifuge.subscribe(channel, this.resolveMessage.bind(this));\n }\n\n private resolveMessage(response: any): void {\n const channel = response.channel;\n if (!this.channels$[channel]) {\n return;\n }\n\n this.channels$[channel].next(response.data);\n }\n}\n","import { ModelInterface } from '../models/util';\n\nexport class StorageEngineField {\n defaultValue: any;\n\n constructor(defaultValue?: any, protected modelClass?: ModelInterface) {\n this.defaultValue = defaultValue;\n }\n\n toFront(value: any): any {\n if (this.modelClass) {\n return this.modelClass.toFront(value);\n }\n return value;\n }\n\n toBack(value: any): any {\n if (this.modelClass) {\n return this.modelClass.toBack(value);\n }\n return value;\n }\n}\n\nexport abstract class StorageEngine {\n constructor(protected name: string, protected fields: {[key: string]: StorageEngineField}) {\n }\n\n addField(key: string, field: StorageEngineField): void {\n this.fields[key] = field;\n }\n\n save(key: string, value: any): void {\n if (!this.fields[key]) {\n return;\n }\n this.setItem(`${this.name}_${key}`, this.fields[key].toBack(value));\n }\n\n get(key: string): any {\n if (!this.fields[key]) {\n return;\n }\n let value = this.getItem(`${this.name}_${key}`);\n if (value === null) {\n value = this.fields[key].defaultValue;\n }\n if (value === null || value === undefined) {\n return value;\n }\n return this.fields[key].toFront(value);\n }\n\n clear(): void {\n for (const field of Object.keys(this.fields)) {\n this.removeItem(field);\n }\n }\n\n protected getItem(key: string): any {\n throw new Error(`Function getItem for store engine ${typeof this} not implemented`);\n }\n\n protected setItem(key: string, value: any): any {\n throw new Error(`Function setItem for store engine ${typeof this} not implemented`);\n }\n\n protected removeItem(key: string): void {\n throw new Error(`Function deleteItem for store engine ${typeof this} not implemented`);\n }\n}\n","import { StorageEngine } from './storage-engine';\n\nexport class LocalStorageEngine extends StorageEngine {\n protected setItem(key: string, value: any) {\n localStorage.setItem(key, JSON.stringify(value));\n }\n\n protected getItem(key: string): any {\n try {\n return JSON.parse(localStorage.getItem(key));\n } catch (e) {\n return;\n }\n }\n\n protected removeItem(key: string): void {\n localStorage.removeItem(key);\n }\n}\n","import {\n ɵComponentType as ComponentType,\n ɵDirectiveType as DirectiveType,\n ɵComponentDef as ComponentDef,\n ɵDirectiveDef as DirectiveDef\n} from '@angular/core';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Subject } from 'rxjs/internal/Subject';\n\nexport interface OnDestroyLike {\n ngOnDestroy(): void;\n [key: string]: any;\n}\n\nexport function componentDestroyed(component: OnDestroyLike): Observable<void> {\n if ((component.constructor as any).__componentDestroyed$) {\n return (component.constructor as any).__componentDestroyed$;\n }\n throw new Error('Use @UntilDestroy decorator in class');\n}\n\nexport function UntilDestroy(cmpType: any) {\n const def = getDef(cmpType as any);\n const original = (def as any).onDestroy;\n cmpType.__componentDestroyed$ = new Subject<void>();\n (def as any).onDestroy = function() {\n cmpType.__componentDestroyed$.next();\n cmpType.__componentDestroyed$.complete();\n original.apply(this);\n };\n}\n\nfunction getDef<T>(\n type: DirectiveType<T> | ComponentType<T>\n): DirectiveDef<T> | ComponentDef<T> {\n return (type as ComponentType<T>).ɵcmp || (type as DirectiveType<T>).ɵdir;\n}\n","export function getCookie(name: string): string {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) {\n return parts.pop().split(';').shift();\n }\n return null;\n}\n","export function isTouchDevice() {\n const prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\n const mq = (q) => {\n return window.matchMedia(q).matches;\n };\n\n if (('ontouchstart' in window) || (window as any).DocumentTouch && document instanceof (window as any).DocumentTouch) {\n return true;\n }\n\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\n // https://git.io/vznFH\n const query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');\n return mq(query);\n}\n","export function getEnumOptions(enumClass): number[] {\n return Object.keys(enumClass)\n .map(v => enumClass[v])\n .filter(v => isNaN(+v) === false)\n .map(v => +v);\n}\n\n","import { captureException } from '@sentry/angular';\n\nexport function handleError(error, force = false, production = true) {\n if (!(error && (error.status === 0 || error.status === 404)) || (force && error.status !== 0)) {\n captureException(error);\n }\n\n if (!production) {\n console.error(error);\n }\n}\n","export interface LinkFavicon {\n rel: string;\n sizes?: string;\n href: string;\n type?: string;\n color?: string;\n}\n\nexport function getIconsData(folder: string): LinkFavicon[] {\n return [\n {rel: 'apple-touch-icon', sizes: '180x180', href: `/assets/favicon/${folder}apple-touch-icon.png`},\n {rel: 'icon', type: 'image/png', sizes: '32x32', href: `/assets/favicon/${folder}favicon-32x32.png`},\n {rel: 'icon', type: 'image/png', sizes: '16x16', href: `/assets/favicon/${folder}favicon-16x16.png`},\n {rel: 'shortcut icon', href: `/assets/favicon/${folder}favicon.ico`},\n {rel: 'manifest', href: `/assets/favicon/${folder}site.webmanifest`},\n {rel: 'mask-icon', href: `/assets/favicon/${folder}safari-pinned-tab.svg`, color: '#ff0000'}\n ];\n}\n\nexport function changeFavicons(document: Document, leagueAlias: string): void {\n let folder = '';\n if (leagueAlias === 'ablmoscow') {\n folder = 'abl/';\n }\n const data = getIconsData(folder);\n for (const item of data) {\n const link = document.createElement('link');\n for (const key of Object.keys(item)) {\n link.setAttribute(key, item[key]);\n }\n document.head.appendChild(link);\n }\n}\n","import { FormGroup } from '@angular/forms';\n\nexport function markFormGroupTouched(formGroup: FormGroup) {\n (Object as any).values(formGroup.controls).forEach(control => {\n control.markAsTouched();\n control.markAsDirty();\n\n if (control instanceof FormGroup) {\n markFormGroupTouched(control);\n } else if (control.controls) {\n control.controls.forEach(c => {\n if (c instanceof FormGroup) {\n markFormGroupTouched(c);\n } else {\n c.markAsTouched();\n c.markAsDirty();\n }\n });\n }\n });\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\nimport { debounceTime, delay, map, switchMap } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\n\nexport interface CheckEmailServiceInterface {\n checkEmail(value: string, selfCheck: boolean): Observable<boolean>;\n}\n\nexport const minLengthArrayValidator = (minLength: number) => {\n return (c: AbstractControl) => {\n return c.value.length < minLength\n ? {minLengthArray: {valid: false}}\n : null;\n };\n};\n\nexport const validatePhone = (control: AbstractControl) => {\n if (!control.value) {\n return null;\n }\n const value = `${control.value}`.replace(/\\D/gi, '');\n return value.length === 11 ? null : {invalidPhone: {valid: false}};\n};\n\nexport const validateDate = (control: AbstractControl) => {\n const re = /\\d{2}\\.\\d{2}\\.\\d{4}/gi;\n if (!control.value || re.test(control.value)) {\n return null;\n }\n return {invalidDate: {valid: false}};\n};\n\nexport const validateEmail = (authService: CheckEmailServiceInterface, selfCheck = true, ignore = []) => {\n const subject = of(null).pipe(\n delay(500)\n );\n return (control: AbstractControl) => {\n if (ignore.indexOf(control.value) > -1) {\n return of(null);\n }\n return subject.pipe(\n switchMap(() => authService.checkEmail(control.value, selfCheck).pipe(\n map(valid => valid ? null : {emailTaken: true})\n ))\n );\n };\n};\n\nexport const validateUrl = (control: AbstractControl) => {\n const re = /^(?:http(s)?:\\/\\/)[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/;\n if (!control.value || re.test(control.value)) {\n return null;\n }\n return {invalidUrl: true};\n};\n\nexport function fileSizeValidator(maxFileSize: number): ValidatorFn {\n return (control: AbstractControl): {[key: string]: any} | null => {\n if (!control.value) {\n return null;\n }\n };\n}\n","import { Inject, Injectable, Injector, PLATFORM_ID } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { getCookie } from './utils/cookie';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ConfigService } from './services/config.service';\n\n@Injectable()\nexport class HttpCookieInterceptor implements HttpInterceptor {\n private isBrowser = isPlatformBrowser(this.platformId);\n\n constructor(\n private injector: Injector,\n private configService: ConfigService,\n @Inject(PLATFORM_ID) private platformId: string,\n ) {\n }\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n if (!this.isBrowser) {\n return next.handle(req);\n }\n const apiUrl = this.configService.get('apiUrl');\n if (apiUrl === req.url.substr(0, apiUrl.length)) {\n req = req.clone({withCredentials: true});\n }\n const csrf = getCookie('csrftoken');\n if (csrf) {\n req = req.clone({\n setHeaders: {'X-CSRFToken': csrf}\n });\n }\n return next.handle(req);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mtgame-core.js","sources":["ng://@mtgame/core/localization/hockey-penalty-types.ts","ng://@mtgame/core/models/util.ts","ng://@mtgame/core/models/file.ts","ng://@mtgame/core/models/sport.ts","ng://@mtgame/core/models/user-profile.ts","ng://@mtgame/core/models/city.ts","ng://@mtgame/core/models/basketball-profile.ts","ng://@mtgame/core/models/volleyball-profile.ts","ng://@mtgame/core/models/hockey-profile.ts","ng://@mtgame/core/models/football-profile.ts","ng://@mtgame/core/models/handball-profile.ts","ng://@mtgame/core/models/rugby-profile.ts","ng://@mtgame/core/models/user.ts","ng://@mtgame/core/models/team.ts","ng://@mtgame/core/models/organization.ts","ng://@mtgame/core/models/league.ts","ng://@mtgame/core/models/tournament-season.ts","ng://@mtgame/core/models/tournament.ts","ng://@mtgame/core/models/basketball-game-config.ts","ng://@mtgame/core/models/volleyball-game-config.ts","ng://@mtgame/core/models/league-court.ts","ng://@mtgame/core/models/media-item.ts","ng://@mtgame/core/models/hockey-game-config.ts","ng://@mtgame/core/models/football-game-config.ts","ng://@mtgame/core/models/handball-game-config.ts","ng://@mtgame/core/utils/array.ts","ng://@mtgame/core/models/playoff.ts","ng://@mtgame/core/models/tournament-group.ts","ng://@mtgame/core/models/rugby-game-config.ts","ng://@mtgame/core/models/game.ts","ng://@mtgame/core/utils/data.ts","ng://@mtgame/core/storage/store.ts","ng://@mtgame/core/services/base.service.ts","ng://@mtgame/core/services/config.service.ts","ng://@mtgame/core/models/tournament-team.ts","ng://@mtgame/core/models/team-user.ts","ng://@mtgame/core/models/tournament-disqualification.ts","ng://@mtgame/core/models/league-player.ts","ng://@mtgame/core/models/tournament-team-user.ts","ng://@mtgame/core/models/basketball-statistic.ts","ng://@mtgame/core/models/basketball-game-team-statistic.ts","ng://@mtgame/core/models/basketball-game-statistic.ts","ng://@mtgame/core/models/basketball-game-log.ts","ng://@mtgame/core/models/game-user.ts","ng://@mtgame/core/models/game-user-limitation.ts","ng://@mtgame/core/api/game-base-api.ts","ng://@mtgame/core/api/basketball-game-api.ts","ng://@mtgame/core/models/feedback.ts","ng://@mtgame/core/api/feedback-api.ts","ng://@mtgame/core/api/file-api.ts","ng://@mtgame/core/models/hockey-game-log.ts","ng://@mtgame/core/models/hockey-game-statistic.ts","ng://@mtgame/core/models/hockey-statistic.ts","ng://@mtgame/core/models/hockey-game-team-statistic.ts","ng://@mtgame/core/api/hockey-game-api.ts","ng://@mtgame/core/models/football-game-log.ts","ng://@mtgame/core/models/football-game-statistic.ts","ng://@mtgame/core/models/football-statistic.ts","ng://@mtgame/core/models/football-game-team-statistic.ts","ng://@mtgame/core/api/football-game-api.ts","ng://@mtgame/core/models/handball-game-log.ts","ng://@mtgame/core/models/handball-game-statistic.ts","ng://@mtgame/core/models/handball-statistic.ts","ng://@mtgame/core/models/handball-game-team-statistic.ts","ng://@mtgame/core/api/handball-game-api.ts","ng://@mtgame/core/models/tournament-news.ts","ng://@mtgame/core/models/game-timeline-stages.ts","ng://@mtgame/core/models/tournament-stage.ts","ng://@mtgame/core/models/volleyball-statistic.ts","ng://@mtgame/core/models/tournament-stage-team.ts","ng://@mtgame/core/models/league-news.ts","ng://@mtgame/core/models/tournament-event.ts","ng://@mtgame/core/models/league-user.ts","ng://@mtgame/core/models/rugby-statistic.ts","ng://@mtgame/core/api/tournament-api.ts","ng://@mtgame/core/models/league-partner.ts","ng://@mtgame/core/models/league-banner.ts","ng://@mtgame/core/models/league-document.ts","ng://@mtgame/core/api/league-api.ts","ng://@mtgame/core/api/league-news-api.ts","ng://@mtgame/core/api/league-player-api.ts","ng://@mtgame/core/api/media-api.ts","ng://@mtgame/core/models/poll.ts","ng://@mtgame/core/models/team-invite.ts","ng://@mtgame/core/models/game-invite.ts","ng://@mtgame/core/models/team-event-type.ts","ng://@mtgame/core/localization/team-event-type.ts","ng://@mtgame/core/models/team-event.ts","ng://@mtgame/core/models/team-event-invite.ts","ng://@mtgame/core/models/tournament-team-user-invite.ts","ng://@mtgame/core/models/tournament-invite.ts","ng://@mtgame/core/models/notification.ts","ng://@mtgame/core/models/notification-settings.ts","ng://@mtgame/core/api/notification-base-api.ts","ng://@mtgame/core/api/notification-api.ts","ng://@mtgame/core/api/org-notification-api.ts","ng://@mtgame/core/api/reference-api.ts","ng://@mtgame/core/models/rugby-game-team-statistic.ts","ng://@mtgame/core/models/rugby-game-statistic.ts","ng://@mtgame/core/models/rugby-foul-type.ts","ng://@mtgame/core/models/rugby-game-log.ts","ng://@mtgame/core/api/rugby-game-api.ts","ng://@mtgame/core/models/team-invite-external.ts","ng://@mtgame/core/models/team-permission.ts","ng://@mtgame/core/models/team-access.ts","ng://@mtgame/core/api/team-api.ts","ng://@mtgame/core/api/team-event-api.ts","ng://@mtgame/core/models/tournament-join-team.ts","ng://@mtgame/core/api/tournament-join-api.ts","ng://@mtgame/core/api/tournament-season-api.ts","ng://@mtgame/core/api/tournament-stage-api.ts","ng://@mtgame/core/models/user-access.ts","ng://@mtgame/core/models/user-permission.ts","ng://@mtgame/core/api/user-api.ts","ng://@mtgame/core/models/volleyball-game-team-statistic.ts","ng://@mtgame/core/models/volleyball-game-statistic.ts","ng://@mtgame/core/models/volleyball-game-log.ts","ng://@mtgame/core/api/volleyball-game-api.ts","ng://@mtgame/core/api/public-team-api.ts","ng://@mtgame/core/api/public-user-api.ts","ng://@mtgame/core/localization/basketball-game-log-types.ts","ng://@mtgame/core/localization/hockey-game-log-types.ts","ng://@mtgame/core/localization/football-game-log-types.ts","ng://@mtgame/core/localization/handball-game-log-types.ts","ng://@mtgame/core/localization/overtime-types.ts","ng://@mtgame/core/localization/rugby-foul-sanction.ts","ng://@mtgame/core/localization/rugby-game-log-types.ts","ng://@mtgame/core/localization/team-user-role.ts","ng://@mtgame/core/localization/user-profile.ts","ng://@mtgame/core/localization/volleyball-game-log-types.ts","ng://@mtgame/core/models/league-playlist.ts","ng://@mtgame/core/services/centrifugo.service.ts","ng://@mtgame/core/storage/storage-engine.ts","ng://@mtgame/core/storage/local-storage-engine.ts","ng://@mtgame/core/utils/component-destroyed.ts","ng://@mtgame/core/utils/cookie.ts","ng://@mtgame/core/utils/device.ts","ng://@mtgame/core/utils/enum.ts","ng://@mtgame/core/utils/errors.ts","ng://@mtgame/core/utils/favicon.ts","ng://@mtgame/core/utils/form.ts","ng://@mtgame/core/utils/validators.ts","ng://@mtgame/core/http-cookie.interceptor.ts","ng://@mtgame/core/mtgame-core.ts"],"sourcesContent":["export const HockeyPenaltyTypes = [\n {id: 1, code: 'ÐÐÐ ÐС', title: 'ÐгÑеÑÑÐ¾Ñ Ð² дÑаке'},\n {id: 2, code: 'ÐТ-Ð-ÐÐÐ', title: 'ÐÑака в Ð³Ð¾Ð»Ð¾Ð²Ñ Ð¸Ð»Ð¸ ÑеÑ'},\n {id: 3, code: 'ÐТ-ÐÐ ', title: 'ÐÑака вÑаÑаÑÑ'},\n {id: 4, code: 'ÐТ-СÐ', title: 'ÐÑака Ñзади'},\n {id: 5, code: 'ÐÐÐÐ', title: 'ÐлокиÑовка'},\n {id: 6, code: 'ÐÐ -ÐÐ', title: 'ÐÑоÑок клÑÑки'},\n {id: 7, code: 'ÐÐ-ШÐ', title: 'ÐÑбÑÐ¾Ñ ÑайбÑ'},\n {id: 8, code: 'ÐРУÐ', title: 'ÐÑÑбоÑÑÑ'},\n {id: 9, code: 'ÐÐСЦ', title: 'ÐиÑÑиплинаÑнÑй ÑÑÑаÑ'},\n {id: 10, code: 'ÐÐС-ÐÐ', title: 'ÐиÑÑиплинаÑнÑй до конÑа маÑÑа'},\n {id: 11, code: 'ÐÐ ÐÐÐ', title: 'ÐÑака'},\n {id: 12, code: 'ÐÐЧÐÐ', title: 'ÐаÑинÑик дÑаки'},\n {id: 13, code: 'ÐÐ-ÐÐ', title: 'ÐадеÑжка игÑÑ'},\n {id: 14, code: 'ÐÐ-ÐÐ-СÐ', title: 'ÐадеÑжка клÑÑки ÑопеÑника'},\n {id: 15, code: 'ÐÐ-ÐÐ', title: 'ÐадеÑжка клÑÑкой'},\n {id: 16, code: 'ÐÐ-СÐ', title: 'ÐадеÑжка ÑопеÑника'},\n {id: 17, code: 'ÐÐ-ШÐ', title: 'ÐадеÑжка ÑÐ°Ð¹Ð±Ñ ÑÑками'},\n {id: 18, code: 'СÐ-ÐÐ', title: 'ÐгÑа Ñо Ñломанной клÑÑкой'},\n {id: 19, code: 'ÐÐ-ÐÐ', title: 'ÐгÑа вÑÑоко поднÑÑой клÑÑкой'},\n {id: 20, code: 'ÐÐ-УÐ', title: 'ÐолÑÑий ÑдаÑ'},\n {id: 21, code: 'СÐ-ШТ', title: 'ÐалÑй ÑкамееÑнÑй ÑÑÑаÑ'},\n {id: 22, code: 'ÐШ', title: 'ÐаÑÑ-ÑÑÑаÑ'},\n {id: 23, code: 'ÐÐ-ÐТ', title: 'ÐепÑавилÑÐ½Ð°Ñ Ð°Ñака'},\n {id: 24, code: 'ЧС-СТ', title: 'ÐаÑÑÑение ÑиÑленного ÑоÑÑава'},\n {id: 25, code: 'ÐС-ÐÐ', title: 'ÐеÑÑандаÑÑÐ½Ð°Ñ ÐºÐ»ÑÑка'},\n {id: 26, code: 'ÐÐÐ -ÐÐ', title: 'ÐпаÑное ÑнаÑÑжение'},\n {id: 27, code: 'ÐС-ÐÐ', title: 'ÐÑкоÑбление ÑÑдей и неÑпоÑÑивное поведение'},\n {id: 28, code: 'ÐТ-ÐÐ', title: 'ÐÑказ наÑаÑÑ Ð¸Ð³ÑÑ'},\n {id: 29, code: 'ÐТСЧ', title: 'ÐÑÑеÑение'},\n {id: 30, code: 'ÐÐÐÐÐÐ', title: 'Ðлевок'},\n {id: 31, code: 'ÐÐÐÐ', title: 'Ðодножка'},\n {id: 32, code: 'ÐÐÐС', title: 'ÐодÑеÑка'},\n {id: 33, code: 'ÐÐ -ÐÐ', title: 'ÐÑедÑпÑеждение инÑекÑий'},\n {id: 34, code: 'ÐÐ-СÐ', title: 'Ðокидание Ñкамейки во вÑÐµÐ¼Ñ ÐºÐ¾Ð½ÑликÑа'},\n {id: 35, code: 'СÐ-ÐÐ ', title: 'Сдвиг воÑоÑ'},\n {id: 36, code: 'СÐÐ', title: 'СимÑлÑÑиÑ'},\n {id: 37, code: 'ТÐ-ÐÐ ', title: 'ТолÑок на боÑÑ'},\n {id: 38, code: 'ТÐ-ÐÐ', title: 'ТолÑок клÑÑкой'},\n {id: 39, code: 'УÐ-ÐÐÐ', title: 'Ð£Ð´Ð°Ñ Ð³Ð¾Ð»Ð¾Ð²Ð¾Ð¹'},\n {id: 40, code: 'УÐ-ÐÐ', title: 'Ð£Ð´Ð°Ñ ÐºÐ»ÑÑкой'},\n {id: 41, code: 'УÐ-Ð-ÐÐ', title: 'Ð£Ð´Ð°Ñ ÐºÐ¾Ð½Ñом клÑÑки'},\n {id: 42, code: 'УÐ-ÐÐÐ', title: 'Ð£Ð´Ð°Ñ ÐºÐ¾Ð»ÐµÐ½Ð¾Ð¼'},\n {id: 43, code: 'УÐ-ÐÐÐ', title: 'Ð£Ð´Ð°Ñ Ð»Ð¾ÐºÑем'},\n {id: 44, code: 'УÐ-ÐÐ', title: 'Ð£Ð´Ð°Ñ Ð½Ð¾Ð³Ð¾Ð¹'},\n {id: 45, code: 'УÐУС', title: 'УкÑÑ'},\n {id: 46, code: 'ÐÐ-ÐÐ ', title: 'ФизиÑеÑкий конÑÐ°ÐºÑ Ñо зÑиÑелем'},\n {id: 47, code: 'ШТ-ÐÐ ', title: 'ШÑÑÐ°Ñ Ð²ÑаÑаÑÑ'}\n];\n","import { HockeyPenaltyTypes } from '../localization/hockey-penalty-types';\n\nexport const MODEL_MAPPING_FIELDS_KEY = '_mapping_fields_';\nexport const MODEL_RELATION_KEY = '_relation_';\nexport const MODEL_TO_FRONT_KEY = '_to_front_';\nexport const MODEL_TO_BACK_KEY = '_to_back_';\n\ntype ParserInterface = (dto: any, path?: GraphPathInterface) => any;\n\ninterface ModelTypeInterface {\n new(data?: any);\n}\n\nexport interface ModelInterface {\n toFront(dto: any): any;\n toBack(dto: any): any;\n}\n\nexport abstract class BaseModel {\n constructor(data?: {[key: string]: any}) {\n if (data) {\n for (const key of Object.keys(data)) {\n this[key] = data[key];\n }\n }\n }\n\n static toFront(dto: any): any {\n return undefined;\n }\n\n static toBack(dto: any): any {\n return undefined;\n }\n}\n\ninterface GraphPathInterface {\n [key: string]: any;\n}\n\nexport function enumField(enumClass) {\n return {\n toFront: (value) => {\n if (isNaN(+value)) {\n return enumClass[value];\n } else {\n return value;\n }\n },\n toBack: (value) => {\n if (isNaN(+value)) {\n return value;\n } else {\n return enumClass[value];\n }\n }\n };\n}\n\nexport function penaltyTypeField() {\n return {\n toFront: (data) => {\n if (!data) {\n return null;\n }\n if (typeof data === 'object') {\n return data;\n }\n return HockeyPenaltyTypes.find(item => item.id === data);\n },\n toBack: (data) => {\n if (!data) {\n return null;\n }\n if (typeof data === 'object') {\n return data.id;\n }\n return data;\n }\n };\n}\n\nexport function listField(modelClass) {\n return {\n toFront: (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map(item => modelClass.toFront(item));\n },\n toBack: (value) => {\n if (!Array.isArray(value)) {\n return [];\n }\n return value.map(item => modelClass.toBack(item));\n }\n };\n}\n\nexport class DateField extends BaseModel {\n static toFront(date: any): any {\n if (date) {\n return new Date(date);\n } else {\n return undefined;\n }\n }\n static toBack(date: Date): any {\n if (date) {\n const dateUtc = new Date(Date.UTC(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds())\n );\n return dateUtc.toISOString().slice(0, 10);\n } else {\n return undefined;\n }\n }\n}\n\nexport class DateTimeField extends BaseModel {\n static toFront(date: any): any {\n if (date) {\n return new Date(date);\n } else {\n return undefined;\n }\n }\n static toBack(date: Date): any {\n if (date) {\n const dateUtc = new Date(Date.UTC(\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds())\n );\n return date.toISOString();\n } else {\n return undefined;\n }\n }\n}\n\nexport function ModelInstance(\n config: {\n mappingFields?: { [key: string]: string },\n relation?: { [key: string]: BaseModel }\n }\n) {\n return (target: ModelTypeInterface) => {\n if (config) {\n if (config.mappingFields) {\n target[MODEL_MAPPING_FIELDS_KEY] = config.mappingFields;\n }\n if (config.relation) {\n target[MODEL_RELATION_KEY] = config.relation;\n }\n target[MODEL_TO_FRONT_KEY] = (dto: any, path: GraphPathInterface) => {\n return toFront(target, dto, path);\n };\n target[MODEL_TO_BACK_KEY] = (dto: any, path: GraphPathInterface) => {\n return toBack(target, dto, path);\n };\n }\n };\n}\n\nexport const ToFrontHook = (target: ModelTypeInterface, key: string | symbol, descriptor: TypedPropertyDescriptor<Function>) => {\n return {\n value: (...args: any[]) => {\n const parseMethod = target[MODEL_TO_FRONT_KEY] as ParserInterface;\n if (parseMethod) {\n return parseMethod(args[0], (args.length > 1 ? args[1] : undefined));\n }\n return undefined;\n }\n };\n};\n\nexport const ToBackHook = (target: ModelTypeInterface, key: string | symbol, descriptor: TypedPropertyDescriptor<Function>) => {\n return {\n value: (...args: any[]) => {\n const parseMethod = target[MODEL_TO_BACK_KEY] as ParserInterface;\n if (parseMethod) {\n return parseMethod(args[0]);\n }\n return undefined;\n }\n };\n};\n\nfunction extractValue(key, data) {\n if (!data) {\n return undefined;\n }\n\n const keyParts = key.split('.');\n if (keyParts.length === 1) {\n if (key in data) {\n return data[key];\n } else {\n return undefined;\n }\n }\n\n for (const k of keyParts) {\n if (data && k in data) {\n data = data[k];\n } else {\n return undefined;\n }\n }\n\n return data;\n}\n\nfunction toFront(modelType: ModelTypeInterface, data: any, path?: GraphPathInterface): any {\n // Check if recursion is required\n if (Array.isArray(data)) {\n return data.map(item => {\n return toFront(modelType, item);\n });\n }\n\n const instance = new modelType();\n\n // Mapping fields\n const mappingFields = modelType[MODEL_MAPPING_FIELDS_KEY] as string[];\n const relation = modelType[MODEL_RELATION_KEY] as { [key: string]: ModelInterface };\n if (mappingFields) {\n for (const backField of Object.keys(mappingFields)) {\n const frontField = mappingFields[backField];\n const value = extractValue(backField, data);\n if (relation && relation.hasOwnProperty(frontField)) {\n instance[frontField] = relation[frontField].toFront(value);\n } else {\n instance[frontField] = value;\n }\n }\n }\n\n return instance;\n}\n\nfunction toBack(modelType: ModelTypeInterface, instance: any, path?: GraphPathInterface): any {\n if (!instance) {\n return instance;\n }\n\n // Check if recursion is required\n if (Array.isArray(instance)) {\n return instance.map(item => {\n return toBack(modelType, item);\n });\n }\n\n const data = {};\n const mappingFields = modelType[MODEL_MAPPING_FIELDS_KEY] as string[];\n const relation = modelType[MODEL_RELATION_KEY] as { [key: string]: ModelInterface };\n if (mappingFields) {\n for (const backField of Object.keys(mappingFields)) {\n const frontField = mappingFields[backField];\n if (relation && relation.hasOwnProperty(frontField) && instance[frontField] !== undefined) {\n data[backField] = relation[frontField].toBack(instance[frontField]);\n } else {\n data[backField] = instance[frontField];\n }\n }\n }\n\n return data;\n}\n","import { ModelInstance, ToFrontHook, ToBackHook, enumField, DateTimeField } from './util';\n\nexport enum FileEngine {\n django = 1,\n s3\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n original_name: 'originalName',\n path: 'path',\n resized_path: 'resizedPath',\n mime_type: 'mimeType',\n size: 'size',\n engine: 'engine',\n created_at: 'createdAt',\n },\n relation: {\n engine: enumField(FileEngine),\n createdAt: DateTimeField,\n }\n})\nexport class File {\n id: number;\n name: string;\n _originalName: string;\n _path: string;\n resizedPath: string;\n mimeType: string;\n size: number;\n engine: FileEngine;\n createdAt: Date;\n\n set originalName(name: string) {\n this._originalName = name;\n }\n\n get originalName(): string {\n return this._originalName || this.name;\n }\n\n set path(filePath: string) {\n this._path = filePath;\n }\n\n get path(): string {\n return this.resizedPath || this._path;\n }\n\n @ToFrontHook\n static toFront(data: any): File {\n return null;\n }\n\n @ToBackHook\n static toBack(file: File): any {\n return null;\n }\n}\n","import {ModelInstance, ToFrontHook, ToBackHook, BaseModel} from './util';\n\nexport enum SportTypes {\n basketball = 1,\n volleyball = 2,\n classic_basketball = 3,\n streetball = 4,\n classic_volleyball = 5,\n beach_volleyball = 6,\n hockey = 7,\n ice_hockey = 8,\n ball_hockey = 9,\n football = 10,\n classic_football = 11,\n mini_football = 12,\n handball = 13,\n handball_classic = 14,\n rugby = 15,\n rugby7 = 16,\n rugby15 = 17,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n parent_id: 'parentId',\n sub_sports: 'subSports'\n }\n})\nexport class Sport extends BaseModel {\n id: number;\n name: string;\n parentId: number;\n subSports: Sport[];\n\n isBasketball() {\n return this.id === SportTypes.basketball || this.parentId === SportTypes.basketball;\n }\n\n isClassicBasketball() {\n return this.id === SportTypes.classic_basketball;\n }\n\n isStreetball() {\n return this.id === SportTypes.streetball;\n }\n\n isVolleyball() {\n return this.id === SportTypes.volleyball || this.parentId === SportTypes.volleyball;\n }\n\n isClassicVolleyball() {\n return this.id === SportTypes.classic_volleyball;\n }\n\n isBeachVolleyball() {\n return this.id === SportTypes.beach_volleyball;\n }\n\n isHockey(): boolean {\n return this.id === SportTypes.hockey || this.parentId === SportTypes.hockey;\n }\n\n isIceHockey(): boolean {\n return this.id === SportTypes.ice_hockey;\n }\n\n isBallHockey(): boolean {\n return this.id === SportTypes.ball_hockey;\n }\n\n isFootball() {\n return this.id === SportTypes.football || this.parentId === SportTypes.football;\n }\n\n isClassicFootball() {\n return this.id === SportTypes.classic_football;\n }\n\n isMiniFootball() {\n return this.id === SportTypes.mini_football;\n }\n\n isHandball() {\n return this.id === SportTypes.handball || this.parentId === SportTypes.handball;\n }\n\n isHandballClassic() {\n return this.id === SportTypes.handball_classic;\n }\n\n isRugby() {\n return this.id === SportTypes.rugby || this.parentId === SportTypes.rugby;\n }\n\n isRugby15() {\n return this.id === SportTypes.rugby15;\n }\n\n isRugby7() {\n return this.id === SportTypes.rugby7;\n }\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(sport: Sport): any {\n return null;\n }\n}\n","import { ModelInstance, ToBackHook, ToFrontHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n height: 'height',\n weight: 'weight'\n }\n})\nexport class UserProfile {\n id: number;\n userId: number;\n height: number;\n weight: number;\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name'\n }\n})\nexport class City extends BaseModel {\n id: number;\n name: string;\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameBasketballPosition {\n point_guard = 1,\n shooting_guard,\n small_forward,\n power_forward,\n center\n}\n\nexport enum WorkHand {\n left = 1,\n right\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameBasketballPosition),\n workHand: enumField(WorkHand)\n }\n})\nexport class BasketballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameBasketballPosition;\n workHand: WorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameVolleyballPosition {\n setter = 1,\n libero,\n middle_player,\n receiver_attacker,\n dioganal\n}\n\nexport enum VolleyballWorkHand {\n left = 1,\n right\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameVolleyballPosition),\n workHand: enumField(VolleyballWorkHand)\n }\n})\nexport class VolleyballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameVolleyballPosition;\n workHand: VolleyballWorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameHockeyPosition {\n defensemen = 1,\n forward,\n goaltender\n}\n\nexport enum HockeyWorkHand {\n left = 1,\n right\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameHockeyPosition),\n workHand: enumField(HockeyWorkHand)\n }\n})\nexport class HockeyProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameHockeyPosition;\n workHand: HockeyWorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameFootballPosition {\n defensemen = 1,\n midfielder,\n forward,\n goalkeeper\n}\n\nexport enum FootballWorkFoot {\n left = 1,\n right,\n both\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_foot: 'workFoot'\n },\n relation: {\n position: enumField(GameFootballPosition),\n workFoot: enumField(FootballWorkFoot)\n }\n})\nexport class FootballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameFootballPosition;\n workFoot: FootballWorkFoot;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { WorkHand } from './basketball-profile';\n\nexport enum GameHandballPosition {\n goalkeeper = 1,\n winger,\n pivot,\n centre_back,\n fullback\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position',\n work_hand: 'workHand'\n },\n relation: {\n position: enumField(GameHandballPosition),\n workHand: enumField(WorkHand)\n }\n})\nexport class HandballProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameHandballPosition;\n workHand: WorkHand;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum GameRugbyPosition {\n front_line = 1,\n second_line,\n back_line,\n halfback,\n three_quarter,\n fullback,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n position: 'position'\n },\n relation: {\n position: enumField(GameRugbyPosition),\n }\n})\nexport class RugbyProfile extends BaseModel {\n id: number;\n userId: number;\n position: GameRugbyPosition;\n\n @ToFrontHook\n static toFront(value: any): any {\n }\n\n @ToBackHook\n static toBack(value: any): any {\n }\n}\n","import { BaseModel, DateField, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { UserProfile } from './user-profile';\nimport { File } from './file';\nimport { City } from './city';\nimport { BasketballProfile } from './basketball-profile';\nimport { VolleyballProfile } from './volleyball-profile';\nimport { HockeyProfile } from './hockey-profile';\nimport { FootballProfile } from './football-profile';\nimport { HandballProfile } from './handball-profile';\nimport { RugbyProfile } from './rugby-profile';\n\nexport enum UserGender {\n male = 1,\n female\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n last_name: 'lastName',\n first_name: 'firstName',\n middle_name: 'middleName',\n email: 'email',\n phone: 'phone',\n birth_date: 'birthDate',\n photo: 'photo',\n profile: 'profile',\n basketball_profile: 'basketballProfile',\n volleyball_profile: 'volleyballProfile',\n hockey_profile: 'hockeyProfile',\n football_profile: 'footballProfile',\n handball_profile: 'handballProfile',\n rugby_profile: 'rugbyProfile',\n wizards: 'wizards',\n city: 'city',\n gender: 'gender',\n is_active: 'isActive',\n },\n relation: {\n birthDate: DateField,\n photo: File,\n profile: UserProfile,\n basketballProfile: BasketballProfile,\n volleyballProfile: VolleyballProfile,\n hockeyProfile: HockeyProfile,\n footballProfile: FootballProfile,\n handballProfile: HandballProfile,\n rugbyProfile: RugbyProfile,\n city: City,\n gender: enumField(UserGender)\n }\n})\nexport class User extends BaseModel {\n id: number;\n lastName: string;\n firstName: string;\n middleName: string;\n email: string;\n phone: string;\n birthDate: Date;\n profile: UserProfile;\n basketballProfile: BasketballProfile;\n volleyballProfile: VolleyballProfile;\n hockeyProfile: HockeyProfile;\n footballProfile: FootballProfile;\n handballProfile: HandballProfile;\n rugbyProfile: RugbyProfile;\n photo: File;\n wizards: string[];\n city: City;\n gender: UserGender;\n isActive: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(user: User): any {\n return null;\n }\n\n get fullName(): string {\n return [this.lastName, this.firstName].filter(s => s).join(' ');\n }\n\n get shortName(): string {\n return [this.lastName, this.firstName].filter(s => s).join(' ');\n }\n\n get initials(): string {\n return [this.lastName, this.firstName].filter(s => s).map(s => s.substr(0, 1)).join('');\n }\n\n get age(): number {\n if (!this.birthDate) {\n return null;\n }\n const diff = (new Date()).getTime() - this.birthDate.getTime();\n return Math.floor(diff / (365 * 86400 * 1000));\n }\n}\n","import { ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateField } from './util';\nimport { File } from './file';\nimport { Sport } from './sport';\nimport { User } from './user';\nimport { City } from './city';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n sport: 'sport',\n logo: 'logo',\n owner: 'owner',\n city: 'city',\n users_count: 'usersCount',\n won_games_count: 'wonGamesCount',\n games_count: 'gamesCount',\n score_sum: 'scoreSum',\n closest_game_datetime: 'closestGameDatetime',\n },\n relation: {\n sport: Sport,\n logo: File,\n owner: User,\n city: City,\n closestGameDatetime: DateField,\n }\n})\nexport class Team extends BaseModel {\n id: number;\n name: string;\n sport: Sport;\n logo: File;\n owner: User;\n city: City;\n usersCount: number;\n wonGamesCount: number;\n gamesCount: number;\n scoreSum: number;\n closestGameDatetime: Date;\n\n getEmptyLogoClass(): string {\n const classList = ['empty-logo'];\n if (this.sport.isBasketball()) {\n classList.push('empty-logo-basketball');\n }\n if (this.sport.isVolleyball()) {\n classList.push('empty-logo-volleyball');\n }\n if (this.sport.isHockey()) {\n classList.push('empty-logo-hockey');\n }\n if (this.sport.isFootball()) {\n classList.push('empty-logo-football');\n }\n if (this.sport.isHandball()) {\n classList.push('empty-logo-handball');\n }\n return classList.join(' ');\n }\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(team: Team): any {\n return null;\n }\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook } from './util';\nimport { User } from './user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n owner_id: 'ownerId',\n owner: 'owner',\n },\n relation: {\n owner: User,\n }\n})\nexport class Organization extends BaseModel {\n id: number;\n ownerId: number;\n owner: User;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField } from './util';\nimport { Organization } from './organization';\nimport { File } from './file';\nimport { Sport } from './sport';\n\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n logo: 'logo',\n contact_email: 'contactEmail',\n contact_phone: 'contactPhone',\n name: 'name',\n alias: 'alias',\n sport: 'sport',\n description: 'description',\n social_links: 'socialLinks',\n links: 'links',\n organization: 'organization',\n tournaments_count: 'tournamentsCount',\n documents_count: 'documentsCount',\n closest_game_datetime: 'closestGameDatetime',\n cover: 'cover',\n about: 'about',\n },\n relation: {\n organization: Organization,\n logo: File,\n cover: File,\n sport: Sport,\n }\n})\nexport class League extends BaseModel {\n id: number;\n logo: File;\n contactEmail: string;\n contactPhone: string;\n name: string;\n alias: string;\n sport: Sport;\n description: string;\n socialLinks: string[];\n links: string[];\n organization: Organization;\n tournamentsCount: number;\n documentsCount: number;\n closestGameDatetime: string;\n cover: File;\n about: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get vkLink(): string {\n return this.socialLinks.find(link => link.indexOf('vk.com/') > -1);\n }\n\n get fbLink(): string {\n return this.socialLinks.find(link => link.indexOf('facebook.com/') > -1);\n }\n\n get instaLink(): string {\n return this.socialLinks.find(link => link.indexOf('instagram.com/') > -1);\n }\n\n get youtubeLink(): string {\n return this.socialLinks.find(link => link.indexOf('youtube.com/') > -1);\n }\n\n get telegramLink(): string {\n return this.socialLinks.find(link =>\n link.substr(0, 13) === 'https://t.me/' ||\n link.substr(0, 17) === 'https://www.t.me/'\n );\n }\n\n get tiktokLink(): string {\n return this.socialLinks.find(link => link.indexOf('tiktok.com/') > -1);\n }\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, enumField, DateField } from './util';\nimport { File } from './file';\n\nexport enum TournamentSeasonStatuses {\n open,\n in_progress,\n closed,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n alias: 'alias',\n logo: 'logo',\n cover: 'cover',\n preview_image: 'previewImage',\n status: 'status',\n start_date: 'startDate',\n closed_date: 'closedDate',\n tournaments: 'tournaments',\n },\n relation: {\n logo: File,\n cover: File,\n previewImage: File,\n status: enumField(TournamentSeasonStatuses),\n startDate: DateField,\n closedDate: DateField,\n }\n})\nexport class TournamentSeason extends BaseModel {\n id: number;\n name: string;\n alias: string;\n logo: File;\n cover: File;\n previewImage: File;\n status: TournamentSeasonStatuses;\n startDate: Date;\n closedDate: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, DateTimeField, ToBackHook, ToFrontHook } from './util';\nimport { City } from './city';\nimport { File } from './file';\nimport { League } from './league';\nimport { Sport } from './sport';\nimport { Team } from './team';\nimport { TournamentSeason } from './tournament-season';\n\nexport enum TournamentTypes {\n group = 'group',\n elimination = 'elimination',\n fiba = 'fiba'\n}\n\nexport enum TournamentStatuses {\n open,\n in_progress,\n closed,\n}\n\nexport enum TournamentGender {\n male= 1,\n female,\n all\n}\n\nexport enum BasketballStatisticTypes {\n standard = 1,\n light,\n advanced\n}\n\nexport enum VolleyballStatisticTypes {\n standard = 1,\n light,\n advanced\n}\n\nexport enum GameTimeTypes {\n clean = 1,\n dirty,\n}\n\nexport enum OvertimeTypes {\n to_score_total = 1,\n to_score_diff,\n time,\n without_overtime,\n to_first_goal,\n to_first_goal_and_bullitts,\n bullitts,\n penalties,\n time_and_penalties\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n gender: 'gender',\n age_from: 'ageFrom',\n age_to: 'ageTo',\n max_team_players: 'maxTeamPlayers',\n max_game_players: 'maxGamePlayers',\n type: 'type',\n tours_count: 'toursCount',\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_score: 'overtimeScore',\n game_type: 'gameType',\n timeout_count: 'timeoutCount',\n timeout_time: 'timeoutTime',\n substitute_count: 'substituteCount',\n game_up_to_score: 'gameUpToScore',\n volleyball_score_in_set: 'volleyballScoreInSet',\n volleyball_score_in_last_set: 'volleyballScoreInLastSet',\n manage_team_application: 'manageTeamApplication',\n recruitment_is_open: 'recruitmentIsOpen',\n transfer_is_open: 'transferIsOpen',\n basketball_statistic_type: 'basketballStatisticType',\n volleyball_statistic_type: 'volleyballStatisticType',\n shot_clock_enabled: 'shotClockEnabled',\n game_time_type: 'gameTimeType',\n with_result_table: 'withResultTable',\n free_substitute_enabled: 'freeSubstituteEnabled',\n bonus_points_enabled: 'bonusPointsEnabled',\n },\n relation: {\n type: enumField(TournamentTypes),\n gender: enumField(TournamentGender),\n basketballStatisticType: enumField(BasketballStatisticTypes),\n volleyballStatisticType: enumField(VolleyballStatisticTypes),\n gameTimeType: enumField(GameTimeTypes),\n overtimeType: enumField(OvertimeTypes),\n }\n})\nexport class TournamentSettings extends BaseModel {\n id: number;\n gender: TournamentGender;\n ageFrom: number;\n ageTo: number;\n maxTeamPlayers: number;\n maxGamePlayers: number;\n type: TournamentTypes;\n toursCount: number;\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimeScore: number;\n gameType: string;\n timeoutCount: number;\n timeoutTime: number;\n substituteCount: number;\n gameUpToScore: number;\n volleyballScoreInSet: number;\n volleyballScoreInLastSet: number;\n manageTeamApplication: boolean;\n recruitmentIsOpen: boolean;\n transferIsOpen: boolean;\n basketballStatisticType: BasketballStatisticTypes;\n volleyballStatisticType: VolleyballStatisticTypes;\n shotClockEnabled: boolean;\n gameTimeType: GameTimeTypes;\n withResultTable: boolean;\n freeSubstituteEnabled: boolean;\n bonusPointsEnabled: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n tournament_id: 'tournamentId',\n name: 'name',\n logo: 'logo',\n team: 'team',\n points: 'points',\n },\n relation: {\n logo: File,\n team: Team,\n }\n})\nexport class TournamentTeamWinner extends BaseModel {\n id: number;\n teamId: number;\n tournamentId: number;\n name: string;\n logo: File;\n team: Team;\n points: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n alias: 'alias',\n logo: 'logo',\n cover: 'cover',\n preview_image: 'previewImage',\n city: 'city',\n sport: 'sport',\n location: 'location',\n description: 'description',\n date: 'date',\n price: 'price',\n regulation_files: 'regulationFiles',\n settings: 'settings',\n league: 'league',\n teams_count: 'teamsCount',\n closest_game_datetime: 'closestGameDatetime',\n status: 'status',\n team_winner: 'teamWinner',\n team_second: 'teamSecond',\n team_third: 'teamThird',\n season: 'season',\n season_id: 'seasonId',\n },\n relation: {\n logo: File,\n cover: File,\n previewImage: File,\n city: City,\n sport: Sport,\n regulationFile: File,\n settings: TournamentSettings,\n date: DateTimeField,\n league: League,\n status: enumField(TournamentStatuses),\n teamWinner: TournamentTeamWinner,\n teamSecond: TournamentTeamWinner,\n teamThird: TournamentTeamWinner,\n season: TournamentSeason,\n }\n})\nexport class Tournament extends BaseModel {\n id: number;\n name: string;\n alias: string;\n logo: File;\n cover: File;\n previewImage: File;\n city: City;\n sport: Sport;\n location: string;\n description: string;\n date: Date;\n price: number;\n regulationFiles: File[];\n settings: TournamentSettings;\n league: League;\n teamsCount: number;\n closestGameDatetime: string;\n status: TournamentStatuses;\n teamWinner: TournamentTeamWinner;\n teamSecond: TournamentTeamWinner;\n teamThird: TournamentTeamWinner;\n season: TournamentSeason;\n seasonId: number;\n\n getEmptyLogoClass(): string {\n const classList = ['empty-logo'];\n if (this.sport.isBasketball()) {\n classList.push('empty-logo-basketball');\n }\n if (this.sport.isVolleyball()) {\n classList.push('empty-logo-volleyball');\n }\n if (this.sport.isHockey()) {\n classList.push('empty-logo-hockey');\n }\n if (this.sport.isFootball()) {\n classList.push('empty-logo-football');\n }\n return classList.join(' ');\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { BasketballStatisticTypes, GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n game_up_to_score: 'gameUpToScore',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_score: 'overtimeScore',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n statistic_type: 'statisticType',\n shot_clock_enabled: 'shotClockEnabled',\n game_time_type: 'gameTimeType',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n statisticType: enumField(BasketballStatisticTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class BasketballGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n gameUpToScore: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimeScore: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n statisticType: BasketballStatisticTypes;\n shotClockEnabled: boolean;\n gameTimeType: GameTimeTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { VolleyballStatisticTypes } from './tournament';\n\nexport enum VolleyballGameTypes {\n best_of_five = 1,\n best_of_three\n}\n\n@ModelInstance({\n mappingFields: {\n game_type: 'gameType',\n timeout_count: 'timeoutCount',\n timeout_time: 'timeoutTime',\n substitute_count: 'substituteCount',\n score_in_set: 'scoreInSet',\n score_in_last_set: 'scoreInLastSet',\n statistic_type: 'statisticType',\n libero_user_ids: 'liberoUserIds',\n },\n relation: {\n gameType: enumField(VolleyballGameTypes),\n statisticType: enumField(VolleyballStatisticTypes),\n }\n})\nexport class VolleyballGameConfig extends BaseModel {\n gameType: VolleyballGameTypes;\n timeoutCount: number;\n timeoutTime: number;\n substituteCount: number;\n scoreInSet: number;\n scoreInLastSet: number;\n statisticType: VolleyballStatisticTypes;\n liberoUserIds: number[];\n\n get setsCount(): number {\n return this.gameType === VolleyballGameTypes.best_of_three ? 3 : 5;\n }\n\n getSetMaxScore(set: number) {\n return set === this.setsCount ? this.scoreInLastSet : this.scoreInSet;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n address: 'address',\n league_id: 'leagueId'\n }\n})\nexport class LeagueCourt extends BaseModel {\n id: number;\n name: string;\n address: string;\n leagueId: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n original_photo: 'originalPhoto',\n list_photo: 'listPhoto',\n detail_photo: 'detailPhoto',\n game: 'game',\n tournament: 'tournament',\n game_id: 'gameId',\n tournament_id: 'tournament_id',\n video_url: 'videoUrl',\n video_preview: 'videoPreview',\n is_live: 'isLive',\n },\n relation: {\n originalPhoto: File,\n listPhoto: File,\n detailPhoto: File,\n videoPreview: File\n }\n})\nexport class MediaItem extends BaseModel {\n id: number;\n originalPhoto: File;\n listPhoto: File;\n detailPhoto: File;\n gameId: number;\n tournamentId: number;\n videoUrl: string;\n videoPreview: File;\n isLive: boolean;\n\n get isVideo(): boolean {\n return Boolean(this.videoUrl);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n game_time_type: 'gameTimeType',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class HockeyGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n gameTimeType: GameTimeTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get overtimePeriod(): number {\n return this.periodsCount + 1;\n }\n\n get bullitsPeriod(): number {\n return this.periodsCount + 2;\n }\n\n get playoffBullitsPeriod(): number {\n return this.periodsCount + 3;\n }\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_periods: 'overtimePeriods',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n game_time_type: 'gameTimeType',\n substitute_count: 'substituteCount',\n free_substitute_enabled: 'freeSubstituteEnabled',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class FootballGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimePeriods: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n gameTimeType: GameTimeTypes;\n substituteCount: number;\n freeSubstituteEnabled: boolean;\n\n get penaltyPeriod(): number {\n if (this.overtimeType !== OvertimeTypes.time_and_penalties) {\n return +this.periodsCount + 1;\n }\n return +this.periodsCount + this.overtimePeriods + 1;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n max_game_players: 'maxGamePlayers',\n timeout_count: 'timeoutCount',\n overtime_timeout_count: 'overtimeTimeoutCount',\n timeout_time: 'timeoutTime',\n game_time_type: 'gameTimeType',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class HandballGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n maxGamePlayers: number;\n timeoutCount: number;\n overtimeTimeoutCount: number;\n timeoutTime: number;\n gameTimeType: GameTimeTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","export function generateArray(length: number): number[] {\n if (length <= 0) {\n return [];\n }\n return Array.apply(null, Array(length)).map((_, i) => i + 1);\n}\n\nexport function getArrayChunks(array: any[], length: number): any[][] {\n const chunks = [];\n const chunkLength = Math.ceil(array.length / length);\n if (chunkLength === 0) {\n return [array];\n }\n for (let i = 0; i < chunkLength; i++) {\n chunks.push(array.slice(i * length, (i + 1) * length));\n }\n return chunks;\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { generateArray } from '../utils/array';\n\nexport enum PlayoffTypes {\n double_elimination = 'double_elimination',\n elimination = 'elimination'\n}\n\n@ModelInstance({\n mappingFields: {\n rounds: 'rounds',\n final_rounds: 'finalRounds',\n third_place_rounds: 'thirdPlaceRounds',\n teams_count: 'teamsCount',\n type: 'type',\n min_player_games_count: 'minPlayerGamesCount',\n min_player_time: 'minPlayerTime',\n },\n relation: {\n type: enumField(PlayoffTypes)\n }\n})\nexport class PlayoffSettings extends BaseModel {\n rounds: number;\n finalRounds: number;\n thirdPlaceRounds: number;\n teamsCount: number;\n type: PlayoffTypes;\n minPlayerGamesCount: number;\n minPlayerTime: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n settings: 'settings',\n tournament_id: 'tournamentId',\n tournament_stage_id: 'tournamentStageId',\n is_official: 'isOfficial'\n },\n relation: {\n settings: PlayoffSettings\n }\n})\nexport class Playoff extends BaseModel {\n id: number;\n name: string;\n settings: PlayoffSettings;\n tournamentId: number;\n tournamentStageId: number;\n isOfficial: boolean;\n private stages: {title: string, value: number}[] = [];\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get stagesCount(): number {\n return Math.log(this.settings.teamsCount) / Math.log(2);\n }\n\n getPlayoffStages() {\n if (this.stages.length === 0 && this.settings.teamsCount) {\n const stagesCount = Math.log(this.settings.teamsCount) / Math.log(2);\n this.stages = generateArray(stagesCount).map(stage => {\n const playoffStage = this.settings.teamsCount / 2 ** stage;\n let title = '';\n if (playoffStage === 1) {\n title = 'Финал';\n } else {\n title = `1 / ${playoffStage}`;\n }\n return {\n value: stage,\n title\n };\n });\n }\n return this.stages;\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { TournamentTeam } from './tournament-team';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n sort: 'sort',\n tournament_stage_id: 'tournamentStageId'\n }\n})\nexport class TournamentGroup extends BaseModel {\n id: number;\n name: string;\n sort: number;\n tournamentStageId: number;\n teams: TournamentTeam[];\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { GameTimeTypes, OvertimeTypes } from './tournament';\n\n@ModelInstance({\n mappingFields: {\n periods_count: 'periodsCount',\n period_time: 'periodTime',\n overtime_type: 'overtimeType',\n overtime_time: 'overtimeTime',\n overtime_periods: 'overtimePeriods',\n max_game_players: 'maxGamePlayers',\n game_time_type: 'gameTimeType',\n substitute_count: 'substituteCount',\n free_substitute_enabled: 'freeSubstituteEnabled',\n },\n relation: {\n overtimeType: enumField(OvertimeTypes),\n gameTimeType: enumField(GameTimeTypes),\n }\n})\nexport class RugbyGameConfig extends BaseModel {\n periodsCount: number;\n periodTime: number;\n overtimeType: OvertimeTypes;\n overtimeTime: number;\n overtimePeriods: number;\n maxGamePlayers: number;\n gameTimeType: GameTimeTypes;\n substituteCount: number;\n freeSubstituteEnabled: boolean;\n\n get penaltyPeriod(): number {\n if (this.overtimeType !== OvertimeTypes.time_and_penalties) {\n return +this.periodsCount + 1;\n }\n return +this.periodsCount + this.overtimePeriods + 1;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField, listField } from './util';\nimport { Team } from './team';\nimport { BasketballGameConfig } from './basketball-game-config';\nimport { VolleyballGameConfig } from './volleyball-game-config';\nimport { LeagueCourt } from './league-court';\nimport { MediaItem } from './media-item';\nimport { HockeyGameConfig } from './hockey-game-config';\nimport { Tournament } from './tournament';\nimport { FootballGameConfig } from './football-game-config';\nimport { HandballGameConfig } from './handball-game-config';\nimport { Playoff } from './playoff';\nimport { TournamentGroup } from './tournament-group';\nimport { File } from './file';\nimport { RugbyGameConfig } from \"./rugby-game-config\";\n\nexport enum GameStatuses {\n open = 1,\n in_progress,\n closed,\n archived,\n draft\n}\n\nexport enum GameResultTypes {\n team_won = 1,\n competitor_team_won,\n team_technical_defeat,\n competitor_team_technical_defeat\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n logo: 'logo',\n },\n relation: {\n logo: File\n }\n})\nexport class TournamentTeamShort extends BaseModel {\n id: number;\n name: string;\n logo: File;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n status: 'status',\n team: 'team',\n tournament_team: 'tournamentTeam',\n tournament_team_id: 'tournamentTeamId',\n team_id: 'teamId',\n competitor_team: 'competitorTeam',\n competitor_tournament_team: 'competitorTournamentTeam',\n competitor_tournament_team_id: 'competitorTournamentTeamId',\n competitor_team_id: 'competitorTeamId',\n competitor_team_name: 'competitorTeamName',\n datetime: 'datetime',\n location: 'location',\n team_score: 'teamScore',\n competitor_team_score: 'competitorTeamScore',\n result_type: 'resultType',\n playoff_number: 'playoffNumber',\n tournament_id: 'tournamentId',\n tournament_tour: 'tournamentTour',\n game_config: 'gameConfig',\n basketball_game_config: 'basketballGameConfig',\n volleyball_game_config: 'volleyballGameConfig',\n hockey_game_config: 'hockeyGameConfig',\n football_game_config: 'footballGameConfig',\n handball_game_config: 'handballGameConfig',\n rugby_game_config: 'rugbyGameConfig',\n score_by_period: 'scoreByPeriod',\n playoff_stage: 'playoffStage',\n playoff_round: 'playoffRound',\n tournament_stage_id: 'tournamentStageId',\n tournament_playoff_id: 'tournamentPlayoffId',\n tournament_playoff: 'tournamentPlayoff',\n tournament_court: 'tournamentCourt',\n media_count: 'mediaCount',\n media_live_count: 'mediaLiveCount',\n media: 'media',\n tournament: 'tournament',\n tournament_group: 'tournamentGroup',\n },\n relation: {\n status: enumField(GameStatuses),\n team: Team,\n tournamentTeam: TournamentTeamShort,\n competitorTeam: Team,\n competitorTournamentTeam: TournamentTeamShort,\n datetime: DateTimeField,\n resultType: enumField(GameResultTypes),\n basketballGameConfig: BasketballGameConfig,\n volleyballGameConfig: VolleyballGameConfig,\n hockeyGameConfig: HockeyGameConfig,\n footballGameConfig: FootballGameConfig,\n handballGameConfig: HandballGameConfig,\n tournamentPlayoff: Playoff,\n tournamentCourt: LeagueCourt,\n media: listField(MediaItem),\n tournament: Tournament,\n tournamentGroup: TournamentGroup,\n }\n})\nexport class Game extends BaseModel {\n private _basketballGameConfig: BasketballGameConfig;\n private _volleyballGameConfig: VolleyballGameConfig;\n private _hockeyGameConfig: HockeyGameConfig;\n private _footballGameConfig: FootballGameConfig;\n private _handballGameConfig: HandballGameConfig;\n private _rugbyGameConfig: RugbyGameConfig;\n\n id: number;\n status: GameStatuses;\n team: Team;\n tournamentTeam: TournamentTeamShort;\n teamId: number;\n tournamentTeamId: number;\n competitorTeam: Team;\n competitorTournamentTeam: TournamentTeamShort;\n competitorTeamId: number;\n competitorTournamentTeamId: number;\n competitorTeamName: string;\n gameConfig: any;\n datetime: Date;\n location: string;\n teamScore: number;\n competitorTeamScore: number;\n resultType: GameResultTypes;\n playoffNumber: string;\n tournamentId: number;\n tournamentTour: number;\n scoreByPeriod: any;\n playoffStage: string;\n playoffRound: number;\n tournamentStageId: number;\n tournamentPlayoffId: number;\n tournamentPlayoff: Playoff;\n tournamentCourt: LeagueCourt;\n mediaCount: number;\n mediaLiveCount: number;\n media: MediaItem[];\n tournament: Tournament;\n tournamentGroup: TournamentGroup;\n\n get basketballGameConfig(): BasketballGameConfig {\n if (this._basketballGameConfig && this._basketballGameConfig.periodsCount) {\n return this._basketballGameConfig;\n }\n if (this.gameConfig) {\n this._basketballGameConfig = BasketballGameConfig.toFront(this.gameConfig);\n }\n return this._basketballGameConfig;\n }\n\n set basketballGameConfig(value) {\n this._basketballGameConfig = value;\n }\n\n get volleyballGameConfig(): VolleyballGameConfig {\n if (this._volleyballGameConfig && this._volleyballGameConfig.setsCount) {\n return this._volleyballGameConfig;\n }\n if (this.gameConfig) {\n this._volleyballGameConfig = VolleyballGameConfig.toFront(this.gameConfig);\n }\n return this._volleyballGameConfig;\n }\n\n set volleyballGameConfig(value) {\n this._volleyballGameConfig = value;\n }\n\n get hockeyGameConfig(): HockeyGameConfig {\n if (this._hockeyGameConfig && this._hockeyGameConfig.periodsCount) {\n return this._hockeyGameConfig;\n }\n if (this.gameConfig) {\n this._hockeyGameConfig = HockeyGameConfig.toFront(this.gameConfig);\n }\n return this._hockeyGameConfig;\n }\n\n set hockeyGameConfig(value) {\n this._hockeyGameConfig = value;\n }\n\n get handballGameConfig(): HandballGameConfig {\n if (this._handballGameConfig && this._handballGameConfig.periodsCount) {\n return this._handballGameConfig;\n }\n if (this.gameConfig) {\n this._handballGameConfig = HandballGameConfig.toFront(this.gameConfig);\n }\n return this._handballGameConfig;\n }\n\n set handballGameConfig(value) {\n this._handballGameConfig = value;\n }\n\n get footballGameConfig(): FootballGameConfig {\n if (this._footballGameConfig && this._footballGameConfig.periodsCount) {\n return this._footballGameConfig;\n }\n if (this.gameConfig) {\n this._footballGameConfig = FootballGameConfig.toFront(this.gameConfig);\n }\n return this._footballGameConfig;\n }\n\n set footballGameConfig(value) {\n this._footballGameConfig = value;\n }\n\n get rugbyGameConfig(): RugbyGameConfig {\n if (this._rugbyGameConfig && this._rugbyGameConfig.periodsCount) {\n return this._rugbyGameConfig;\n }\n if (this.gameConfig) {\n this._rugbyGameConfig = RugbyGameConfig.toFront(this.gameConfig);\n }\n return this._rugbyGameConfig;\n }\n\n set rugbyGameConfig(value) {\n this._rugbyGameConfig = value;\n }\n\n get scoreByPeriodList(): {period: number, teamScore: number, competitorTeamScore: number}[] {\n if (!this.scoreByPeriod) {\n return [];\n }\n return Object.keys(this.scoreByPeriod).map(period => ({\n period: +period,\n teamScore: this.scoreByPeriod[period][0],\n competitorTeamScore: this.scoreByPeriod[period][1]\n }));\n }\n\n get isClosed(): boolean {\n return this.status === GameStatuses.closed;\n }\n\n get isTeamWon() {\n return [GameResultTypes.team_won, GameResultTypes.competitor_team_technical_defeat].includes(this.resultType);\n }\n\n get isCompetitorTeamWon() {\n return [GameResultTypes.competitor_team_won, GameResultTypes.team_technical_defeat].includes(this.resultType);\n }\n\n get teamWinnerId() {\n if (!this.isClosed) {\n return null;\n }\n if (this.isTeamWon) {\n return this.team.id;\n }\n if (this.isCompetitorTeamWon) {\n return this.competitorTeam.id;\n }\n return null;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","export function updateItemInArray(data: any[], item: any, force = false, checkFunction?: (item: any) => boolean): any[] {\n if (!Array.isArray(data)) {\n return data;\n }\n return data.map(v => {\n if (checkFunction && isFunction(checkFunction)) {\n if (!checkFunction(v)) {\n return v;\n }\n } else if (v.id !== item.id) {\n return v;\n }\n if (v.updatedAt && item.updatedAt && !force) {\n return v.updatedAt > item.updatedAt ? v : item;\n }\n return item;\n });\n}\n\nexport function updateItemsInArray(data: any[], items: any[], force: boolean = false, checkFunction?: (item: any) => boolean): any[] {\n items.forEach(item => {\n data = updateItemInArray(data, item, force, checkFunction);\n });\n return data;\n}\n\nexport function patchItemInArray(data: any[], item: any, checkFunction?: (item: any) => boolean): any[] {\n if (!Array.isArray(data)) {\n return data;\n }\n return data.map(v => {\n if (checkFunction && isFunction(checkFunction)) {\n if (!checkFunction(v)) {\n return v;\n }\n } else if (v.id !== item.id) {\n return v;\n }\n return Object.assign(v, item);\n });\n}\n\nexport function addItemInArray(data: any[], item: any, atEnd: boolean = false, checkFunction?: (item: any) => boolean): any[] {\n if (!Array.isArray(data)) {\n return [item];\n }\n if (data.find(i => isFunction(checkFunction) ? checkFunction(i) : i.id === item.id)) {\n return data;\n }\n\n return atEnd\n ? [...data, item]\n : [item, ...data];\n}\n\nexport function addItemsInArray(data: any[], items: any[], atEnd: boolean = false, checkFunction?: (item: any) => boolean): any[] {\n (!atEnd\n ? Object.assign([], items).reverse()\n : items\n ).forEach(item => {\n data = addItemInArray(data, item, atEnd, checkFunction);\n });\n return data;\n}\n\nexport function deleteItemFromArray(data: any[], item: any): any[] {\n if (!Array.isArray(data)) {\n return [];\n }\n if (isFunction(item)) {\n return data.filter(i => !item(i));\n } else {\n return data.filter(v => v.id !== item.id);\n }\n}\n\nfunction isFunction(functionToCheck) {\n return functionToCheck && {}.toString.call(functionToCheck) === '[object Function]';\n}\n","import { BehaviorSubject, Observable } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { addItemInArray, addItemsInArray, deleteItemFromArray, updateItemInArray, updateItemsInArray } from '../utils/data';\nimport { StorageEngine } from './storage-engine';\n\nexport class Store {\n private data: {[key: string]: BehaviorSubject<any>} = {};\n\n constructor(private engine?: StorageEngine) {\n }\n\n get(key: string): Observable<any> {\n return this.getSubject(key).pipe(filter(item => item !== undefined));\n }\n\n value(key: string): any {\n return this.getSubject(key).value;\n }\n\n save(key: string, value: any): void {\n this.getSubject(key).next(value);\n if (this.engine) {\n this.engine.save(key, value);\n }\n }\n\n appendItem(key: string, value: any, checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemInArray(this.value(key) || [], value, true, checkFunction));\n }\n\n appendItems(key: string, value: any[], checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemsInArray(this.value(key) || [], value, true));\n }\n\n prependItem(key: string, value: any, checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemInArray(this.value(key) || [], value, false, checkFunction));\n }\n\n prependItems(key: string, value: any[], checkFunction?: (item: any) => boolean): void {\n this.save(key, addItemsInArray(this.value(key) || [], value, false, checkFunction));\n }\n\n updateItem(key: string, value: any, force?: boolean, checkFunction?: (item: any) => boolean): void {\n this.save(key, updateItemInArray(this.value(key) || [], value, force, checkFunction));\n }\n\n updateItems(key: string, value: any, force?: boolean, checkFunction?: (item: any) => boolean): void {\n this.save(key, updateItemsInArray(this.value(key) || [], value, force, checkFunction));\n }\n\n deleteItem(key: string, value: any): void {\n this.save(key, deleteItemFromArray(this.value(key) || [], value));\n }\n\n dispose(): void {\n for (const key of Object.keys(this.data)) {\n this.data[key].complete();\n delete this.data[key];\n }\n }\n\n clearStorageData(): void {\n if (this.engine) {\n this.engine.clear();\n }\n }\n\n getEngine(): StorageEngine {\n return this.engine;\n }\n\n private getSubject(key: string): BehaviorSubject<any> {\n if (!this.data[key]) {\n this.data[key] = new BehaviorSubject<any>(this.engine ? this.engine.get(key) : undefined);\n }\n return this.data[key];\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '../storage/store';\n\n@Injectable({providedIn: 'root'})\nexport class BaseService {\n protected store = new Store();\n\n dispose(): void {\n this.store.dispose();\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { BaseService } from './base.service';\n\nconst CONFIG_STORE_KEY = 'config';\n\nexport const CONFIG_DATA = 'mtg-core-config-data';\n\n@Injectable({providedIn: 'root'})\nexport class ConfigService extends BaseService {\n constructor(\n @Optional() @Inject(CONFIG_DATA) private configData: any\n ) {\n super();\n if (configData) {\n this.initialize(configData);\n }\n }\n\n get config$() {\n return this.store.get(CONFIG_STORE_KEY);\n }\n\n get config() {\n return this.store.value(CONFIG_STORE_KEY) || {};\n }\n\n initialize(data: any): void {\n this.store.save(CONFIG_STORE_KEY, data);\n }\n\n set(key: string, value: any): void {\n this.store.save(CONFIG_STORE_KEY, {\n ...this.config,\n [key]: value\n });\n }\n\n get(key: string): any {\n return this.store.value(CONFIG_STORE_KEY) && this.store.value(CONFIG_STORE_KEY)[key];\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { Team } from './team';\nimport { TournamentGroup } from './tournament-group';\nimport { Game } from './game';\nimport { Tournament } from './tournament';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n logo: 'logo',\n team_id: 'teamId',\n tournament_id: 'tournamentId',\n tournament: 'tournament',\n team: 'team',\n group: 'group',\n final_standing: 'finalStanding',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n draw_games_count: 'drawGamesCount',\n lose_games_count: 'loseGamesCount',\n last_games_count: 'lastGamesCount',\n last_games_won: 'lastGamesWon',\n score_sum: 'scoreSum',\n missed_sum: 'missedSum',\n score_points_sum: 'scorePointsSum',\n missed_points_sum: 'missedPointsSum',\n points: 'points',\n users_count: 'usersCount',\n games: 'games',\n notifications_count: 'notificationsCount',\n win_normal_time_games_count: 'winNormalTimeGamesCount',\n lose_normal_time_games_count: 'loseNormalTimeGamesCount',\n win_overtime_games_count: 'winOvertimeGamesCount',\n lose_overtime_games_count: 'loseOvertimeGamesCount',\n last_five_games: 'lastFiveGames',\n tries_scored: 'triesScored',\n tries_missed: 'triesMissed',\n attack_bonuses: 'attackBonuses',\n defense_bonuses: 'defenseBonuses',\n },\n relation: {\n logo: File,\n tournament: Tournament,\n team: Team,\n group: TournamentGroup,\n games: Game,\n lastFiveGames: Game,\n }\n})\nexport class TournamentTeam extends BaseModel {\n id: number;\n name: string;\n logo: File;\n teamId: number;\n tournamentId: number;\n tournament: Tournament;\n team: Team;\n group: TournamentGroup;\n finalStanding: number;\n gamesCount: number;\n wonGamesCount: number;\n loseGamesCount: number;\n drawGamesCount: number;\n lastGamesCount: number;\n lastGamesWon: number;\n scoreSum: number;\n missedSum: number;\n scorePointsSum: number;\n missedPointsSum: number;\n points: number;\n usersCount: number;\n games: Game[];\n notificationsCount: number;\n winNormalTimeGamesCount: number;\n loseNormalTimeGamesCount: number;\n winOvertimeGamesCount: number;\n loseOvertimeGamesCount: number;\n lastFiveGames: Game[];\n triesScored: number;\n triesMissed: number;\n attackBonuses: number;\n defenseBonuses: number;\n\n get gamesWonPercent(): number {\n if (!this.gamesCount) {\n return 0;\n }\n return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { User } from './user';\nimport { Team } from './team';\n\nexport enum TeamUserRole {\n member = 1,\n moderator,\n admin,\n coach,\n head_coach,\n playing_coach,\n manager,\n head_manager,\n captain,\n assistant,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n user: 'user',\n role: 'role',\n number: 'number',\n team: 'team',\n },\n relation: {\n user: User,\n team: Team,\n role: enumField(TeamUserRole)\n }\n})\nexport class TeamUser extends BaseModel {\n id: number;\n teamId: number;\n user: User;\n team: Team;\n number: number;\n role: TeamUserRole;\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(teamPlayer: TeamUser): any {\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team_user_id: 'tournamentTeamUserId',\n date_from: 'dateFrom',\n date_to: 'dateTo',\n matches_count: 'matchesCount',\n },\n relation: {\n dateFrom: DateField,\n dateTo: DateField,\n }\n})\nexport class TournamentDisqualification extends BaseModel {\n id: number;\n tournamentTeamUserId: number;\n dateFrom: Date;\n dateTo: Date;\n matchesCount: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';\nimport { File } from './file';\nimport { User } from './user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n league_id: 'leagueId',\n first_name: 'firstName',\n last_name: 'lastName',\n middle_name: 'middleName',\n birth_date: 'birthDate',\n photo: 'photo',\n user: 'user',\n has_changes: 'hasChanges',\n rating: 'rating',\n },\n relation: {\n birthDate: DateField,\n photo: File,\n user: User,\n }\n})\nexport class LeaguePlayer extends BaseModel {\n id: number;\n userId: number;\n leagueId: number;\n firstName: string;\n lastName: string;\n middleName: string;\n birthDate: Date;\n photo: File;\n user: User;\n hasChanges: boolean;\n rating: number;\n\n get fullName(): string {\n return [this.lastName, this.firstName, this.middleName].filter(s => s).join(' ');\n }\n\n get shortName(): string {\n return [this.lastName, this.firstName].filter(s => s).join(' ');\n }\n\n get initials(): string {\n return [this.lastName, this.firstName].filter(s => s).map(s => s.substr(0, 1)).join('');\n }\n\n get age(): number {\n if (!this.birthDate) {\n return null;\n }\n const diff = (new Date()).getTime() - this.birthDate.getTime();\n return Math.floor(diff / (365 * 86400 * 1000));\n }\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { TournamentTeam } from './tournament-team';\nimport { TeamUser } from './team-user';\nimport { TournamentDisqualification } from './tournament-disqualification';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team: 'tournamentTeam',\n team_user: 'teamUser',\n disqualified: 'disqualified',\n disqualification: 'disqualification',\n league_player: 'leaguePlayer',\n },\n relation: {\n tournamentTeam: TournamentTeam,\n teamUser: TeamUser,\n disqualification: TournamentDisqualification,\n leaguePlayer: LeaguePlayer,\n }\n})\nexport class TournamentTeamUser extends BaseModel {\n id: number;\n tournamentTeam: TournamentTeam;\n teamUser: TeamUser;\n disqualified: boolean;\n disqualification: TournamentDisqualification;\n leaguePlayer: LeaguePlayer;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n points: 'points',\n two_points_made: 'twoPointsMade',\n three_points_made: 'threePointsMade',\n free_throws_made: 'freeThrowsMade',\n one_points_made: 'onePointsMade',\n two_point_attempts: 'twoPointAttempts',\n three_point_attempts: 'threePointAttempts',\n free_throw_attempts: 'freeThrowAttempts',\n one_point_attempts: 'onePointAttempts',\n two_point_percent: 'twoPointPercent',\n three_point_percent: 'threePointPercent',\n free_throw_percent: 'freeThrowPercent',\n one_point_percent: 'onePointPercent',\n assists: 'assists',\n blocks: 'blocks',\n rebounds: 'rebounds',\n offensive_rebounds: 'offensiveRebounds',\n defensive_rebounds: 'defensiveRebounds',\n steals: 'steals',\n turnovers: 'turnovers',\n personal_fouls: 'personalFouls',\n technical_fouls: 'technicalFouls',\n unsportsmanlike_fouls: 'unsportsmanlikeFouls',\n game_time: 'gameTime',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class BasketballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n points: number;\n twoPointsMade: number;\n threePointsMade: number;\n freeThrowsMade: number;\n onePointsMade: number;\n twoPointAttempts: number;\n threePointAttempts: number;\n freeThrowAttempts: number;\n onePointAttempts: number;\n twoPointPercent: number;\n threePointPercent: number;\n freeThrowPercent: number;\n onePointPercent: number;\n assists: number;\n blocks: number;\n rebounds: number;\n offensiveRebounds: number;\n defensiveRebounds: number;\n steals: number;\n turnovers: number;\n personalFouls: number;\n technicalFouls: number;\n unsportsmanlikeFouls: number;\n gameTime: number;\n newbie: boolean;\n rank: number;\n\n get totalFouls() {\n return this.personalFouls + this.technicalFouls + this.unsportsmanlikeFouls;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { BasketballStatistic } from './basketball-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: BasketballStatistic,\n competitorTeam: BasketballStatistic\n }\n})\nexport class BasketballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: BasketballStatistic;\n competitorTeam: BasketballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n points: 'points',\n free_throws_made: 'freeThrowsMade',\n two_points_made: 'twoPointsMade',\n three_points_made: 'threePointsMade',\n one_points_made: 'onePointsMade',\n two_point_attempts: 'twoPointAttempts',\n three_point_attempts: 'threePointAttempts',\n free_throw_attempts: 'freeThrowAttempts',\n one_point_attempts: 'onePointAttempts',\n assists: 'assists',\n blocks: 'blocks',\n rebounds: 'rebounds',\n offensive_rebounds: 'offensiveRebounds',\n defensive_rebounds: 'defensiveRebounds',\n steals: 'steals',\n turnovers: 'turnovers',\n personal_fouls: 'personalFouls',\n technical_fouls: 'technicalFouls',\n unsportsmanlike_fouls: 'unsportsmanlikeFouls',\n updated_at: 'updatedAt',\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class BasketballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n freeThrowsMade: number;\n twoPointsMade: number;\n threePointsMade: number;\n onePointsMade: number;\n twoPointAttempts: number;\n threePointAttempts: number;\n freeThrowAttempts: number;\n onePointAttempts: number;\n assists: number;\n blocks: number;\n rebounds: number;\n offensiveRebounds: number;\n defensiveRebounds: number;\n steals: number;\n turnovers: number;\n personalFouls: number;\n technicalFouls: number;\n unsportsmanlikeFouls: number;\n updatedAt: Date;\n\n get id(): number {\n return this.gameUserId;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n\n get totalFouls(): number {\n return (this.personalFouls || 0) + (this.technicalFouls || 0) + (this.unsportsmanlikeFouls || 0);\n }\n}\n","import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField } from './util';\nimport { GameUser } from './game-user';\nimport { GameLogBase } from './game-log-base';\n\nexport enum BasketballGameLogTypes {\n enter_game = 1,\n exit_game,\n remove_game,\n two_point_made,\n three_point_made,\n free_throw_made,\n two_point_attempt,\n three_point_attempt,\n free_throw_attempt,\n assist,\n block,\n rebound,\n offensive_rebound,\n defensive_rebound,\n steal,\n turnover,\n personal_foul,\n technical_foul,\n unsportsmanlike_foul,\n one_point_attempt,\n one_point_made,\n timeout,\n team_rebound,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(BasketballGameLogTypes),\n }\n})\nexport class BasketballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: BasketballGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n combined: BasketballGameLog;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n\n isPointsType() {\n return [\n BasketballGameLogTypes.two_point_made,\n BasketballGameLogTypes.three_point_made,\n BasketballGameLogTypes.free_throw_made,\n BasketballGameLogTypes.one_point_made,\n ].indexOf(this.logType) > -1;\n }\n\n isReboundType() {\n return [\n BasketballGameLogTypes.rebound,\n BasketballGameLogTypes.offensive_rebound,\n BasketballGameLogTypes.defensive_rebound\n ].indexOf(this.logType) > -1;\n }\n\n isFoulType() {\n return [\n BasketballGameLogTypes.personal_foul,\n BasketballGameLogTypes.technical_foul,\n BasketballGameLogTypes.unsportsmanlike_foul\n ].indexOf(this.logType) > -1;\n }\n\n getScore() {\n const scoreMapping = {\n [BasketballGameLogTypes.one_point_made]: 1,\n [BasketballGameLogTypes.free_throw_made]: 1,\n [BasketballGameLogTypes.two_point_made]: 2,\n [BasketballGameLogTypes.three_point_made]: 3\n };\n return scoreMapping[this.logType];\n }\n\n compare(model: BasketballGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { TeamUser } from './team-user';\nimport { TournamentTeamUser } from './tournament-team-user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n game_id: 'gameId',\n team_user: 'teamUser',\n tournament_team_user: 'tournamentTeamUser',\n is_mvp: 'isMvp',\n updated_at: 'updatedAt'\n },\n relation: {\n teamUser: TeamUser,\n tournamentTeamUser: TournamentTeamUser,\n updatedAt: DateTimeField,\n }\n})\nexport class GameUser extends BaseModel {\n id: number;\n gameId: number;\n teamUser: TeamUser;\n tournamentTeamUser: TournamentTeamUser;\n isMvp: boolean;\n updatedAt: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField, listField } from './util';\n\ninterface LimitationValue {\n current: number;\n required: number;\n}\n\n@ModelInstance({\n mappingFields: {\n min_user_games_count: 'minUserGamesCount',\n min_user_time: 'minUserTime',\n manual: 'manual',\n },\n})\nexport class GameUserLimitationTypes extends BaseModel {\n minUserGamesCount: LimitationValue;\n minUserTime: LimitationValue;\n manual: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n\n\n@ModelInstance({\n mappingFields: {\n tournament_team_user_id: 'tournamentTeamUserId',\n limitations: 'limitations'\n },\n relation: {\n limitations: GameUserLimitationTypes\n }\n})\nexport class GameUserLimitations extends BaseModel {\n tournamentTeamUserId: number;\n limitations: GameUserLimitationTypes;\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { GameUser } from '../models/game-user';\nimport { map } from 'rxjs/operators';\nimport { ConfigService } from '../services/config.service';\nimport { GameUserLimitations } from '../models/game-user-limitation';\n\n@Injectable({providedIn: 'root'})\nexport class GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService,\n ) {\n }\n\n async getUsers(gameId: number): Promise<GameUser[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/users/`).pipe(\n map(result => GameUser.toFront(result))\n ).toPromise();\n }\n\n async getMvp(gameId: number): Promise<GameUser[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/mvp/`).pipe(\n map(result => GameUser.toFront(result))\n ).toPromise();\n }\n\n async getUsersLimitation(gameId: number): Promise<GameUserLimitations[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/users_limitation/`).pipe(\n map(result => GameUserLimitations.toFront(result))\n ).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user' | 'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/game_application/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { BasketballGameTeamStatistic } from '../models/basketball-game-team-statistic';\nimport { BasketballGameStatistic } from '../models/basketball-game-statistic';\nimport { BasketballGameLog } from '../models/basketball-game-log';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class BasketballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<BasketballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/team_statistic/`).pipe(\n map(result => BasketballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<BasketballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/user_statistic/`).pipe(\n map(result => BasketballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<BasketballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/logs/`).pipe(\n map(result => BasketballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, fileType: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/game_protocol/?file_type=${fileType}`,\n {responseType: 'blob'}\n )\n .toPromise();\n }\n\n async downloadFibaProtocol(gameId: number, fileType: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_basketball_game/${gameId}/game_protocol_fiba/?file_type=${fileType}`,\n {responseType: 'blob'}\n )\n .toPromise();\n }\n}\n","import { ModelInstance, ToBackHook, ToFrontHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n theme: 'theme',\n message: 'message',\n files: 'files',\n email: 'email',\n captcha: 'captcha',\n },\n relation: {\n files: File\n }\n})\nexport class Feedback {\n id: number;\n theme: string;\n message: string;\n email: string;\n captcha: string;\n files: File[];\n\n @ToFrontHook\n static toFront(data: any): any {\n return null;\n }\n\n @ToBackHook\n static toBack(value: any): any {\n return null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Feedback } from '../models/feedback';\nimport { map } from 'rxjs/operators';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class FeedbackApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async sendFeedback(data: any): Promise<Feedback> {\n return this.httpClient.post(`${this.configService.get('apiUrl')}/api/v1/feedback/`, Feedback.toBack(data))\n .pipe(map(response => Feedback.toFront(response)))\n .toPromise();\n }\n\n async sendLeagueFeedback(leagueId: number, data: any): Promise<Feedback> {\n return this.httpClient.post(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/feedback/`, Feedback.toBack(data))\n .pipe(map(response => Feedback.toFront(response)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { map } from 'rxjs/operators';\nimport { File } from '../models/file';\n\n@Injectable({providedIn: 'root'})\nexport class FileApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async upload(fileData: any, filename?: string, width?: number, height?: number): Promise<File> {\n let params = new HttpParams();\n if (width && height) {\n params = params.set('width', width.toString()).set('height', height.toString());\n }\n\n const formData = new FormData();\n formData.append('file', fileData, filename);\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/file/`, formData, {params})\n .pipe(map(data => File.toFront(data)))\n .toPromise();\n }\n\n async createZipArchive(files: {file: any, filename: string}[]): Promise<any> {\n const formData = new FormData();\n for (const file of files) {\n formData.append('files', file.file, file.filename);\n }\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/file/zip_archive/`, formData, {responseType: 'blob'})\n .toPromise();\n }\n}\n","import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField, penaltyTypeField } from './util';\nimport { GameUser } from './game-user';\nimport { GameLogBase } from './game-log-base';\n\nexport enum HockeyGameLogTypes {\n enter_game = 1,\n exit_game,\n shot_miss,\n shot_on_goal,\n shot_blocked,\n goal,\n shootout_attempt,\n shootout_goal,\n assist,\n block_shot ,\n minor_penalty ,\n major_penalty ,\n misconduct_penalty ,\n game_misconduct_penalty ,\n match_penalty ,\n penalty_shot ,\n face_off_lose ,\n face_off_win ,\n save ,\n timeout,\n penalty_start,\n penalty_end,\n after_game_shootout_attempt,\n after_game_shootout_goal,\n after_game_shootout_save,\n shootout_save,\n}\n\nexport enum HockeyAdvantageTypes {\n power_play = 1,\n shorthanded,\n even_strength\n}\n\nexport interface PenaltyType {\n id: number;\n code: string;\n title: string;\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n advantage: 'advantage',\n advantage_num: 'advantageNum',\n is_goalie: 'isGoalie',\n penalty_type: 'penaltyType',\n penalized_game_user_id: 'penalizedGameUserId',\n mutual_penalty: 'mutualPenalty',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(HockeyGameLogTypes),\n advantage: enumField(HockeyAdvantageTypes),\n penaltyType: penaltyTypeField()\n }\n})\nexport class HockeyGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: HockeyGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n advantage: HockeyAdvantageTypes;\n advantageNum: number;\n isGoalie: boolean;\n penaltyType: PenaltyType;\n _penalizedGameUserId: number;\n mutualPenalty: boolean;\n\n get penalizedGameUserId(): number {\n if (this._penalizedGameUserId) {\n return this._penalizedGameUserId;\n }\n return this.gameUserId;\n }\n\n set penalizedGameUserId(value: number) {\n this._penalizedGameUserId = value;\n }\n\n compare(model: HockeyGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return [HockeyGameLogTypes.goal, HockeyGameLogTypes.shootout_goal, HockeyGameLogTypes.after_game_shootout_goal].indexOf(this.logType) > -1;\n }\n\n isPenaltyType(): boolean {\n return [\n HockeyGameLogTypes.minor_penalty, HockeyGameLogTypes.major_penalty,\n HockeyGameLogTypes.misconduct_penalty, HockeyGameLogTypes.game_misconduct_penalty,\n HockeyGameLogTypes.penalty_shot, HockeyGameLogTypes.match_penalty\n ].indexOf(this.logType) > -1;\n }\n\n isAfter(log: HockeyGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n updated_at: 'updatedAt',\n points: 'points',\n pp_shot_misses: 'ppShotMisses',\n pp_shots_on_goal: 'ppShotsOnGoal',\n pp_shots_blocked: 'ppShotsBlocked',\n ev_shot_misses: 'evShotMisses',\n ev_shots_on_goal: 'evShotsOnGoal',\n ev_shots_blocked: 'evShotsBlocked',\n sh_shot_misses: 'shShotMisses',\n sh_shots_on_goal: 'shShotsOnGoal',\n sh_shots_blocked: 'shShotsBlocked',\n pp_goals: 'ppGoals',\n ev_goals: 'evGoals',\n sh_goals: 'shGoals',\n pp_assists: 'ppAssists',\n ev_assists: 'evAssists',\n sh_assists: 'shAssists',\n shootout_attempts: 'shootoutAttempts',\n shootout_goals: 'shootoutGoals',\n after_game_shootout_attempts: 'afterGameShootoutAttempts',\n after_game_shootout_goals: 'afterGameShootoutGoals',\n block_shots: 'blockShots',\n face_off_losses: 'faceOffLosses',\n face_off_wins: 'faceOffWins',\n saves: 'saves',\n shootout_save: 'shootoutSaves',\n after_game_shootout_saves: 'afterGameShootoutSaves',\n goals_against: 'goalsAgainst',\n shootout_goals_against: 'shootoutGoalsAgainst',\n after_game_shootout_goals_against: 'afterGameShootoutGoalsAgainst',\n safety_rate: 'safetyRate',\n penalty_minutes: 'penaltyMinutes',\n game_time: 'gameTime',\n plus_minus: 'plusMinus'\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class HockeyGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n ppShotMisses: number;\n ppShotsOnGoal: number;\n ppShotsBlocked: number;\n evShotMisses: number;\n evShotsOnGoal: number;\n evShotsBlocked: number;\n shShotMisses: number;\n shShotsOnGoal: number;\n shShotsBlocked: number;\n ppGoals: number;\n evGoals: number;\n shGoals: number;\n ppAssists: number;\n evAssists: number;\n shAssists: number;\n shootoutAttempts: number;\n shootoutGoals: number;\n afterGameShootoutAttempts: number;\n afterGameShootoutGoals: number;\n blockShots: number;\n faceOffLosses: number;\n faceOffWins: number;\n saves: number;\n shootoutSaves: number;\n afterGameShootoutSaves: number;\n goalsAgainst: number;\n shootoutGoalsAgainst: number;\n afterGameShootoutGoalsAgainst: number;\n safetyRate: number;\n penaltyMinutes: number;\n gameTime: number;\n plusMinus: number;\n updatedAt: Date;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get shotsOnGoal(): number {\n return (this.evShotsOnGoal || 0) + (this.ppShotsOnGoal || 0) + (this.shShotsOnGoal || 0);\n }\n\n get shotsBlocked(): number {\n return (this.evShotsBlocked || 0) + (this.ppShotsBlocked || 0) + (this.shShotsBlocked || 0);\n }\n\n get shotMisses(): number {\n return (this.evShotMisses || 0) + (this.ppShotMisses || 0) + (this.shShotMisses || 0);\n }\n\n get ppShots(): number {\n return (this.ppShotMisses || 0) + (this.ppShotsOnGoal || 0) + (this.ppShotsBlocked || 0);\n }\n\n get evShots(): number {\n return (this.evShotMisses || 0) + (this.evShotsOnGoal || 0) + (this.evShotsBlocked || 0);\n }\n\n get shShots(): number {\n return (this.shShotMisses || 0) + (this.shShotsOnGoal || 0) + (this.shShotsBlocked || 0);\n }\n\n get shots(): number {\n return this.ppShots + this.evShots + this.shShots + (this.shootoutAttempts || 0);\n }\n\n get totalShots(): number {\n return this.shots + (this.shootoutAttempts || 0);\n }\n\n get goals(): number {\n return (this.ppGoals || 0) + (this.shGoals || 0) + (this.evGoals || 0);\n }\n\n get totalGoals(): number {\n return this.goals + (this.shootoutGoals || 0);\n }\n\n get assists(): number {\n return (this.ppAssists || 0) + (this.evAssists || 0) + (this.shAssists || 0);\n }\n\n get faceOffs(): number {\n return (this.faceOffWins || 0) + (this.faceOffLosses || 0);\n }\n\n get shootOuts(): number {\n return (this.shootoutAttempts || 0) + (this.shootoutGoals || 0);\n }\n\n get shotsAgainst(): number {\n return (this.saves || 0) + (this.goalsAgainst || 0);\n }\n\n get shootoutShotsAgainst(): number {\n return (this.shootoutSaves || 0) + (this.shootoutGoalsAgainst || 0);\n }\n\n get totalShotsAgainst(): number {\n return this.shotsAgainst + this.shootoutShotsAgainst;\n }\n\n get savesPercent(): number {\n if (!this.shotsAgainst || !this.saves) {\n return 0;\n }\n return Math.round(1000 * this.saves / this.shotsAgainst) / 10;\n }\n\n get totalSaves(): number {\n return (this.saves || 0) + (this.shootoutSaves || 0);\n }\n\n get totalSavesPercent(): number {\n if (!this.totalShotsAgainst || !this.totalSaves) {\n return 0;\n }\n return Math.round(1000 * this.totalSaves / this.totalShotsAgainst) / 10;\n }\n\n get totalGoalsAgainst(): number {\n return (this.goalsAgainst || 0) + (this.shootoutGoalsAgainst || 0);\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n lose_games_count: 'loseGamesCount',\n points: 'points',\n pp_shots: 'ppShots',\n pp_shot_misses: 'ppShotMisses',\n pp_shots_on_goal: 'ppShotsOnGoal',\n pp_shots_blocked: 'ppShotsBlocked',\n ev_shots: 'evShots',\n ev_shot_misses: 'evShotMisses',\n ev_shots_on_goal: 'evShotsOnGoal',\n ev_shots_blocked: 'evShotsBlocked',\n sh_shots: 'shShots',\n sh_shot_misses: 'shShotMisses',\n sh_shots_on_goal: 'shShotsOnGoal',\n sh_shots_blocked: 'shShotsBlocked',\n pp_goals_percent: 'ppGoalsPercent',\n pp_goals: 'ppGoals',\n ev_goals_percent: 'evGoalsPercent',\n ev_goals: 'evGoals',\n sh_goals_percent: 'shGoalsPercent',\n goals: 'goals',\n total_goals: 'totalGoals',\n sh_goals: 'shGoals',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n shots: 'shots',\n total_shots: 'totalShots',\n goals_percent: 'goalsPercent',\n total_goals_percent: 'totalGoalsPercent',\n pp_assists: 'ppAssists',\n ev_assists: 'evAssists',\n sh_assists: 'shAssists',\n shootout_attempts: 'shootoutAttempts',\n shootout_goals: 'shootoutGoals',\n after_game_shootout_attempts: 'afterGameShootoutAttempts',\n after_game_shootout_goals: 'afterGameShootoutGoals',\n block_shots: 'blockShots',\n face_off_losses: 'faceOffLosses',\n face_off_wins: 'faceOffWins',\n face_offs: 'faceOffs',\n face_off_percent: 'faceOffPercent',\n saves: 'saves',\n total_saves: 'totalSaves',\n shootout_saves: 'shootoutSaves',\n shots_against: 'shotsAgainst',\n shootout_shots_against: 'shootoutShotsAgainst',\n total_shots_against: 'totalShotsAgainst',\n saves_percent: 'savesPercent',\n total_saves_percent: 'totalSavesPercent',\n goals_against: 'goalsAgainst',\n shootout_goals_against: 'shootoutGoalsAgainst',\n total_goals_against: 'totalGoalsAgainst',\n safety_rate: 'safetyRate',\n penalty_minutes: 'penaltyMinutes',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class HockeyStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n loseGamesCount: number;\n points: number;\n ppShots: number;\n ppShotMisses: number;\n ppShotsOnGoal: number;\n ppShotsBlocked: number;\n evShots: number;\n evShotMisses: number;\n evShotsOnGoal: number;\n evShotsBlocked: number;\n shShots: number;\n shShotMisses: number;\n shShotsOnGoal: number;\n shShotsBlocked: number;\n ppGoalsPercent: number;\n ppGoals: number;\n evGoalsPercent: number;\n evGoals: number;\n shGoalsPercent: number;\n shGoals: number;\n goals: number;\n totalGoals: number;\n totalGoalsPercent;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n shots: number;\n totalShots: number;\n goalsPercent: number;\n ppAssists: number;\n evAssists: number;\n shAssists: number;\n shootoutAttempts: number;\n shootoutGoals: number;\n afterGameShootoutAttempts: number;\n afterGameShootoutGoals: number;\n blockShots: number;\n faceOffLosses: number;\n faceOffWins: number;\n faceOffs: number;\n faceOffPercent: number;\n savesPercent: number;\n totalSavesPercent: number;\n saves: number;\n shootoutSaves: number;\n totalSaves: number;\n shotsAgainst: number;\n shootoutShotsAgainst: number;\n totalShotsAgainst: number;\n goalsAgainst: number;\n shootoutGoalsAgainst: number;\n totalGoalsAgainst: number;\n safetyRate: number;\n penaltyMinutes: number;\n gameTime: number;\n plusMinus: number;\n newbie: boolean;\n rank: number;\n\n get assists(): number {\n return (this.ppAssists || 0) + (this.shAssists || 0) + (this.evAssists || 0);\n }\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n get gamesWonPercent(): number {\n if (!this.gamesCount) {\n return 0;\n }\n return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { HockeyStatistic } from './hockey-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: HockeyStatistic,\n competitorTeam: HockeyStatistic\n }\n})\nexport class HockeyGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: HockeyStatistic;\n competitorTeam: HockeyStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { HockeyGameLog } from '../models/hockey-game-log';\nimport { HockeyGameStatistic } from '../models/hockey-game-statistic';\nimport { HockeyGameTeamStatistic } from '../models/hockey-game-team-statistic';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class HockeyGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<HockeyGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/team_statistic/`).pipe(\n map(result => HockeyGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<HockeyGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/user_statistic/`).pipe(\n map(result => HockeyGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<HockeyGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/logs/`).pipe(\n map(result => HockeyGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user'|'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_hockey_game/${gameId}/game_application_file/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { enumField, ModelInstance, ToFrontHook, ToBackHook, BaseModel, DateTimeField, penaltyTypeField } from './util';\nimport { GameUser } from './game-user';\nimport { GameLogBase } from './game-log-base';\n\nexport enum FootballGameLogTypes {\n enter_game = 1,\n exit_game,\n shot_miss,\n shot_on_goal,\n shot_blocked,\n goal,\n penalty_attempt,\n penalty_goal,\n penalty_save,\n small_penalty_attempt,\n small_penalty_goal,\n small_penalty_save,\n assist,\n block_shot,\n corner,\n free_kick,\n foul,\n save,\n yellow_card,\n red_card,\n perfect_pass,\n loss,\n steal,\n out,\n timeout,\n auto_goal,\n end_game_penalty_miss,\n end_game_penalty_goal,\n end_game_penalty_save\n}\n\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n is_goalie: 'isGoalie',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(FootballGameLogTypes)\n }\n})\nexport class FootballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: FootballGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n isGoalie: boolean;\n\n compare(model: FootballGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return [\n FootballGameLogTypes.goal,\n FootballGameLogTypes.penalty_goal,\n FootballGameLogTypes.small_penalty_goal,\n FootballGameLogTypes.auto_goal,\n FootballGameLogTypes.end_game_penalty_goal,\n ].indexOf(this.logType) > -1;\n }\n\n isAfter(log: FootballGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n updated_at: 'updatedAt',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n goals: 'goals',\n assists: 'assists',\n corners: 'corners',\n free_kicks: 'freeKicks',\n penalty_goals: 'penaltyGoals',\n penalty_attempts: 'penaltyAttempts',\n penalty_goals_against: 'penaltyGoalsAgainst',\n penalty_saves: 'penaltySaves',\n small_penalty_goals: 'smallPenaltyGoals',\n small_penalty_attempts: 'smallPenaltyAttempts',\n small_penalty_goals_against: 'smallPenaltyGoalsAgainst',\n small_penalty_saves: 'smallPenaltySaves',\n saves: 'saves',\n goals_against: 'goalsAgainst',\n safety_rate: 'safetyRate',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n fouls: 'fouls',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n perfect_passes: 'perfectPasses',\n losses: 'losses',\n steals: 'steals',\n outs: 'outs',\n block_shots: 'blockShots',\n auto_goals: 'autoGoals',\n auto_goals_against: 'autoGoalsAgainst',\n end_game_penalty_goals: 'endGamePenaltyGoals',\n end_game_penalty_misses: 'endGamePenaltyMisses',\n end_game_penalty_saves: 'endGamePenaltySaves'\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class FootballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n goals: number;\n assists: number;\n blockShots: number;\n corners: number;\n freeKicks: number;\n penaltyGoals: number;\n penaltyAttempts: number;\n penaltyGoalsAgainst: number;\n penaltySaves: number;\n smallPenaltyGoals: number;\n smallPenaltyAttempts: number;\n smallPenaltyGoalsAgainst: number;\n smallPenaltySaves: number;\n saves: number;\n goalsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n perfectPasses: number;\n losses: number;\n steals: number;\n outs: number;\n gameTime: number;\n plusMinus: number;\n updatedAt: Date;\n autoGoals: number;\n autoGoalsAgainst: number;\n endGamePenaltyGoals: number;\n endGamePenaltyMisses: number;\n endGamePenaltySaves: number;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get shots(): number {\n return (this.shotMisses || 0) + (this.shotsOnGoal || 0) + (this.shotsBlocked || 0);\n }\n\n\n get totalGoals(): number {\n return (this.goals || 0) + (this.penaltyGoals || 0) + (this.smallPenaltyGoals || 0);\n }\n\n get goalsPercent(): number {\n if (!this.shots || !this.totalGoals) {\n return 0;\n }\n return Math.round(1000 * this.totalGoals / this.shots) / 10;\n }\n\n get shotsOnGoalPercent(): number {\n if (!this.shotsOnGoal || !this.shots) {\n return 0;\n }\n return Math.round(1000 * this.shotsOnGoal / this.shots) / 10;\n }\n\n get penalties(): number {\n return (this.penaltyGoals || 0) + (this.penaltyAttempts || 0);\n }\n\n get penaltyGoalsPercent(): number {\n if (!this.penaltyAttempts || !this.penaltyGoals) {\n return 0;\n }\n const penaltyShots = this.penaltyAttempts + this.penaltyGoals;\n return Math.round(1000 * this.penaltyGoals / penaltyShots) / 10;\n }\n\n get smallPenalties(): number {\n return (this.smallPenaltyGoals || 0) + (this.smallPenaltyAttempts || 0);\n }\n\n get smallPenaltyGoalsPercent(): number {\n if (!this.smallPenaltyAttempts || !this.smallPenaltyGoals) {\n return 0;\n }\n const smallPenaltyShots = this.smallPenaltyAttempts + this.smallPenaltyGoals;\n return Math.round(1000 * this.smallPenaltyGoals / smallPenaltyShots) / 10;\n }\n\n get shotsAgainst(): number {\n return (this.saves || 0) + (this.goalsAgainst || 0);\n }\n\n get penaltyShotsAgainst(): number {\n return (this.penaltySaves || 0) + (this.penaltyGoalsAgainst || 0);\n }\n\n get smallPenaltyShotsAgainst(): number {\n return (this.smallPenaltySaves || 0) + (this.smallPenaltyGoalsAgainst || 0);\n }\n\n get totalGoalsAgainst(): number {\n return (this.goalsAgainst || 0) + (this.penaltyGoalsAgainst || 0) + (this.smallPenaltyGoalsAgainst || 0) + (this.autoGoalsAgainst || 0);\n }\n\n\n get totalSaves(): number {\n return (this.saves || 0) + (this.penaltySaves || 0) + (this.smallPenaltySaves || 0);\n }\n\n get savesPercent(): number {\n if (!this.shotsAgainst || !this.saves) {\n return 0;\n }\n return Math.round(1000 * this.saves / this.shotsAgainst) / 10;\n }\n\n get penaltySavesPercent(): number {\n if (!this.penaltyShotsAgainst || !this.penaltySaves) {\n return 0;\n }\n return Math.round(1000 * this.penaltySaves / this.penaltyShotsAgainst) / 10;\n }\n\n get smallPenaltySavesPercent(): number {\n if (!this.smallPenaltyShotsAgainst || !this.smallPenaltySaves) {\n return 0;\n }\n return Math.round(1000 * this.smallPenaltySaves / this.smallPenaltyShotsAgainst) / 10;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n shots_on_goal_percent: 'shotsOnGoalPercent',\n shots: 'shots',\n goals: 'goals',\n goals_percent: 'goalsPercent',\n total_goals: 'totalGoals',\n assists: 'assists',\n penalty_goals: 'penaltyGoals',\n penalty_attempts: 'penaltyAttempts',\n penalty_goals_percent: 'penaltyGoalsPercent',\n penalty_saves: 'penaltySaves',\n penalty_goals_against: 'penaltyGoalsAgainst',\n penalty_shots_against: 'penaltyShotsAgainst',\n penalty_saves_percent: 'penaltySavesPercent',\n small_penalty_goals: 'smallPenaltyGoals',\n small_penalty_attempts: 'smallPenaltyAttempts',\n small_penalty_goals_percent: 'smallPenaltyGoalsPercent',\n small_penalty_saves: 'smallPenaltySaves',\n small_penalty_goals_against: 'smallPenaltyGoalsAgainst',\n small_penalty_shots_against: 'smallPenaltyShotsAgainst',\n small_penalty_saves_percent: 'smallPenaltySavesPercent',\n saves: 'saves',\n saves_percent: 'savesPercent',\n total_saves: 'totalSaves',\n goals_against: 'goalsAgainst',\n total_goals_against: 'totalGoalsAgainst',\n shots_against: 'shotsAgainst',\n safety_rate: 'safetyRate',\n fouls: 'fouls',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n perfect_passes: 'perfectPasses',\n losses: 'losses',\n steals: 'steals',\n outs: 'outs',\n block_shots: 'blockShots',\n corners: 'corners',\n free_kicks: 'freeKicks',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n newbie: 'newbie',\n rank: 'rank',\n auto_goals: 'autoGoals',\n auto_goals_against: 'autoGoalsAgainst',\n end_game_penalty_goals: 'endGamePenaltyGoals',\n end_game_penalty_misses: 'endGamePenaltyMisses',\n end_game_penalty_saves: 'endGamePenaltySaves'\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class FootballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n shotsOnGoalPercent: number;\n shots: number;\n goals: number;\n totalGoals: number;\n goalsPercent: number;\n assists: number;\n penaltyGoals: number;\n penaltyAttempts: number;\n penaltyGoalsPercent: number;\n penaltySaves: number;\n penaltyGoalsAgainst: number;\n penaltyShotsAgainst: number;\n penaltySavesPercent: number;\n smallPenaltyGoals: number;\n smallPenaltyAttempts: number;\n smallPenaltyGoalsPercent: number;\n smallPenaltySaves: number;\n smallPenaltyGoalsAgainst: number;\n smallPenaltyShotsAgainst: number;\n smallPenaltySavesPercent: number;\n saves: number;\n savesPercent: number;\n totalSaves: number;\n goalsAgainst: number;\n totalGoalsAgainst: number;\n shotsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n perfectPasses: number;\n losses: number;\n steals: number;\n outs: number;\n gameTime: number;\n plusMinus: number;\n blockShots: number;\n corners: number;\n freeKicks: number;\n newbie: boolean;\n rank: number;\n autoGoals: number;\n autoGoalsAgainst: number;\n endGamePenaltyGoals: number;\n endGamePenaltyMisses: number;\n endGamePenaltySaves: number;\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n get tournamentTeamGamesCount(): number {\n return this.tournamentTeam && this.tournamentTeam.gamesCount;\n }\n\n get tournamentTeamWonGamesCount(): number {\n return this.tournamentTeam && this.tournamentTeam.wonGamesCount;\n }\n\n get tournamentTeamDrawGamesCount(): number {\n return this.tournamentTeam && this.tournamentTeam.drawGamesCount;\n }\n\n get tournamentTeamLostGamesCount(): number {\n if (!this.tournamentTeam) {\n return null;\n }\n return this.tournamentTeam.gamesCount - this.tournamentTeam.drawGamesCount - this.tournamentTeam.wonGamesCount;\n }\n\n get tournamentTeamScoreSum(): number {\n return this.tournamentTeam && this.tournamentTeam.scoreSum;\n }\n\n get tournamentTeamMissedSum(): number {\n return this.tournamentTeam && this.tournamentTeam.missedSum;\n }\n\n get tournamentTeamPlusMinus(): number {\n if (!this.tournamentTeam) {\n return null;\n }\n return this.tournamentTeam.scoreSum - this.tournamentTeam.missedSum;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { FootballStatistic } from './football-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: FootballStatistic,\n competitorTeam: FootballStatistic\n }\n})\nexport class FootballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: FootballStatistic;\n competitorTeam: FootballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { FootballGameLog } from '../models/football-game-log';\nimport { FootballGameStatistic } from '../models/football-game-statistic';\nimport { FootballGameTeamStatistic } from '../models/football-game-team-statistic';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class FootballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<FootballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/team_statistic/`).pipe(\n map(result => FootballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<FootballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/user_statistic/`).pipe(\n map(result => FootballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<FootballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/logs/`).pipe(\n map(result => FootballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user' | 'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_football_game/${gameId}/game_application_file/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { GameLogBase } from './game-log-base';\nimport { GameUser } from './game-user';\n\nexport enum HandballGameLogTypes {\n enter_game = 1,\n exit_game,\n shot_miss,\n shot_on_goal,\n shot_blocked,\n goal,\n assist,\n penalty_miss,\n penalty_shot_on_goal,\n penalty_goal,\n save,\n penalty_save,\n foul,\n yellow_card,\n red_card,\n two_minute_foul,\n turnover,\n steal,\n block_shot,\n timeout\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n is_goalie: 'isGoalie',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(HandballGameLogTypes)\n }\n})\nexport class HandballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: HandballGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n isGoalie: boolean;\n\n compare(model: HandballGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return [HandballGameLogTypes.goal, HandballGameLogTypes.penalty_goal].indexOf(this.logType) > -1;\n }\n\n isAfter(log: HandballGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n isFoulType(): boolean {\n return [HandballGameLogTypes.foul, HandballGameLogTypes.yellow_card, HandballGameLogTypes.red_card].indexOf(this.logType) > -1;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n goals: 'goals',\n assists: 'assists',\n penalty_goals: 'penaltyGoals',\n penalty_misses: 'penaltyMisses',\n penalty_shots_on_goal: 'penaltyShotsOnGoal',\n saves: 'saves',\n penalty_saves: 'penaltySaves',\n goals_against: 'goalsAgainst',\n penalty_goals_against: 'penaltyGoalsAgainst',\n safety_rate: 'safetyRate',\n fouls: 'fouls',\n yellowCards: 'yellowCards',\n red_cards: 'redCards',\n two_minute_fouls: 'twoMinuteFouls',\n turnovers: 'turnovers',\n steals: 'steals',\n block_shots: 'blockShots',\n game_time: 'gameTime',\n plus_minus: 'plusMinus'\n }\n})\nexport class HandballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n goals: number;\n assists: number;\n penaltyGoals: number;\n penaltyMisses: number;\n penaltyShotsOnGoal: number;\n saves: number;\n penaltySaves: number;\n goalsAgainst: number;\n penaltyGoalsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n twoMinuteFouls: number;\n turnovers: number;\n steals: number;\n blockShots: number;\n gameTime: number;\n plusMinus: number;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get shots(): number {\n return (this.shotMisses || 0) + (this.shotsOnGoal || 0) + (this.shotsBlocked || 0);\n }\n\n\n get totalGoals(): number {\n return (this.goals || 0) + (this.penaltyGoals || 0);\n }\n\n get goalsPercent(): number {\n if (!this.shots || !this.totalGoals) {\n return 0;\n }\n return Math.round(1000 * this.totalGoals / this.shots) / 10;\n }\n\n get shotsOnGoalPercent(): number {\n if (!this.shotsOnGoal || !this.shots) {\n return 0;\n }\n return Math.round(1000 * this.shotsOnGoal / this.shots) / 10;\n }\n\n get penaltyShots(): number {\n return (this.penaltyShotsOnGoal || 0) + (this.penaltyMisses || 0);\n }\n\n get penaltyGoalsPercent(): number {\n if (!this.penaltyShots || !this.penaltyGoals) {\n return 0;\n }\n return Math.round(1000 * this.penaltyGoals / this.penaltyShots) / 10;\n }\n\n get shotsAgainst(): number {\n return (this.saves || 0) + (this.goalsAgainst || 0);\n }\n\n get penaltyShotsAgainst(): number {\n return (this.penaltySaves || 0) + (this.penaltyGoalsAgainst || 0);\n }\n\n get totalGoalsAgainst(): number {\n return (this.goalsAgainst || 0) + (this.penaltyGoalsAgainst || 0);\n }\n\n get totalSaves(): number {\n return (this.saves || 0) + (this.penaltySaves || 0);\n }\n\n get savesPercent(): number {\n if (!this.shotsAgainst || !this.saves) {\n return 0;\n }\n return Math.round(1000 * this.saves / this.shotsAgainst) / 10;\n }\n\n get penaltySavesPercent(): number {\n if (!this.penaltyShotsAgainst || !this.penaltySaves) {\n return 0;\n }\n return Math.round(1000 * this.penaltySaves / this.penaltyShotsAgainst) / 10;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n points: 'points',\n shot_misses: 'shotMisses',\n shots_on_goal: 'shotsOnGoal',\n shots_blocked: 'shotsBlocked',\n goals: 'goals',\n assists: 'assists',\n penalty_goals: 'penaltyGoals',\n penalty_misses: 'penaltyMisses',\n penalty_shots_on_goal: 'penaltyShotsOnGoal',\n saves: 'saves',\n penalty_saves: 'penaltySaves',\n goals_against: 'goalsAgainst',\n penalty_goals_against: 'penaltyGoalsAgainst',\n safety_rate: 'safetyRate',\n fouls: 'fouls',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n two_minute_fouls: 'twoMinuteFouls',\n turnovers: 'turnovers',\n steals: 'steals',\n block_shots: 'blockShots',\n game_time: 'gameTime',\n plus_minus: 'plusMinus',\n shots: 'shots',\n goals_percent: 'goalsPercent',\n penalty_shots: 'penaltyShots',\n penalty_goals_percent: 'penaltyGoalsPercent',\n shots_against: 'shotsAgainst',\n saves_percent: 'savesPercent',\n penalty_shots_against: 'penaltyShotsAgainst',\n penalty_saves_percent: 'penaltySavesPercent',\n total_goals: 'totalGoals',\n total_saves: 'totalSaves',\n total_goals_against: 'totalGoalsAgainst',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class HandballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n points: number;\n shotMisses: number;\n shotsOnGoal: number;\n shotsBlocked: number;\n goals: number;\n assists: number;\n penaltyGoals: number;\n penaltyMisses: number;\n penaltyShotsOnGoal: number;\n saves: number;\n penaltySaves: number;\n goalsAgainst: number;\n penaltyGoalsAgainst: number;\n safetyRate: number;\n fouls: number;\n yellowCards: number;\n redCards: number;\n twoMinuteFouls: number;\n turnovers: number;\n steals: number;\n blockShots: number;\n gameTime: number;\n plusMinus: number;\n shots: number;\n goalsPercent: number;\n penaltyShots: number;\n penaltyGoalsPercent: number;\n shotsAgainst: number;\n savesPercent: number;\n penaltyShotsAgainst: number;\n penaltySavesPercent: number;\n totalGoals: number;\n totalSaves: number;\n totalGoalsAgainst: number;\n newbie: boolean;\n rank: number;\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { HandballStatistic } from './handball-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: HandballStatistic,\n competitorTeam: HandballStatistic\n }\n})\nexport class HandballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: HandballStatistic;\n competitorTeam: HandballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { HandballGameLog } from '../models/handball-game-log';\nimport { HandballGameStatistic } from '../models/handball-game-statistic';\nimport { HandballGameTeamStatistic } from '../models/handball-game-team-statistic';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class HandballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<HandballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/team_statistic/`).pipe(\n map(result => HandballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<HandballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/user_statistic/`).pipe(\n map(result => HandballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<HandballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/logs/`).pipe(\n map(result => HandballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadApplication(gameId: number, format: 'pdf' | 'xlsx' | 'html', type: 'game_user' | 'tournament_user'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_handball_game/${gameId}/game_application_file/`, {\n params: new HttpParams().set('file_type', format).set('application_type', type),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { File } from './file';\nimport { User } from './user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n picture: 'picture',\n text: 'text',\n author: 'author',\n created_at: 'createdAt',\n },\n relation: {\n picture: File,\n author: User,\n createdAt: DateTimeField,\n }\n})\nexport class TournamentNews extends BaseModel {\n id: number;\n title: string;\n picture: File;\n text: string;\n author: User;\n createdAt: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField } from './util';\n\n@ModelInstance({\n mappingFields: {\n stage_id: 'stageId',\n tours_count: 'toursCount',\n playoff_stages_count: 'playoffStagesCount',\n playoff_teams_count: 'playoffTeamsCount',\n }\n})\nexport class GameTimelineStageItem {\n stageId: number;\n toursCount: number;\n playoffStagesCount: number;\n playoffTeamsCount: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n tours_count: 'toursCount',\n playoff_stages_count: 'playoffStagesCount',\n playoff_teams_count: 'playoffTeamsCount',\n current_tour: 'currentTour',\n current_playoff_stage: 'currentPlayoffStage',\n current_playoff_round: 'currentPlayoffRound',\n stages: 'stages',\n tournament_stage_id: 'tournamentStageId',\n },\n relation: {\n stages: listField(GameTimelineStageItem)\n }\n})\nexport class GameTimelineStages extends BaseModel {\n toursCount: number;\n playoffStagesCount: number;\n playoffTeamsCount: number;\n currentTour: number;\n currentPlayoffStage: number;\n currentPlayoffRound: number;\n stages: GameTimelineStageItem[];\n tournamentStageId: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField, DateField } from './util';\n\nexport enum TournamentStageStatuses {\n open,\n in_progress,\n closed\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n date: 'date',\n tournament_id: 'tournamentId',\n status: 'status',\n },\n relation: {\n date: DateField,\n status: enumField(TournamentStageStatuses)\n }\n})\nexport class TournamentStage extends BaseModel {\n id: number;\n name: string;\n date: Date;\n tournamentId: number;\n status: TournamentStageStatuses;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField } from './util';\nimport { Team } from './team';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { TeamUser } from './team-user';\nimport { TournamentTeam } from './tournament-team';\nimport { User } from './user';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n team_user: 'teamUser',\n league_player: 'leaguePlayer',\n tournament_team_user: 'tournamentTeamUser',\n tournament_team: 'tournamentTeam',\n user: 'user',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n serve_hits: 'serveHits',\n serve_faults: 'serveFaults',\n serve_aces: 'serveAces',\n serve_percent: 'servePercent',\n ace_percent: 'acePercent',\n stuff_blocks: 'stuffBlocks',\n block_faults: 'blockFaults',\n block_rebounds: 'blockRebounds',\n block_percent: 'blockPercent',\n attack_spikes: 'attackSpikes',\n attack_faults: 'attackFaults',\n attack_shots: 'attackShots',\n attack_percent: 'attackPercent',\n receives: 'receives',\n receive_faults: 'receiveFaults',\n excellent_receives: 'excellentReceives',\n receive_percent: 'receivePercent',\n serve_receives: 'serveReceives',\n serve_receive_faults: 'serveReceiveFaults',\n excellent_serve_receives: 'excellentServeReceives',\n serve_receive_percent: 'serveReceivePercent',\n points: 'points',\n faults: 'faults',\n newbie: 'newbie',\n rank: 'rank',\n },\n relation: {\n team: Team,\n teamUser: TeamUser,\n leaguePlayer: LeaguePlayer,\n tournamentTeamUser: TournamentTeamUser,\n tournamentTeam: TournamentTeam,\n user: User,\n month: DateField,\n }\n})\nexport class VolleyballStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n newbie: boolean;\n rank: number;\n serveHits: number;\n serveFaults: number;\n serveAces: number;\n servePercent: number;\n acePercent: number;\n stuffBlocks: number;\n blockFaults: number;\n blockRebounds: number;\n blockPercent: number;\n attackSpikes: number;\n attackFaults: number;\n attackShots: number;\n attackPercent: number;\n receives: number;\n receiveFaults: number;\n excellentReceives: number;\n receivePercent: number;\n serveReceives: number;\n serveReceiveFaults: number;\n excellentServeReceives: number;\n serveReceivePercent: number;\n points: number;\n faults: number;\n\n get tournamentTeamPoints(): number {\n return this.tournamentTeam && this.tournamentTeam.points;\n }\n\n get totalReceives(): number {\n return this.receives + this.excellentReceives;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { TournamentTeam } from './tournament-team';\nimport { TournamentGroup } from './tournament-group';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team: 'tournamentTeam',\n group: 'group',\n tournament_stage_id: 'tournamentStageId',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n score_sum: 'scoreSum',\n missed_sum: 'missedSum',\n last_games_count: 'lastGamesCount',\n last_games_won: 'lastGamesWon',\n points: 'points',\n final_standing: 'finalStanding',\n received_points: 'receivedPoints',\n },\n relation: {\n tournamentTeam: TournamentTeam,\n group: TournamentGroup\n }\n})\nexport class TournamentStageTeam extends BaseModel {\n id: number;\n tournamentTeam: TournamentTeam;\n group: TournamentGroup;\n tournamentStageId: number;\n gamesCount: number;\n wonGamesCount: number;\n scoreSum: number;\n missedSum: number;\n lastGamesCount: number;\n lastGamesWon: number;\n points: number;\n finalStanding: number;\n receivedPoints: number;\n\n get gamesWonPercent(): number {\n if (!this.gamesCount) {\n return 0;\n }\n return Math.floor(1000 * this.wonGamesCount / this.gamesCount) / 10;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField, DateTimeField, enumField } from './util';\nimport { File } from './file';\nimport { Tournament } from './tournament';\n\nexport enum LeagueNewsType {\n text = 1,\n video\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n datetime: 'datetime',\n preview_text: 'previewText',\n detail_text: 'detailText',\n picture: 'picture',\n cover: 'cover',\n mobile_picture: 'mobilePicture',\n is_main: 'isMain',\n tournaments: 'tournaments',\n type: 'type',\n video_link: 'videoLink',\n tag: 'tag',\n },\n relation: {\n datetime: DateTimeField,\n picture: File,\n cover: File,\n mobilePicture: File,\n tournaments: listField(Tournament),\n type: enumField(LeagueNewsType),\n }\n})\nexport class LeagueNews extends BaseModel {\n id: number;\n title: string;\n datetime: Date;\n previewText: string;\n detailText: string;\n picture: File;\n cover: File;\n mobilePicture: File;\n isMain: boolean;\n tournaments: Tournament[];\n type: LeagueNewsType;\n videoLink: string;\n tag: string;\n\n @ToFrontHook\n static toFront(data: any): any {\n return undefined;\n }\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateField, enumField, listField } from './util';\nimport { Game } from './game';\nimport { Tournament } from './tournament';\nimport { League } from './league';\nimport { LeagueNews } from './league-news';\n\nexport enum TournamentEventTypes {\n game_closed = 1,\n media_added,\n news\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n game: 'game',\n news: 'news',\n league: 'league',\n tournaments: 'tournaments',\n event: 'event',\n datetime: 'datetime'\n },\n relation: {\n game: Game,\n news: LeagueNews,\n league: League,\n tournaments: listField(Tournament),\n datetime: DateField,\n event: enumField(TournamentEventTypes)\n }\n})\nexport class TournamentEvent extends BaseModel {\n id: number;\n game: Game;\n news: LeagueNews;\n tournaments: Tournament[];\n event: TournamentEventTypes;\n datetime: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { User } from './user';\nimport { BaseModel, enumField, listField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\n\nexport enum LeagueUserRoles {\n admin = 1,\n moderator,\n game_manager\n}\n\nexport enum LeagueUserPermissions {\n settings = 1,\n users,\n teams,\n media,\n news,\n game_export,\n schedule,\n game_management\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user: 'user',\n role: 'role',\n permissions: 'permissions'\n },\n relation: {\n user: User,\n permissions: listField(enumField(LeagueUserPermissions))\n }\n})\nexport class LeagueUser extends BaseModel {\n id: number;\n user: User;\n _role: LeagueUserRoles;\n permissions: LeagueUserPermissions[];\n\n set role(value: LeagueUserRoles|string) {\n this._role = LeagueUserRoles[value];\n }\n\n get role(): LeagueUserRoles|string {\n return this._role;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, DateField } from './util';\nimport { TournamentTeamUser } from './tournament-team-user';\nimport { Team } from './team';\nimport { TeamUser } from './team-user';\nimport { User } from './user';\nimport { TournamentTeam } from './tournament-team';\nimport { BaseStatistic, WinLoseType } from './base-statistic';\nimport { LeaguePlayer } from './league-player';\n\n@ModelInstance({\n mappingFields: {\n tournament_team_user: 'tournamentTeamUser',\n team: 'team',\n team_user: 'teamUser',\n user: 'user',\n tournament_team: 'tournamentTeam',\n month: 'month',\n win_lose: 'winLose',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n lose_games_count: 'loseGamesCount',\n draw_games_count: 'drawGamesCount',\n newbie: 'newbie',\n // User statistic\n points: 'points',\n tries: 'tries',\n penalty_tries: 'penaltyTries',\n conversion_kicks: 'conversionKicks',\n conversion_goals: 'conversionGoals',\n conversion_misses: 'conversionMisses',\n conversion_goals_percent: 'conversionGoalsPercent',\n penalties: 'penalties',\n penalty_kicks_on_goal: 'penaltyKicksOnGoal',\n penalty_misses: 'penaltyMisses',\n penalty_goals: 'penaltyGoals',\n tap_penalties: 'tapPenalties',\n penalty_kicks_to_touch: 'penaltyKicksToTouch',\n penalty_goals_percent: 'penaltyGoalsPercent',\n drop_goal_kicks: 'dropGoalKicks',\n drop_goals: 'dropGoals',\n drop_goal_misses: 'dropGoalMisses',\n drop_goals_percent: 'dropGoalsPercent',\n free_kicks: 'freeKicks',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n offloads: 'offloads',\n tackles: 'tackles',\n handling_errors: 'handlingErrors',\n carries_over_gainline: 'carriesOverGainline',\n plus_minus: 'plusMinus',\n game_time: 'gameTime',\n\n // Team statistic\n scrums: 'scrums',\n scrums_won: 'scrumsWon',\n scrums_lost: 'scrumsLost',\n scrums_won_percent: 'scrumsWonPercent',\n scrums_won_free: 'scrumsWonFree',\n opponent_scrums_won: 'opponentScrumsWon',\n opponent_scrums_lost: 'opponentScrumsLost',\n lineouts: 'lineouts',\n lineouts_won: 'lineoutsWon',\n lineouts_lost: 'lineoutsLost',\n lineouts_steal: 'lineoutsSteal',\n opponent_lineouts_lost: 'opponentLineoutsLost',\n quick_throws: 'quickThrows',\n rucks: 'rucks',\n rucks_won: 'rucksWon',\n rucks_lost: 'rucksLost',\n rucks_won_percent: 'rucksWonPercent',\n opponent_rucks_won: 'opponentRucksWon',\n opponent_rucks_lost: 'opponentRucksLost',\n mauls: 'mauls',\n mauls_won: 'maulsWon',\n mauls_lost: 'maulsLost',\n mauls_won_percent: 'maulWonPercent',\n opponent_mauls_won: 'opponentMaulsWon',\n opponent_mauls_lost: 'opponentMaulsLost',\n fouls: 'fouls',\n team_fouls: 'teamFouls',\n },\n relation: {\n tournamentTeamUser: TournamentTeamUser,\n team: Team,\n teamUser: TeamUser,\n user: User,\n tournamentTeam: TournamentTeam,\n month: DateField\n }\n})\nexport class RugbyStatistic extends BaseModel implements BaseStatistic {\n leaguePlayer: LeaguePlayer;\n tournamentTeamUser: TournamentTeamUser;\n team: Team;\n teamUser: TeamUser;\n user: User;\n tournamentTeam: TournamentTeam;\n month: Date;\n winLose: WinLoseType;\n gamesCount: number;\n wonGamesCount: number;\n loseGamesCount: number;\n drawGamesCount: number;\n tournamentTeamPoints: number;\n newbie: boolean;\n rank: number;\n points: number;\n tries: number;\n penaltyTries: number;\n conversionKicks: number;\n conversionGoals: number;\n conversionMisses: number;\n conversionGoalsPercent: number;\n penalties: number;\n penaltyKicksOnGoal: number;\n penaltyMisses: number;\n penaltyGoals: number;\n penaltyGoalsPercent: number;\n tapPenalties: number;\n penaltyKicksToTouch: number;\n dropGoalKicks: number;\n dropGoals: number;\n dropGoalMisses: number;\n dropGoalsPercent: number;\n freeKicks: number;\n yellowCards: number;\n redCards: number;\n offloads: number;\n tackles: number;\n handlingErrors: number;\n carriesOverGainline: number;\n plusMinus: number;\n gameTime: number;\n\n scrums: number;\n scrumsWon: number;\n scrumsLost: number;\n scrumsWonPercent: number;\n scrumsWonFree: number;\n opponentScrumsWon: number;\n opponentScrumsLost: number;\n lineouts: number;\n lineoutsWon: number;\n lineoutsLost: number;\n lineoutsSteal: number;\n opponentLineoutsLost: number;\n quickThrows: number;\n rucks: number;\n rucksWon: number;\n rucksLost: number;\n rucksWonPercent: number;\n opponentRucksWon: number;\n opponentRucksLost: number;\n mauls: number;\n maulsWon: number;\n maulsLost: number;\n maulWonPercent: number;\n opponentMaulsWon: number;\n opponentMaulsLost: number;\n fouls: number;\n teamFouls: number;\n\n get userMinutes(): string {\n if (!this.gameTime) {\n return '00:00';\n }\n const minutes = Math.floor(this.gameTime / 60);\n const seconds = Math.floor(this.gameTime - minutes * 60);\n return `${minutes < 10 ? 0 : ''}${minutes}:${seconds < 10 ? 0 : ''}${seconds}`;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Tournament } from '../models/tournament';\nimport { map } from 'rxjs/operators';\nimport { TournamentNews } from '../models/tournament-news';\nimport { Game, GameStatuses } from '../models/game';\nimport { GameTimelineStages } from '../models/game-timeline-stages';\nimport { TournamentTeam } from '../models/tournament-team';\nimport { TournamentStage } from '../models/tournament-stage';\nimport { Playoff } from '../models/playoff';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { BasketballStatistic } from '../models/basketball-statistic';\nimport { VolleyballStatistic } from '../models/volleyball-statistic';\nimport { TournamentTeamUser } from '../models/tournament-team-user';\nimport { TournamentStageTeam } from '../models/tournament-stage-team';\nimport { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';\nimport { ConfigService } from '../services/config.service';\nimport { HockeyStatistic } from '../models/hockey-statistic';\nimport { FootballStatistic } from '../models/football-statistic';\nimport { LeagueUserPermissions } from '../models/league-user';\nimport { HandballStatistic } from '../models/handball-statistic';\nimport { RugbyStatistic } from '../models/rugby-statistic';\nimport { TournamentGroup } from '../models/tournament-group';\n\nexport interface TournamentGamesFilters {\n tournamentIds?: number[];\n tournamentSeasonId?: number;\n tournamentStageId?: number;\n tournamentTour?: number;\n teamId?: number;\n playoffStage?: number;\n playoffRound?: number;\n playoffId?: number;\n isPlayoff?: boolean;\n status?: GameStatuses;\n statuses?: GameStatuses[];\n tournamentCourtId?: number;\n leaguePlayerId?: number;\n userId?: number;\n query?: string;\n}\n\nexport type StatisticGroupByTypes = 'team' | 'user' | 'team_user' | 'tournament_team' | 'league_player' | 'tournament_team_user'\n | 'month' | 'win_loses';\n\nexport interface StatisticFilters {\n tournament_id?: number;\n tournament_ids?: number[];\n tournament_season_id?: number;\n tournament_team_id?: number;\n league_player_id?: number;\n tournament_team_user_id?: number;\n team_id?: number;\n team_user_id?: number;\n user_id?: number;\n tournament_stage_id?: number;\n tournament_tour?: number;\n playoff_stage?: number;\n playoff_round?: number;\n playoff_id?: number;\n is_playoff?: boolean;\n date_from?: string;\n date_to?: string;\n query?: string;\n per_game?: boolean;\n group_by: StatisticGroupByTypes;\n order_by?: string;\n page?: number;\n size?: number;\n}\n\nexport interface StatisticLeadersFilters {\n tournament_id?: number;\n tournament_ids?: number[];\n tournament_season_id?: number;\n tournament_team_id?: number;\n team_id?: number;\n tournament_stage_id?: number;\n tournament_tour?: number;\n playoff_stage?: number;\n playoff_id?: number;\n date_from?: string;\n date_to?: string;\n per_game?: boolean;\n group_by: StatisticGroupByTypes;\n size?: number;\n fields: string[];\n}\n\nexport interface TournamentEventsListFilter {\n event?: TournamentEventTypes;\n search?: string;\n tournamentTour?: number;\n}\n\n@Injectable({providedIn: 'root'})\nexport class TournamentApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getById(tournamentId: number): Promise<Tournament> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/`)\n .pipe(map(result => Tournament.toFront(result)))\n .toPromise();\n }\n\n async getByAlias(leagueId: number, alias: string): Promise<Tournament> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournaments/${alias}/`)\n .pipe(map(result => Tournament.toFront(result)))\n .toPromise();\n }\n\n async getNews(tournamentId: number): Promise<TournamentNews[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/news/`)\n .pipe(map(result => TournamentNews.toFront(result)))\n .toPromise();\n }\n\n async getEvents(tournamentId: number, page: number, size: number, filters?: TournamentEventsListFilter): Promise<PaginatedResponse<TournamentEvent[]>> {\n let params = new HttpParams().set('page', page.toString())\n .set('size', size.toString());\n if (filters) {\n if (filters.event) {\n params = params.set('event', TournamentEventTypes[filters.event]);\n }\n if (filters.search) {\n params = params.set('search', filters.search);\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/events/`, {params, observe: 'response'})\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentEvent.toFront(result.body)\n })))\n .toPromise();\n }\n\n async getTournamentStages(tournamentId: number): Promise<TournamentStage[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/stages/`).pipe(\n map(data => TournamentStage.toFront(data))\n ).toPromise();\n }\n\n async getPlayoff(tournamentId: number): Promise<Playoff[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/playoff/`).pipe(\n map(result => Playoff.toFront(result))\n ).toPromise();\n }\n\n async getPlayoffGames(playoffId: number, playoffNumber?: string): Promise<Game[]> {\n let params = new HttpParams();\n if (playoffNumber) {\n params = params.set('playoff_number', playoffNumber);\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_playoff/${playoffId}/games/`,\n {params}\n ).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getGamesStages(tournamentId: number): Promise<GameTimelineStages> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/games_stages/`)\n .pipe(map(data => GameTimelineStages.toFront(data)))\n .toPromise();\n }\n\n async getGames(tournamentId: number, page: number, size: number, filters: TournamentGamesFilters = {}): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n params = applyGamesFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/games/`, {params, observe: 'response'})\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: Game.toFront(result.body)\n }))).toPromise();\n }\n\n async getGroups(tournamentId: number): Promise<TournamentGroup[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/groups/`)\n .pipe(map(result => TournamentGroup.toFront(result)))\n .toPromise();\n }\n\n async getTeams(tournamentId: number, groupId?: number): Promise<TournamentTeam[]> {\n let params = new HttpParams();\n if (groupId) {\n params = params.set('group_id', groupId.toString());\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/teams/`, {params})\n .pipe(map(result => TournamentTeam.toFront(result)))\n .toPromise();\n }\n\n async getStageTeams(tournamentId: number): Promise<TournamentStageTeam[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/stage_teams/`)\n .pipe(map(result => TournamentStageTeam.toFront(result)))\n .toPromise();\n }\n\n async getTeamById(tournamentTeamId: number): Promise<TournamentTeam> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/`)\n .pipe(map(result => TournamentTeam.toFront(result)))\n .toPromise();\n }\n\n async getUserById(userId: number): Promise<TournamentTeamUser> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team_user/${userId}/`)\n .pipe(map(result => TournamentTeamUser.toFront(result)))\n .toPromise();\n }\n\n async getUserGames(tournamentUserId: number): Promise<Game[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team_user/${tournamentUserId}/games/`)\n .pipe(map(result => Game.toFront(result)))\n .toPromise();\n }\n\n async getBasketballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: BasketballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/basketball_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = BasketballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getVolleyballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: VolleyballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/volleyball_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = VolleyballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getHockeyStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: HockeyStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/hockey_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = HockeyStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getFootballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: FootballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/football_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = FootballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getHandballStatisticLeaders(filters: StatisticLeadersFilters): Promise<{[key: string]: HandballStatistic[]}> {\n let params = new HttpParams();\n params = applyStatisticLeadersFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/handball_statistic_leaders/`, {params}).pipe(\n map((result: {[key: string]: any[]}) => {\n for (const key of Object.keys(result)) {\n result[key] = HandballStatistic.toFront(result[key]);\n }\n return result;\n })\n ).toPromise();\n }\n\n async getBasketballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<BasketballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/basketball_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: BasketballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getVolleyballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<VolleyballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/volleyball_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: VolleyballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getHockeyStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<HockeyStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/hockey_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: HockeyStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getFootballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<FootballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/football_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: FootballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getHandballStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<HandballStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/handball_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: HandballStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getRugbyStatistic(filters?: StatisticFilters): Promise<PaginatedResponse<RugbyStatistic[]>> {\n let params = new HttpParams();\n params = applyStatisticFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/rugby_statistic/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: RugbyStatistic.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getTournamentTeamUsers(tournamentTeamId: number): Promise<TournamentTeamUser[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/users/`).pipe(\n map(result => TournamentTeamUser.toFront(result))\n ).toPromise();\n }\n\n async myPermission(tournamentId: number): Promise<LeagueUserPermissions[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/permission/`).pipe(\n map((data: any) => (data.permissions || []).map(item => LeagueUserPermissions[item]))\n ).toPromise();\n }\n\n async getTournamentTeamTournaments(tournamentTeamId: number): Promise<Tournament[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team/${tournamentTeamId}/tournaments/`).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n async getTournamentUserTournaments(tournamentTeamUserId: number): Promise<Tournament[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_team_user/${tournamentTeamUserId}/tournaments/`).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n}\n\nexport function applyGamesFilters(filters: TournamentGamesFilters, params: HttpParams): HttpParams {\n if (filters.tournamentIds) {\n params = params.set('tournament_ids', filters.tournamentIds.join(','));\n }\n if (filters.tournamentStageId) {\n params = params.set('tournament_stage_id', filters.tournamentStageId.toString());\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n if (filters.playoffStage) {\n params = params.set('playoff_stage', filters.playoffStage.toString());\n }\n if (filters.playoffRound) {\n params = params.set('playoff_round', filters.playoffRound.toString());\n }\n if (filters.teamId) {\n params = params.set('team_id', filters.teamId.toString());\n }\n if (filters.status) {\n params = params.set('status', GameStatuses[filters.status]);\n }\n if (filters.statuses) {\n const statuses = filters.statuses.map(i => GameStatuses[i]);\n params = params.set('statuses', statuses.join(','));\n }\n if (filters.tournamentCourtId) {\n params = params.set('tournament_court_id', filters.tournamentCourtId.toString());\n }\n if (filters.leaguePlayerId) {\n params = params.set('league_player_id', filters.leaguePlayerId.toString());\n }\n if (filters.userId) {\n params = params.set('user_id', filters.userId.toString());\n }\n if (filters.query) {\n params = params.set('query', filters.query);\n }\n if (filters.isPlayoff !== undefined && filters.isPlayoff !== null) {\n params = params.set('is_playoff', filters.isPlayoff ? '1' : '0');\n }\n return params;\n}\n\nexport function applyStatisticFilters(filters: StatisticFilters, params: HttpParams): HttpParams {\n for (const key of Object.keys(filters)) {\n if (filters[key]) {\n params = params.set(key, filters[key]);\n }\n }\n\n if (filters.per_game !== undefined) {\n params = params.set('per_game', filters.per_game ? '1' : '0');\n }\n\n if (filters.tournament_ids) {\n params = params.set('tournament_ids', filters.tournament_ids.join(','));\n }\n\n if (filters.is_playoff !== undefined && filters.is_playoff !== null) {\n params = params.set('is_playoff', filters.is_playoff ? '1' : '0');\n }\n\n return params;\n}\n\nexport function applyStatisticLeadersFilters(filters: StatisticLeadersFilters, params: HttpParams): HttpParams {\n for (const key of Object.keys(filters)) {\n if (filters[key]) {\n params = params.set(key, filters[key]);\n }\n }\n\n if (filters.per_game !== undefined) {\n params = params.set('per_game', filters.per_game ? '1' : '0');\n }\n\n if (filters.tournament_ids) {\n params = params.set('tournament_ids', filters.tournament_ids.join(','));\n }\n if (filters.fields) {\n params = params.set('fields', filters.fields.join(','));\n }\n return params;\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n picture: 'picture',\n link: 'link',\n sort: 'sort',\n },\n relation: {\n picture: File\n }\n})\nexport class LeaguePartner extends BaseModel {\n id: number;\n title: string;\n picture: File;\n link: string;\n sort: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import {ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField} from './util';\nimport {File} from './file';\n\nexport enum BannerLocation {\n slider = 'slider',\n central = 'central',\n media = 'media',\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n title: 'title',\n picture: 'picture',\n link: 'link',\n sort: 'sort',\n location: 'location',\n },\n relation: {\n picture: File,\n location: enumField(BannerLocation),\n }\n})\nexport class LeagueBanner extends BaseModel {\n id: number;\n title: string;\n picture: File;\n link: string;\n sort: number;\n location: BannerLocation;\n\n\n @ToFrontHook\n static toFront(data: any): any {\n }\n\n @ToBackHook\n static toBack(data: any): any {\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n file: 'file',\n },\n relation: {\n file: File,\n }\n})\nexport class LeagueDocument extends BaseModel {\n id: number;\n file: File;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { League } from '../models/league';\nimport { map } from 'rxjs/operators';\nimport { Tournament, TournamentStatuses } from '../models/tournament';\nimport { ConfigService } from '../services/config.service';\nimport { applyGamesFilters, TournamentEventsListFilter, TournamentGamesFilters } from './tournament-api';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';\nimport { GameMediaFilters } from './media-api';\nimport { TournamentSeason } from '../models/tournament-season';\nimport { Game, GameStatuses } from '../models/game';\nimport { LeaguePartner } from '../models/league-partner';\nimport { LeagueCourt } from '../models/league-court';\nimport { BannerLocation, LeagueBanner } from '../models/league-banner';\nimport { LeagueDocument } from '../models/league-document';\n\nexport interface TournamentListFilters {\n statuses: TournamentStatuses[];\n}\n\n@Injectable({providedIn: 'root'})\nexport class LeagueApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService\n ) {\n }\n\n async getByAlias(alias: string): Promise<League> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${alias}/`).pipe(\n map(result => League.toFront(result))\n ).toPromise();\n }\n\n async getByDomain(domain: string): Promise<League> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/by_domain/${domain}/`).pipe(\n map(result => League.toFront(result))\n ).toPromise();\n }\n\n async getTournaments(leagueId: number, filters?: TournamentListFilters): Promise<Tournament[]> {\n let params = new HttpParams();\n if (filters) {\n if (filters.statuses) {\n params = params.set('statuses', filters.statuses.map(s => TournamentStatuses[s]).join(','));\n }\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournaments/`, {params}).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n async getEvents(leagueId: number, page: number, size: number, filters?: TournamentEventsListFilter): Promise<PaginatedResponse<TournamentEvent[]>> {\n let params = new HttpParams().set('page', page.toString())\n .set('size', size.toString());\n if (filters) {\n if (filters.event) {\n params = params.set('event', TournamentEventTypes[filters.event]);\n }\n if (filters.search) {\n params = params.set('search', filters.search);\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/events/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentEvent.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getTournamentSeasons(leagueId: number): Promise<TournamentSeason[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/`).pipe(\n map(result => TournamentSeason.toFront(result))\n ).toPromise();\n }\n\n async getGames(leagueId: number, page: number, size: number, filters: TournamentGamesFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n params = applyGamesFilters(filters, params);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/games/`, {params, observe: 'response'}).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: Game.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getSeasons(leagueId: number, page = 1, size = 20, notClosed?: boolean, include?: string[]): Promise<PaginatedResponse<TournamentSeason[]>> {\n const params = new HttpParams()\n .set('page', page.toString())\n .set('size', size.toString())\n .set('not_closed', notClosed ? '1' : '')\n .set('include', include ? include.join(',') : '');\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/`, {params, observe: 'response'})\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentSeason.toFront(result.body)\n })))\n .toPromise();\n }\n\n async getPartners(leagueId: number): Promise<LeaguePartner[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/partners/`).pipe(\n map(result => LeaguePartner.toFront(result))\n ).toPromise();\n }\n\n async getBanners(leagueId: number, location?: BannerLocation): Promise<LeagueBanner[]> {\n const params = location ? new HttpParams().set('location', location) : new HttpParams();\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/banners/`, {params}).pipe(\n map(result => LeagueBanner.toFront(result))\n ).toPromise();\n }\n\n async getCourts(leagueId: number): Promise<LeagueCourt[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/courts/`).pipe(\n map(result => LeagueCourt.toFront(result))\n ).toPromise();\n }\n\n async getGraphicSettings(leagueId: number): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/graphic_settings/`)\n .toPromise();\n }\n\n async getDocuments(leagueId: number): Promise<LeagueDocument[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/documents/`).pipe(\n map(result => LeagueDocument.toFront(result))\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { LeagueNews, LeagueNewsType } from '../models/league-news';\nimport { map } from 'rxjs/operators';\n\n@Injectable({providedIn: 'root'})\nexport class LeagueNewsApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService\n ) {\n }\n\n async getLeagueNewsList(leagueId: number, page: number, size: number, type: LeagueNewsType = LeagueNewsType.text): Promise<PaginatedResponse<LeagueNews[]>> {\n const params = new HttpParams().set('page', page.toString())\n .set('size', size.toString())\n .set('type', LeagueNewsType[type]);\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/news/`, {params, observe: 'response'})\n .pipe(map(response => ({\n total: +response.headers.get('X-Page-Count'),\n data: LeagueNews.toFront(response.body)\n })))\n .toPromise();\n }\n\n async getMainLeagueNews(leagueId: number): Promise<LeagueNews> {\n return this.httpClient.get<any[]>(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/news/?is_main=true`)\n .pipe(map(response => response && response.length > 0 ? LeagueNews.toFront(response[0]) : null))\n .toPromise();\n }\n\n async getMainLeagueNewsList(leagueId: number): Promise<LeagueNews[]> {\n return this.httpClient.get<any[]>(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/news/?is_main=true`)\n .pipe(map(response => LeagueNews.toFront(response)))\n .toPromise();\n }\n\n async getNewsById(newsId: number): Promise<LeagueNews> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league_news/${newsId}/`)\n .pipe(map(response => LeagueNews.toFront(response)))\n .toPromise();\n }\n\n async getTournamentNewsList(tournamentId: number): Promise<PaginatedResponse<LeagueNews[]>> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/news/`, {observe: 'response'})\n .pipe(map(response => ({\n total: +response.headers.get('X-Page-Count'),\n data: LeagueNews.toFront(response.body)\n })))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { LeaguePlayer } from '../models/league-player';\nimport { map } from 'rxjs/operators';\nimport { TournamentTeamUser } from '../models/tournament-team-user';\n\n@Injectable({providedIn: 'root'})\nexport class LeaguePlayerApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n getById(leaguePlayerId: number): Promise<LeaguePlayer> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league_player/${leaguePlayerId}/`).pipe(\n map(item => LeaguePlayer.toFront(item))\n ).toPromise();\n }\n\n getTournamentUsers(leaguePlayerId: number, seasonId?: number): Promise<TournamentTeamUser[]> {\n let params = new HttpParams();\n if (seasonId) {\n params = params.set('season_id', seasonId.toString());\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league_player/${leaguePlayerId}/tournament_users/`, {params}).pipe(\n map(item => TournamentTeamUser.toFront(item))\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { MediaItem } from '../models/media-item';\nimport { Game, GameStatuses } from '../models/game';\nimport { map } from 'rxjs/operators';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { ConfigService } from '../services/config.service';\nimport { applyGamesFilters, TournamentGamesFilters } from './tournament-api';\n\nexport interface GameMediaFilters extends TournamentGamesFilters {\n mediaCount?: number;\n}\n\nexport interface MediaFilters {\n mediaType?: 'photo' | 'video' | 'live_video';\n sort?: string;\n teamId?: number;\n}\n\n@Injectable({providedIn: 'root'})\nexport class MediaApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getMedia(mediaId: number): Promise<MediaItem> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/`).pipe(\n map(result => MediaItem.toFront(result))\n ).toPromise();\n }\n\n async getTournamentGameMedia(tournamentId: number, page: number, size: number, filters?: GameMediaFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n params = applyGameMediaFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/game_media/`, {observe: 'response', params}).pipe(\n map(response => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n })\n ).toPromise();\n }\n\n async getLeagueGameMedia(leagueId: number, page: number, size: number, filters?: GameMediaFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n params = applyGameMediaFilters(filters, params);\n\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/game_media/`, {observe: 'response', params}).pipe(\n map(response => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n })\n ).toPromise();\n }\n\n async getLeagueMedia(leagueId: number, page: number, size: number, filters: MediaFilters = {}): Promise<PaginatedResponse<MediaItem[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n if (filters.mediaType) {\n params = params.set('media_type', filters.mediaType);\n }\n if (filters.sort) {\n params = params.set('sort', filters.sort);\n }\n if (filters.teamId) {\n params = params.set('team_id', filters.teamId.toString());\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/media/`, {params, observe: 'response'})\n .pipe(map(response => ({\n total: +response.headers.get('X-Page-Count'),\n data: MediaItem.toFront(response.body)\n }))).toPromise();\n }\n\n async getGameMediaById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/game_media/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getGameMedia(gameId: number): Promise<MediaItem[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_game/${gameId}/media/?size=1000`).pipe(\n map(result => MediaItem.toFront(result))\n ).toPromise();\n }\n\n async createZip(mediaIds: number[]): Promise<any> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/media/zip/`, mediaIds, { responseType: 'blob' })\n .toPromise();\n }\n\n async downloadMedia(mediaId: number): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/media/${mediaId}/download/`,{responseType: 'blob'})\n .toPromise();\n }\n}\n\nexport function applyGameMediaFilters(filters: GameMediaFilters, params: HttpParams, ): HttpParams {\n if (filters) {\n params = applyGamesFilters(filters, params);\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n if (filters.teamId) {\n params = params.set('team_id', filters.teamId.toString());\n }\n if (filters.tournamentStageId) {\n params = params.set('tournament_stage_id', filters.tournamentStageId.toString());\n }\n if (filters.playoffId) {\n params = params.set('playoff_id', filters.playoffId.toString());\n }\n if (filters.playoffStage) {\n params = params.set('playoff_stage', filters.playoffStage.toString());\n }\n if (filters.playoffRound) {\n params = params.set('playoff_round', filters.playoffRound.toString());\n }\n if (filters.status) {\n params = params.set('status', GameStatuses[filters.status]);\n }\n if (filters.mediaCount) {\n params = params.set('media_count', filters.mediaCount.toString());\n }\n }\n return params;\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { User } from './user';\n\nexport enum PollStatuses {\n open = 1,\n closed,\n archived,\n}\n\n@ModelInstance({\n mappingFields: {\n uuid: 'uuid',\n name: 'name'\n }\n})\nexport class PollVariant extends BaseModel {\n uuid: string;\n name: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n answer_uuid: 'answerUuid',\n user: 'user',\n poll_id: 'pollId',\n },\n relation: {\n user: User\n }\n})\nexport class PollAnswer extends BaseModel {\n id: number;\n answerUuid: string;\n user: User;\n pollId: number;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n active: 'active',\n status: 'status',\n team_id: 'teamId',\n name: 'name',\n description: 'description',\n variants: 'variants',\n author: 'author',\n answers: 'answers',\n multiple_answer: 'multipleAnswer',\n anonymous: 'anonymous',\n created_at: 'createdAt'\n },\n relation: {\n status: enumField(PollStatuses),\n variants: PollVariant,\n author: User,\n answers: PollAnswer,\n createdAt: DateTimeField,\n }\n})\nexport class Poll extends BaseModel {\n id: number;\n active: boolean;\n teamId: number;\n status: PollStatuses;\n name: string;\n description: string;\n _variants: PollVariant[];\n author: User;\n _answers: PollAnswer[];\n multipleAnswer: boolean;\n anonymous: boolean;\n createdAt: Date;\n variantsWithAnswers: {variant: PollVariant, percent: number}[] = [];\n\n set variants(value: PollVariant[]) {\n this._variants = value || [];\n if (this._answers) {\n this.calculateAnswersPercentage();\n }\n }\n get variants(): PollVariant[] {\n return this._variants;\n }\n\n set answers(value: PollAnswer[]) {\n this._answers = value || [];\n if (this._variants) {\n this.calculateAnswersPercentage();\n }\n }\n get answers(): PollAnswer[] {\n return this._answers;\n }\n\n calculateAnswersPercentage() {\n if (!this._answers.length) {\n return;\n }\n\n const variants = this._variants.map(v => v.uuid);\n const answersByVariant = this._answers.reduce((acc, item) => {\n if (variants.indexOf(item.answerUuid) < 0) {\n return acc;\n }\n if (!acc[item.answerUuid]) {\n acc[item.answerUuid] = 0;\n }\n acc[item.answerUuid]++;\n return acc;\n }, {});\n this.variantsWithAnswers = this._variants.map(item => ({\n variant: item,\n percent: answersByVariant[item.uuid] ? Math.round(100 * answersByVariant[item.uuid] / this._answers.length) : 0\n }))\n .sort((a, b) => a.percent > b.percent ? -1 : 1);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { User } from './user';\nimport { Team } from './team';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n user_id: 'userId',\n user: 'user',\n team: 'team',\n team_id: 'teamId',\n user_accept: 'userAccept',\n team_accept: 'teamAccept',\n users_count: 'usersCount',\n games_count: 'gamesCount',\n won_games_count: 'wonGamesCount',\n score_sum: 'scoreSum',\n created_at: 'createdAt',\n updated_at: 'updatedAt',\n },\n relation: {\n user: User,\n team: Team,\n createdAt: DateTimeField,\n updateAt: DateTimeField,\n }\n})\nexport class TeamInvite extends BaseModel {\n id: number;\n userId: number;\n user: User;\n teamId: number;\n team: Team;\n userAccept: boolean;\n teamAccept: boolean;\n usersCount: number;\n gamesCount: number;\n wonGamesCount: number;\n scoreSum: number;\n createdAt: Date;\n updatedAt: Date;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { TeamUser } from './team-user';\nimport { Game } from './game';\n\nexport enum GameInviteStatus {\n accepted = 1,\n declined,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_user: 'teamUser',\n game_id: 'gameId',\n game: 'game',\n status: 'status',\n },\n relation: {\n game: Game,\n teamUser: TeamUser,\n status: enumField(GameInviteStatus),\n }\n})\nexport class GameInvite extends BaseModel {\n id: number;\n teamUser: TeamUser;\n gameId: number;\n game: Game;\n status: GameInviteStatus;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","export enum TeamEventTypes {\n training = 1,\n other = 2,\n}\n","import { TeamEventTypes } from '../models/team-event-type';\n\nexport const TeamEventTypeLocalization = {\n [TeamEventTypes.training]: 'ТÑениÑовка',\n [TeamEventTypes.other]: 'ÐÑÑгое'\n};\n","import { BaseModel, enumField, ModelInstance, DateTimeField, ToBackHook, ToFrontHook } from './util';\nimport { Team } from './team';\nimport { TeamEventTypeLocalization } from '../localization/team-event-type';\nimport { TeamEventTypes } from './team-event-type';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n team: 'team',\n event_type: 'eventType',\n event_custom_name: 'eventCustomName',\n description: 'description',\n datetime: 'datetime',\n location: 'location',\n },\n relation: {\n eventType: enumField(TeamEventTypes),\n team: Team,\n datetime: DateTimeField,\n }\n})\nexport class TeamEvent extends BaseModel {\n id: number;\n teamId: number;\n team: Team;\n eventType: TeamEventTypes;\n eventCustomName: string;\n description: string;\n datetime: Date;\n location: string;\n\n get name(): string {\n if (this.eventType === TeamEventTypes.other) {\n return this.eventCustomName;\n }\n return TeamEventTypeLocalization[this.eventType];\n }\n\n get isClosed(): boolean {\n return this.datetime.getTime() < new Date().getTime();\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { enumField, ModelInstance, ToBackHook, ToFrontHook } from './util';\n\nexport enum TeamEventInviteStatuses {\n accepted = 1,\n declined = 2\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_event_id: 'teamEventId',\n team_user_id: 'teamUserId',\n status: 'status',\n },\n relation: {\n status: enumField(TeamEventInviteStatuses)\n }\n})\nexport class TeamEventInvite {\n id: number;\n teamEventId: number;\n teamUserId: number;\n status: TeamEventInviteStatuses;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook } from './util';\nimport { TeamUser } from './team-user';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n tournament_team_invite_id: 'tournamentTeamInviteId',\n tournament_team_id: 'tournamentTeamId',\n team_user: 'teamUser',\n accepted: 'accepted'\n },\n relation: {\n teamUser: TeamUser\n }\n})\nexport class TournamentTeamUserInvite extends BaseModel {\n id: number;\n tournamentTeamInviteId: number;\n tournamentTeamId: number;\n teamUser: TeamUser;\n accepted: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { Team } from './team';\nimport { Tournament } from './tournament';\nimport { TournamentTeamUserInvite } from './tournament-team-user-invite';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team: 'team',\n tournament: 'tournament',\n team_accept: 'teamAccept',\n organization_accept: 'organizationAccept',\n user_invites_count: 'userInvitesCount',\n user_invites: 'userInvites',\n notifications_count: 'notificationsCount',\n },\n relation: {\n team: Team,\n tournament: Tournament,\n userInvites: TournamentTeamUserInvite,\n }\n})\nexport class TournamentInvite extends BaseModel {\n id: number;\n team: Team;\n tournament: Tournament;\n teamAccept: boolean;\n organizationAccept: boolean;\n userInvitesCount: number;\n userInvites: TournamentTeamUserInvite[];\n notificationsCount: number;\n\n get isOpen(): boolean {\n return (this.teamAccept === null || this.organizationAccept === null) && this.teamAccept !== false && this.organizationAccept !== false;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { Team } from './team';\nimport { Poll } from './poll';\nimport { Game } from './game';\nimport { TeamInvite } from './team-invite';\nimport { TeamUser } from './team-user';\nimport { GameInvite } from './game-invite';\nimport { TeamEvent } from './team-event';\nimport { TeamEventInvite } from './team-event-invite';\nimport { Tournament } from './tournament';\nimport { TournamentInvite } from './tournament-invite';\nimport { TournamentTeam } from './tournament-team';\nimport { User } from './user';\n\nexport enum NotificationType {\n team_updated = 1,\n team_invited,\n team_join_request,\n team_join_declined_by_team,\n team_join_declined_by_user,\n team_join_canceled_by_team,\n team_join_canceled_by_user,\n team_joined_for_user,\n team_joined_for_team,\n team_user_role_changed_for_user,\n team_user_role_changed_for_team,\n team_user_number_changed,\n team_user_deleted_for_user,\n team_user_deleted_for_team,\n team_user_left,\n\n game_updated,\n game_invited,\n game_invite_accepted,\n game_invite_declined,\n game_remind,\n game_won,\n game_losing,\n game_tech_defeat,\n game_tech_victory,\n\n poll_created,\n poll_closed,\n\n team_event_invited,\n team_event_accepted,\n team_event_declined,\n team_event_remind,\n\n tournament_invited,\n tournament_joined,\n tournament_join_declined,\n tournament_join_canceled,\n tournament_user_invited,\n tournament_user_accepted_for_team,\n tournament_user_accepted_for_user,\n tournament_user_added,\n tournament_user_declined_for_team,\n tournament_user_declined_for_user,\n tournament_user_invite_deleted,\n tournament_user_deleted,\n tournament_user_disqualified_for_team,\n tournament_user_disqualified_for_user,\n tournament_user_disqualification_updated_for_team,\n tournament_user_disqualification_updated_for_user,\n tournament_team_deleted,\n\n org_tournament_invite_created,\n org_tournament_invite_declined,\n org_tournament_invite_deleted,\n org_tournament_invite_changed,\n org_tournament_user_deleted,\n org_tournament_user_invited,\n org_tournament_user_has_changes,\n org_tournament_team_leave,\n}\n\nexport enum NotificationServiceEnum {\n public = 1,\n org\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n event_type: 'event',\n data: 'data',\n initiator: 'initiator',\n team: 'team',\n team_invite: 'teamInvite',\n team_user: 'teamUser',\n poll: 'poll',\n game: 'game',\n game_invite: 'gameInvite',\n team_event: 'teamEvent',\n team_event_invite: 'teamEventInvite',\n tournament: 'tournament',\n tournament_invite: 'tournamentInvite',\n tournament_team: 'tournamentTeam',\n viewed: 'viewed',\n protected: 'protected',\n service: 'service',\n created_at: 'createdAt',\n },\n relation: {\n event: enumField(NotificationType),\n initiator: User,\n team: Team,\n teamInvite: TeamInvite,\n teamUser: TeamUser,\n poll: Poll,\n game: Game,\n gameInvite: GameInvite,\n teamEvent: TeamEvent,\n teamEventInvite: TeamEventInvite,\n tournament: Tournament,\n tournamentInvite: TournamentInvite,\n tournamentTeam: TournamentTeam,\n service: enumField(NotificationServiceEnum),\n createdAt: DateTimeField,\n }\n})\nexport class Notification extends BaseModel {\n id: number;\n event: NotificationType;\n data: any;\n initiator: User;\n team: Team;\n teamInvite: TeamInvite;\n teamUser: TeamUser;\n poll: Poll;\n game: Game;\n gameInvite: GameInvite;\n teamEvent: TeamEvent;\n teamEventInvite: TeamEventInvite;\n tournament: Tournament;\n tournamentInvite: TournamentInvite;\n tournamentTeam: TournamentTeam;\n viewed: boolean;\n protected: boolean;\n service: NotificationServiceEnum;\n createdAt: Date;\n\n get important(): boolean {\n return true;\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\n\nexport enum NotificationAllowTypes {\n all = 1,\n important,\n none\n}\n\n@ModelInstance({\n mappingFields: {\n user_id: 'userId',\n popup: 'popup',\n sound: 'sound',\n browser: 'browser',\n email: 'email'\n },\n relation: {\n sound: enumField(NotificationAllowTypes),\n browser: enumField(NotificationAllowTypes),\n }\n})\nexport class NotificationSettings extends BaseModel {\n userId: number;\n popup: boolean;\n sound: NotificationAllowTypes;\n browser: NotificationAllowTypes;\n email: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Notification } from '../models/notification';\nimport { NotificationSettings } from '../models/notification-settings';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { ConfigService } from '../services/config.service';\n\nexport interface NotificationFilters {\n protected?: boolean;\n not_viewed?: boolean;\n important?: boolean;\n}\n\n@Injectable({providedIn: 'root'})\nexport class NotificationBaseApi {\n protected apiUrl: string;\n\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getCount(): Promise<number> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/count/`)\n .pipe(map(data => +data))\n .toPromise();\n }\n\n async getList(page: number, size: number, filters: NotificationFilters = {}): Promise<PaginatedResponse<Notification[]>> {\n let params = new HttpParams()\n .set('page', page.toString())\n .set('size', size.toString());\n for (const key of Object.keys(filters)) {\n params = params.set(key, filters[key]);\n }\n\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/`, {params, observe: 'response'})\n .pipe(\n map(response => {\n const data: Notification[] = Notification.toFront(response.body);\n return {\n total: +response.headers.get('x-page-count'),\n data\n };\n }),\n ).toPromise();\n }\n\n async markViewed(notificationId: number, viewed: boolean): Promise<Notification> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/${notificationId}/viewed/`, {viewed})\n .pipe(map(data => Notification.toFront(data)))\n .toPromise();\n }\n\n async markAllViewed(): Promise<Notification[]> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}${this.apiUrl}/notification/viewed/`, {})\n .pipe(map(data => Notification.toFront(data)))\n .toPromise();\n }\n\n async getNotificationSettings(): Promise<NotificationSettings> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}${this.apiUrl}/notification_settings/`)\n .pipe(map(data => NotificationSettings.toFront(data)))\n .toPromise();\n }\n\n async updateNotificationSettings(data: NotificationSettings): Promise<NotificationSettings> {\n return this.httpClient.post(\n `${this.configService.get('apiUrl')}${this.apiUrl}/notification_settings/`,\n NotificationSettings.toBack(data)\n )\n .pipe(map(result => NotificationSettings.toFront(result)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NotificationBaseApi } from './notification-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class NotificationApi extends NotificationBaseApi {\n protected apiUrl = '/api/v1';\n}\n","import { Injectable } from '@angular/core';\nimport { NotificationBaseApi } from './notification-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class OrgNotificationApi extends NotificationBaseApi {\n protected apiUrl = '/org/api/v1';\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { ConfigService } from '../services/config.service';\nimport { City } from '../models/city';\nimport { Sport } from '../models/sport';\n\n@Injectable({providedIn: 'root'})\nexport class ReferenceApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getCities(): Promise<City[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/reference/cities/`)\n .pipe(\n map(data => City.toFront(data))\n ).toPromise();\n }\n\n async getSports(): Promise<Sport[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/sport/`)\n .pipe(\n map(data => Sport.toFront(data))\n ).toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook } from './util';\nimport { RugbyStatistic } from './rugby-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam'\n },\n relation: {\n team: RugbyStatistic,\n competitorTeam: RugbyStatistic\n }\n})\nexport class RugbyGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: RugbyStatistic;\n competitorTeam: RugbyStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n updated_at: 'updatedAt',\n points: 'points',\n tries: 'tries',\n penalty_tries: 'penaltyTries',\n conversion_goals: 'conversionGoals',\n conversion_misses: 'conversionMisses',\n conversion_kicks: 'conversionKicks',\n conversion_goals_percent: 'conversionGoalsPercent',\n penalty_misses: 'penaltyMisses',\n penalty_goals: 'penaltyGoals',\n penalty_kicks_on_goal: 'penaltyKicksOnGoal',\n penalty_goals_percent: 'penaltyGoalsPercent',\n drop_goals: 'dropGoals',\n drop_goal_misses: 'dropGoalMisses',\n drop_goal_kicks: 'dropGoalKicks',\n drop_goals_percent: 'dropGoalsPercent',\n free_kicks: 'freeKicks',\n yellow_cards: 'yellowCards',\n red_cards: 'redCards',\n offloads: 'offloads',\n tackles: 'tackles',\n handling_errors: 'handlingErrors',\n carries_over_gainline: 'carriesOverGainline',\n game_time: 'gameTime',\n plus_minus: 'plusMinus'\n },\n relation: {\n updatedAt: DateTimeField,\n }\n})\nexport class RugbyGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n points: number;\n tries: number;\n penaltyTries: number;\n conversionKicks: number;\n conversionGoals: number;\n conversionMisses: number;\n conversionGoalsPercent: number;\n penaltyMisses: number;\n penaltyGoals: number;\n penaltyKicksOnGoal: number;\n penaltyGoalsPercent: number;\n dropGoals: number;\n dropGoalMisses: number;\n dropGoalKicks: number;\n dropGoalsPercent: number;\n freeKicks: number;\n yellowCards: number;\n redCards: number;\n offloads: number;\n tackles: number;\n handlingErrors: number;\n carriesOverGainline: number;\n gameTime: number;\n plusMinus: number;\n updatedAt: Date;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get gameMinutes(): number {\n return Math.floor(this.gameTime / 60);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { BaseModel, ModelInstance, ToFrontHook, ToBackHook, listField, enumField } from './util';\n\nexport enum RugbyFoulSanctions {\n scrum = 1,\n lineout,\n free_kick,\n penalty_shot,\n yellow_card,\n red_card,\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n sanction: 'sanction',\n },\n relation: {\n sanction: listField(enumField(RugbyFoulSanctions))\n }\n})\nexport class RugbyFoulType extends BaseModel {\n id: number;\n name: string;\n sanction: RugbyFoulSanctions[];\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, DateTimeField, enumField } from './util';\nimport { GameLogBase } from './game-log-base';\nimport { GameUser } from './game-user';\nimport { RugbyFoulSanctions, RugbyFoulType } from './rugby-foul-type';\n\nexport enum RugbyGameLogTypes {\n enter_game = 1,\n exit_game,\n try,\n penalty_try,\n conversion_goal,\n conversion_miss,\n penalty_miss,\n penalty_goal,\n drop_goal,\n drop_goal_miss,\n free_kick,\n foul,\n yellow_card,\n red_card,\n offload,\n tackle,\n handling_error,\n carries_over_gainline,\n bleeding_injury,\n head_injury,\n end_game_penalty_miss,\n end_game_penalty_goal,\n\n // team actions\n timeout,\n tap_penalty,\n penalty_kick_to_touch,\n scrum_won,\n scrum_lost,\n scrum_won_free,\n lineout_won,\n lineout_lost,\n quick_throw,\n ruck_won,\n ruck_lost,\n maul_won,\n maul_lost,\n team_foul,\n}\n\nexport const RUGBY_GAME_LOG_TYPE_POINTS = {\n [RugbyGameLogTypes.penalty_try]: 7,\n [RugbyGameLogTypes.try]: 5,\n [RugbyGameLogTypes.conversion_goal]: 2,\n [RugbyGameLogTypes.penalty_goal]: 3,\n [RugbyGameLogTypes.drop_goal]: 3,\n [RugbyGameLogTypes.end_game_penalty_goal]: 1, // Ðе влиÑÐµÑ Ð½Ð° обÑий ÑÑеÑ\n};\n\nexport const RUGBY_TEAM_LOG_TYPES = [\n RugbyGameLogTypes.timeout, RugbyGameLogTypes.scrum_won, RugbyGameLogTypes.scrum_lost, RugbyGameLogTypes.scrum_won_free,\n RugbyGameLogTypes.lineout_won, RugbyGameLogTypes.lineout_lost,\n RugbyGameLogTypes.quick_throw, RugbyGameLogTypes.ruck_won, RugbyGameLogTypes.ruck_lost,\n RugbyGameLogTypes.maul_won, RugbyGameLogTypes.maul_lost, RugbyGameLogTypes.team_foul,\n RugbyGameLogTypes.penalty_kick_to_touch, RugbyGameLogTypes.tap_penalty,\n];\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n group: 'group',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n team_id: 'teamId',\n log_type: 'logType',\n datetime: 'datetime',\n time: 'time',\n period: 'period',\n active: 'active',\n is_highlight: 'isHighlight',\n foul_type: 'foulType',\n foul_sanction: 'foulSanction',\n },\n relation: {\n datetime: DateTimeField,\n logType: enumField(RugbyGameLogTypes),\n foulType: RugbyFoulType,\n foulSanction: enumField(RugbyFoulSanctions),\n }\n})\nexport class RugbyGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n group: string;\n gameId: number;\n gameUserId: number;\n gameUser: GameUser;\n teamId: number;\n logType: RugbyGameLogTypes;\n datetime: Date;\n time: number;\n period: number;\n active = true;\n teamScore: number;\n competitorTeamScore: number;\n isHighlight: boolean;\n foulType: RugbyFoulType;\n foulSanction: RugbyFoulSanctions;\n\n compare(model: RugbyGameLog): number {\n if (this.time === model.time && this.period === model.period) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n }\n if (this.period === model.period) {\n return this.time < model.time ? 1 : -1;\n }\n return this.period < model.period ? 1 : -1;\n }\n\n get timeFormatted(): string {\n const minutes = Math.floor(this.time / 60);\n const seconds = this.time - minutes * 60;\n return `${minutes < 10 ? '0' : ''}${minutes}:${seconds < 10 ? '0' : ''}${seconds}`;\n }\n\n isScoreType(): boolean {\n return RUGBY_GAME_LOG_TYPE_POINTS[this.logType] !== undefined;\n }\n\n scorePoints(): number {\n return RUGBY_GAME_LOG_TYPE_POINTS[this.logType];\n }\n\n isAfter(log: RugbyGameLog): boolean {\n if (this.time === log.time && this.period === log.period) {\n return this.id > log.id;\n }\n if (this.period === log.period) {\n return this.time > log.time;\n }\n return this.period > log.period;\n }\n\n isFoulType(): boolean {\n return [RugbyGameLogTypes.team_foul, RugbyGameLogTypes.foul].indexOf(this.logType) > -1;\n }\n\n isTeamType(): boolean {\n return RUGBY_TEAM_LOG_TYPES.includes(this.logType);\n }\n\n @ToFrontHook\n static toFront(value: any): any {}\n\n @ToBackHook\n static toBack(value: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { Game } from '../models/game';\nimport { ConfigService } from '../services/config.service';\nimport { GameBaseApi } from './game-base-api';\nimport { RugbyGameTeamStatistic } from '../models/rugby-game-team-statistic';\nimport { RugbyGameStatistic } from '../models/rugby-game-statistic';\nimport { RugbyGameLog } from '../models/rugby-game-log';\nimport { RugbyFoulType } from '../models/rugby-foul-type';\n\n@Injectable({providedIn: 'root'})\nexport class RugbyGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<RugbyGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/team_statistic/`).pipe(\n map(result => RugbyGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<RugbyGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/user_statistic/`).pipe(\n map(result => RugbyGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<RugbyGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/logs/`).pipe(\n map(result => RugbyGameLog.toFront(result))\n ).toPromise();\n }\n\n async getFoulTypes(): Promise<RugbyFoulType> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/foul_types/`).pipe(\n map(result => RugbyFoulType.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocol(gameId: number): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_rugby_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', 'pdf'),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n team_id: 'teamId',\n email: 'email',\n first_name: 'firstName',\n last_name: 'lastName',\n },\n})\nexport class TeamInviteExternal extends BaseModel {\n id: number;\n teamId: number;\n email: string;\n firstName: string;\n lastName: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToBackHook, ToFrontHook, enumField } from './util';\n\nexport enum TeamPermissionTypes {\n for_all = 1,\n for_users,\n for_team\n}\n\n@ModelInstance({\n mappingFields: {\n players: 'players',\n games: 'games',\n statistic: 'statistic',\n polls: 'polls',\n events: 'events'\n },\n relation: {\n players: enumField(TeamPermissionTypes),\n games: enumField(TeamPermissionTypes),\n statistic: enumField(TeamPermissionTypes),\n polls: enumField(TeamPermissionTypes),\n events: enumField(TeamPermissionTypes)\n }\n})\nexport class TeamPermission extends BaseModel {\n players: TeamPermissionTypes;\n games: TeamPermissionTypes;\n statistic: TeamPermissionTypes;\n polls: TeamPermissionTypes;\n events: TeamPermissionTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\nimport { TeamUserRole } from './team-user';\n\n@ModelInstance({\n mappingFields: {\n can_edit: 'canEdit',\n can_view_users: 'canViewUsers',\n can_manage_permission: 'canManagePermission',\n can_change_owner: 'canChangeOwner',\n can_delete: 'canDelete',\n can_manage_invites: 'canManageInvites',\n can_view_invites: 'canViewInvites',\n can_manage_polls: 'canManagePolls',\n can_view_polls: 'canViewPolls',\n can_answer_poll: 'canAnswerPoll',\n can_manage_games: 'canManageGames',\n can_view_games: 'canViewGames',\n can_view_statistic: 'canViewStatistic',\n can_promote_users: 'canPromoteUsers',\n can_edit_users: 'canEditUsers',\n can_delete_users: 'canDeleteUsers',\n can_view_events: 'canViewEvents',\n can_manage_events: 'canManageEvents',\n can_view_tournaments: 'canViewTournaments',\n can_manage_tournaments: 'canManageTournaments',\n role: 'role'\n },\n relation: {\n role: enumField(TeamUserRole)\n }\n})\nexport class TeamAccess extends BaseModel {\n canEdit: boolean;\n canViewUsers: boolean;\n canManagePermission: boolean;\n canChangeOwner: boolean;\n canDelete: boolean;\n canManageInvites: boolean;\n canViewInvites: boolean;\n canManagePolls: boolean;\n canViewPolls: boolean;\n canAnswerPoll: boolean;\n canManageGames: boolean;\n canViewGames: boolean;\n canViewStatistic: boolean;\n canPromoteUsers: boolean;\n canEditUsers: boolean;\n canDeleteUsers: boolean;\n canViewEvents: boolean;\n canManageEvents: boolean;\n canViewTournaments: boolean;\n canManageTournaments: boolean;\n role: TeamUserRole;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpResponse } from '@angular/common/http';\nimport { Team } from '../models/team';\nimport { map } from 'rxjs/operators';\nimport { TeamUser, TeamUserRole } from '../models/team-user';\nimport { User } from '../models/user';\nimport { TeamInvite } from '../models/team-invite';\nimport { TeamInviteExternal } from '../models/team-invite-external';\nimport { Poll } from '../models/poll';\nimport { VolleyballStatistic } from '../models/volleyball-statistic';\nimport { Game } from '../models/game';\nimport { TeamEvent } from '../models/team-event';\nimport { Tournament } from '../models/tournament';\nimport { TournamentTeam } from '../models/tournament-team';\nimport { TournamentInvite } from '../models/tournament-invite';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { BasketballStatistic } from '../models/basketball-statistic';\nimport { TeamPermission } from '../models/team-permission';\nimport { TeamAccess } from '../models/team-access';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TeamApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async search(query: string, sportId?: number): Promise<Team[]> {\n let params = (new HttpParams()).set('search', query);\n if (sportId) {\n params = params.set('sport', sportId.toString());\n }\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/`, {params})\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async create(team: Team): Promise<Team> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/`, Team.toBack(team))\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getById(teamId: number): Promise<Team> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/`)\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getTeamAccess(teamId: number): Promise<TeamAccess> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/access/`)\n .pipe(map(data => TeamAccess.toFront(data)))\n .toPromise();\n }\n\n async update(teamId: number, values: any): Promise<Team> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/`, Team.toBack(values))\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async delete(team: Team): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/team/${team.id}/`)\n .toPromise();\n }\n\n async getPermission(teamId: number): Promise<TeamPermission> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/permission/`)\n .pipe(map(data => TeamPermission.toFront(data)))\n .toPromise();\n }\n\n async updatePermission(teamId: number, permission: TeamPermission): Promise<TeamPermission> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/permission/`, TeamPermission.toBack(permission))\n .pipe(map(data => TeamPermission.toFront(data)))\n .toPromise();\n }\n\n async getUsers(teamId: number, tournamentId?: number): Promise<TeamUser[]> {\n let params = new HttpParams();\n if (tournamentId) {\n params = params.set('tournament_id', tournamentId.toString());\n }\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/`, {params})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async updateUserRole(teamId: number, teamUserId: number, role: TeamUserRole): Promise<TeamUser> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/${teamUserId}/role/`, {role: TeamUserRole[role]})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async updateUserNumber(teamId: number, teamUserId: number, gameNumber: number): Promise<TeamUser> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/${teamUserId}/number/`, {number: gameNumber.toString()})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async deleteUser(teamUser: TeamUser): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/team/${teamUser.teamId}/users/${teamUser.id}/`)\n .toPromise();\n }\n\n async changeOwner(teamId: number, user: User): Promise<Team> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/owner/`, {id: user.id})\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getInvites(teamId: number): Promise<TeamInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites/`)\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async sendInvite(teamId: number, user: User): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites/`, {user})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptInvite(invite: TeamInvite): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_invite/${invite.id}/accept/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async declineInvite(invite: TeamInvite): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_invite/${invite.id}/decline/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async resendInvite(invite: TeamInvite): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_invite/${invite.id}/resend/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async getInvitesExternal(teamId: number): Promise<TeamInviteExternal[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites_external/`)\n .pipe(map(data => TeamInviteExternal.toFront(data)))\n .toPromise();\n }\n\n async sendInviteExternal(teamId: number, invite: TeamInviteExternal): Promise<TeamInviteExternal> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/invites_external/`, TeamInviteExternal.toBack(invite))\n .pipe(map(data => TeamInviteExternal.toFront(data)))\n .toPromise();\n }\n\n async deleteInviteExternal(invite: TeamInviteExternal): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/invites_external/${invite.id}/`)\n .toPromise();\n }\n\n async resendInviteExternal(invite: TeamInviteExternal): Promise<TeamInviteExternal> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/invites_external/${invite.id}/resend/`, {})\n .pipe(map(data => TeamInviteExternal.toFront(data)))\n .toPromise();\n }\n\n async getPolls(teamId: number, archive: boolean = false): Promise<Poll[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/polls/${archive ? '?archive=1' : ''}`)\n .pipe(map(data => Poll.toFront(data)))\n .toPromise();\n }\n\n async createPoll(teamId: number, poll: Poll): Promise<Poll> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/polls/`, Poll.toBack(poll))\n .pipe(map(data => Poll.toFront(data)))\n .toPromise();\n }\n\n async getUsersStatistic(teamId: number): Promise<BasketballStatistic[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/statistics/`)\n .pipe(map(data => BasketballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getVolleyballStatistic(teamId: number): Promise<VolleyballStatistic[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/volleyball_statistics/`)\n .pipe(map(data => VolleyballStatistic.toFront(data)))\n .toPromise();\n }\n\n async joinTeam(teamId: number): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/join/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async leaveTeam(teamId: number): Promise<any> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/leave/`, {})\n .toPromise();\n }\n\n async getGames(teamId: number, archive = false): Promise<Game[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/games/${archive ? '?archive=1' : ''}`)\n .pipe(map(data => Game.toFront(data)))\n .toPromise();\n }\n\n async createGame(teamId: number, game: Game): Promise<Game> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/games/`, Game.toBack(game))\n .pipe(map(data => Game.toFront(data)))\n .toPromise();\n }\n\n async getTeamEvents(teamId: number): Promise<TeamEvent[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/events/`)\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async createTeamEvent(teamId: number, teamEvent: TeamEvent): Promise<TeamEvent> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/events/`, TeamEvent.toBack(teamEvent))\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async getTournaments(teamId: number): Promise<Tournament[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournaments/`)\n .pipe(map(data => Tournament.toFront(data)))\n .toPromise();\n }\n\n async getTournamentTeams(teamId: number): Promise<TournamentTeam[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournament_teams/`)\n .pipe(map(data => TournamentTeam.toFront(data)))\n .toPromise();\n }\n\n async getTournamentInvites(teamId: number): Promise<TournamentInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournament_invites/`)\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n\n async getTournamentGames(teamId: number, tournamentId: number, page: number, size?: number): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/tournaments/${tournamentId}/games/`, {params, observe: 'response'})\n .pipe(map((response: HttpResponse<any>) => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n }))\n .toPromise();\n }\n\n async acceptTournamentInvite(inviteId: number): Promise<TournamentInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/tournament_invite/${inviteId}/accept/`, {})\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n\n async declineTournamentInvite(inviteId: number): Promise<TournamentInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/tournament_invite/${inviteId}/decline/`, {})\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n\n async registerLazyUser(teamId: number, userData: User): Promise<TeamUser> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/lazy_user/`, {user: User.toBack(userData)})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async getLazyUser(teamUserId: number): Promise<TeamUser> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/`)\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async updateLazyUser(teamUserId: number, userData: User): Promise<TeamUser> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/`, {user: User.toBack(userData)})\n .pipe(map(data => TeamUser.toFront(data)))\n .toPromise();\n }\n\n async deleteLazyUser(teamUserId: number): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/`)\n .toPromise();\n }\n\n async resendLazyUserEmail(teamUserId: number): Promise<any> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/lazy_user/${teamUserId}/resend_email/`, {})\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\nimport { TeamEvent } from '../models/team-event';\nimport { TeamEventInvite } from '../models/team-event-invite';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TeamEventApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getTeamEvent(teamEventId: number): Promise<TeamEvent> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/`)\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async updateTeamEvent(teamEvent: TeamEvent): Promise<TeamEvent> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEvent.id}/`, TeamEvent.toBack(teamEvent))\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n\n async deleteTeamEvent(teamEventId: number): Promise<any> {\n return this.httpClient\n .delete(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/`)\n .toPromise();\n }\n\n async getTeamEventInvites(teamEventId: number): Promise<TeamEventInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/invites/`)\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n\n async createTeamEventInvite(teamEventId: number, teamUserId: number): Promise<TeamEventInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_event/${teamEventId}/invites/`, {team_user_id: teamUserId})\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptTeamEventInvite(teamEventInvite: TeamEventInvite): Promise<TeamEventInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_event_invite/${teamEventInvite.id}/accept/`, {})\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n\n async declineTeamEventInvite(teamEventInvite: TeamEventInvite): Promise<TeamEventInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/team_event_invite/${teamEventInvite.id}/decline/`, {})\n .pipe(map(data => TeamEventInvite.toFront(data)))\n .toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { Team } from './team';\n\n@ModelInstance({\n mappingFields: {\n valid_users_count: 'validUsersCount',\n invalid_users_count: 'invalidUsersCount',\n has_access: 'hasAccess',\n invite_sent: 'inviteSent',\n already_in_tournament: 'alreadyInTournament'\n }\n})\nexport class TournamentJoinData extends BaseModel {\n validUsersCount: number;\n invalidUsersCount: number;\n hasAccess: boolean;\n inviteSent: boolean;\n alreadyInTournament: boolean;\n\n get usersCount(): number {\n return this.validUsersCount + this.invalidUsersCount;\n }\n\n get valid() {\n return this.hasAccess && !this.inviteSent && !this.alreadyInTournament;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n join_data: 'joinData'\n },\n relation: {\n team: Team,\n joinData: TournamentJoinData\n }\n})\nexport class TournamentJoinTeam extends BaseModel {\n team: Team;\n joinData: TournamentJoinData;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TournamentJoinTeam } from '../models/tournament-join-team';\nimport { map } from 'rxjs/operators';\nimport { TeamUser } from '../models/team-user';\nimport { TournamentTeamUserInvite } from '../models/tournament-team-user-invite';\nimport { TournamentInvite } from '../models/tournament-invite';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TournamentJoinApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getTeamsForJoin(tournamentId: number): Promise<TournamentJoinTeam[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/teams_for_join/`).pipe(\n map(response => TournamentJoinTeam.toFront(response))\n ).toPromise();\n }\n\n async getTeamUsers(teamId: number): Promise<TeamUser[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/team/${teamId}/users/`)\n .pipe(\n map(data => TeamUser.toFront(data))\n ).toPromise();\n }\n\n async joinTournament(tournamentId: number, teamId: number, invites: TournamentTeamUserInvite[]): Promise<TournamentInvite> {\n const body = {\n team: {id: teamId},\n user_invites: TournamentTeamUserInvite.toBack(invites)\n };\n return this.httpClient.post(`${this.configService.get('apiUrl')}/api/v1/tournament/${tournamentId}/join/`, body)\n .pipe(map(data => TournamentInvite.toFront(data)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { TournamentSeason } from '../models/tournament-season';\nimport { ConfigService } from '../services/config.service';\nimport { map } from 'rxjs/operators';\nimport { Game, GameStatuses } from '../models/game';\nimport { Tournament } from '../models/tournament';\nimport { applyGamesFilters, TournamentEventsListFilter, TournamentGamesFilters } from './tournament-api';\nimport { PaginatedResponse } from './paginated-response.interface';\nimport { TournamentEvent, TournamentEventTypes } from '../models/tournament-event';\nimport { applyGameMediaFilters, GameMediaFilters } from './media-api';\nimport { TournamentTeam } from '../models/tournament-team';\nimport { GameTimelineStages } from '../models/game-timeline-stages';\nimport { Playoff } from '../models/playoff';\n\n@Injectable({providedIn: 'root'})\nexport class TournamentSeasonApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getByAlias(leagueId: number, alias: string): Promise<TournamentSeason> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/league/${leagueId}/tournament_seasons/${alias}/`).pipe(\n map(result => TournamentSeason.toFront(result))\n ).toPromise();\n }\n\n async getTournaments(seasonId: number): Promise<Tournament[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/tournaments/`).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n async getGames(seasonId: number, page: number, size: number, filters: TournamentGamesFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString());\n if (size) {\n params = params.set('size', size.toString());\n }\n params = applyGamesFilters(filters, params);\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/games/`,\n {params, observe: 'response'}\n ).pipe(\n map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: Game.toFront(result.body)\n }))\n ).toPromise();\n }\n\n async getEvents(seasonId: number, page: number, size: number, filters?: TournamentEventsListFilter): Promise<PaginatedResponse<TournamentEvent[]>> {\n let params = new HttpParams().set('page', page.toString())\n .set('size', size.toString());\n if (filters) {\n if (filters.event) {\n params = params.set('event', TournamentEventTypes[filters.event]);\n }\n if (filters.search) {\n params = params.set('search', filters.search);\n }\n if (filters.tournamentTour) {\n params = params.set('tournament_tour', filters.tournamentTour.toString());\n }\n }\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/events/`,\n {params, observe: 'response'}\n )\n .pipe(map(result => ({\n total: +result.headers.get('X-Page-Count'),\n data: TournamentEvent.toFront(result.body)\n })))\n .toPromise();\n }\n\n async getGameMedia(seasonId: number, page: number, size: number, filters: GameMediaFilters): Promise<PaginatedResponse<Game[]>> {\n let params = new HttpParams().set('page', page.toString()).set('size', size.toString());\n params = applyGameMediaFilters(filters, params);\n\n return this.httpClient.get(\n `${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/game_media/`,\n {observe: 'response', params})\n .pipe(\n map(response => {\n return {\n total: +response.headers.get('X-Page-Count'),\n data: Game.toFront(response.body)\n };\n })\n ).toPromise();\n }\n\n async getTeams(seasonId: number, short?: boolean): Promise<TournamentTeam[]> {\n let params = new HttpParams();\n if (short) {\n params = params.set('short', '1');\n }\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/teams/`, {params}).pipe(\n map(result => TournamentTeam.toFront(result))\n ).toPromise();\n }\n\n async getPlayoffs(seasonId: number): Promise<Playoff[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/playoffs/`).pipe(\n map(result => Playoff.toFront(result))\n ).toPromise();\n }\n\n async getGamesStages(seasonId: number): Promise<GameTimelineStages> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_season/${seasonId}/games_stages/`)\n .pipe(map(data => GameTimelineStages.toFront(data)))\n .toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { TournamentStage } from '../models/tournament-stage';\nimport { map } from 'rxjs/operators';\nimport { TournamentGroup } from '../models/tournament-group';\nimport { Playoff } from '../models/playoff';\nimport { TournamentStageTeam } from '../models/tournament-stage-team';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class TournamentStageApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n async getById(id: number): Promise<TournamentStage> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${id}/`)\n .pipe(map(result => TournamentStage.toFront(result)))\n .toPromise();\n }\n\n async getGroups(stageId: number): Promise<TournamentGroup[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/groups/`)\n .pipe(map(result => TournamentGroup.toFront(result)))\n .toPromise();\n }\n\n async getPlayoffs(stageId: number): Promise<Playoff[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/playoff/`)\n .pipe(map(result => Playoff.toFront(result)))\n .toPromise();\n }\n\n async getTeams(stageId: number): Promise<TournamentStageTeam[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_stage/${stageId}/teams/`)\n .pipe(map(result => TournamentStageTeam.toFront(result)))\n .toPromise();\n }\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\n\n@ModelInstance({\n mappingFields: {\n edit: 'edit',\n personal_data: 'personalData',\n teams: 'teams',\n statistic: 'statistic',\n games: 'games'\n }\n})\nexport class UserAccess extends BaseModel {\n edit: boolean;\n personalData: boolean;\n teams: boolean;\n statistic: boolean;\n games: boolean;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField } from './util';\n\nexport enum UserPermissionTypes {\n denied = 1,\n for_all,\n for_users,\n for_team\n}\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n personal_data: 'personalData',\n games: 'games',\n teams: 'teams',\n statistic: 'statistic'\n },\n relation: {\n personalData: enumField(UserPermissionTypes),\n games: enumField(UserPermissionTypes),\n teams: enumField(UserPermissionTypes),\n statistic: enumField(UserPermissionTypes)\n }\n})\nexport class UserPermission extends BaseModel {\n id: number;\n personalData: UserPermissionTypes;\n games: UserPermissionTypes;\n teams: UserPermissionTypes;\n statistic: UserPermissionTypes;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { User } from '../models/user';\nimport { File } from '../models/file';\nimport { map } from 'rxjs/operators';\nimport { UserProfile } from '../models/user-profile';\nimport { BasketballProfile } from '../models/basketball-profile';\nimport { VolleyballProfile } from '../models/volleyball-profile';\nimport { Team } from '../models/team';\nimport { TeamInvite } from '../models/team-invite';\nimport { BasketballStatistic } from '../models/basketball-statistic';\nimport { VolleyballStatistic } from '../models/volleyball-statistic';\nimport { Game } from '../models/game';\nimport { GameInvite } from '../models/game-invite';\nimport { TeamEvent } from '../models/team-event';\nimport { UserAccess } from '../models/user-access';\nimport { UserPermission } from '../models/user-permission';\nimport { ConfigService } from '../services/config.service';\n\n@Injectable({providedIn: 'root'})\nexport class UserApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {}\n\n async getCurrentUser(): Promise<User> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/`)\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async getUserById(userId: number): Promise<User> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/`)\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async getAccess(userId?: number): Promise<UserAccess> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/user/${userId || 'current'}/access/`)\n .pipe(map(data => UserAccess.toFront(data)))\n .toPromise();\n }\n\n async updateUser(userId: number, data: any): Promise<User> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/`, User.toBack(data))\n .pipe(map(result => User.toFront(result)))\n .toPromise();\n }\n\n async updateUserPhoto(file: any, filename?: string): Promise<File> {\n const formData = new FormData();\n formData.append('file', file, filename);\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/photo/`, formData)\n .pipe(map(data => File.toFront(data)))\n .toPromise();\n }\n\n async changePassword(userId: number, oldPassword: string, password: string, passwordConfirm: string): Promise<any> {\n const payload = {\n old_password: oldPassword,\n password,\n password_confirm: passwordConfirm\n };\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_password/`, payload)\n .toPromise();\n }\n\n async changeEmail(userId: number, email: string, password: string): Promise<any> {\n const payload = {email, password};\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_email/`, payload)\n .toPromise();\n }\n\n async changeEmailConfirm(userId, email: string, password: string, token: number): Promise<any> {\n const payload = {email, password, token};\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/change_email_confirm/`, payload)\n .toPromise();\n }\n\n async getUserProfile(userId: number): Promise<UserProfile> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/profile/`)\n .pipe(map(data => UserProfile.toFront(data)))\n .toPromise();\n }\n\n async getBasketballProfile(userId: number): Promise<BasketballProfile> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/basketball_profile/`)\n .pipe(map(data => BasketballProfile.toFront(data)))\n .toPromise();\n }\n\n async getVolleyballProfile(userId: number): Promise<VolleyballProfile> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/volleyball_profile/`)\n .pipe(map(data => VolleyballProfile.toFront(data)))\n .toPromise();\n }\n\n async updateUserProfile(userProfile: UserProfile): Promise<UserProfile> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${userProfile.userId}/profile/`, UserProfile.toBack(userProfile))\n .pipe(map(data => UserProfile.toFront(data)))\n .toPromise();\n }\n\n async updateUserBasketballProfile(basketballProfile: BasketballProfile): Promise<BasketballProfile> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${basketballProfile.userId}/basketball_profile/`, BasketballProfile.toBack(basketballProfile))\n .pipe(map(data => BasketballProfile.toFront(data)))\n .toPromise();\n }\n\n async updateUserVolleyballProfile(volleyballProfile: VolleyballProfile): Promise<VolleyballProfile> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/${volleyballProfile.userId}/volleyball_profile/`, VolleyballProfile.toBack(volleyballProfile))\n .pipe(map(data => VolleyballProfile.toFront(data)))\n .toPromise();\n }\n\n async getUserPermissions(userId?: number): Promise<UserPermission> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId || 'current'}/permission/`)\n .pipe(map(data => UserPermission.toFront(data)))\n .toPromise();\n }\n\n async updateUserPermission(data: any): Promise<UserPermission> {\n return this.httpClient\n .patch(`${this.configService.get('apiUrl')}/api/v1/user/current/permission/`, UserPermission.toBack(data))\n .pipe(map(result => UserPermission.toFront(result)))\n .toPromise();\n }\n\n async getTeams(userId: number): Promise<Team[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/teams/`)\n .pipe(map(data => Team.toFront(data)))\n .toPromise();\n }\n\n async getInvites(): Promise<TeamInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/`)\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptInvite(inviteId: number): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/${inviteId}/accept/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async declineInvite(inviteId: number): Promise<TeamInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/invites/${inviteId}/decline/`, {})\n .pipe(map(data => TeamInvite.toFront(data)))\n .toPromise();\n }\n\n async getStatistics(userId: number): Promise<BasketballStatistic> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/statistics/`)\n .pipe(map(data => BasketballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getStreetballStatistics(userId: number): Promise<BasketballStatistic> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/streetball_statistics/`)\n .pipe(map(data => BasketballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getVolleyballStatistic(userId: number): Promise<VolleyballStatistic> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/volleyball_statistics/`)\n .pipe(map(data => VolleyballStatistic.toFront(data)))\n .toPromise();\n }\n\n async getGames(userId: number): Promise<Game[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/${userId}/games/`)\n .pipe(map(data => Game.toFront(data)))\n .toPromise();\n }\n\n async getGameInvites(): Promise<GameInvite[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/`)\n .pipe(map(data => GameInvite.toFront(data)))\n .toPromise();\n }\n\n async acceptGameInvite(inviteId: number): Promise<GameInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/${inviteId}/accept/`, {})\n .pipe(map(data => GameInvite.toFront(data)))\n .toPromise();\n }\n\n async declineGameInvite(inviteId: number): Promise<GameInvite> {\n return this.httpClient\n .post(`${this.configService.get('apiUrl')}/api/v1/user/current/game_invites/${inviteId}/decline/`, {})\n .pipe(map(data => GameInvite.toFront(data)))\n .toPromise();\n }\n\n async searchUsers(query: string): Promise<User[]> {\n const params = (new HttpParams()).set('search', query);\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/`, {params})\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async setWizardShowed(wizard: string): Promise<User> {\n return this.httpClient\n .put(`${this.configService.get('apiUrl')}/api/v1/user/current/wizards/`, {wizard})\n .pipe(map(data => User.toFront(data)))\n .toPromise();\n }\n\n async getTeamEvents(userId: number): Promise<TeamEvent[]> {\n return this.httpClient\n .get(`${this.configService.get('apiUrl')}/api/v1/user/current/team_events/`)\n .pipe(map(data => TeamEvent.toFront(data)))\n .toPromise();\n }\n}\n","import { ModelInstance, ToBackHook, ToFrontHook, BaseModel } from './util';\nimport { VolleyballStatistic } from './volleyball-statistic';\nimport { GameTeamStatisticBase } from './game-team-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n team: 'team',\n competitor_team: 'competitorTeam',\n },\n relation: {\n team: VolleyballStatistic,\n competitorTeam: VolleyballStatistic,\n }\n})\nexport class VolleyballGameTeamStatistic extends BaseModel implements GameTeamStatisticBase {\n team: VolleyballStatistic;\n competitorTeam: VolleyballStatistic;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook } from './util';\nimport { GameStatisticBase } from './game-statistic-base';\n\n@ModelInstance({\n mappingFields: {\n game_user_id: 'gameUserId',\n serve_hits: 'serveHits',\n serve_faults: 'serveFaults',\n serve_aces: 'serveAces',\n stuff_blocks: 'stuffBlocks',\n block_faults: 'blockFaults',\n block_rebounds: 'blockRebounds',\n attack_spikes: 'attackSpikes',\n attack_faults: 'attackFaults',\n attack_shots: 'attackShots',\n receives: 'receives',\n receive_faults: 'receiveFaults',\n excellent_receives: 'excellentReceives',\n serve_receives: 'serveReceives',\n serve_receive_faults: 'serveReceiveFaults',\n excellent_serve_receives: 'excellentServeReceives',\n points: 'points',\n faults: 'faults',\n yellow_cards: 'yellowCards',\n }\n})\nexport class VolleyballGameStatistic extends BaseModel implements GameStatisticBase {\n gameUserId: number;\n serveHits: number;\n serveFaults: number;\n serveAces: number;\n stuffBlocks: number;\n blockFaults: number;\n blockRebounds: number;\n attackSpikes: number;\n attackFaults: number;\n attackShots: number;\n receives: number;\n receiveFaults: number;\n excellentReceives: number;\n serveReceives: number;\n serveReceiveFaults: number;\n excellentServeReceives: number;\n points: number;\n faults: number;\n yellowCards: number;\n\n get id(): number {\n return this.gameUserId;\n }\n\n get attacks(): number {\n return this.attackSpikes + this.attackShots;\n }\n\n get blocks(): number {\n return this.stuffBlocks + this.blockRebounds;\n }\n\n get totalReceives(): number {\n return this.receives + this.excellentReceives;\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, enumField, DateTimeField } from './util';\nimport { GameLogBase } from './game-log-base';\nimport { GameUser } from './game-user';\n\nexport enum VolleyballGameLogType {\n enter_game = 1,\n exit_game,\n remove_game,\n serve_hit,\n serve_fault,\n serve_ace,\n stuff_block,\n block_fault,\n block_rebound,\n attack_spike,\n attack_fault,\n attack_shot,\n receive,\n receive_fault,\n excellent_receive,\n point,\n fault,\n serve_receive,\n serve_receive_fault,\n excellent_serve_receive,\n timeout,\n yellow_card,\n}\n\nexport const SCORE_LOG_TYPES = [\n VolleyballGameLogType.serve_ace, VolleyballGameLogType.stuff_block,\n VolleyballGameLogType.attack_spike, VolleyballGameLogType.point\n];\nexport const FAULT_LOG_TYPES = [\n VolleyballGameLogType.serve_fault, VolleyballGameLogType.attack_fault,\n VolleyballGameLogType.block_fault, VolleyballGameLogType.receive_fault,\n VolleyballGameLogType.fault, VolleyballGameLogType.serve_receive_fault\n];\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n unique_id: 'uniqueId',\n game_id: 'gameId',\n game_user_id: 'gameUserId',\n log_type: 'logType',\n set: 'set',\n rally: 'rally',\n position: 'position',\n team_id: 'teamId',\n datetime: 'datetime',\n is_highlight: 'isHighlight',\n group: 'group',\n },\n relation: {\n logType: enumField(VolleyballGameLogType),\n datetime: DateTimeField\n }\n})\nexport class VolleyballGameLog extends BaseModel implements GameLogBase {\n id: number;\n uniqueId: string;\n active = true;\n gameId: number;\n gameUserId: number;\n logType: VolleyballGameLogType;\n set: number;\n rally: number;\n position: number;\n teamId: number;\n datetime: Date;\n isHighlight: boolean;\n gameUser: GameUser;\n group: string;\n\n compare(model: VolleyballGameLog): number {\n if (this.rally === model.rally && this.set === model.set) {\n if (this.datetime && model.datetime) {\n return this.datetime.getTime() < model.datetime.getTime() ? 1 : -1;\n } else {\n return this.id < model.id ? 1 : -1;\n }\n }\n if (this.set === model.set) {\n return this.rally < model.rally ? 1 : -1;\n }\n return this.set < model.set ? 1 : -1;\n }\n\n isScoreType() {\n return SCORE_LOG_TYPES.includes(this.logType);\n }\n\n isFaultType() {\n return FAULT_LOG_TYPES.includes(this.logType);\n }\n\n isServe() {\n return [\n VolleyballGameLogType.serve_hit,\n VolleyballGameLogType.serve_ace,\n VolleyballGameLogType.serve_fault\n ].includes(this.logType);\n }\n\n isAttack() {\n return [\n VolleyballGameLogType.attack_fault,\n VolleyballGameLogType.attack_spike,\n VolleyballGameLogType.attack_shot\n ].includes(this.logType);\n }\n\n isReceive() {\n return [\n VolleyballGameLogType.receive_fault,\n VolleyballGameLogType.receive,\n VolleyballGameLogType.excellent_receive\n ].includes(this.logType);\n }\n\n isServeReceive() {\n return [\n VolleyballGameLogType.serve_receive_fault,\n VolleyballGameLogType.serve_receive,\n VolleyballGameLogType.excellent_serve_receive\n ].includes(this.logType);\n }\n\n isBlock() {\n return [\n VolleyballGameLogType.block_fault,\n VolleyballGameLogType.block_rebound,\n VolleyballGameLogType.stuff_block\n ].includes(this.logType);\n }\n\n isEnterExit() {\n return [\n VolleyballGameLogType.enter_game,\n VolleyballGameLogType.exit_game,\n VolleyballGameLogType.timeout\n ].includes(this.logType);\n }\n\n isComboType() {\n return ![\n VolleyballGameLogType.receive,\n VolleyballGameLogType.serve_receive\n ].includes(this.logType);\n }\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { Game } from '../models/game';\nimport { map } from 'rxjs/operators';\nimport { VolleyballGameTeamStatistic } from '../models/volleyball-game-team-statistic';\nimport { VolleyballGameStatistic } from '../models/volleyball-game-statistic';\nimport { VolleyballGameLog } from '../models/volleyball-game-log';\nimport { ConfigService } from '../services/config.service';\nimport { GameBaseApi } from './game-base-api';\n\n@Injectable({providedIn: 'root'})\nexport class VolleyballGameApi extends GameBaseApi {\n constructor(\n protected httpClient: HttpClient,\n protected configService: ConfigService\n ) {\n super(httpClient, configService);\n }\n\n async getById(gameId: number): Promise<Game> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/`).pipe(\n map(result => Game.toFront(result))\n ).toPromise();\n }\n\n async getTeamStatistic(gameId: number): Promise<VolleyballGameTeamStatistic> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/team_statistic/`).pipe(\n map(result => VolleyballGameTeamStatistic.toFront(result))\n ).toPromise();\n }\n\n async getUserStatistic(gameId: number): Promise<VolleyballGameStatistic[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/user_statistic/`).pipe(\n map(result => VolleyballGameStatistic.toFront(result))\n ).toPromise();\n }\n\n async getLogs(gameId: number): Promise<VolleyballGameLog[]> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/logs/`).pipe(\n map(result => VolleyballGameLog.toFront(result))\n ).toPromise();\n }\n\n async downloadProtocolLight(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/game_protocol_light/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n\n async downloadProtocol(gameId: number, format: 'pdf' | 'xlsx' | 'html'): Promise<any> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_volleyball_game/${gameId}/game_protocol/`, {\n params: new HttpParams().set('file_type', format),\n responseType: 'blob'\n }).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { Team } from '../models/team';\nimport { map } from 'rxjs/operators';\nimport { TournamentTeam } from '../models/tournament-team';\n\n@Injectable({providedIn: 'root'})\nexport class PublicTeamApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n getById(teamId: number): Promise<Team> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_team/${teamId}/`).pipe(\n map(result => Team.toFront(result))\n ).toPromise();\n }\n\n getTournamentTeams(teamId: number, leagueId: number): Promise<TournamentTeam[]> {\n const params = new HttpParams().set('league_id', leagueId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_team/${teamId}/tournament_teams/`, {params}).pipe(\n map(result => TournamentTeam.toFront(result))\n ).toPromise();\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { ConfigService } from '../services/config.service';\nimport { User } from '../models/user';\nimport { map } from 'rxjs/operators';\nimport { Tournament } from '../models/tournament';\nimport { TournamentTeamUser } from '../models/tournament-team-user';\nimport { LeaguePlayer } from '../models/league-player';\n\n@Injectable({providedIn: 'root'})\nexport class PublicUserApi {\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) {\n }\n\n getById(userId: number): Promise<User> {\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/`).pipe(\n map(result => User.toFront(result))\n ).toPromise();\n }\n\n getTournaments(userId: number, leagueId: number): Promise<Tournament[]> {\n const params = new HttpParams().set('league_id', leagueId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/tournaments/`, {params}).pipe(\n map(result => Tournament.toFront(result))\n ).toPromise();\n }\n\n getTournamentUser(userId: number, seasonId: number): Promise<TournamentTeamUser> {\n const params = new HttpParams().set('season_id', seasonId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/tournament_user/`, {params}).pipe(\n map(result => TournamentTeamUser.toFront(result))\n ).toPromise();\n }\n\n getLeaguePlayer(userId: number, leagueId: number): Promise<LeaguePlayer> {\n const params = new HttpParams().set('league_id', leagueId.toString());\n return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/public_user/${userId}/league_player/`, {params}).pipe(\n map(result => LeaguePlayer.toFront(result))\n ).toPromise();\n }\n}\n","import { BasketballGameLogTypes } from '../models/basketball-game-log';\n\nexport const BasketballGameLogTypeLocalization = {\n [BasketballGameLogTypes.enter_game]: 'ÐÑÑ
од на плоÑадкÑ',\n [BasketballGameLogTypes.exit_game]: 'УÑел Ñ Ð¿Ð»Ð¾Ñадки',\n [BasketballGameLogTypes.remove_game]: 'Удаление Ñ Ð¿Ð»Ð¾Ñадки',\n [BasketballGameLogTypes.two_point_attempt]: 'ÐÑоÑок 2 оÑка',\n [BasketballGameLogTypes.three_point_attempt]: 'ÐÑоÑок 3 оÑка',\n [BasketballGameLogTypes.free_throw_attempt]: 'ШÑÑаÑной бÑоÑок',\n [BasketballGameLogTypes.one_point_attempt]: 'ÐÑоÑок 1 оÑко',\n [BasketballGameLogTypes.two_point_made]: '2 оÑка',\n [BasketballGameLogTypes.three_point_made]: '3 оÑка',\n [BasketballGameLogTypes.free_throw_made]: '1 оÑко, ÑÑÑаÑной',\n [BasketballGameLogTypes.one_point_made]: '1 оÑко',\n [BasketballGameLogTypes.assist]: 'ÐеÑедаÑа',\n [BasketballGameLogTypes.block]: 'ÐлокÑоÑ',\n [BasketballGameLogTypes.rebound]: 'ÐодбоÑ',\n [BasketballGameLogTypes.offensive_rebound]: 'ÐÐ¾Ð´Ð±Ð¾Ñ Ð² нападении',\n [BasketballGameLogTypes.defensive_rebound]: 'ÐÐ¾Ð´Ð±Ð¾Ñ Ð² заÑиÑе',\n [BasketballGameLogTypes.steal]: 'ÐеÑеÑ
ваÑ',\n [BasketballGameLogTypes.turnover]: 'ÐоÑеÑÑ',\n [BasketballGameLogTypes.personal_foul]: 'Фол',\n [BasketballGameLogTypes.technical_foul]: 'ТеÑ
ниÑеÑкий Ñол',\n [BasketballGameLogTypes.unsportsmanlike_foul]: 'ÐеÑпоÑÑинÑй Ñол',\n [BasketballGameLogTypes.timeout]: 'ТаймаÑÑ',\n [BasketballGameLogTypes.team_rebound]: 'ÐоманднÑй подбоÑ',\n};\n","import { HockeyGameLogTypes } from '../models/hockey-game-log';\n\nexport const HockeyGameLogTypeLocalization = {\n [HockeyGameLogTypes.enter_game]: 'ÐÑÑ
од на плоÑадкÑ',\n [HockeyGameLogTypes.exit_game]: 'УÑел Ñ Ð¿Ð»Ð¾Ñадки',\n [HockeyGameLogTypes.shot_miss]: 'ÐÑоÑок мимо',\n [HockeyGameLogTypes.shot_on_goal]: 'ÐÑоÑок по воÑоÑам',\n [HockeyGameLogTypes.shot_blocked]: 'ÐаблокиÑованнÑй бÑоÑок',\n [HockeyGameLogTypes.goal]: 'Ðол',\n [HockeyGameLogTypes.shootout_attempt]: 'ÐÑÐ»Ð»Ð¸Ñ Ð¿ÑомаÑ
',\n [HockeyGameLogTypes.shootout_goal]: 'ÐÑÐ»Ð»Ð¸Ñ Ð³Ð¾Ð»',\n [HockeyGameLogTypes.after_game_shootout_attempt]: 'ÐÑÐ»Ð»Ð¸Ñ Ð¿ÑомаÑ
',\n [HockeyGameLogTypes.after_game_shootout_goal]: 'ÐÑÐ»Ð»Ð¸Ñ Ð³Ð¾Ð»',\n [HockeyGameLogTypes.assist]: 'ÐеÑедаÑа',\n [HockeyGameLogTypes.block_shot]: 'ÐлокиÑовка бÑоÑка',\n [HockeyGameLogTypes.minor_penalty]: 'ÐалÑй ÑÑÑаÑ',\n [HockeyGameLogTypes.major_penalty]: 'ÐолÑÑой ÑÑÑаÑ',\n [HockeyGameLogTypes.misconduct_penalty]: 'ÐиÑÑиплинаÑнÑй ÑÑÑаÑ',\n [HockeyGameLogTypes.game_misconduct_penalty]: 'ÐиÑÑиплинаÑнÑй ÑÑÑÐ°Ñ Ð´Ð¾ конÑа игÑÑ',\n [HockeyGameLogTypes.match_penalty]: 'ÐаÑÑ-ÑÑÑаÑ',\n [HockeyGameLogTypes.penalty_shot]: 'ШÑÑаÑной бÑоÑок',\n [HockeyGameLogTypes.face_off_lose]: 'ÐÑоигÑÑÑ Ð² вбÑаÑÑвании',\n [HockeyGameLogTypes.face_off_win]: 'Ðобеда в вбÑаÑÑвании',\n [HockeyGameLogTypes.save]: 'ÐÑÑажен бÑоÑок',\n [HockeyGameLogTypes.shootout_save]: 'ÐÑÑажен бÑоÑок',\n [HockeyGameLogTypes.after_game_shootout_save]: 'ÐÑÑажен бÑоÑок',\n [HockeyGameLogTypes.timeout]: 'ТаймаÑÑ',\n [HockeyGameLogTypes.penalty_start]: 'ÐаÑало ÑÑÑаÑного вÑемени',\n [HockeyGameLogTypes.penalty_end]: 'ÐÐ¾Ð½ÐµÑ ÑÑÑаÑного вÑемени'\n};\n","import { FootballGameLogTypes } from '../models/football-game-log';\n\nexport const FootballGameLogTypeLocalization = {\n [FootballGameLogTypes.enter_game]: 'ÐÑÑ
од на поле',\n [FootballGameLogTypes.exit_game]: 'УÑел Ñ Ð¿Ð¾Ð»Ñ',\n [FootballGameLogTypes.shot_miss]: 'Ð£Ð´Ð°Ñ Ð¼Ð¸Ð¼Ð¾',\n [FootballGameLogTypes.shot_on_goal]: 'Ð£Ð´Ð°Ñ Ð² ÑÑвоÑ',\n [FootballGameLogTypes.shot_blocked]: 'ÐаблокиÑованнÑй ÑдаÑ',\n [FootballGameLogTypes.goal]: 'Ðол',\n [FootballGameLogTypes.assist]: 'ÐеÑедаÑа',\n [FootballGameLogTypes.penalty_attempt]: 'ÐеналÑÑи пÑомаÑ
',\n [FootballGameLogTypes.penalty_goal]: 'ÐеналÑÑи гол',\n [FootballGameLogTypes.small_penalty_attempt]: '10-меÑÑовÑй пÑомаÑ
',\n [FootballGameLogTypes.small_penalty_goal]: '10-меÑÑовÑй гол',\n [FootballGameLogTypes.block_shot]: 'ÐлокиÑовка ÑдаÑа',\n [FootballGameLogTypes.corner]: 'Угловой',\n [FootballGameLogTypes.free_kick]: 'ШÑÑаÑной ÑдаÑ',\n [FootballGameLogTypes.save]: 'ÐÑÑажен ÑдаÑ',\n [FootballGameLogTypes.penalty_save]: 'ÐÑÑажен пеналÑÑи',\n [FootballGameLogTypes.small_penalty_save]: 'ÐÑÑажен 10 меÑÑовÑй',\n [FootballGameLogTypes.foul]: 'Фол',\n [FootballGameLogTypes.yellow_card]: 'ÐелÑÐ°Ñ ÐºÐ°ÑÑоÑка',\n [FootballGameLogTypes.red_card]: 'ÐÑаÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка',\n [FootballGameLogTypes.perfect_pass]: 'ÐаÑ',\n [FootballGameLogTypes.loss]: 'ÐоÑеÑÑ',\n [FootballGameLogTypes.steal]: 'ÐеÑеÑ
ваÑ',\n [FootballGameLogTypes.out]: 'ÐÑÑ',\n [FootballGameLogTypes.timeout]: 'ТаймаÑÑ',\n [FootballGameLogTypes.auto_goal]: 'ÐвÑогол',\n [FootballGameLogTypes.end_game_penalty_goal]: 'ÐеналÑÑи гол',\n [FootballGameLogTypes.end_game_penalty_miss]: 'ÐеналÑÑи пÑомаÑ
',\n [FootballGameLogTypes.end_game_penalty_save]: 'ÐÑÑажен пеналÑÑи',\n};\n","import { HandballGameLogTypes } from '../models/handball-game-log';\n\nexport const HandballGameLogTypeLocalization = {\n [HandballGameLogTypes.enter_game]: 'ÐÑÑ
од на поле',\n [HandballGameLogTypes.exit_game]: 'УÑел Ñ Ð¿Ð¾Ð»Ñ',\n [HandballGameLogTypes.shot_miss]: 'ÐÑоÑок мимо',\n [HandballGameLogTypes.shot_on_goal]: 'ÐÑоÑок в ÑÑвоÑ',\n [HandballGameLogTypes.shot_blocked]: 'ÐаблокиÑованнÑй бÑоÑок',\n [HandballGameLogTypes.goal]: 'Ðол',\n [HandballGameLogTypes.assist]: 'ÐеÑедаÑа',\n [HandballGameLogTypes.penalty_miss]: '7м пÑомаÑ
',\n [HandballGameLogTypes.penalty_shot_on_goal]: '7м в ÑÑвоÑ',\n [HandballGameLogTypes.penalty_goal]: '7м гол',\n [HandballGameLogTypes.save]: 'СÑйв',\n [HandballGameLogTypes.penalty_save]: 'СÑйв 7м',\n [HandballGameLogTypes.foul]: 'Фол',\n [HandballGameLogTypes.yellow_card]: 'ÐеллÑÐ°Ñ ÐºÐ°ÑÑоÑка',\n [HandballGameLogTypes.red_card]: 'ÐÑаÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка',\n [HandballGameLogTypes.two_minute_foul]: '2Ñ
минÑÑнÑй ÑÑÑаÑ',\n [HandballGameLogTypes.turnover]: 'ÐоÑеÑÑ',\n [HandballGameLogTypes.steal]: 'ÐеÑеÑ
ваÑ',\n [HandballGameLogTypes.block_shot]: 'Ðлок бÑоÑка',\n [HandballGameLogTypes.timeout]: 'ТаймаÑÑ'\n};\n","import { OvertimeTypes } from '../models/tournament';\n\nexport const OvertimeTypeLocalization = {\n [OvertimeTypes.to_score_diff]: 'Ðо ÑазниÑÑ Ð² N мÑÑей',\n [OvertimeTypes.to_score_total]: 'Ðо N оÑков',\n [OvertimeTypes.time]: 'Ðо вÑемени',\n [OvertimeTypes.without_overtime]: 'Ðез овеÑÑайма',\n [OvertimeTypes.to_first_goal]: 'Ðа N минÑÑ Ð´Ð¾ пеÑвой ÑайбÑ',\n [OvertimeTypes.to_first_goal_and_bullitts]: 'Ðа N минÑÑ Ð´Ð¾ пеÑвой ÑÐ°Ð¹Ð±Ñ + бÑллиÑÑ',\n [OvertimeTypes.bullitts]: 'ÐÑллиÑÑ',\n [OvertimeTypes.penalties]: 'ÐеналÑÑи',\n [OvertimeTypes.time_and_penalties]: 'ÐополниÑелÑное вÑÐµÐ¼Ñ + пеналÑÑи'\n};\n","import { RugbyFoulSanctions } from '../models/rugby-foul-type';\n\nexport const RugbyFoulSanctionLocalization = {\n [RugbyFoulSanctions.scrum]: 'СÑ
ваÑка',\n [RugbyFoulSanctions.lineout]: 'ÐоÑÑидоÑ',\n [RugbyFoulSanctions.free_kick]: 'СвободнÑй ÑдаÑ',\n [RugbyFoulSanctions.penalty_shot]: 'ШÑÑаÑной ÑдаÑ',\n [RugbyFoulSanctions.yellow_card]: 'ÐелÑÐ°Ñ ÐºÐ°ÑÑоÑка',\n [RugbyFoulSanctions.red_card]: 'ÐÑаÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка',\n};\n","import { RugbyGameLogTypes } from '../models/rugby-game-log';\n\nexport const RugbyGameLogTypeLocalization = {\n [RugbyGameLogTypes.enter_game]: 'ÐÑÑ
од на плоÑадкÑ',\n [RugbyGameLogTypes.exit_game]: 'УÑел Ñ Ð¿Ð»Ð¾Ñадки',\n [RugbyGameLogTypes.try]: 'ÐопÑÑка',\n [RugbyGameLogTypes.penalty_try]: 'ШÑÑаÑÐ½Ð°Ñ Ð¿Ð¾Ð¿ÑÑка',\n [RugbyGameLogTypes.conversion_goal]: 'РеализаÑиÑ',\n [RugbyGameLogTypes.conversion_miss]: 'РеализаÑÐ¸Ñ Ð¿ÑомаÑ
',\n [RugbyGameLogTypes.penalty_miss]: 'ШÑÑаÑной пÑомаÑ
',\n [RugbyGameLogTypes.penalty_goal]: 'ШÑÑаÑной гол',\n [RugbyGameLogTypes.penalty_kick_to_touch]: 'ШÑÑаÑной в аÑÑ',\n [RugbyGameLogTypes.tap_penalty]: 'ШÑÑаÑной ÑозÑгÑан',\n [RugbyGameLogTypes.drop_goal]: 'ÐÑоп-гол',\n [RugbyGameLogTypes.drop_goal_miss]: 'ÐÑоп-гол пÑомаÑ
',\n [RugbyGameLogTypes.free_kick]: 'СвободнÑй ÑдаÑ',\n [RugbyGameLogTypes.foul]: 'Фол',\n [RugbyGameLogTypes.yellow_card]: 'ÐелÑÐ°Ñ ÐºÐ°ÑÑоÑка',\n [RugbyGameLogTypes.red_card]: 'ÐÑаÑÐ½Ð°Ñ ÐºÐ°ÑÑоÑка',\n [RugbyGameLogTypes.offload]: 'Скидка пÑи завÑ
ваÑе',\n [RugbyGameLogTypes.tackle]: 'УÑпеÑнÑй заÑ
ваÑ',\n [RugbyGameLogTypes.handling_error]: 'ÐÑибка пÑиема',\n [RugbyGameLogTypes.carries_over_gainline]: 'ÐÑоÑÑв линии',\n [RugbyGameLogTypes.bleeding_injury]: 'ÐÑовоÑоÑаÑÐ°Ñ ÑÑавма',\n [RugbyGameLogTypes.head_injury]: 'ТÑавма головÑ',\n [RugbyGameLogTypes.end_game_penalty_miss]: 'ШÑÑаÑной пÑомаÑ
',\n [RugbyGameLogTypes.end_game_penalty_goal]: 'ШÑÑаÑной гол',\n\n [RugbyGameLogTypes.timeout]: 'ТаймаÑÑ',\n [RugbyGameLogTypes.scrum_won]: 'СÑ
ваÑка вÑигÑана',\n [RugbyGameLogTypes.scrum_lost]: 'СÑ
ваÑка пÑоигÑана',\n [RugbyGameLogTypes.scrum_won_free]: 'СÑ
ваÑка вÑигÑана без ÑопÑоÑивлениÑ',\n [RugbyGameLogTypes.lineout_won]: 'ÐоÑÑÐ¸Ð´Ð¾Ñ Ð²ÑигÑано',\n [RugbyGameLogTypes.lineout_lost]: 'ÐоÑÑÐ¸Ð´Ð¾Ñ Ð¿ÑоигÑано',\n [RugbyGameLogTypes.quick_throw]: 'ÐÑÑÑÑÑй вбÑоÑ',\n [RugbyGameLogTypes.ruck_won]: 'Рак вÑигÑано',\n [RugbyGameLogTypes.ruck_lost]: 'Рак пÑоигÑано',\n [RugbyGameLogTypes.maul_won]: 'Ðол вÑигÑано',\n [RugbyGameLogTypes.maul_lost]: 'Ðол пÑоигÑано',\n [RugbyGameLogTypes.team_foul]: 'Фол',\n};\n","import { TeamUserRole } from '../models/team-user';\n\nexport const TeamUserRoleLocalization = {\n [TeamUserRole.member]: 'ÐолÑзоваÑелÑ',\n [TeamUserRole.moderator]: 'ÐодеÑаÑоÑ',\n [TeamUserRole.admin]: 'ÐладелеÑ',\n [TeamUserRole.coach]: 'ТÑенеÑ',\n [TeamUserRole.head_coach]: 'ÐлавнÑй ÑÑенеÑ',\n [TeamUserRole.playing_coach]: 'ÐгÑаÑÑий ÑÑенеÑ',\n [TeamUserRole.manager]: 'ÐенеджеÑ',\n [TeamUserRole.head_manager]: 'ÐенеÑалÑнÑй менеджеÑ',\n [TeamUserRole.captain]: 'ÐапиÑан',\n [TeamUserRole.assistant]: 'ÐÑÑиÑÑенÑ',\n};\n","import { GameBasketballPosition, WorkHand } from '../models/basketball-profile';\nimport { GameVolleyballPosition, VolleyballWorkHand } from '../models/volleyball-profile';\nimport { GameHockeyPosition } from '../models/hockey-profile';\nimport { FootballWorkFoot, GameFootballPosition } from '../models/football-profile';\nimport { GameHandballPosition } from '../models/handball-profile';\nimport { GameRugbyPosition } from '../models/rugby-profile';\n\nexport const GameBasketballPositionLocalization = {\n [GameBasketballPosition.point_guard]: 'РазÑгÑÑваÑÑий заÑиÑник',\n [GameBasketballPosition.shooting_guard]: 'ÐÑакÑÑÑий заÑиÑник',\n [GameBasketballPosition.small_forward]: 'Ðегкий ÑоÑваÑд',\n [GameBasketballPosition.power_forward]: 'ÐоÑнÑй ÑоÑваÑд',\n [GameBasketballPosition.center]: 'ЦенÑÑовой',\n};\n\nexport const GameBasketballPositionShortLocalization = {\n [GameBasketballPosition.point_guard]: 'PG',\n [GameBasketballPosition.shooting_guard]: 'SG',\n [GameBasketballPosition.small_forward]: 'SF',\n [GameBasketballPosition.power_forward]: 'PF',\n [GameBasketballPosition.center]: 'C',\n};\n\nexport const WorkHandLocalization = {\n [WorkHand.left]: 'ÐеваÑ',\n [WorkHand.right]: 'ÐÑаваÑ'\n};\n\nexport const GameVolleyballPositionLocalization = {\n [GameVolleyballPosition.setter]: 'СвÑзÑÑÑий',\n [GameVolleyballPosition.libero]: 'ÐибеÑо',\n [GameVolleyballPosition.middle_player]: 'ЦенÑÑалÑнÑй блокиÑÑÑÑий',\n [GameVolleyballPosition.receiver_attacker]: 'ÐоигÑовÑик',\n [GameVolleyballPosition.dioganal]: 'ÐиагоналÑнÑй',\n};\n\nexport const GameVolleyballPositionShortLocalization = {\n [GameVolleyballPosition.setter]: 'S',\n [GameVolleyballPosition.libero]: 'L',\n [GameVolleyballPosition.middle_player]: 'MP',\n [GameVolleyballPosition.receiver_attacker]: 'RA',\n [GameVolleyballPosition.dioganal]: 'D',\n};\n\nexport const GameVolleyballPositionShortRuLocalization = {\n [GameVolleyballPosition.setter]: 'ÑвÑз.',\n [GameVolleyballPosition.libero]: 'либеÑо',\n [GameVolleyballPosition.middle_player]: 'блок.',\n [GameVolleyballPosition.receiver_attacker]: 'доигÑ.',\n [GameVolleyballPosition.dioganal]: 'диаг.',\n};\n\nexport const VolleyballWorkHandLocalization = {\n [VolleyballWorkHand.left]: 'ÐеваÑ',\n [VolleyballWorkHand.right]: 'ÐÑаваÑ'\n};\n\nexport const GameHockeyPositionLocalization = {\n [GameHockeyPosition.goaltender]: 'ÐÑаÑаÑÑ',\n [GameHockeyPosition.defensemen]: 'ÐаÑиÑник',\n [GameHockeyPosition.forward]: 'ÐападаÑÑий'\n};\n\nexport const GameFootballPositionLocalization = {\n [GameFootballPosition.goalkeeper]: 'ÐÑаÑаÑÑ',\n [GameFootballPosition.defensemen]: 'ÐаÑиÑник',\n [GameFootballPosition.midfielder]: 'ÐолÑзаÑиÑник',\n [GameFootballPosition.forward]: 'ÐападаÑÑий'\n};\n\nexport const FootballWorkFootLocalization = {\n [FootballWorkFoot.left]: 'ÐеваÑ',\n [FootballWorkFoot.right]: 'ÐÑаваÑ',\n [FootballWorkFoot.both]: 'Ðбе'\n};\n\nexport const GameHandballPositionLocalization = {\n [GameHandballPosition.goalkeeper]: 'ÐÑаÑаÑÑ',\n [GameHandballPosition.winger]: 'ÐÑайний',\n [GameHandballPosition.pivot]: 'ÐинейнÑй',\n [GameHandballPosition.centre_back]: 'ЦенÑÑалÑнÑй',\n [GameHandballPosition.fullback]: 'ÐолÑÑÑедний',\n};\n\nexport const GameRugbyPositionLocalization = {\n [GameRugbyPosition.front_line]: 'ÐадаÑÑий пеÑвой линии',\n [GameRugbyPosition.second_line]: 'ÐападаÑÑий вÑоÑой линии',\n [GameRugbyPosition.back_line]: 'ÐападаÑÑий задней линии',\n [GameRugbyPosition.halfback]: 'ÐолÑзаÑиÑник',\n [GameRugbyPosition.three_quarter]: 'ТÑеÑ
ÑеÑвеÑÑнÑй',\n [GameRugbyPosition.fullback]: 'ÐамÑкаÑÑий'\n};\n\n","import { VolleyballGameLogType } from '../models/volleyball-game-log';\n\nexport const VolleyballGameLogTypeLocalization = {\n [VolleyballGameLogType.enter_game]: 'ÐÑÑ
од на плоÑадкÑ',\n [VolleyballGameLogType.exit_game]: 'УÑ
од Ñ Ð¿Ð»Ð¾Ñадки',\n [VolleyballGameLogType.remove_game]: 'Удаление Ñ Ð¿Ð»Ð¾Ñадки',\n [VolleyballGameLogType.serve_ace]: 'ÐйÑ',\n [VolleyballGameLogType.serve_hit]: 'ÐодаÑа',\n [VolleyballGameLogType.serve_fault]: 'ÐÑибка на подаÑе',\n [VolleyballGameLogType.attack_spike]: 'РезÑлÑÑаÑÐ¸Ð²Ð½Ð°Ñ Ð°Ñака',\n [VolleyballGameLogType.attack_shot]: 'ÐÑака',\n [VolleyballGameLogType.attack_fault]: 'ÐÑибка аÑаки',\n [VolleyballGameLogType.stuff_block]: 'РезÑлÑÑаÑивнÑй блок',\n [VolleyballGameLogType.block_rebound]: 'Ðлок',\n [VolleyballGameLogType.block_fault]: 'ÐÑибка на блоке',\n [VolleyballGameLogType.excellent_receive]: 'ÐÑлиÑнÑй пÑием',\n [VolleyballGameLogType.receive]: 'ÐÑием',\n [VolleyballGameLogType.receive_fault]: 'ÐÑибка на пÑиеме',\n [VolleyballGameLogType.serve_receive]: 'ÐÑием подаÑи',\n [VolleyballGameLogType.excellent_serve_receive]: 'ÐÑлиÑнÑй пÑием подаÑи',\n [VolleyballGameLogType.serve_receive_fault]: 'ÐÑибка пÑиема подаÑи',\n [VolleyballGameLogType.point]: 'ÐÑко',\n [VolleyballGameLogType.fault]: 'ÐÑибка',\n [VolleyballGameLogType.timeout]: 'ТаймаÑÑ',\n [VolleyballGameLogType.yellow_card]: 'ÐÑедÑпÑеждение',\n};\n","import { ModelInstance, BaseModel, ToFrontHook, ToBackHook, listField } from './util';\nimport { File } from './file';\n\n@ModelInstance({\n mappingFields: {\n id: 'id',\n name: 'name',\n files: 'files',\n key_code: 'keyCode',\n },\n relation: {\n files: listField(File)\n }\n})\nexport class LeaguePlaylist extends BaseModel {\n id: number;\n name: string;\n files: File[];\n keyCode: string;\n\n @ToFrontHook\n static toFront(data: any): any {}\n\n @ToBackHook\n static toBack(data: any): any {}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\nimport { Subject } from 'rxjs/internal/Subject';\nimport { ReplaySubject } from 'rxjs/internal/ReplaySubject';\n\nimport * as Centrifuge from 'centrifuge';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { ConfigService } from './config.service';\n\ninterface CentrifugoConfig {\n user: string;\n timestamp: string;\n token: string;\n}\n\n@Injectable({providedIn: 'root'})\nexport class CentrifugoService {\n private channels$: { [key: string]: Subject<any> } = {};\n private subscriptions: { [key: string]: any } = {};\n private centrifuge;\n private initializeEngineSubject: ReplaySubject<boolean>;\n private connectedSubject = new BehaviorSubject<boolean>(false);\n\n get connected$(): Observable<boolean> {\n return this.connectedSubject;\n }\n\n constructor(\n private httpClient: HttpClient,\n private configService: ConfigService,\n ) { }\n\n listen(channel): Observable<any> {\n if (channel in this.channels$) {\n return this.channels$[channel];\n }\n\n this.channels$[channel] = new Subject<any>();\n const subscription = this.connect().subscribe(connected => {\n this.subscriptions[channel] = this.addEngineSubscription(channel);\n setTimeout(() => {\n subscription.unsubscribe();\n });\n });\n\n return this.channels$[channel];\n }\n\n unsubscribe(channel): void {\n if (this.subscriptions[channel]) {\n this.subscriptions[channel].unsubscribe();\n delete this.subscriptions[channel];\n }\n if (this.channels$[channel]) {\n this.channels$[channel].complete();\n delete this.channels$[channel];\n }\n }\n\n connect(): Observable<boolean> {\n if (!this.initializeEngineSubject) {\n this.initializeEngineSubject = new ReplaySubject(1);\n\n this.httpClient.get<CentrifugoConfig>(`${this.configService.get('apiUrl')}/api/v1/centrifugo/`)\n .subscribe(config => {\n this.initializeEngine({\n url: this.configService.get('centrifugoUrl'),\n user: config.user,\n timestamp: config.timestamp,\n token: config.token,\n transports: ['websocket']\n });\n this.centrifuge.connect();\n this.centrifuge.on('connect', () => {\n this.initializeEngineSubject.next(true);\n this.connectedSubject.next(true);\n });\n this.centrifuge.on('disconnect', () => {\n this.connectedSubject.next(false);\n });\n });\n }\n\n return this.initializeEngineSubject;\n }\n\n publish(channel: string, message: any): Observable<any> {\n return new Observable<any>(observer => {\n this.connect().subscribe(() => {\n if (!this.subscriptions[channel]) {\n this.subscriptions[channel] = this.addEngineSubscription(channel);\n }\n this.subscriptions[channel].publish(message).then(res => {\n observer.next(res);\n observer.complete();\n }, error => {\n throw error;\n });\n });\n });\n }\n\n disconnect(): void {\n this.centrifuge.disconnect();\n this.initializeEngineSubject = undefined;\n this.channels$ = {};\n this.subscriptions = {};\n }\n\n private initializeEngine(config: {\n url: string,\n user: string,\n timestamp: string,\n token: string,\n transports: string[]\n }): void {\n this.centrifuge = new Centrifuge(config);\n }\n\n private addEngineSubscription(channel: string): Observable<any> {\n return this.centrifuge.subscribe(channel, this.resolveMessage.bind(this));\n }\n\n private resolveMessage(response: any): void {\n const channel = response.channel;\n if (!this.channels$[channel]) {\n return;\n }\n\n this.channels$[channel].next(response.data);\n }\n}\n","import { ModelInterface } from '../models/util';\n\nexport class StorageEngineField {\n defaultValue: any;\n\n constructor(defaultValue?: any, protected modelClass?: ModelInterface) {\n this.defaultValue = defaultValue;\n }\n\n toFront(value: any): any {\n if (this.modelClass) {\n return this.modelClass.toFront(value);\n }\n return value;\n }\n\n toBack(value: any): any {\n if (this.modelClass) {\n return this.modelClass.toBack(value);\n }\n return value;\n }\n}\n\nexport abstract class StorageEngine {\n constructor(protected name: string, protected fields: {[key: string]: StorageEngineField}) {\n }\n\n addField(key: string, field: StorageEngineField): void {\n this.fields[key] = field;\n }\n\n save(key: string, value: any): void {\n if (!this.fields[key]) {\n return;\n }\n this.setItem(`${this.name}_${key}`, this.fields[key].toBack(value));\n }\n\n get(key: string): any {\n if (!this.fields[key]) {\n return;\n }\n let value = this.getItem(`${this.name}_${key}`);\n if (value === null) {\n value = this.fields[key].defaultValue;\n }\n if (value === null || value === undefined) {\n return value;\n }\n return this.fields[key].toFront(value);\n }\n\n clear(): void {\n for (const field of Object.keys(this.fields)) {\n this.removeItem(field);\n }\n }\n\n protected getItem(key: string): any {\n throw new Error(`Function getItem for store engine ${typeof this} not implemented`);\n }\n\n protected setItem(key: string, value: any): any {\n throw new Error(`Function setItem for store engine ${typeof this} not implemented`);\n }\n\n protected removeItem(key: string): void {\n throw new Error(`Function deleteItem for store engine ${typeof this} not implemented`);\n }\n}\n","import { StorageEngine } from './storage-engine';\n\nexport class LocalStorageEngine extends StorageEngine {\n protected setItem(key: string, value: any) {\n localStorage.setItem(key, JSON.stringify(value));\n }\n\n protected getItem(key: string): any {\n try {\n return JSON.parse(localStorage.getItem(key));\n } catch (e) {\n return;\n }\n }\n\n protected removeItem(key: string): void {\n localStorage.removeItem(key);\n }\n}\n","import {\n ɵComponentType as ComponentType,\n ɵDirectiveType as DirectiveType,\n ɵComponentDef as ComponentDef,\n ɵDirectiveDef as DirectiveDef\n} from '@angular/core';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Subject } from 'rxjs/internal/Subject';\n\nexport interface OnDestroyLike {\n ngOnDestroy(): void;\n [key: string]: any;\n}\n\nexport function componentDestroyed(component: OnDestroyLike): Observable<void> {\n if ((component.constructor as any).__componentDestroyed$) {\n return (component.constructor as any).__componentDestroyed$;\n }\n throw new Error('Use @UntilDestroy decorator in class');\n}\n\nexport function UntilDestroy(cmpType: any) {\n const def = getDef(cmpType as any);\n const original = (def as any).onDestroy;\n cmpType.__componentDestroyed$ = new Subject<void>();\n (def as any).onDestroy = function() {\n cmpType.__componentDestroyed$.next();\n cmpType.__componentDestroyed$.complete();\n original.apply(this);\n };\n}\n\nfunction getDef<T>(\n type: DirectiveType<T> | ComponentType<T>\n): DirectiveDef<T> | ComponentDef<T> {\n return (type as ComponentType<T>).ɵcmp || (type as DirectiveType<T>).ɵdir;\n}\n","export function getCookie(name: string): string {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) {\n return parts.pop().split(';').shift();\n }\n return null;\n}\n","export function isTouchDevice() {\n const prefixes = ' -webkit- -moz- -o- -ms- '.split(' ');\n const mq = (q) => {\n return window.matchMedia(q).matches;\n };\n\n if (('ontouchstart' in window) || (window as any).DocumentTouch && document instanceof (window as any).DocumentTouch) {\n return true;\n }\n\n // include the 'heartz' as a way to have a non matching MQ to help terminate the join\n // https://git.io/vznFH\n const query = ['(', prefixes.join('touch-enabled),('), 'heartz', ')'].join('');\n return mq(query);\n}\n","export function getEnumOptions(enumClass): number[] {\n return Object.keys(enumClass)\n .map(v => enumClass[v])\n .filter(v => isNaN(+v) === false)\n .map(v => +v);\n}\n\n","import { captureException } from '@sentry/angular';\n\nexport function handleError(error, force = false, production = true) {\n if (!(error && (error.status === 0 || error.status === 404)) || (force && error.status !== 0)) {\n captureException(error);\n }\n\n if (!production) {\n console.error(error);\n }\n}\n","export interface LinkFavicon {\n rel: string;\n sizes?: string;\n href: string;\n type?: string;\n color?: string;\n}\n\nexport function getIconsData(folder: string): LinkFavicon[] {\n return [\n {rel: 'apple-touch-icon', sizes: '180x180', href: `/assets/favicon/${folder}apple-touch-icon.png`},\n {rel: 'icon', type: 'image/png', sizes: '32x32', href: `/assets/favicon/${folder}favicon-32x32.png`},\n {rel: 'icon', type: 'image/png', sizes: '16x16', href: `/assets/favicon/${folder}favicon-16x16.png`},\n {rel: 'shortcut icon', href: `/assets/favicon/${folder}favicon.ico`},\n {rel: 'manifest', href: `/assets/favicon/${folder}site.webmanifest`},\n {rel: 'mask-icon', href: `/assets/favicon/${folder}safari-pinned-tab.svg`, color: '#ff0000'}\n ];\n}\n\nexport function changeFavicons(document: Document, leagueAlias: string): void {\n let folder = '';\n if (leagueAlias === 'ablmoscow') {\n folder = 'abl/';\n }\n const data = getIconsData(folder);\n for (const item of data) {\n const link = document.createElement('link');\n for (const key of Object.keys(item)) {\n link.setAttribute(key, item[key]);\n }\n document.head.appendChild(link);\n }\n}\n","import { FormGroup } from '@angular/forms';\n\nexport function markFormGroupTouched(formGroup: FormGroup) {\n (Object as any).values(formGroup.controls).forEach(control => {\n control.markAsTouched();\n control.markAsDirty();\n\n if (control instanceof FormGroup) {\n markFormGroupTouched(control);\n } else if (control.controls) {\n control.controls.forEach(c => {\n if (c instanceof FormGroup) {\n markFormGroupTouched(c);\n } else {\n c.markAsTouched();\n c.markAsDirty();\n }\n });\n }\n });\n}\n","import { AbstractControl, ValidatorFn } from '@angular/forms';\nimport { debounceTime, delay, map, switchMap } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\n\nexport interface CheckEmailServiceInterface {\n checkEmail(value: string, selfCheck: boolean): Observable<boolean>;\n}\n\nexport const minLengthArrayValidator = (minLength: number) => {\n return (c: AbstractControl) => {\n return c.value.length < minLength\n ? {minLengthArray: {valid: false}}\n : null;\n };\n};\n\nexport const validatePhone = (control: AbstractControl) => {\n if (!control.value) {\n return null;\n }\n const value = `${control.value}`.replace(/\\D/gi, '');\n return value.length === 11 ? null : {invalidPhone: {valid: false}};\n};\n\nexport const validateDate = (control: AbstractControl) => {\n const re = /\\d{2}\\.\\d{2}\\.\\d{4}/gi;\n if (!control.value || re.test(control.value)) {\n return null;\n }\n return {invalidDate: {valid: false}};\n};\n\nexport const validateEmail = (authService: CheckEmailServiceInterface, selfCheck = true, ignore = []) => {\n const subject = of(null).pipe(\n delay(500)\n );\n return (control: AbstractControl) => {\n if (ignore.indexOf(control.value) > -1) {\n return of(null);\n }\n return subject.pipe(\n switchMap(() => authService.checkEmail(control.value, selfCheck).pipe(\n map(valid => valid ? null : {emailTaken: true})\n ))\n );\n };\n};\n\nexport const validateUrl = (control: AbstractControl) => {\n const re = /^(?:http(s)?:\\/\\/)[\\w.-]+(?:\\.[\\w\\.-]+)+[\\w\\-\\._~:/?#[\\]@!\\$&'\\(\\)\\*\\+,;=.]+$/;\n if (!control.value || re.test(control.value)) {\n return null;\n }\n return {invalidUrl: true};\n};\n\nexport function fileSizeValidator(maxFileSize: number): ValidatorFn {\n return (control: AbstractControl): {[key: string]: any} | null => {\n if (!control.value) {\n return null;\n }\n };\n}\n","import { Inject, Injectable, Injector, PLATFORM_ID } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { getCookie } from './utils/cookie';\nimport { isPlatformBrowser } from '@angular/common';\nimport { ConfigService } from './services/config.service';\n\n@Injectable()\nexport class HttpCookieInterceptor implements HttpInterceptor {\n private isBrowser = isPlatformBrowser(this.platformId);\n\n constructor(\n private injector: Injector,\n private configService: ConfigService,\n @Inject(PLATFORM_ID) private platformId: string,\n ) {\n }\n\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\n if (!this.isBrowser) {\n return next.handle(req);\n }\n const apiUrl = this.configService.get('apiUrl');\n if (apiUrl === req.url.substr(0, apiUrl.length)) {\n req = req.clone({withCredentials: true});\n }\n const csrf = getCookie('csrftoken');\n if (csrf) {\n req = req.clone({\n setHeaders: {'X-CSRFToken': csrf}\n });\n }\n return next.handle(req);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["_a"],"mappings":"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"}
|