@mtgame/core 2.0.15 → 2.0.17

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.
@@ -7,6 +7,7 @@ import { TournamentGroup } from '../models/tournament-group';
7
7
  import { TournamentGamesFilters } from './tournament-api';
8
8
  import { PaginatedResponse } from './paginated-response.interface';
9
9
  import { Game } from '../models/game';
10
+ import { GameTimelineStages } from '../models/game-timeline-stages';
10
11
  import * as i0 from "@angular/core";
11
12
  export interface TournamentRoundTeamsFilters {
12
13
  groupId?: number;
@@ -21,6 +22,7 @@ export declare class TournamentRoundApi {
21
22
  getPlayoffs(tournamentRoundId: number): Promise<Playoff[]>;
22
23
  getGroups(tournamentRoundId: number): Promise<TournamentGroup[]>;
23
24
  getGames(roundId: number, page: number, size: number, filters: TournamentGamesFilters): Promise<PaginatedResponse<Game[]>>;
25
+ getGamesStages(roundId: number): Promise<GameTimelineStages>;
24
26
  static ɵfac: i0.ɵɵFactoryDeclaration<TournamentRoundApi, never>;
25
27
  static ɵprov: i0.ɵɵInjectableDeclaration<TournamentRoundApi>;
26
28
  }
@@ -7,6 +7,7 @@ import { Playoff } from '../models/playoff';
7
7
  import { TournamentGroup } from '../models/tournament-group';
8
8
  import { applyGamesFilters } from './tournament-api';
9
9
  import { Game } from '../models/game';
10
+ import { GameTimelineStages } from '../models/game-timeline-stages';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "@angular/common/http";
12
13
  import * as i2 from "../services/config.service";
@@ -31,7 +32,7 @@ export class TournamentRoundApi {
31
32
  return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${tournamentRoundId}/teams/`, { params }).pipe(map(data => data.map(item => new TournamentRoundTeam(item)))).toPromise();
32
33
  }
33
34
  async getPlayoffs(tournamentRoundId) {
34
- return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${tournamentRoundId}/playoffs/`).pipe(map(data => data.map(item => new Playoff(data)))).toPromise();
35
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${tournamentRoundId}/playoffs/`).pipe(map(data => data.map(item => new Playoff(item)))).toPromise();
35
36
  }
36
37
  async getGroups(tournamentRoundId) {
37
38
  return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${tournamentRoundId}/groups/`).pipe(map(data => data.map(item => new TournamentGroup(item)))).toPromise();
@@ -47,6 +48,11 @@ export class TournamentRoundApi {
47
48
  data: result.body.map(item => new Game(item))
48
49
  }))).toPromise();
49
50
  }
