volleyballsimtypes 0.0.191 → 0.0.193
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/dist/cjs/src/data/init-models.js +6 -24
- package/dist/cjs/src/data/models/country.d.ts +1 -12
- package/dist/cjs/src/data/models/division.d.ts +12 -23
- package/dist/cjs/src/data/models/index.d.ts +1 -2
- package/dist/cjs/src/data/models/index.js +1 -2
- package/dist/cjs/src/data/models/tactics.d.ts +30 -0
- package/dist/cjs/src/data/models/{coach.js → tactics.js} +9 -24
- package/dist/cjs/src/data/models/team.d.ts +15 -25
- package/dist/cjs/src/data/models/team.js +10 -2
- package/dist/cjs/src/data/transformers/division.d.ts +1 -1
- package/dist/cjs/src/data/transformers/division.js +14 -4
- package/dist/cjs/src/data/transformers/index.d.ts +1 -1
- package/dist/cjs/src/data/transformers/index.js +1 -1
- package/dist/cjs/src/data/transformers/league.js +1 -1
- package/dist/cjs/src/data/transformers/tactics.d.ts +5 -0
- package/dist/cjs/src/data/transformers/tactics.js +21 -0
- package/dist/cjs/src/data/transformers/team.js +7 -5
- package/dist/cjs/src/service/coach/index.d.ts +1 -1
- package/dist/cjs/src/service/coach/index.js +1 -1
- package/dist/cjs/src/service/coach/tactics.d.ts +13 -0
- package/dist/cjs/src/service/coach/{coach.js → tactics.js} +4 -6
- package/dist/cjs/src/service/competition/division.d.ts +6 -1
- package/dist/cjs/src/service/competition/division.js +3 -1
- package/dist/cjs/src/service/team/team.d.ts +6 -4
- package/dist/cjs/src/service/team/team.js +3 -2
- package/dist/esm/src/data/init-models.js +7 -25
- package/dist/esm/src/data/models/country.d.ts +1 -12
- package/dist/esm/src/data/models/division.d.ts +12 -23
- package/dist/esm/src/data/models/index.d.ts +1 -2
- package/dist/esm/src/data/models/index.js +1 -2
- package/dist/esm/src/data/models/tactics.d.ts +30 -0
- package/dist/esm/src/data/models/{coach.js → tactics.js} +7 -22
- package/dist/esm/src/data/models/team.d.ts +15 -25
- package/dist/esm/src/data/models/team.js +10 -2
- package/dist/esm/src/data/transformers/division.d.ts +1 -1
- package/dist/esm/src/data/transformers/division.js +14 -4
- package/dist/esm/src/data/transformers/index.d.ts +1 -1
- package/dist/esm/src/data/transformers/index.js +1 -1
- package/dist/esm/src/data/transformers/league.js +1 -1
- package/dist/esm/src/data/transformers/tactics.d.ts +5 -0
- package/dist/esm/src/data/transformers/tactics.js +17 -0
- package/dist/esm/src/data/transformers/team.js +8 -6
- package/dist/esm/src/service/coach/index.d.ts +1 -1
- package/dist/esm/src/service/coach/index.js +1 -1
- package/dist/esm/src/service/coach/tactics.d.ts +13 -0
- package/dist/esm/src/service/coach/{coach.js → tactics.js} +2 -4
- package/dist/esm/src/service/competition/division.d.ts +6 -1
- package/dist/esm/src/service/competition/division.js +3 -1
- package/dist/esm/src/service/team/team.d.ts +6 -4
- package/dist/esm/src/service/team/team.js +3 -2
- package/package.json +2 -2
- package/dist/cjs/src/data/models/coach.d.ts +0 -40
- package/dist/cjs/src/data/models/division-teams.d.ts +0 -23
- package/dist/cjs/src/data/models/division-teams.js +0 -43
- package/dist/cjs/src/data/transformers/coach.d.ts +0 -5
- package/dist/cjs/src/data/transformers/coach.js +0 -29
- package/dist/cjs/src/service/coach/coach.d.ts +0 -19
- package/dist/esm/src/data/models/coach.d.ts +0 -40
- package/dist/esm/src/data/models/division-teams.d.ts +0 -23
- package/dist/esm/src/data/models/division-teams.js +0 -39
- package/dist/esm/src/data/transformers/coach.d.ts +0 -5
- package/dist/esm/src/data/transformers/coach.js +0 -25
- package/dist/esm/src/service/coach/coach.d.ts +0 -19
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
import { Coach } from '../coach';
|
|
2
1
|
import { Player } from '../player';
|
|
3
2
|
import { Country } from '../country';
|
|
3
|
+
import { Tactics } from '../coach';
|
|
4
4
|
interface TeamParams {
|
|
5
5
|
readonly id: string;
|
|
6
6
|
readonly rating: number;
|
|
7
7
|
readonly name: string;
|
|
8
8
|
readonly shortName: string;
|
|
9
|
+
readonly divisionId: string;
|
|
9
10
|
readonly roster: Player[];
|
|
10
11
|
readonly country?: Country;
|
|
11
|
-
readonly
|
|
12
|
+
readonly tactics?: Tactics;
|
|
12
13
|
}
|
|
13
14
|
export declare class Team {
|
|
14
15
|
readonly id: string;
|
|
15
16
|
readonly roster: Player[];
|
|
16
17
|
readonly name: string;
|
|
17
18
|
readonly shortName: string;
|
|
18
|
-
readonly
|
|
19
|
+
readonly divisionId: string;
|
|
20
|
+
readonly tactics?: Tactics;
|
|
19
21
|
readonly country?: Country;
|
|
20
22
|
private _rating;
|
|
21
|
-
constructor({ id, rating, name, shortName, country, roster,
|
|
23
|
+
constructor({ id, rating, name, shortName, divisionId, country, roster, tactics }: TeamParams);
|
|
22
24
|
get rating(): number;
|
|
23
25
|
set rating(value: number);
|
|
24
26
|
isPlayerInRoster(player: Player): boolean;
|
|
@@ -3,14 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Team = void 0;
|
|
4
4
|
const utils_1 = require("../utils");
|
|
5
5
|
class Team {
|
|
6
|
-
constructor({ id, rating, name, shortName, country, roster,
|
|
6
|
+
constructor({ id, rating, name, shortName, divisionId, country, roster, tactics }) {
|
|
7
7
|
(0, utils_1.validateUUID)(id);
|
|
8
8
|
this.id = id;
|
|
9
9
|
this._rating = rating;
|
|
10
10
|
this.roster = roster;
|
|
11
|
-
this.
|
|
11
|
+
this.tactics = tactics;
|
|
12
12
|
this.name = name;
|
|
13
13
|
this.shortName = shortName;
|
|
14
|
+
this.divisionId = divisionId;
|
|
14
15
|
this.country = country;
|
|
15
16
|
}
|
|
16
17
|
get rating() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BoxScoreModel,
|
|
1
|
+
import { BoxScoreModel, CompetitionChampionModel, CompetitionMatchModel, CompetitionModel, CompetitionTeamsModel, CountryModel, DivisionModel, DivisionSeasonModel, DraftModel, DraftPickModel, IterationModel, LeagueModel, MatchModel, MatchRatingModel, MatchResultModel, MatchSetModel, PerformanceStatsModel, PlayerModel, PlayerTeamModel, RallyModel, SetPositionModel, TacticsModel, TeamModel, UserModel } from './models';
|
|
2
2
|
export function initModels(sequelize) {
|
|
3
|
-
const
|
|
3
|
+
const Tactics = TacticsModel.initModel(sequelize);
|
|
4
4
|
const Country = CountryModel.initModel(sequelize);
|
|
5
5
|
const Competition = CompetitionModel.initModel(sequelize);
|
|
6
6
|
const CompetitionTeams = CompetitionTeamsModel.initModel(sequelize);
|
|
@@ -12,7 +12,6 @@ export function initModels(sequelize) {
|
|
|
12
12
|
const League = LeagueModel.initModel(sequelize);
|
|
13
13
|
const Division = DivisionModel.initModel(sequelize);
|
|
14
14
|
const DivisionSeason = DivisionSeasonModel.initModel(sequelize);
|
|
15
|
-
const DivisionTeams = DivisionTeamsModel.initModel(sequelize);
|
|
16
15
|
const Match = MatchModel.initModel(sequelize);
|
|
17
16
|
const MatchRating = MatchRatingModel.initModel(sequelize);
|
|
18
17
|
const MatchResult = MatchResultModel.initModel(sequelize);
|
|
@@ -25,8 +24,7 @@ export function initModels(sequelize) {
|
|
|
25
24
|
const SetPosition = SetPositionModel.initModel(sequelize);
|
|
26
25
|
const Team = TeamModel.initModel(sequelize);
|
|
27
26
|
const User = UserModel.initModel(sequelize);
|
|
28
|
-
|
|
29
|
-
Coach.hasMany(Team, { as: 'Teams', foreignKey: 'coach_id' });
|
|
27
|
+
Tactics.hasMany(Team, { as: 'Teams', foreignKey: 'tactics_id' });
|
|
30
28
|
Competition.belongsTo(Iteration, { as: 'Iteration', foreignKey: 'iteration' });
|
|
31
29
|
Competition.hasMany(CompetitionMatch, { as: 'CompetitionMatches', foreignKey: 'competition_id' });
|
|
32
30
|
Competition.hasMany(CompetitionTeams, { as: 'CompetitionTeams', foreignKey: 'competition_id' });
|
|
@@ -44,7 +42,6 @@ export function initModels(sequelize) {
|
|
|
44
42
|
CompetitionMatch.belongsTo(Match, { as: 'Match', foreignKey: 'match_id' });
|
|
45
43
|
CompetitionTeams.belongsTo(Competition, { as: 'competition', foreignKey: 'competition_id' });
|
|
46
44
|
CompetitionTeams.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
|
|
47
|
-
Country.hasMany(Coach, { as: 'Coaches', foreignKey: 'country_id' });
|
|
48
45
|
Country.hasMany(League, { as: 'Leagues', foreignKey: 'country_id' });
|
|
49
46
|
Country.hasMany(Player, { as: 'Players', foreignKey: 'country_id' });
|
|
50
47
|
Country.hasMany(Team, { as: 'Teams', foreignKey: 'country_id' });
|
|
@@ -57,24 +54,10 @@ export function initModels(sequelize) {
|
|
|
57
54
|
League.hasMany(Division, { as: 'Divisions', foreignKey: 'league_id' });
|
|
58
55
|
Division.belongsTo(League, { as: 'league', foreignKey: 'league_id' });
|
|
59
56
|
Division.hasMany(DivisionSeason, { as: 'DivisionSeasons', foreignKey: 'division_id' });
|
|
60
|
-
Division.hasMany(
|
|
61
|
-
Division.belongsToMany(Team, {
|
|
62
|
-
as: 'Teams',
|
|
63
|
-
through: DivisionTeams,
|
|
64
|
-
foreignKey: 'division_id',
|
|
65
|
-
otherKey: 'team_id'
|
|
66
|
-
});
|
|
57
|
+
Division.hasMany(Team, { as: 'Teams', foreignKey: 'division_id' });
|
|
67
58
|
DivisionSeason.belongsTo(Competition, { as: 'competition', foreignKey: 'competition_id' });
|
|
68
59
|
DivisionSeason.belongsTo(Division, { as: 'division', foreignKey: 'division_id' });
|
|
69
|
-
|
|
70
|
-
DivisionTeams.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
|
|
71
|
-
Team.hasOne(DivisionTeams, { as: 'DivisionTeams', foreignKey: 'team_id' });
|
|
72
|
-
Team.belongsToMany(Division, {
|
|
73
|
-
as: 'Divisions',
|
|
74
|
-
through: DivisionTeams,
|
|
75
|
-
foreignKey: 'team_id',
|
|
76
|
-
otherKey: 'division_id'
|
|
77
|
-
});
|
|
60
|
+
Team.belongsTo(Division, { as: 'Division', foreignKey: 'division_id' });
|
|
78
61
|
Match.belongsTo(Team, { as: 'AwayTeam', foreignKey: 'away_team' });
|
|
79
62
|
Match.belongsTo(Team, { as: 'HomeTeam', foreignKey: 'home_team' });
|
|
80
63
|
Match.belongsToMany(Team, {
|
|
@@ -140,7 +123,7 @@ export function initModels(sequelize) {
|
|
|
140
123
|
Rally.belongsTo(Team, { as: 'ServingTeam', foreignKey: 'serving_team' });
|
|
141
124
|
SetPosition.belongsTo(MatchSet, { as: 'matchSet', foreignKey: 'match_set_id' });
|
|
142
125
|
SetPosition.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
|
|
143
|
-
Team.belongsTo(
|
|
126
|
+
Team.belongsTo(Tactics, { as: 'tactics', foreignKey: 'tactics_id' });
|
|
144
127
|
Team.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
|
|
145
128
|
Team.belongsToMany(Competition, {
|
|
146
129
|
as: 'Competitions',
|
|
@@ -170,7 +153,6 @@ export function initModels(sequelize) {
|
|
|
170
153
|
Team.hasMany(Rally, { as: 'Rallies', foreignKey: 'serving_team' });
|
|
171
154
|
Team.hasMany(MatchResult, { as: 'WonMatches', foreignKey: 'winner_team_id' });
|
|
172
155
|
return {
|
|
173
|
-
Coach,
|
|
174
156
|
Competition,
|
|
175
157
|
CompetitionChampion,
|
|
176
158
|
CompetitionMatch,
|
|
@@ -188,12 +170,12 @@ export function initModels(sequelize) {
|
|
|
188
170
|
MatchSet,
|
|
189
171
|
BoxScore,
|
|
190
172
|
PerformanceStats,
|
|
191
|
-
DivisionTeams,
|
|
192
173
|
Player,
|
|
193
174
|
PlayerTeam,
|
|
194
175
|
Rally,
|
|
195
176
|
SetPosition,
|
|
196
177
|
Team,
|
|
178
|
+
Tactics,
|
|
197
179
|
User
|
|
198
180
|
};
|
|
199
181
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model } from 'sequelize';
|
|
3
|
-
import {
|
|
3
|
+
import { LeagueId, LeagueModel, PlayerId, PlayerModel, TeamId, TeamModel } from '.';
|
|
4
4
|
export interface CountryAttributes {
|
|
5
5
|
country_id: string;
|
|
6
6
|
name: string;
|
|
@@ -13,17 +13,6 @@ export declare class CountryModel extends Model<CountryAttributes, CountryCreati
|
|
|
13
13
|
country_id: string;
|
|
14
14
|
name: string;
|
|
15
15
|
short_name: string;
|
|
16
|
-
Coaches: CoachModel[];
|
|
17
|
-
getCoaches: Sequelize.HasManyGetAssociationsMixin<CoachModel>;
|
|
18
|
-
setCoaches: Sequelize.HasManySetAssociationsMixin<CoachModel, CoachId>;
|
|
19
|
-
addCoach: Sequelize.HasManyAddAssociationMixin<CoachModel, CoachId>;
|
|
20
|
-
addCoaches: Sequelize.HasManyAddAssociationsMixin<CoachModel, CoachId>;
|
|
21
|
-
createCoach: Sequelize.HasManyCreateAssociationMixin<CoachModel>;
|
|
22
|
-
removeCoach: Sequelize.HasManyRemoveAssociationMixin<CoachModel, CoachId>;
|
|
23
|
-
removeCoaches: Sequelize.HasManyRemoveAssociationsMixin<CoachModel, CoachId>;
|
|
24
|
-
hasCoach: Sequelize.HasManyHasAssociationMixin<CoachModel, CoachId>;
|
|
25
|
-
hasCoaches: Sequelize.HasManyHasAssociationsMixin<CoachModel, CoachId>;
|
|
26
|
-
countCoaches: Sequelize.HasManyCountAssociationsMixin;
|
|
27
16
|
Leagues: LeagueModel[];
|
|
28
17
|
getLeagues: Sequelize.HasManyGetAssociationsMixin<LeagueModel>;
|
|
29
18
|
setLeagues: Sequelize.HasManySetAssociationsMixin<LeagueModel, LeagueId>;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model } from 'sequelize';
|
|
3
|
-
import { DivisionSeasonAttributes, DivisionSeasonId, DivisionSeasonModel,
|
|
3
|
+
import { DivisionSeasonAttributes, DivisionSeasonId, DivisionSeasonModel, LeagueId, LeagueModel, TeamAttributes, TeamId, TeamModel } from '.';
|
|
4
4
|
export interface DivisionAttributes {
|
|
5
5
|
division_id: string;
|
|
6
6
|
league_id: string;
|
|
7
7
|
tier: number;
|
|
8
8
|
name: string;
|
|
9
9
|
DivisionSeasons?: DivisionSeasonAttributes[];
|
|
10
|
-
|
|
10
|
+
Teams?: TeamAttributes[];
|
|
11
11
|
}
|
|
12
12
|
export type DivisionPk = 'division_id';
|
|
13
13
|
export type DivisionId = DivisionModel[DivisionPk];
|
|
@@ -32,27 +32,16 @@ export declare class DivisionModel extends Model<DivisionAttributes, DivisionCre
|
|
|
32
32
|
hasDivisionSeason: Sequelize.HasManyHasAssociationMixin<DivisionSeasonModel, DivisionSeasonId>;
|
|
33
33
|
hasDivisionSeasons: Sequelize.HasManyHasAssociationsMixin<DivisionSeasonModel, DivisionSeasonId>;
|
|
34
34
|
countDivisionSeasons: Sequelize.HasManyCountAssociationsMixin;
|
|
35
|
-
DivisionTeams: DivisionTeamsModel[];
|
|
36
|
-
getDivisionTeams: Sequelize.HasManyGetAssociationsMixin<DivisionTeamsModel>;
|
|
37
|
-
setDivisionTeams: Sequelize.HasManySetAssociationsMixin<DivisionTeamsModel, DivisionTeamsId>;
|
|
38
|
-
addDivisionTeam: Sequelize.HasManyAddAssociationMixin<DivisionTeamsModel, DivisionTeamsId>;
|
|
39
|
-
addDivisionTeams: Sequelize.HasManyAddAssociationsMixin<DivisionTeamsModel, DivisionTeamsId>;
|
|
40
|
-
createDivisionTeam: Sequelize.HasManyCreateAssociationMixin<DivisionTeamsModel>;
|
|
41
|
-
removeDivisionTeam: Sequelize.HasManyRemoveAssociationMixin<DivisionTeamsModel, DivisionTeamsId>;
|
|
42
|
-
removeDivisionTeams: Sequelize.HasManyRemoveAssociationsMixin<DivisionTeamsModel, DivisionTeamsId>;
|
|
43
|
-
hasDivisionTeam: Sequelize.HasManyHasAssociationMixin<DivisionTeamsModel, DivisionTeamsId>;
|
|
44
|
-
hasDivisionTeams: Sequelize.HasManyHasAssociationsMixin<DivisionTeamsModel, DivisionTeamsId>;
|
|
45
|
-
countDivisionTeams: Sequelize.HasManyCountAssociationsMixin;
|
|
46
35
|
Teams: TeamModel[];
|
|
47
|
-
getTeams: Sequelize.
|
|
48
|
-
setTeams: Sequelize.
|
|
49
|
-
addTeam: Sequelize.
|
|
50
|
-
addTeams: Sequelize.
|
|
51
|
-
createTeam: Sequelize.
|
|
52
|
-
removeTeam: Sequelize.
|
|
53
|
-
removeTeams: Sequelize.
|
|
54
|
-
hasTeam: Sequelize.
|
|
55
|
-
hasTeams: Sequelize.
|
|
56
|
-
countTeams: Sequelize.
|
|
36
|
+
getTeams: Sequelize.HasManyGetAssociationsMixin<TeamModel>;
|
|
37
|
+
setTeams: Sequelize.HasManySetAssociationsMixin<TeamModel, TeamId>;
|
|
38
|
+
addTeam: Sequelize.HasManyAddAssociationMixin<TeamModel, TeamId>;
|
|
39
|
+
addTeams: Sequelize.HasManyAddAssociationsMixin<TeamModel, TeamId>;
|
|
40
|
+
createTeam: Sequelize.HasManyCreateAssociationMixin<TeamModel>;
|
|
41
|
+
removeTeam: Sequelize.HasManyRemoveAssociationMixin<TeamModel, TeamId>;
|
|
42
|
+
removeTeams: Sequelize.HasManyRemoveAssociationsMixin<TeamModel, TeamId>;
|
|
43
|
+
hasTeam: Sequelize.HasManyHasAssociationMixin<TeamModel, TeamId>;
|
|
44
|
+
hasTeams: Sequelize.HasManyHasAssociationsMixin<TeamModel, TeamId>;
|
|
45
|
+
countTeams: Sequelize.HasManyCountAssociationsMixin;
|
|
57
46
|
static initModel(sequelize: Sequelize.Sequelize): typeof DivisionModel;
|
|
58
47
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from './box-score';
|
|
2
|
-
export * from './coach';
|
|
3
2
|
export * from './competition';
|
|
4
3
|
export * from './competition-champion';
|
|
5
4
|
export * from './competition-match';
|
|
@@ -11,7 +10,6 @@ export * from './iteration';
|
|
|
11
10
|
export * from './league';
|
|
12
11
|
export * from './division';
|
|
13
12
|
export * from './division-season';
|
|
14
|
-
export * from './division-teams';
|
|
15
13
|
export * from './match';
|
|
16
14
|
export * from './match-rating';
|
|
17
15
|
export * from './match-result';
|
|
@@ -23,3 +21,4 @@ export * from './rally';
|
|
|
23
21
|
export * from './set-position';
|
|
24
22
|
export * from './team';
|
|
25
23
|
export * from './user';
|
|
24
|
+
export * from './tactics';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from './box-score';
|
|
2
|
-
export * from './coach';
|
|
3
2
|
export * from './competition';
|
|
4
3
|
export * from './competition-champion';
|
|
5
4
|
export * from './competition-match';
|
|
@@ -11,7 +10,6 @@ export * from './iteration';
|
|
|
11
10
|
export * from './league';
|
|
12
11
|
export * from './division';
|
|
13
12
|
export * from './division-season';
|
|
14
|
-
export * from './division-teams';
|
|
15
13
|
export * from './match';
|
|
16
14
|
export * from './match-rating';
|
|
17
15
|
export * from './match-result';
|
|
@@ -23,3 +21,4 @@ export * from './rally';
|
|
|
23
21
|
export * from './set-position';
|
|
24
22
|
export * from './team';
|
|
25
23
|
export * from './user';
|
|
24
|
+
export * from './tactics';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { Model, Optional } from 'sequelize';
|
|
3
|
+
import { TeamId, TeamModel } from '.';
|
|
4
|
+
export interface TacticsAttributes {
|
|
5
|
+
tactics_id: string;
|
|
6
|
+
formation: FormationType;
|
|
7
|
+
substitution_tolerance: number;
|
|
8
|
+
}
|
|
9
|
+
export type FormationType = '4-2' | '5-1' | '6-2';
|
|
10
|
+
export type TacticsPk = 'tactics_id';
|
|
11
|
+
export type TacticsId = TacticsModel[TacticsPk];
|
|
12
|
+
export type TacticsOptionalAttributes = 'substitution_tolerance';
|
|
13
|
+
export type TacticsCreationAttributes = Optional<TacticsAttributes, TacticsOptionalAttributes>;
|
|
14
|
+
export declare class TacticsModel extends Model<TacticsAttributes, TacticsCreationAttributes> implements TacticsAttributes {
|
|
15
|
+
tactics_id: string;
|
|
16
|
+
formation: FormationType;
|
|
17
|
+
substitution_tolerance: number;
|
|
18
|
+
Teams: TeamModel[];
|
|
19
|
+
getTeams: Sequelize.HasManyGetAssociationsMixin<TeamModel>;
|
|
20
|
+
setTeams: Sequelize.HasManySetAssociationsMixin<TeamModel, TeamId>;
|
|
21
|
+
addTeam: Sequelize.HasManyAddAssociationMixin<TeamModel, TeamId>;
|
|
22
|
+
addTeams: Sequelize.HasManyAddAssociationsMixin<TeamModel, TeamId>;
|
|
23
|
+
createTeam: Sequelize.HasManyCreateAssociationMixin<TeamModel>;
|
|
24
|
+
removeTeam: Sequelize.HasManyRemoveAssociationMixin<TeamModel, TeamId>;
|
|
25
|
+
removeTeams: Sequelize.HasManyRemoveAssociationsMixin<TeamModel, TeamId>;
|
|
26
|
+
hasTeam: Sequelize.HasManyHasAssociationMixin<TeamModel, TeamId>;
|
|
27
|
+
hasTeams: Sequelize.HasManyHasAssociationsMixin<TeamModel, TeamId>;
|
|
28
|
+
countTeams: Sequelize.HasManyCountAssociationsMixin;
|
|
29
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof TacticsModel;
|
|
30
|
+
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { DataTypes, Model } from 'sequelize';
|
|
2
|
-
export class
|
|
2
|
+
export class TacticsModel extends Model {
|
|
3
3
|
static initModel(sequelize) {
|
|
4
|
-
return
|
|
5
|
-
|
|
4
|
+
return TacticsModel.init({
|
|
5
|
+
tactics_id: {
|
|
6
6
|
type: DataTypes.UUID,
|
|
7
7
|
allowNull: false,
|
|
8
|
-
primaryKey: true
|
|
8
|
+
primaryKey: true,
|
|
9
|
+
field: 'coach_id'
|
|
9
10
|
},
|
|
10
11
|
formation: {
|
|
11
12
|
type: DataTypes.ENUM('4-2', '5-1', '6-2'),
|
|
@@ -15,31 +16,15 @@ export class CoachModel extends Model {
|
|
|
15
16
|
type: DataTypes.REAL,
|
|
16
17
|
allowNull: false,
|
|
17
18
|
defaultValue: 0
|
|
18
|
-
},
|
|
19
|
-
first_name: {
|
|
20
|
-
type: DataTypes.STRING,
|
|
21
|
-
allowNull: false
|
|
22
|
-
},
|
|
23
|
-
last_name: {
|
|
24
|
-
type: DataTypes.STRING,
|
|
25
|
-
allowNull: false
|
|
26
|
-
},
|
|
27
|
-
country_id: {
|
|
28
|
-
type: DataTypes.UUID,
|
|
29
|
-
allowNull: false,
|
|
30
|
-
references: {
|
|
31
|
-
model: 'Country',
|
|
32
|
-
key: 'country_id'
|
|
33
|
-
}
|
|
34
19
|
}
|
|
35
20
|
}, {
|
|
36
21
|
sequelize,
|
|
37
|
-
tableName: '
|
|
22
|
+
tableName: 'Tactics',
|
|
38
23
|
schema: 'public',
|
|
39
24
|
timestamps: false,
|
|
40
25
|
indexes: [
|
|
41
26
|
{
|
|
42
|
-
name: '
|
|
27
|
+
name: 'Tactics_pk',
|
|
43
28
|
unique: true,
|
|
44
29
|
fields: [
|
|
45
30
|
{ name: 'coach_id' }
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model, Optional } from 'sequelize';
|
|
3
|
-
import {
|
|
3
|
+
import { TacticsAttributes, TacticsId, TacticsModel, CompetitionChampionId, CompetitionChampionModel, CompetitionId, CompetitionModel, CompetitionTeamsId, CompetitionTeamsModel, CountryId, CountryModel, DraftPickId, DraftPickModel, DivisionAttributes, DivisionId, DivisionModel, MatchId, MatchModel, MatchRatingId, MatchRatingModel, PlayerAttributes, PlayerId, PlayerModel, PlayerTeamId, PlayerTeamModel, RallyId, RallyModel } from '.';
|
|
4
4
|
export interface TeamAttributes {
|
|
5
5
|
team_id: string;
|
|
6
6
|
name: string;
|
|
7
7
|
short_name: string;
|
|
8
8
|
rating: number;
|
|
9
|
-
|
|
9
|
+
tactics_id?: string;
|
|
10
10
|
country_id?: string;
|
|
11
|
-
|
|
11
|
+
division_id: string;
|
|
12
|
+
tactics?: TacticsAttributes;
|
|
12
13
|
Players?: PlayerAttributes[];
|
|
13
|
-
|
|
14
|
-
Divisions?: DivisionAttributes[];
|
|
14
|
+
Division?: DivisionAttributes;
|
|
15
15
|
}
|
|
16
16
|
export type TeamPk = 'team_id';
|
|
17
17
|
export type TeamId = TeamModel[TeamPk];
|
|
@@ -19,15 +19,16 @@ export type TeamOptionalAttributes = 'rating';
|
|
|
19
19
|
export type TeamCreationAttributes = Optional<TeamAttributes, TeamOptionalAttributes>;
|
|
20
20
|
export declare class TeamModel extends Model<TeamAttributes, TeamCreationAttributes> implements TeamAttributes {
|
|
21
21
|
team_id: string;
|
|
22
|
-
|
|
22
|
+
tactics_id: string;
|
|
23
23
|
name: string;
|
|
24
24
|
short_name: string;
|
|
25
25
|
country_id: string;
|
|
26
26
|
rating: number;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
division_id: string;
|
|
28
|
+
tactics: TacticsModel;
|
|
29
|
+
getTactics: Sequelize.BelongsToGetAssociationMixin<TacticsModel>;
|
|
30
|
+
setTactics: Sequelize.BelongsToSetAssociationMixin<TacticsModel, TacticsId>;
|
|
31
|
+
createTactics: Sequelize.BelongsToCreateAssociationMixin<TacticsModel>;
|
|
31
32
|
country: CountryModel;
|
|
32
33
|
getCountry: Sequelize.BelongsToGetAssociationMixin<CountryModel>;
|
|
33
34
|
setCountry: Sequelize.BelongsToSetAssociationMixin<CountryModel, CountryId>;
|
|
@@ -109,21 +110,10 @@ export declare class TeamModel extends Model<TeamAttributes, TeamCreationAttribu
|
|
|
109
110
|
hasRatingMatch: Sequelize.BelongsToManyHasAssociationMixin<MatchModel, MatchId>;
|
|
110
111
|
hasRatingMatches: Sequelize.BelongsToManyHasAssociationsMixin<MatchModel, MatchId>;
|
|
111
112
|
countRatingMatches: Sequelize.BelongsToManyCountAssociationsMixin;
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
Divisions: DivisionModel[];
|
|
117
|
-
getDivisions: Sequelize.BelongsToManyGetAssociationsMixin<DivisionModel>;
|
|
118
|
-
setDivisions: Sequelize.BelongsToManySetAssociationsMixin<DivisionModel, DivisionId>;
|
|
119
|
-
addDivision: Sequelize.BelongsToManyAddAssociationMixin<DivisionModel, DivisionId>;
|
|
120
|
-
addDivisions: Sequelize.BelongsToManyAddAssociationsMixin<DivisionModel, DivisionId>;
|
|
121
|
-
createDivision: Sequelize.BelongsToManyCreateAssociationMixin<DivisionModel>;
|
|
122
|
-
removeDivision: Sequelize.BelongsToManyRemoveAssociationMixin<DivisionModel, DivisionId>;
|
|
123
|
-
removeDivisions: Sequelize.BelongsToManyRemoveAssociationsMixin<DivisionModel, DivisionId>;
|
|
124
|
-
hasDivision: Sequelize.BelongsToManyHasAssociationMixin<DivisionModel, DivisionId>;
|
|
125
|
-
hasDivisions: Sequelize.BelongsToManyHasAssociationsMixin<DivisionModel, DivisionId>;
|
|
126
|
-
countDivisions: Sequelize.BelongsToManyCountAssociationsMixin;
|
|
113
|
+
Division: DivisionModel;
|
|
114
|
+
getDivision: Sequelize.BelongsToGetAssociationMixin<DivisionModel>;
|
|
115
|
+
setDivision: Sequelize.BelongsToSetAssociationMixin<DivisionModel, DivisionId>;
|
|
116
|
+
createDivision: Sequelize.BelongsToCreateAssociationMixin<DivisionModel>;
|
|
127
117
|
MatchRatings: MatchRatingModel[];
|
|
128
118
|
getMatchRatings: Sequelize.HasManyGetAssociationsMixin<MatchRatingModel>;
|
|
129
119
|
setMatchRatings: Sequelize.HasManySetAssociationsMixin<MatchRatingModel, MatchRatingId>;
|
|
@@ -7,11 +7,11 @@ export class TeamModel extends Model {
|
|
|
7
7
|
allowNull: false,
|
|
8
8
|
primaryKey: true
|
|
9
9
|
},
|
|
10
|
-
|
|
10
|
+
tactics_id: {
|
|
11
11
|
type: DataTypes.UUID,
|
|
12
12
|
allowNull: false,
|
|
13
13
|
references: {
|
|
14
|
-
model: '
|
|
14
|
+
model: 'Tactics',
|
|
15
15
|
key: 'coach_id'
|
|
16
16
|
}
|
|
17
17
|
},
|
|
@@ -31,6 +31,14 @@ export class TeamModel extends Model {
|
|
|
31
31
|
key: 'country_id'
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
|
+
division_id: {
|
|
35
|
+
type: DataTypes.UUID,
|
|
36
|
+
allowNull: false,
|
|
37
|
+
references: {
|
|
38
|
+
model: 'Division',
|
|
39
|
+
key: 'division_id'
|
|
40
|
+
}
|
|
41
|
+
},
|
|
34
42
|
rating: {
|
|
35
43
|
type: DataTypes.REAL,
|
|
36
44
|
allowNull: false,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DivisionAttributes, DivisionModel } from '../models';
|
|
2
2
|
import { Division } from '../../service';
|
|
3
|
-
declare function transformToAttributes(division: Division
|
|
3
|
+
declare function transformToAttributes(division: Division): DivisionAttributes;
|
|
4
4
|
declare function transformToObject(model: DivisionModel): Division;
|
|
5
5
|
export { transformToObject as transformToDivision, transformToAttributes as transformFromDivision };
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import { Division } from '../../service';
|
|
2
2
|
import { transformToSeason } from './season';
|
|
3
|
-
|
|
3
|
+
import { transformFromTeam, transformToTeam } from './team';
|
|
4
|
+
function transformToAttributes(division) {
|
|
5
|
+
const Teams = (division.teams ?? []).map(transformFromTeam);
|
|
6
|
+
const DivisionSeasons = division.seasons.map(season => ({
|
|
7
|
+
division_id: division.id,
|
|
8
|
+
competition_id: season.id
|
|
9
|
+
}));
|
|
4
10
|
return {
|
|
5
11
|
division_id: division.id,
|
|
6
|
-
league_id: leagueId,
|
|
12
|
+
league_id: division.leagueId,
|
|
7
13
|
tier: division.tier,
|
|
8
|
-
name: division.name
|
|
14
|
+
name: division.name,
|
|
15
|
+
DivisionSeasons,
|
|
16
|
+
Teams
|
|
9
17
|
};
|
|
10
18
|
}
|
|
11
19
|
function transformToObject(model) {
|
|
@@ -13,7 +21,9 @@ function transformToObject(model) {
|
|
|
13
21
|
id: model.division_id,
|
|
14
22
|
name: model.name,
|
|
15
23
|
tier: model.tier,
|
|
16
|
-
|
|
24
|
+
leagueId: model.league_id,
|
|
25
|
+
seasons: (model.DivisionSeasons ?? []).map((ds) => transformToSeason(ds.competition)),
|
|
26
|
+
teams: model.Teams != null ? model.Teams.map(transformToTeam) : undefined
|
|
17
27
|
});
|
|
18
28
|
}
|
|
19
29
|
export { transformToObject as transformToDivision, transformToAttributes as transformFromDivision };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './coach';
|
|
2
1
|
export * from './country';
|
|
3
2
|
export * from './court-position';
|
|
4
3
|
export * from './formation';
|
|
@@ -22,3 +21,4 @@ export * from './season-match';
|
|
|
22
21
|
export * from './player-team';
|
|
23
22
|
export * from './match-rating';
|
|
24
23
|
export * from './team';
|
|
24
|
+
export * from './tactics';
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from './coach';
|
|
2
1
|
export * from './country';
|
|
3
2
|
export * from './court-position';
|
|
4
3
|
export * from './formation';
|
|
@@ -22,3 +21,4 @@ export * from './season-match';
|
|
|
22
21
|
export * from './player-team';
|
|
23
22
|
export * from './match-rating';
|
|
24
23
|
export * from './team';
|
|
24
|
+
export * from './tactics';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { League } from '../../service';
|
|
2
2
|
import { transformFromDivision, transformToCountry, transformToDivision } from '.';
|
|
3
3
|
function transformToAttributes(league) {
|
|
4
|
-
const Divisions = league.divisions?.map(
|
|
4
|
+
const Divisions = league.divisions?.map((division) => transformFromDivision(division));
|
|
5
5
|
return {
|
|
6
6
|
league_id: league.id,
|
|
7
7
|
country_id: league.country.id,
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { TacticsAttributes, TacticsModel } from '../models';
|
|
2
|
+
import { Tactics } from '../../service';
|
|
3
|
+
declare function transformToAttributes(tactics: Tactics): TacticsAttributes;
|
|
4
|
+
declare function transformToObject(model: TacticsModel): Tactics;
|
|
5
|
+
export { transformToObject as transformToTactics, transformToAttributes as transformFromTactics };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { transformFromFormation, transformToFormation } from '.';
|
|
2
|
+
import { Tactics } from '../../service';
|
|
3
|
+
function transformToAttributes(tactics) {
|
|
4
|
+
return {
|
|
5
|
+
tactics_id: tactics.id,
|
|
6
|
+
substitution_tolerance: tactics.substitutionTolerance ?? 0,
|
|
7
|
+
formation: transformFromFormation(tactics.formation)
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
function transformToObject(model) {
|
|
11
|
+
return new Tactics({
|
|
12
|
+
id: model.tactics_id,
|
|
13
|
+
substitutionTolerance: model.substitution_tolerance,
|
|
14
|
+
formation: transformToFormation(model.formation)
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export { transformToObject as transformToTactics, transformToAttributes as transformFromTactics };
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { Team } from '../../service';
|
|
2
|
-
import {
|
|
2
|
+
import { transformFromTactics, transformToCountry, transformToPlayer, transformToTactics } from '.';
|
|
3
3
|
function transformToAttributes(team) {
|
|
4
4
|
return {
|
|
5
5
|
team_id: team.id,
|
|
6
6
|
name: team.name,
|
|
7
7
|
short_name: team.shortName,
|
|
8
|
-
|
|
8
|
+
tactics_id: team.tactics?.id,
|
|
9
9
|
country_id: team.country?.id,
|
|
10
|
-
|
|
11
|
-
rating: team.rating
|
|
10
|
+
tactics: team.tactics != null ? transformFromTactics(team.tactics) : undefined,
|
|
11
|
+
rating: team.rating,
|
|
12
|
+
division_id: team.divisionId
|
|
12
13
|
};
|
|
13
14
|
}
|
|
14
15
|
function transformToObject(model) {
|
|
@@ -17,9 +18,10 @@ function transformToObject(model) {
|
|
|
17
18
|
name: model.name,
|
|
18
19
|
shortName: model.short_name,
|
|
19
20
|
country: model.country != null ? transformToCountry(model.country) : undefined,
|
|
20
|
-
|
|
21
|
+
tactics: model.tactics != null ? transformToTactics(model.tactics) : undefined,
|
|
21
22
|
roster: (model.PlayerTeams ?? []).map((pt) => transformToPlayer(pt.player)),
|
|
22
|
-
rating: model.rating
|
|
23
|
+
rating: model.rating,
|
|
24
|
+
divisionId: model.division_id
|
|
23
25
|
});
|
|
24
26
|
}
|
|
25
27
|
export { transformToObject as transformToTeam, transformToAttributes as transformFromTeam };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './tactics';
|
|
2
2
|
export * from './formation';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './tactics';
|
|
2
2
|
export * from './formation';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Formation } from './formation';
|
|
2
|
+
interface TacticsOpts {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly formation: Formation;
|
|
5
|
+
readonly substitutionTolerance?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare class Tactics {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
readonly formation: Formation;
|
|
10
|
+
readonly substitutionTolerance: number;
|
|
11
|
+
constructor({ id, formation, substitutionTolerance }: TacticsOpts);
|
|
12
|
+
}
|
|
13
|
+
export {};
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { validateUUID } from '../utils';
|
|
2
|
-
export class
|
|
3
|
-
constructor({ id,
|
|
2
|
+
export class Tactics {
|
|
3
|
+
constructor({ id, formation, substitutionTolerance = 0 }) {
|
|
4
4
|
validateUUID(id);
|
|
5
5
|
this.id = id;
|
|
6
|
-
this.name = name;
|
|
7
|
-
this.country = country;
|
|
8
6
|
this.formation = formation;
|
|
9
7
|
this.substitutionTolerance = substitutionTolerance;
|
|
10
8
|
}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { Season } from './season';
|
|
2
|
+
import { Team } from '../team';
|
|
2
3
|
interface DivisionOpts {
|
|
3
4
|
readonly id: string;
|
|
4
5
|
readonly name: string;
|
|
5
6
|
readonly tier: number;
|
|
7
|
+
readonly leagueId: string;
|
|
6
8
|
readonly seasons: Season[];
|
|
9
|
+
readonly teams?: Team[];
|
|
7
10
|
}
|
|
8
11
|
export declare class Division {
|
|
9
12
|
readonly id: string;
|
|
10
13
|
readonly name: string;
|
|
11
14
|
readonly tier: number;
|
|
15
|
+
readonly leagueId: string;
|
|
12
16
|
readonly seasons: Season[];
|
|
13
|
-
|
|
17
|
+
readonly teams?: Team[];
|
|
18
|
+
constructor({ id, name, tier, seasons, teams, leagueId }: DivisionOpts);
|
|
14
19
|
}
|
|
15
20
|
export {};
|