51
+ async getGamesStages(roundId) {
52
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${roundId}/games_stages/`)
53
+ .pipe(map(data => new GameTimelineStages(data)))
54
+ .toPromise();
55
+ }
50
56
  }
51
57
  TournamentRoundApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TournamentRoundApi, deps: [{ token: i1.HttpClient }, { token: i2.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
52
58
  TournamentRoundApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TournamentRoundApi, providedIn: 'root' });
@@ -54,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
54
60
  type: Injectable,
55
61
  args: [{ providedIn: 'root' }]
56
62
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.ConfigService }]; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1yb3VuZC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9hcGkvdG91cm5hbWVudC1yb3VuZC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRdEMsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNVLFVBQXNCLEVBQ3RCLGFBQTRCO1FBRDVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQXlCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2xILEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3ZDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQXlCLEVBQUUsT0FBcUM7UUFDN0UsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUM5QixJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRTtnQkFDdEIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUN4RDtZQUNELElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDbkIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNsRDtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLGlCQUFpQixTQUFTLEVBQ3pGLEVBQUMsTUFBTSxFQUFDLENBQ1QsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUM3RCxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBVyxDQUFDLGlCQUF5QjtRQUN6QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN4QixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsaUJBQWlCLFlBQVksQ0FDN0YsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDakQsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVMsQ0FBQyxpQkFBeUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FDeEIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLGlCQUFpQixVQUFVLENBQzNGLENBQUMsSUFBSSxDQUNKLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ3pELENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUssQ0FBQyxRQUFRLENBQUMsT0FBZSxFQUFFLElBQVksRUFBRSxJQUFZLEVBQUUsT0FBK0I7UUFDekYsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzNELElBQUksSUFBSSxFQUFFO1lBQ1IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsTUFBTSxHQUFHLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUN4QixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsT0FBTyxTQUFTLEVBQy9FLEVBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUMsQ0FDOUIsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNiLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztZQUMxQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QyxDQUFDLENBQUMsQ0FDSixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7OytHQTlEVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUROLE1BQU07MkZBQ2xCLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFRvdXJuYW1lbnRSb3VuZCB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXJvdW5kJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvdXJuYW1lbnRSb3VuZFRlYW0gfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1yb3VuZC10ZWFtJztcbmltcG9ydCB7IFBsYXlvZmYgfSBmcm9tICcuLi9tb2RlbHMvcGxheW9mZic7XG5pbXBvcnQgeyBUb3VybmFtZW50R3JvdXAgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1ncm91cCc7XG5pbXBvcnQgeyBhcHBseUdhbWVzRmlsdGVycywgVG91cm5hbWVudEdhbWVzRmlsdGVycyB9IGZyb20gJy4vdG91cm5hbWVudC1hcGknO1xuaW1wb3J0IHsgUGFnaW5hdGVkUmVzcG9uc2UgfSBmcm9tICcuL3BhZ2luYXRlZC1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR2FtZSB9IGZyb20gJy4uL21vZGVscy9nYW1lJztcblxuZXhwb3J0IGludGVyZmFjZSBUb3VybmFtZW50Um91bmRUZWFtc0ZpbHRlcnMge1xuICBncm91cElkPzogbnVtYmVyO1xuICBkaXZpc2lvbklkPzogbnVtYmVyO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBUb3VybmFtZW50Um91bmRBcGkge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIGFzeW5jIGdldEJ5SWQodG91cm5hbWVudFJvdW5kSWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudFJvdW5kPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQoYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3JvdW5kLyR7dG91cm5hbWVudFJvdW5kSWR9L2ApLnBpcGUoXG4gICAgICBtYXAoZGF0YSA9PiBuZXcgVG91cm5hbWVudFJvdW5kKGRhdGEpKSxcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0VGVhbXModG91cm5hbWVudFJvdW5kSWQ6IG51bWJlciwgZmlsdGVycz86IFRvdXJuYW1lbnRSb3VuZFRlYW1zRmlsdGVycyk6IFByb21pc2U8VG91cm5hbWVudFJvdW5kVGVhbVtdPiB7XG4gICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgaWYgKGZpbHRlcnMpIHtcbiAgICAgIGlmIChmaWx0ZXJzLmRpdmlzaW9uSWQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZGl2aXNpb25faWQnLCBmaWx0ZXJzLmRpdmlzaW9uSWQpO1xuICAgICAgfVxuICAgICAgaWYgKGZpbHRlcnMuZ3JvdXBJZCkge1xuICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdncm91cF9pZCcsIGZpbHRlcnMuZ3JvdXBJZCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PG9iamVjdFtdPihcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9yb3VuZC8ke3RvdXJuYW1lbnRSb3VuZElkfS90ZWFtcy9gLFxuICAgICAge3BhcmFtc31cbiAgICApLnBpcGUoXG4gICAgICBtYXAoZGF0YSA9PiBkYXRhLm1hcChpdGVtID0+IG5ldyBUb3VybmFtZW50Um91bmRUZWFtKGl0ZW0pKSksXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFBsYXlvZmZzKHRvdXJuYW1lbnRSb3VuZElkOiBudW1iZXIpOiBQcm9taXNlPFBsYXlvZmZbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PG9iamVjdFtdPihcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9yb3VuZC8ke3RvdXJuYW1lbnRSb3VuZElkfS9wbGF5b2Zmcy9gXG4gICAgKS5waXBlKFxuICAgICAgbWFwKGRhdGEgPT4gZGF0YS5tYXAoaXRlbSA9PiBuZXcgUGxheW9mZihkYXRhKSkpLFxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRHcm91cHModG91cm5hbWVudFJvdW5kSWQ6IG51bWJlcik6IFByb21pc2U8VG91cm5hbWVudEdyb3VwW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfcm91bmQvJHt0b3VybmFtZW50Um91bmRJZH0vZ3JvdXBzL2BcbiAgICApLnBpcGUoXG4gICAgICBtYXAoZGF0YSA9PiBkYXRhLm1hcChpdGVtID0+IG5ldyBUb3VybmFtZW50R3JvdXAoaXRlbSkpKSxcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0R2FtZXMocm91bmRJZDogbnVtYmVyLCBwYWdlOiBudW1iZXIsIHNpemU6IG51bWJlciwgZmlsdGVyczogVG91cm5hbWVudEdhbWVzRmlsdGVycyk6IFByb21pc2U8UGFnaW5hdGVkUmVzcG9uc2U8R2FtZVtdPj4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpLnNldCgncGFnZScsIHBhZ2UudG9TdHJpbmcoKSk7XG4gICAgaWYgKHNpemUpIHtcbiAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3NpemUnLCBzaXplLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBwYXJhbXMgPSBhcHBseUdhbWVzRmlsdGVycyhmaWx0ZXJzLCBwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PG9iamVjdFtdPihcbiAgICAgIGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9yb3VuZC8ke3JvdW5kSWR9L2dhbWVzL2AsXG4gICAgICB7cGFyYW1zLCBvYnNlcnZlOiAncmVzcG9uc2UnfVxuICAgICkucGlwZShcbiAgICAgIG1hcChyZXN1bHQgPT4gKHtcbiAgICAgICAgdG90YWw6ICtyZXN1bHQuaGVhZGVycy5nZXQoJ1gtUGFnZS1Db3VudCcpLFxuICAgICAgICBkYXRhOiByZXN1bHQuYm9keS5tYXAoaXRlbSA9PiBuZXcgR2FtZShpdGVtKSlcbiAgICAgIH0pKVxuICAgICkudG9Qcm9taXNlKCk7XG4gIH19XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1yb3VuZC1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9hcGkvdG91cm5hbWVudC1yb3VuZC1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFRcEUsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNVLFVBQXNCLEVBQ3RCLGFBQTRCO1FBRDVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFFdEMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQUMsaUJBQXlCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsNEJBQTRCLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2xILEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElB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RUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQztZQUMxQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QyxDQUFDLENBQUMsQ0FDSixDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsY0FBYyxDQUFDLE9BQWU7UUFDbEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyw0QkFBNEIsT0FBTyxnQkFBZ0IsQ0FBQzthQUMvRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQy9DLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7OytHQXBFVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUROLE1BQU07MkZBQ2xCLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFRvdXJuYW1lbnRSb3VuZCB9IGZyb20gJy4uL21vZGVscy90b3VybmFtZW50LXJvdW5kJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFRvdXJuYW1lbnRSb3VuZFRlYW0gfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1yb3VuZC10ZWFtJztcbmltcG9ydCB7IFBsYXlvZmYgfSBmcm9tICcuLi9tb2RlbHMvcGxheW9mZic7XG5pbXBvcnQgeyBUb3VybmFtZW50R3JvdXAgfSBmcm9tICcuLi9tb2RlbHMvdG91cm5hbWVudC1ncm91cCc7XG5pbXBvcnQgeyBhcHBseUdhbWVzRmlsdGVycywgVG91cm5hbWVudEdhbWVzRmlsdGVycyB9IGZyb20gJy4vdG91cm5hbWVudC1hcGknO1xuaW1wb3J0IHsgUGFnaW5hdGVkUmVzcG9uc2UgfSBmcm9tICcuL3BhZ2luYXRlZC1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR2FtZSB9IGZyb20gJy4uL21vZGVscy9nYW1lJztcbmltcG9ydCB7IEdhbWVUaW1lbGluZVN0YWdlcyB9IGZyb20gJy4uL21vZGVscy9nYW1lLXRpbWVsaW5lLXN0YWdlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG91cm5hbWVudFJvdW5kVGVhbXNGaWx0ZXJzIHtcbiAgZ3JvdXBJZD86IG51bWJlcjtcbiAgZGl2aXNpb25JZD86IG51bWJlcjtcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgVG91cm5hbWVudFJvdW5kQXBpIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgKSB7XG4gIH1cblxuICBhc3luYyBnZXRCeUlkKHRvdXJuYW1lbnRSb3VuZElkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRSb3VuZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0KGAke3RoaXMuY29uZmlnU2VydmljZS5nZXQoJ2FwaVVybCcpfS9hcGkvdjEvdG91cm5hbWVudF9yb3VuZC8ke3RvdXJuYW1lbnRSb3VuZElkfS9gKS5waXBlKFxuICAgICAgbWFwKGRhdGEgPT4gbmV3IFRvdXJuYW1lbnRSb3VuZChkYXRhKSksXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlYW1zKHRvdXJuYW1lbnRSb3VuZElkOiBudW1iZXIsIGZpbHRlcnM/OiBUb3VybmFtZW50Um91bmRUZWFtc0ZpbHRlcnMpOiBQcm9taXNlPFRvdXJuYW1lbnRSb3VuZFRlYW1bXT4ge1xuICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuICAgIGlmIChmaWx0ZXJzKSB7XG4gICAgICBpZiAoZmlsdGVycy5kaXZpc2lvbklkKSB7XG4gICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2RpdmlzaW9uX2lkJywgZmlsdGVycy5kaXZpc2lvbklkKTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWx0ZXJzLmdyb3VwSWQpIHtcbiAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZ3JvdXBfaWQnLCBmaWx0ZXJzLmdyb3VwSWQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfcm91bmQvJHt0b3VybmFtZW50Um91bmRJZH0vdGVhbXMvYCxcbiAgICAgIHtwYXJhbXN9XG4gICAgKS5waXBlKFxuICAgICAgbWFwKGRhdGEgPT4gZGF0YS5tYXAoaXRlbSA9PiBuZXcgVG91cm5hbWVudFJvdW5kVGVhbShpdGVtKSkpLFxuICAgICkudG9Qcm9taXNlKCk7XG4gIH1cblxuICBhc3luYyBnZXRQbGF5b2Zmcyh0b3VybmFtZW50Um91bmRJZDogbnVtYmVyKTogUHJvbWlzZTxQbGF5b2ZmW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfcm91bmQvJHt0b3VybmFtZW50Um91bmRJZH0vcGxheW9mZnMvYFxuICAgICkucGlwZShcbiAgICAgIG1hcChkYXRhID0+IGRhdGEubWFwKGl0ZW0gPT4gbmV3IFBsYXlvZmYoaXRlbSkpKSxcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0R3JvdXBzKHRvdXJuYW1lbnRSb3VuZElkOiBudW1iZXIpOiBQcm9taXNlPFRvdXJuYW1lbnRHcm91cFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8b2JqZWN0W10+KFxuICAgICAgYCR7dGhpcy5jb25maWdTZXJ2aWNlLmdldCgnYXBpVXJsJyl9L2FwaS92MS90b3VybmFtZW50X3JvdW5kLyR7dG91cm5hbWVudFJvdW5kSWR9L2dyb3Vwcy9gXG4gICAgKS5waXBlKFxuICAgICAgbWFwKGRhdGEgPT4gZGF0YS5tYXAoaXRlbSA9PiBuZXcgVG91cm5hbWVudEdyb3VwKGl0ZW0pKSksXG4gICAgKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldEdhbWVzKHJvdW5kSWQ6IG51bWJlciwgcGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIsIGZpbHRlcnM6IFRvdXJuYW1lbnRHYW1lc0ZpbHRlcnMpOiBQcm9taXNlPFBhZ2luYXRlZFJlc3BvbnNlPEdhbWVbXT4+IHtcbiAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ3BhZ2UnLCBwYWdlLnRvU3RyaW5nKCkpO1xuICAgIGlmIChzaXplKSB7XG4gICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdzaXplJywgc2l6ZS50b1N0cmluZygpKTtcbiAgICB9XG4gICAgcGFyYW1zID0gYXBwbHlHYW1lc0ZpbHRlcnMoZmlsdGVycywgcGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldDxvYmplY3RbXT4oXG4gICAgICBgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfcm91bmQvJHtyb3VuZElkfS9nYW1lcy9gLFxuICAgICAge3BhcmFtcywgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ31cbiAgICApLnBpcGUoXG4gICAgICBtYXAocmVzdWx0ID0+ICh7XG4gICAgICAgIHRvdGFsOiArcmVzdWx0LmhlYWRlcnMuZ2V0KCdYLVBhZ2UtQ291bnQnKSxcbiAgICAgICAgZGF0YTogcmVzdWx0LmJvZHkubWFwKGl0ZW0gPT4gbmV3IEdhbWUoaXRlbSkpXG4gICAgICB9KSlcbiAgICApLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgZ2V0R2FtZXNTdGFnZXMocm91bmRJZDogbnVtYmVyKTogUHJvbWlzZTxHYW1lVGltZWxpbmVTdGFnZXM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldChgJHt0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0KCdhcGlVcmwnKX0vYXBpL3YxL3RvdXJuYW1lbnRfcm91bmQvJHtyb3VuZElkfS9nYW1lc19zdGFnZXMvYClcbiAgICAgIC5waXBlKG1hcChkYXRhID0+IG5ldyBHYW1lVGltZWxpbmVTdGFnZXMoZGF0YSkpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG59XG4iXX0=
@@ -1,30 +1,9 @@
1
1
  import { __decorate } from "tslib";
2
- import { BaseModel, Model, listField, nestedModel } from './util';
2
+ import { BaseModel, Model, nestedModel } from './util';
3
3
  import { TournamentGroup } from './tournament-group';
4
4
  import { TournamentDivision } from './tournament-division';
5
5
  import { TournamentTeam } from './tournament-team';
6
- import { Game } from './game';
7
6
  let TournamentRoundTeam = class TournamentRoundTeam extends BaseModel {
8
- constructor() {
9
- super(...arguments);
10
- this.gamesMapping = {};
11
- }
12
- set games(value) {
13
- this._games = value;
14
- this.gamesMapping = value.reduce((acc, game) => {
15
- const competitorTeamId = game.teamId === this.tournamentTeam.team.id ? game.competitorTeamId : game.teamId;
16
- return {
17
- ...acc,
18
- [competitorTeamId]: [
19
- ...(acc[competitorTeamId] || []),
20
- game,
21
- ]
22
- };
23
- }, {});
24
- }
25
- get games() {
26
- return this._games;
27
- }
28
7
  };
29
8
  TournamentRoundTeam = __decorate([
30
9
  Model({
@@ -32,9 +11,8 @@ TournamentRoundTeam = __decorate([
32
11
  group: nestedModel(TournamentGroup),
33
12
  division: nestedModel(TournamentDivision),
34
13
  tournamentTeam: nestedModel(TournamentTeam),
35
- games: listField(nestedModel(Game, ['id', 'teamId', 'competitorTeamId', 'teamScore', 'competitorTeamScore'])),
36
14
  }
37
15
  })
38
16
  ], TournamentRoundTeam);
39
17
  export { TournamentRoundTeam };
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1yb3VuZC10ZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kZWxzL3RvdXJuYW1lbnQtcm91bmQtdGVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFVdkIsSUFBTSxtQkFBbUIsR0FBekIsTUFBTSxtQkFBb0IsU0FBUSxTQUFTO0lBQTNDOztRQTZCTCxpQkFBWSxHQUE0QixFQUFFLENBQUM7SUFtQjdDLENBQUM7SUFqQkMsSUFBSSxLQUFLLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDN0MsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzNHLE9BQU87Z0JBQ0wsR0FBRyxHQUFHO2dCQUNOLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtvQkFDbEIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDaEMsSUFBSTtpQkFDTDthQUNGLENBQUM7UUFDSixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7Q0FDRixDQUFBO0FBaERZLG1CQUFtQjtJQVIvQixLQUFLLENBQUM7UUFDTCxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsV0FBVyxDQUFDLGVBQWUsQ0FBQztZQUNuQyxRQUFRLEVBQUUsV0FBVyxDQUFDLGtCQUFrQixDQUFDO1lBQ3pDLGNBQWMsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDO1lBQzNDLEtBQUssRUFBRSxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixDQUFDLENBQUMsQ0FBQztTQUM5RztLQUNGLENBQUM7R0FDVyxtQkFBbUIsQ0FnRC9CO1NBaERZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJhc2VNb2RlbCwgTW9kZWwsIGxpc3RGaWVsZCwgbmVzdGVkTW9kZWwgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgVG91cm5hbWVudEdyb3VwIH0gZnJvbSAnLi90b3VybmFtZW50LWdyb3VwJztcbmltcG9ydCB7IFRvdXJuYW1lbnREaXZpc2lvbiB9IGZyb20gJy4vdG91cm5hbWVudC1kaXZpc2lvbic7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbSB9IGZyb20gJy4vdG91cm5hbWVudC10ZWFtJztcbmltcG9ydCB7IEdhbWUgfSBmcm9tICcuL2dhbWUnO1xuXG5ATW9kZWwoe1xuICByZWxhdGlvbjoge1xuICAgIGdyb3VwOiBuZXN0ZWRNb2RlbChUb3VybmFtZW50R3JvdXApLFxuICAgIGRpdmlzaW9uOiBuZXN0ZWRNb2RlbChUb3VybmFtZW50RGl2aXNpb24pLFxuICAgIHRvdXJuYW1lbnRUZWFtOiBuZXN0ZWRNb2RlbChUb3VybmFtZW50VGVhbSksXG4gICAgZ2FtZXM6IGxpc3RGaWVsZChuZXN0ZWRNb2RlbChHYW1lLCBbJ2lkJywgJ3RlYW1JZCcsICdjb21wZXRpdG9yVGVhbUlkJywgJ3RlYW1TY29yZScsICdjb21wZXRpdG9yVGVhbVNjb3JlJ10pKSxcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBUb3VybmFtZW50Um91bmRUZWFtIGV4dGVuZHMgQmFzZU1vZGVsIHtcbiAgcHJpdmF0ZSBfZ2FtZXM6IEdhbWVbXTtcblxuICBpZDogbnVtYmVyO1xuICB0b3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW07XG4gIGdyb3VwOiBUb3VybmFtZW50R3JvdXA7XG4gIGRpdmlzaW9uOiBUb3VybmFtZW50RGl2aXNpb247XG4gIHBvaW50czogbnVtYmVyO1xuICBoYW5kaWNhcDogbnVtYmVyO1xuICBnYW1lc0NvdW50OiBudW1iZXI7XG4gIHdvbkdhbWVzQ291bnQ6IG51bWJlcjtcbiAgbG9zZUdhbWVzQ291bnQ6IG51bWJlcjtcbiAgZHJhd0dhbWVzQ291bnQ6IG51bWJlcjtcbiAgc2NvcmVTdW06IG51bWJlcjtcbiAgbWlzc2VkU3VtOiBudW1iZXI7XG4gIHNjb3JlUG9pbnRzU3VtOiBudW1iZXI7XG4gIG1pc3NlZFBvaW50c1N1bTogbnVtYmVyO1xuICB3aW5Ob3JtYWxUaW1lR2FtZXNDb3VudDogbnVtYmVyO1xuICBsb3NlTm9ybWFsVGltZUdhbWVzQ291bnQ6IG51bWJlcjtcbiAgd2luT3ZlcnRpbWVHYW1lc0NvdW50OiBudW1iZXI7XG4gIGxvc2VPdmVydGltZUdhbWVzQ291bnQ6IG51bWJlcjtcbiAgZ2FtZXNXb25QZXJjZW50OiBudW1iZXI7XG4gIGxhc3RHYW1lc1dvbjogbnVtYmVyO1xuICBsYXN0R2FtZXNDb3VudDogbnVtYmVyO1xuICB0cmllc1Njb3JlZDogbnVtYmVyO1xuICB0cmllc01pc3NlZDogbnVtYmVyO1xuICBhdHRhY2tCb251c2VzOiBudW1iZXI7XG4gIGRlZmVuc2VCb251c2VzOiBudW1iZXI7XG4gIGdhbWVzQnlTY29yZUNvdW50OiB7W2tleTogc3RyaW5nXTogbnVtYmVyfTtcbiAgZ2FtZXNNYXBwaW5nOiB7W2tleTogbnVtYmVyXTogR2FtZVtdfSA9IHt9O1xuXG4gIHNldCBnYW1lcyh2YWx1ZTogR2FtZVtdKSB7XG4gICAgdGhpcy5fZ2FtZXMgPSB2YWx1ZTtcbiAgICB0aGlzLmdhbWVzTWFwcGluZyA9IHZhbHVlLnJlZHVjZSgoYWNjLCBnYW1lKSA9PiB7XG4gICAgICBjb25zdCBjb21wZXRpdG9yVGVhbUlkID0gZ2FtZS50ZWFtSWQgPT09IHRoaXMudG91cm5hbWVudFRlYW0udGVhbS5pZCA/IGdhbWUuY29tcGV0aXRvclRlYW1JZCA6IGdhbWUudGVhbUlkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICBbY29tcGV0aXRvclRlYW1JZF06IFtcbiAgICAgICAgICAuLi4oYWNjW2NvbXBldGl0b3JUZWFtSWRdIHx8IFtdKSxcbiAgICAgICAgICBnYW1lLFxuICAgICAgICBdXG4gICAgICB9O1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIGdldCBnYW1lcygpOiBHYW1lW10ge1xuICAgIHJldHVybiB0aGlzLl9nYW1lcztcbiAgfVxufVxuIl19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG91cm5hbWVudC1yb3VuZC10ZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbW9kZWxzL3RvdXJuYW1lbnQtcm91bmQtdGVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFTNUMsSUFBTSxtQkFBbUIsR0FBekIsTUFBTSxtQkFBb0IsU0FBUSxTQUFTO0NBNEJqRCxDQUFBO0FBNUJZLG1CQUFtQjtJQVAvQixLQUFLLENBQUM7UUFDTCxRQUFRLEVBQUU7WUFDUixLQUFLLEVBQUUsV0FBVyxDQUFDLGVBQWUsQ0FBQztZQUNuQyxRQUFRLEVBQUUsV0FBVyxDQUFDLGtCQUFrQixDQUFDO1lBQ3pDLGNBQWMsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDO1NBQzVDO0tBQ0YsQ0FBQztHQUNXLG1CQUFtQixDQTRCL0I7U0E1QlksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsLCBNb2RlbCwgbmVzdGVkTW9kZWwgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgVG91cm5hbWVudEdyb3VwIH0gZnJvbSAnLi90b3VybmFtZW50LWdyb3VwJztcbmltcG9ydCB7IFRvdXJuYW1lbnREaXZpc2lvbiB9IGZyb20gJy4vdG91cm5hbWVudC1kaXZpc2lvbic7XG5pbXBvcnQgeyBUb3VybmFtZW50VGVhbSB9IGZyb20gJy4vdG91cm5hbWVudC10ZWFtJztcblxuQE1vZGVsKHtcbiAgcmVsYXRpb246IHtcbiAgICBncm91cDogbmVzdGVkTW9kZWwoVG91cm5hbWVudEdyb3VwKSxcbiAgICBkaXZpc2lvbjogbmVzdGVkTW9kZWwoVG91cm5hbWVudERpdmlzaW9uKSxcbiAgICB0b3VybmFtZW50VGVhbTogbmVzdGVkTW9kZWwoVG91cm5hbWVudFRlYW0pLFxuICB9XG59KVxuZXhwb3J0IGNsYXNzIFRvdXJuYW1lbnRSb3VuZFRlYW0gZXh0ZW5kcyBCYXNlTW9kZWwge1xuICBpZDogbnVtYmVyO1xuICB0b3VybmFtZW50VGVhbTogVG91cm5hbWVudFRlYW07XG4gIGdyb3VwOiBUb3VybmFtZW50R3JvdXA7XG4gIGdyb3VwSWQ6IG51bWJlcjtcbiAgZGl2aXNpb246IFRvdXJuYW1lbnREaXZpc2lvbjtcbiAgcG9pbnRzOiBudW1iZXI7XG4gIGhhbmRpY2FwOiBudW1iZXI7XG4gIGdhbWVzQ291bnQ6IG51bWJlcjtcbiAgd29uR2FtZXNDb3VudDogbnVtYmVyO1xuICBsb3NlR2FtZXNDb3VudDogbnVtYmVyO1xuICBkcmF3R2FtZXNDb3VudDogbnVtYmVyO1xuICBzY29yZVN1bTogbnVtYmVyO1xuICBtaXNzZWRTdW06IG51bWJlcjtcbiAgc2NvcmVQb2ludHNTdW06IG51bWJlcjtcbiAgbWlzc2VkUG9pbnRzU3VtOiBudW1iZXI7XG4gIHdpbk5vcm1hbFRpbWVHYW1lc0NvdW50OiBudW1iZXI7XG4gIGxvc2VOb3JtYWxUaW1lR2FtZXNDb3VudDogbnVtYmVyO1xuICB3aW5PdmVydGltZUdhbWVzQ291bnQ6IG51bWJlcjtcbiAgbG9zZU92ZXJ0aW1lR2FtZXNDb3VudDogbnVtYmVyO1xuICBnYW1lc1dvblBlcmNlbnQ6IG51bWJlcjtcbiAgbGFzdEdhbWVzV29uOiBudW1iZXI7XG4gIGxhc3RHYW1lc0NvdW50OiBudW1iZXI7XG4gIHRyaWVzU2NvcmVkOiBudW1iZXI7XG4gIHRyaWVzTWlzc2VkOiBudW1iZXI7XG4gIGF0dGFja0JvbnVzZXM6IG51bWJlcjtcbiAgZGVmZW5zZUJvbnVzZXM6IG51bWJlcjtcbiAgZ2FtZXNCeVNjb3JlQ291bnQ6IHtba2V5OiBzdHJpbmddOiBudW1iZXJ9O1xufVxuIl19
@@ -89,7 +89,7 @@ export const dateField = {
89
89
  : null,
90
90
  };
91
91
  export function toCamelCase(key) {
92
- return key.replace(/([a-z])_([a-z])/g, g => g[0] + g[1].toUpperCase());
92
+ return key.replace(/([a-z])_([a-z])/g, g => g[0] + g[2].toUpperCase());
93
93
  }
94
94
  export function toUnderscore(key) {
95
95
  return key.replace(/.([A-Z])/g, g => `${g[0]}_${g[1]}`).toLowerCase();
@@ -143,4 +143,4 @@ export function Model(config = {}) {
143
143
  });
144
144
  };
145
145
  }
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsU0FBUztJQUM3QixZQUFZLElBQVUsRUFBRSxNQUFpQjtJQUN6QyxDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQWM7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxNQUFNLENBQUksSUFBMkM7UUFDbkQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBTSxDQUFDO0lBQzdELENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsSUFBUyxFQUFFLE1BQWM7SUFDOUMsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1FBQ3RCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLEdBQUcsWUFBWSxNQUFNLEVBQUU7WUFDekIsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxPQUFPLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxD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QUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRTs0QkFDakMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt5QkFDaEM7cUJBQ0Y7aUJBQ0Y7Z0JBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFO29CQUN0QyxLQUFLO3dCQUNILE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQzt3QkFDaEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUU7NEJBQ2xELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDaEMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFO2dDQUM1QyxTQUFTOzZCQUNWOzRCQUNELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDbEMsSUFBSSxRQUFRLEVBQUU7Z0NBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7NkJBQzFDO2lDQUFNO2dDQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7NkJBQzNCO3lCQUNGO3dCQUNELE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7b0JBQ0QsUUFBUSxFQUFFLEtBQUs7aUJBQ2hCLENBQUMsQ0FBQztnQkFFSCxPQUFPLFFBQVEsQ0FBQztZQUNsQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTW9kZWwge1xuICBjb25zdHJ1Y3RvcihkYXRhPzogYW55LCBmaWVsZHM/OiBzdHJpbmdbXSkge1xuICB9XG5cbiAganNvbihmaWVsZHM/OiBhbnlbXSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHRocm93IG5ldyBFcnJvcignQWRkIGRlY29yYXRvciBATW9kZWwnKVxuICB9XG5cbiAgdXBkYXRlPFQ+KGRhdGE6IHtbUHJvcGVydHkgaW4ga2V5b2YgVF0/OiBUW1Byb3BlcnR5XX0pOiBUIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHRoaXMpLCB0aGlzLCBkYXRhKSBhcyBUO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb24oZGF0YTogYW55LCBmaWVsZHM/OiBhbnlbXSk6IG9iamVjdCB7XG4gIGNvbnN0IGpzb25EYXRhID0ge307XG4gIGNvbnN0IGtleXMgPSBmaWVsZHMgJiYgZmllbGRzLmxlbmd0aCA+IDAgPyBmaWVsZHMgOiBPYmplY3Qua2V5cyhkYXRhKTtcbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgIGxldCB2YWx1ZSA9IG51bGw7XG4gICAgbGV0IHJlbGF0aW9uS2V5cyA9IG51bGw7XG4gICAgbGV0IHJlbGF0aW9uS2V5ID0gbnVsbDtcbiAgICBsZXQgYmFja0tleSA9IG51bGw7XG4gICAgaWYgKGtleSBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgW3JlbGF0aW9uS2V5LCByZWxhdGlvbktleXNdID0gT2JqZWN0LmVudHJpZXMoa2V5KVswXTtcbiAgICAgIGJhY2tLZXkgPSB0b1VuZGVyc2NvcmUocmVsYXRpb25LZXkpO1xuICAgICAgdmFsdWUgPSBkYXRhW3JlbGF0aW9uS2V5XTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja0tleSA9IHRvVW5kZXJzY29yZShrZXkpO1xuICAgICAgdmFsdWUgPSBkYXRhW2tleV07XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAganNvbkRhdGFbYmFja0tleV0gPSB2YWx1ZS5tYXAodiA9PiB0b0pzb24odiwgcmVsYXRpb25LZXlzKSk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJhc2VNb2RlbCkge1xuICAgICAganNvbkRhdGFbYmFja0tleV0gPSB2YWx1ZS5qc29uKHJlbGF0aW9uS2V5cyk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIGpzb25EYXRhW2JhY2tLZXldID0gdmFsdWUudG9JU09TdHJpbmcoKTtcbiAgICB9IGVsc2UgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpKSB7XG4gICAgICBqc29uRGF0YVtiYWNrS2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4ganNvbkRhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxSZWxhdGlvbjxUPiB7XG4gIGNyZWF0ZShkYXRhOiBhbnkpOiBUO1xuICBqc29uKGRhdGE6IFQpOiBhbnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0RmllbGQ8UiwgVCBleHRlbmRzIE1vZGVsUmVsYXRpb248Uj4+KHJlbGF0aW9uOiBNb2RlbFJlbGF0aW9uPFI+KTogTW9kZWxSZWxhdGlvbjxSW10+IHtcbiAgcmV0dXJuIHtcbiAgICBjcmVhdGU6IChkYXRhOiBhbnlbXSkgPT4gKGRhdGEgfHwgW10pLm1hcChpdGVtID0+IHJlbGF0aW9uLmNyZWF0ZShpdGVtKSksXG4gICAganNvbjogKGRhdGE6IGFueVtdKSA9PiAoZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gcmVsYXRpb24uanNvbihpdGVtKSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXN0ZWRNb2RlbDxUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbDogbmV3KGRhdGEsIGZpZWxkcykgPT4gVCwgZmllbGRzPzogc3RyaW5nW10pOiBNb2RlbFJlbGF0aW9uPFQ+IHtcbiAgcmV0dXJuIHtcbiAgICBjcmVhdGU6IChkYXRhOiBvYmplY3QpOiBUID0+IGRhdGEgPyBuZXcgbW9kZWwoZGF0YSwgZmllbGRzKSBhcyBUIDogbnVsbCxcbiAgICBqc29uOiAoZGF0YTogVCk6IG9iamVjdCA9PiBkYXRhID8gZGF0YS5qc29uKCkgOiBudWxsLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW51bUZpZWxkKGVudW1DbGFzczogYW55KSB7XG4gIHJldHVybiB7XG4gICAgY3JlYXRlOiAodmFsdWUpID0+IHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc05hTigrdmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBlbnVtQ2xhc3NbdmFsdWVdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgIH0sXG4gICAganNvbjogKHZhbHVlKSA9PiB7XG4gICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAoaXNOYU4oK3ZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZW51bUNsYXNzW3ZhbHVlXTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBkYXRlVGltZUZpZWxkOiBNb2RlbFJlbGF0aW9uPERhdGU+ID0ge1xuICBjcmVhdGU6IChkYXRhOiBzdHJpbmcpOiBEYXRlID0+IGRhdGEgPyBuZXcgRGF0ZShkYXRhKSA6IG51bGwsXG4gIGpzb246IChkYXRhOiBEYXRlKTogc3RyaW5nID0+IGRhdGEgPyBkYXRhLnRvSVNPU3RyaW5nKCkgOiBudWxsLFxufTtcblxuZXhwb3J0IGNvbnN0IGRhdGVGaWVsZDogTW9kZWxSZWxhdGlvbjxEYXRlPiA9IHtcbiAgY3JlYXRlOiAoZGF0YTogc3RyaW5nKTogRGF0ZSA9PiBkYXRhID8gbmV3IERhdGUoZGF0YSkgOiBudWxsLFxuICBqc29uOiAoZGF0YTogRGF0ZSk6IHN0cmluZyA9PiBkYXRhXG4gICAgPyBuZXcgRGF0ZShEYXRlLlVUQyhcbiAgICAgIGRhdGEuZ2V0RnVsbFllYXIoKSxcbiAgICAgIGRhdGEuZ2V0TW9udGgoKSxcbiAgICAgIGRhdGEuZ2V0RGF0ZSgpLFxuICAgICkpLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwgMTApXG4gICAgOiBudWxsLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvQ2FtZWxDYXNlKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGtleS5yZXBsYWNlKC8oW2Etel0pXyhbYS16XSkvZywgZyA9PiBnWzBdICsgZ1sxXS50b1VwcGVyQ2FzZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvVW5kZXJzY29yZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBrZXkucmVwbGFjZSgvLihbQS1aXSkvZywgZyA9PiBgJHtnWzBdfV8ke2dbMV19YCkudG9Mb3dlckNhc2UoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVsPFQ+KGNvbmZpZzoge1xuICByZWxhdGlvbj86IHtba2V5OiBzdHJpbmddOiBNb2RlbFJlbGF0aW9uPGFueT59LFxufSA9IHt9KSB7XG4gIGNvbnN0IHJlbGF0aW9ucyA9IGNvbmZpZy5yZWxhdGlvbiB8fCB7fTtcblxuICByZXR1cm4gKHRhcmdldDogdHlwZW9mIEJhc2VNb2RlbCkgPT4ge1xuICAgIHJldHVybiBuZXcgUHJveHkodGFyZ2V0LCB7XG4gICAgICBjb25zdHJ1Y3QoY2xzOiBhbnksIGFyZ0FycmF5OiBhbnlbXSkge1xuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBjbHMoKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IGFyZ0FycmF5WzBdIHx8IHt9O1xuICAgICAgICBjb25zdCBmaWVsZHMgPSBhcmdBcnJheVsxXSB8fCBbXTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZGF0YSkpIHtcbiAgICAgICAgICBpZiAoZmllbGRzLmxlbmd0aCA+IDAgJiYgIWZpZWxkcy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgbW9kZWxLZXkgPSB0b0NhbWVsQ2FzZShrZXkpO1xuICAgICAgICAgIGNvbnN0IHJlbGF0aW9uID0gcmVsYXRpb25zW21vZGVsS2V5XTtcbiAgICAgICAgICBpZiAocmVsYXRpb24pIHtcbiAgICAgICAgICAgaW5zdGFuY2VbbW9kZWxLZXldID0gcmVsYXRpb24uY3JlYXRlKGRhdGFba2V5XSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGluc3RhbmNlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwgbW9kZWxLZXkpO1xuICAgICAgICAgICAgaWYgKCFkZXNjcmlwdG9yIHx8IGRlc2NyaXB0b3Iuc2V0KSB7XG4gICAgICAgICAgICAgIGluc3RhbmNlW21vZGVsS2V5XSA9IGRhdGFba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5zdGFuY2UsICdqc29uJywge1xuICAgICAgICAgIHZhbHVlKCkge1xuICAgICAgICAgICAgY29uc3QganNvbiA9IHt9O1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpIHtcbiAgICAgICAgICAgICAgY29uc3QgcmVsYXRpb24gPSByZWxhdGlvbnNba2V5XTtcbiAgICAgICAgICAgICAgaWYgKHRoaXNba2V5XSBpbnN0YW5jZW9mIE9iamVjdCAmJiAhcmVsYXRpb24pIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCBiYWNrS2V5ID0gdG9VbmRlcnNjb3JlKGtleSk7XG4gICAgICAgICAgICAgIGlmIChyZWxhdGlvbikge1xuICAgICAgICAgICAgICAgIGpzb25bYmFja0tleV0gPSByZWxhdGlvbi5qc29uKHRoaXNba2V5XSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAganNvbltiYWNrS2V5XSA9IHRoaXNba2V5XTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGpzb247XG4gICAgICAgICAgfSxcbiAgICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL21vZGVscy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsU0FBUztJQUM3QixZQUFZLElBQVUsRUFBRSxNQUFpQjtJQUN6QyxDQUFDO0lBRUQsSUFBSSxDQUFDLE1BQWM7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxNQUFNLENBQUksSUFBMkM7UUFDbkQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBTSxDQUFDO0lBQzdELENBQUM7Q0FDRjtBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsSUFBUyxFQUFFLE1BQWM7SUFDOUMsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RFLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1FBQ3RCLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixJQUFJLEdBQUcsWUFBWSxNQUFNLEVBQUU7WUFDekIsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxPQUFPLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxD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QUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLEdBQUcsRUFBRTs0QkFDakMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt5QkFDaEM7cUJBQ0Y7aUJBQ0Y7Z0JBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFO29CQUN0QyxLQUFLO3dCQUNILE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQzt3QkFDaEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUU7NEJBQ2xELE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDaEMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFO2dDQUM1QyxTQUFTOzZCQUNWOzRCQUNELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDbEMsSUFBSSxRQUFRLEVBQUU7Z0NBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7NkJBQzFDO2lDQUFNO2dDQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7NkJBQzNCO3lCQUNGO3dCQUNELE9BQU8sSUFBSSxDQUFDO29CQUNkLENBQUM7b0JBQ0QsUUFBUSxFQUFFLEtBQUs7aUJBQ2hCLENBQUMsQ0FBQztnQkFFSCxPQUFPLFFBQVEsQ0FBQztZQUNsQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlTW9kZWwge1xuICBjb25zdHJ1Y3RvcihkYXRhPzogYW55LCBmaWVsZHM/OiBzdHJpbmdbXSkge1xuICB9XG5cbiAganNvbihmaWVsZHM/OiBhbnlbXSk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHRocm93IG5ldyBFcnJvcignQWRkIGRlY29yYXRvciBATW9kZWwnKVxuICB9XG5cbiAgdXBkYXRlPFQ+KGRhdGE6IHtbUHJvcGVydHkgaW4ga2V5b2YgVF0/OiBUW1Byb3BlcnR5XX0pOiBUIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKHRoaXMpLCB0aGlzLCBkYXRhKSBhcyBUO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0pzb24oZGF0YTogYW55LCBmaWVsZHM/OiBhbnlbXSk6IG9iamVjdCB7XG4gIGNvbnN0IGpzb25EYXRhID0ge307XG4gIGNvbnN0IGtleXMgPSBmaWVsZHMgJiYgZmllbGRzLmxlbmd0aCA+IDAgPyBmaWVsZHMgOiBPYmplY3Qua2V5cyhkYXRhKTtcbiAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgIGxldCB2YWx1ZSA9IG51bGw7XG4gICAgbGV0IHJlbGF0aW9uS2V5cyA9IG51bGw7XG4gICAgbGV0IHJlbGF0aW9uS2V5ID0gbnVsbDtcbiAgICBsZXQgYmFja0tleSA9IG51bGw7XG4gICAgaWYgKGtleSBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgW3JlbGF0aW9uS2V5LCByZWxhdGlvbktleXNdID0gT2JqZWN0LmVudHJpZXMoa2V5KVswXTtcbiAgICAgIGJhY2tLZXkgPSB0b1VuZGVyc2NvcmUocmVsYXRpb25LZXkpO1xuICAgICAgdmFsdWUgPSBkYXRhW3JlbGF0aW9uS2V5XTtcbiAgICB9IGVsc2Uge1xuICAgICAgYmFja0tleSA9IHRvVW5kZXJzY29yZShrZXkpO1xuICAgICAgdmFsdWUgPSBkYXRhW2tleV07XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAganNvbkRhdGFbYmFja0tleV0gPSB2YWx1ZS5tYXAodiA9PiB0b0pzb24odiwgcmVsYXRpb25LZXlzKSk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJhc2VNb2RlbCkge1xuICAgICAganNvbkRhdGFbYmFja0tleV0gPSB2YWx1ZS5qc29uKHJlbGF0aW9uS2V5cyk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIGpzb25EYXRhW2JhY2tLZXldID0gdmFsdWUudG9JU09TdHJpbmcoKTtcbiAgICB9IGVsc2UgaWYgKCEodmFsdWUgaW5zdGFuY2VvZiBPYmplY3QpKSB7XG4gICAgICBqc29uRGF0YVtiYWNrS2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4ganNvbkRhdGE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxSZWxhdGlvbjxUPiB7XG4gIGNyZWF0ZShkYXRhOiBhbnkpOiBUO1xuICBqc29uKGRhdGE6IFQpOiBhbnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0RmllbGQ8UiwgVCBleHRlbmRzIE1vZGVsUmVsYXRpb248Uj4+KHJlbGF0aW9uOiBNb2RlbFJlbGF0aW9uPFI+KTogTW9kZWxSZWxhdGlvbjxSW10+IHtcbiAgcmV0dXJuIHtcbiAgICBjcmVhdGU6IChkYXRhOiBhbnlbXSkgPT4gKGRhdGEgfHwgW10pLm1hcChpdGVtID0+IHJlbGF0aW9uLmNyZWF0ZShpdGVtKSksXG4gICAganNvbjogKGRhdGE6IGFueVtdKSA9PiAoZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gcmVsYXRpb24uanNvbihpdGVtKSksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXN0ZWRNb2RlbDxUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbDogbmV3KGRhdGEsIGZpZWxkcykgPT4gVCwgZmllbGRzPzogc3RyaW5nW10pOiBNb2RlbFJlbGF0aW9uPFQ+IHtcbiAgcmV0dXJuIHtcbiAgICBjcmVhdGU6IChkYXRhOiBvYmplY3QpOiBUID0+IGRhdGEgPyBuZXcgbW9kZWwoZGF0YSwgZmllbGRzKSBhcyBUIDogbnVsbCxcbiAgICBqc29uOiAoZGF0YTogVCk6IG9iamVjdCA9PiBkYXRhID8gZGF0YS5qc29uKCkgOiBudWxsLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZW51bUZpZWxkKGVudW1DbGFzczogYW55KSB7XG4gIHJldHVybiB7XG4gICAgY3JlYXRlOiAodmFsdWUpID0+IHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc05hTigrdmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBlbnVtQ2xhc3NbdmFsdWVdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgIH0sXG4gICAganNvbjogKHZhbHVlKSA9PiB7XG4gICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAoaXNOYU4oK3ZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZW51bUNsYXNzW3ZhbHVlXTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBkYXRlVGltZUZpZWxkOiBNb2RlbFJlbGF0aW9uPERhdGU+ID0ge1xuICBjcmVhdGU6IChkYXRhOiBzdHJpbmcpOiBEYXRlID0+IGRhdGEgPyBuZXcgRGF0ZShkYXRhKSA6IG51bGwsXG4gIGpzb246IChkYXRhOiBEYXRlKTogc3RyaW5nID0+IGRhdGEgPyBkYXRhLnRvSVNPU3RyaW5nKCkgOiBudWxsLFxufTtcblxuZXhwb3J0IGNvbnN0IGRhdGVGaWVsZDogTW9kZWxSZWxhdGlvbjxEYXRlPiA9IHtcbiAgY3JlYXRlOiAoZGF0YTogc3RyaW5nKTogRGF0ZSA9PiBkYXRhID8gbmV3IERhdGUoZGF0YSkgOiBudWxsLFxuICBqc29uOiAoZGF0YTogRGF0ZSk6IHN0cmluZyA9PiBkYXRhXG4gICAgPyBuZXcgRGF0ZShEYXRlLlVUQyhcbiAgICAgIGRhdGEuZ2V0RnVsbFllYXIoKSxcbiAgICAgIGRhdGEuZ2V0TW9udGgoKSxcbiAgICAgIGRhdGEuZ2V0RGF0ZSgpLFxuICAgICkpLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwgMTApXG4gICAgOiBudWxsLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvQ2FtZWxDYXNlKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGtleS5yZXBsYWNlKC8oW2Etel0pXyhbYS16XSkvZywgZyA9PiBnWzBdICsgZ1syXS50b1VwcGVyQ2FzZSgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvVW5kZXJzY29yZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBrZXkucmVwbGFjZSgvLihbQS1aXSkvZywgZyA9PiBgJHtnWzBdfV8ke2dbMV19YCkudG9Mb3dlckNhc2UoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1vZGVsPFQ+KGNvbmZpZzoge1xuICByZWxhdGlvbj86IHtba2V5OiBzdHJpbmddOiBNb2RlbFJlbGF0aW9uPGFueT59LFxufSA9IHt9KSB7XG4gIGNvbnN0IHJlbGF0aW9ucyA9IGNvbmZpZy5yZWxhdGlvbiB8fCB7fTtcblxuICByZXR1cm4gKHRhcmdldDogdHlwZW9mIEJhc2VNb2RlbCkgPT4ge1xuICAgIHJldHVybiBuZXcgUHJveHkodGFyZ2V0LCB7XG4gICAgICBjb25zdHJ1Y3QoY2xzOiBhbnksIGFyZ0FycmF5OiBhbnlbXSkge1xuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBjbHMoKTtcbiAgICAgICAgY29uc3QgZGF0YSA9IGFyZ0FycmF5WzBdIHx8IHt9O1xuICAgICAgICBjb25zdCBmaWVsZHMgPSBhcmdBcnJheVsxXSB8fCBbXTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZGF0YSkpIHtcbiAgICAgICAgICBpZiAoZmllbGRzLmxlbmd0aCA+IDAgJiYgIWZpZWxkcy5pbmNsdWRlcyhrZXkpKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgbW9kZWxLZXkgPSB0b0NhbWVsQ2FzZShrZXkpO1xuICAgICAgICAgIGNvbnN0IHJlbGF0aW9uID0gcmVsYXRpb25zW21vZGVsS2V5XTtcbiAgICAgICAgICBpZiAocmVsYXRpb24pIHtcbiAgICAgICAgICAgaW5zdGFuY2VbbW9kZWxLZXldID0gcmVsYXRpb24uY3JlYXRlKGRhdGFba2V5XSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGluc3RhbmNlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwgbW9kZWxLZXkpO1xuICAgICAgICAgICAgaWYgKCFkZXNjcmlwdG9yIHx8IGRlc2NyaXB0b3Iuc2V0KSB7XG4gICAgICAgICAgICAgIGluc3RhbmNlW21vZGVsS2V5XSA9IGRhdGFba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5zdGFuY2UsICdqc29uJywge1xuICAgICAgICAgIHZhbHVlKCkge1xuICAgICAgICAgICAgY29uc3QganNvbiA9IHt9O1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpIHtcbiAgICAgICAgICAgICAgY29uc3QgcmVsYXRpb24gPSByZWxhdGlvbnNba2V5XTtcbiAgICAgICAgICAgICAgaWYgKHRoaXNba2V5XSBpbnN0YW5jZW9mIE9iamVjdCAmJiAhcmVsYXRpb24pIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCBiYWNrS2V5ID0gdG9VbmRlcnNjb3JlKGtleSk7XG4gICAgICAgICAgICAgIGlmIChyZWxhdGlvbikge1xuICAgICAgICAgICAgICAgIGpzb25bYmFja0tleV0gPSByZWxhdGlvbi5qc29uKHRoaXNba2V5XSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAganNvbltiYWNrS2V5XSA9IHRoaXNba2V5XTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGpzb247XG4gICAgICAgICAgfSxcbiAgICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
@@ -103,7 +103,7 @@ const dateField = {
103
103
  : null,
104
104
  };
105
105
  function toCamelCase(key) {
106
- return key.replace(/([a-z])_([a-z])/g, g => g[0] + g[1].toUpperCase());
106
+ return key.replace(/([a-z])_([a-z])/g, g => g[0] + g[2].toUpperCase());
107
107
  }
108
108
  function toUnderscore(key) {
109
109
  return key.replace(/.([A-Z])/g, g => `${g[0]}_${g[1]}`).toLowerCase();
@@ -5472,23 +5472,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.6", ngImpor
5472
5472
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: ConfigService }]; } });
5473
5473
 
5474
5474
  let TournamentRoundTeam = class TournamentRoundTeam extends BaseModel {
5475
- constructor() {
5476
- super(...arguments);
5477
- this.gamesMapping = {};
5478
- }
5479
- set games(value) {
5480
- this._games = value;
5481
- this.gamesMapping = value.reduce((acc, game) => {
5482
- const competitorTeamId = game.teamId === this.tournamentTeam.team.id ? game.competitorTeamId : game.teamId;
5483
- return Object.assign(Object.assign({}, acc), { [competitorTeamId]: [
5484
- ...(acc[competitorTeamId] || []),
5485
- game,
5486
- ] });
5487
- }, {});
5488
- }
5489
- get games() {
5490
- return this._games;
5491
- }
5492
5475
  };
5493
5476
  TournamentRoundTeam = __decorate([
5494
5477
  Model({
@@ -5496,7 +5479,6 @@ TournamentRoundTeam = __decorate([
5496
5479
  group: nestedModel(TournamentGroup),
5497
5480
  division: nestedModel(TournamentDivision),
5498
5481
  tournamentTeam: nestedModel(TournamentTeam),
5499
- games: listField(nestedModel(Game, ['id', 'teamId', 'competitorTeamId', 'teamScore', 'competitorTeamScore'])),
5500
5482
  }
5501
5483
  })
5502
5484
  ], TournamentRoundTeam);
@@ -5527,7 +5509,7 @@ class TournamentRoundApi {
5527
5509
  }
5528
5510
  getPlayoffs(tournamentRoundId) {
5529
5511
  return __awaiter(this, void 0, void 0, function* () {
5530
- return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${tournamentRoundId}/playoffs/`).pipe(map(data => data.map(item => new Playoff(data)))).toPromise();
5512
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${tournamentRoundId}/playoffs/`).pipe(map(data => data.map(item => new Playoff(item)))).toPromise();
5531
5513
  });
5532
5514
  }
5533
5515
  getGroups(tournamentRoundId) {
@@ -5548,6 +5530,13 @@ class TournamentRoundApi {
5548
5530
  }))).toPromise();
5549
5531
  });
5550
5532
  }
5533
+ getGamesStages(roundId) {
5534
+ return __awaiter(this, void 0, void 0, function* () {
5535
+ return this.httpClient.get(`${this.configService.get('apiUrl')}/api/v1/tournament_round/${roundId}/games_stages/`)
5536
+ .pipe(map(data => new GameTimelineStages(data)))
5537
+ .toPromise();
5538
+ });
5539
+ }
5551
5540
  }
5552
5541
  TournamentRoundApi.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TournamentRoundApi, deps: [{ token: i1.HttpClient }, { token: ConfigService }], target: i0.ɵɵFactoryTarget.Injectable });
5553
5542
  TournamentRoundApi.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.6", ngImport: i0, type: TournamentRoundApi, providedIn: 'root' });