volleyballsimtypes 0.0.191 → 0.0.192
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 +2 -18
- package/dist/cjs/src/data/models/division.d.ts +12 -23
- package/dist/cjs/src/data/models/index.d.ts +0 -1
- package/dist/cjs/src/data/models/index.js +0 -1
- package/dist/cjs/src/data/models/team.d.ts +8 -18
- package/dist/cjs/src/data/models/team.js +8 -0
- package/dist/cjs/src/data/transformers/division.js +3 -1
- package/dist/cjs/src/data/transformers/team.js +4 -2
- package/dist/cjs/src/service/competition/division.d.ts +4 -1
- package/dist/cjs/src/service/competition/division.js +2 -1
- package/dist/cjs/src/service/team/team.d.ts +3 -1
- package/dist/cjs/src/service/team/team.js +2 -1
- package/dist/esm/src/data/init-models.js +3 -19
- package/dist/esm/src/data/models/division.d.ts +12 -23
- package/dist/esm/src/data/models/index.d.ts +0 -1
- package/dist/esm/src/data/models/index.js +0 -1
- package/dist/esm/src/data/models/team.d.ts +8 -18
- package/dist/esm/src/data/models/team.js +8 -0
- package/dist/esm/src/data/transformers/division.js +3 -1
- package/dist/esm/src/data/transformers/team.js +4 -2
- package/dist/esm/src/service/competition/division.d.ts +4 -1
- package/dist/esm/src/service/competition/division.js +2 -1
- package/dist/esm/src/service/team/team.d.ts +3 -1
- package/dist/esm/src/service/team/team.js +2 -1
- package/package.json +1 -1
- 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/esm/src/data/models/division-teams.d.ts +0 -23
- package/dist/esm/src/data/models/division-teams.js +0 -39
|
@@ -15,7 +15,6 @@ function initModels(sequelize) {
|
|
|
15
15
|
const League = models_1.LeagueModel.initModel(sequelize);
|
|
16
16
|
const Division = models_1.DivisionModel.initModel(sequelize);
|
|
17
17
|
const DivisionSeason = models_1.DivisionSeasonModel.initModel(sequelize);
|
|
18
|
-
const DivisionTeams = models_1.DivisionTeamsModel.initModel(sequelize);
|
|
19
18
|
const Match = models_1.MatchModel.initModel(sequelize);
|
|
20
19
|
const MatchRating = models_1.MatchRatingModel.initModel(sequelize);
|
|
21
20
|
const MatchResult = models_1.MatchResultModel.initModel(sequelize);
|
|
@@ -60,24 +59,10 @@ function initModels(sequelize) {
|
|
|
60
59
|
League.hasMany(Division, { as: 'Divisions', foreignKey: 'league_id' });
|
|
61
60
|
Division.belongsTo(League, { as: 'league', foreignKey: 'league_id' });
|
|
62
61
|
Division.hasMany(DivisionSeason, { as: 'DivisionSeasons', foreignKey: 'division_id' });
|
|
63
|
-
Division.hasMany(
|
|
64
|
-
Division.belongsToMany(Team, {
|
|
65
|
-
as: 'Teams',
|
|
66
|
-
through: DivisionTeams,
|
|
67
|
-
foreignKey: 'division_id',
|
|
68
|
-
otherKey: 'team_id'
|
|
69
|
-
});
|
|
62
|
+
Division.hasMany(Team, { as: 'Teams', foreignKey: 'division_id' });
|
|
70
63
|
DivisionSeason.belongsTo(Competition, { as: 'competition', foreignKey: 'competition_id' });
|
|
71
64
|
DivisionSeason.belongsTo(Division, { as: 'division', foreignKey: 'division_id' });
|
|
72
|
-
|
|
73
|
-
DivisionTeams.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
|
|
74
|
-
Team.hasOne(DivisionTeams, { as: 'DivisionTeams', foreignKey: 'team_id' });
|
|
75
|
-
Team.belongsToMany(Division, {
|
|
76
|
-
as: 'Divisions',
|
|
77
|
-
through: DivisionTeams,
|
|
78
|
-
foreignKey: 'team_id',
|
|
79
|
-
otherKey: 'division_id'
|
|
80
|
-
});
|
|
65
|
+
Team.belongsTo(Division, { as: 'Division', foreignKey: 'division_id' });
|
|
81
66
|
Match.belongsTo(Team, { as: 'AwayTeam', foreignKey: 'away_team' });
|
|
82
67
|
Match.belongsTo(Team, { as: 'HomeTeam', foreignKey: 'home_team' });
|
|
83
68
|
Match.belongsToMany(Team, {
|
|
@@ -191,7 +176,6 @@ function initModels(sequelize) {
|
|
|
191
176
|
MatchSet,
|
|
192
177
|
BoxScore,
|
|
193
178
|
PerformanceStats,
|
|
194
|
-
DivisionTeams,
|
|
195
179
|
Player,
|
|
196
180
|
PlayerTeam,
|
|
197
181
|
Rally,
|
|
@@ -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
|
}
|
|
@@ -27,7 +27,6 @@ __exportStar(require("./iteration"), exports);
|
|
|
27
27
|
__exportStar(require("./league"), exports);
|
|
28
28
|
__exportStar(require("./division"), exports);
|
|
29
29
|
__exportStar(require("./division-season"), exports);
|
|
30
|
-
__exportStar(require("./division-teams"), exports);
|
|
31
30
|
__exportStar(require("./match"), exports);
|
|
32
31
|
__exportStar(require("./match-rating"), exports);
|
|
33
32
|
__exportStar(require("./match-result"), exports);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model, Optional } from 'sequelize';
|
|
3
|
-
import { CoachAttributes, CoachId, CoachModel, CompetitionChampionId, CompetitionChampionModel, CompetitionId, CompetitionModel, CompetitionTeamsId, CompetitionTeamsModel, CountryId, CountryModel, DraftPickId, DraftPickModel, DivisionAttributes, DivisionId, DivisionModel,
|
|
3
|
+
import { CoachAttributes, CoachId, CoachModel, 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;
|
|
@@ -8,10 +8,10 @@ export interface TeamAttributes {
|
|
|
8
8
|
rating: number;
|
|
9
9
|
coach_id?: string;
|
|
10
10
|
country_id?: string;
|
|
11
|
+
division_id: string;
|
|
11
12
|
coach?: CoachAttributes;
|
|
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];
|
|
@@ -24,6 +24,7 @@ export declare class TeamModel extends Model<TeamAttributes, TeamCreationAttribu
|
|
|
24
24
|
short_name: string;
|
|
25
25
|
country_id: string;
|
|
26
26
|
rating: number;
|
|
27
|
+
division_id: string;
|
|
27
28
|
coach: CoachModel;
|
|
28
29
|
getCoach: Sequelize.BelongsToGetAssociationMixin<CoachModel>;
|
|
29
30
|
setCoach: Sequelize.BelongsToSetAssociationMixin<CoachModel, CoachId>;
|
|
@@ -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>;
|
|
@@ -34,6 +34,14 @@ class TeamModel extends sequelize_1.Model {
|
|
|
34
34
|
key: 'country_id'
|
|
35
35
|
}
|
|
36
36
|
},
|
|
37
|
+
division_id: {
|
|
38
|
+
type: sequelize_1.DataTypes.UUID,
|
|
39
|
+
allowNull: false,
|
|
40
|
+
references: {
|
|
41
|
+
model: 'Division',
|
|
42
|
+
key: 'division_id'
|
|
43
|
+
}
|
|
44
|
+
},
|
|
37
45
|
rating: {
|
|
38
46
|
type: sequelize_1.DataTypes.REAL,
|
|
39
47
|
allowNull: false,
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.transformFromDivision = exports.transformToDivision = void 0;
|
|
4
4
|
const service_1 = require("../../service");
|
|
5
5
|
const season_1 = require("./season");
|
|
6
|
+
const team_1 = require("./team");
|
|
6
7
|
function transformToAttributes(division, leagueId) {
|
|
7
8
|
return {
|
|
8
9
|
division_id: division.id,
|
|
@@ -17,7 +18,8 @@ function transformToObject(model) {
|
|
|
17
18
|
id: model.division_id,
|
|
18
19
|
name: model.name,
|
|
19
20
|
tier: model.tier,
|
|
20
|
-
seasons: (model.DivisionSeasons ?? []).map((ds) => (0, season_1.transformToSeason)(ds.competition))
|
|
21
|
+
seasons: (model.DivisionSeasons ?? []).map((ds) => (0, season_1.transformToSeason)(ds.competition)),
|
|
22
|
+
teams: model.Teams != null ? model.Teams.map(team_1.transformToTeam) : undefined
|
|
21
23
|
});
|
|
22
24
|
}
|
|
23
25
|
exports.transformToDivision = transformToObject;
|
|
@@ -11,7 +11,8 @@ function transformToAttributes(team) {
|
|
|
11
11
|
coach_id: team.coach?.id,
|
|
12
12
|
country_id: team.country?.id,
|
|
13
13
|
coach: team.coach != null ? (0, _1.transformFromCoach)(team.coach) : undefined,
|
|
14
|
-
rating: team.rating
|
|
14
|
+
rating: team.rating,
|
|
15
|
+
division_id: team.divisionId
|
|
15
16
|
};
|
|
16
17
|
}
|
|
17
18
|
exports.transformFromTeam = transformToAttributes;
|
|
@@ -23,7 +24,8 @@ function transformToObject(model) {
|
|
|
23
24
|
country: model.country != null ? (0, _1.transformToCountry)(model.country) : undefined,
|
|
24
25
|
coach: model.coach != null ? (0, _1.transformToCoach)(model.coach) : undefined,
|
|
25
26
|
roster: (model.PlayerTeams ?? []).map((pt) => (0, _1.transformToPlayer)(pt.player)),
|
|
26
|
-
rating: model.rating
|
|
27
|
+
rating: model.rating,
|
|
28
|
+
divisionId: model.division_id
|
|
27
29
|
});
|
|
28
30
|
}
|
|
29
31
|
exports.transformToTeam = transformToObject;
|
|
@@ -1,15 +1,18 @@
|
|
|
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;
|
|
6
7
|
readonly seasons: Season[];
|
|
8
|
+
readonly teams?: Team[];
|
|
7
9
|
}
|
|
8
10
|
export declare class Division {
|
|
9
11
|
readonly id: string;
|
|
10
12
|
readonly name: string;
|
|
11
13
|
readonly tier: number;
|
|
12
14
|
readonly seasons: Season[];
|
|
13
|
-
|
|
15
|
+
readonly teams?: Team[];
|
|
16
|
+
constructor({ id, name, tier, seasons, teams }: DivisionOpts);
|
|
14
17
|
}
|
|
15
18
|
export {};
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Division = void 0;
|
|
4
4
|
class Division {
|
|
5
|
-
constructor({ id, name, tier, seasons }) {
|
|
5
|
+
constructor({ id, name, tier, seasons, teams }) {
|
|
6
6
|
this.id = id;
|
|
7
7
|
this.name = name;
|
|
8
8
|
this.tier = tier;
|
|
9
9
|
this.seasons = seasons;
|
|
10
|
+
this.teams = teams;
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
13
|
exports.Division = Division;
|
|
@@ -6,6 +6,7 @@ interface TeamParams {
|
|
|
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
12
|
readonly coach?: Coach;
|
|
@@ -15,10 +16,11 @@ export declare class Team {
|
|
|
15
16
|
readonly roster: Player[];
|
|
16
17
|
readonly name: string;
|
|
17
18
|
readonly shortName: string;
|
|
19
|
+
readonly divisionId: string;
|
|
18
20
|
readonly coach?: Coach;
|
|
19
21
|
readonly country?: Country;
|
|
20
22
|
private _rating;
|
|
21
|
-
constructor({ id, rating, name, shortName, country, roster, coach }: TeamParams);
|
|
23
|
+
constructor({ id, rating, name, shortName, divisionId, country, roster, coach }: TeamParams);
|
|
22
24
|
get rating(): number;
|
|
23
25
|
set rating(value: number);
|
|
24
26
|
isPlayerInRoster(player: Player): boolean;
|
|
@@ -3,7 +3,7 @@ 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, coach }) {
|
|
6
|
+
constructor({ id, rating, name, shortName, divisionId, country, roster, coach }) {
|
|
7
7
|
(0, utils_1.validateUUID)(id);
|
|
8
8
|
this.id = id;
|
|
9
9
|
this._rating = rating;
|
|
@@ -11,6 +11,7 @@ class Team {
|
|
|
11
11
|
this.coach = coach;
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import { BoxScoreModel, CoachModel, CompetitionChampionModel, CompetitionMatchModel, CompetitionModel, CompetitionTeamsModel, CountryModel, DivisionModel, DivisionSeasonModel,
|
|
1
|
+
import { BoxScoreModel, CoachModel, CompetitionChampionModel, CompetitionMatchModel, CompetitionModel, CompetitionTeamsModel, CountryModel, DivisionModel, DivisionSeasonModel, DraftModel, DraftPickModel, IterationModel, LeagueModel, MatchModel, MatchRatingModel, MatchResultModel, MatchSetModel, PerformanceStatsModel, PlayerModel, PlayerTeamModel, RallyModel, SetPositionModel, TeamModel, UserModel } from './models';
|
|
2
2
|
export function initModels(sequelize) {
|
|
3
3
|
const Coach = CoachModel.initModel(sequelize);
|
|
4
4
|
const Country = CountryModel.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);
|
|
@@ -57,24 +56,10 @@ export function initModels(sequelize) {
|
|
|
57
56
|
League.hasMany(Division, { as: 'Divisions', foreignKey: 'league_id' });
|
|
58
57
|
Division.belongsTo(League, { as: 'league', foreignKey: 'league_id' });
|
|
59
58
|
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
|
-
});
|
|
59
|
+
Division.hasMany(Team, { as: 'Teams', foreignKey: 'division_id' });
|
|
67
60
|
DivisionSeason.belongsTo(Competition, { as: 'competition', foreignKey: 'competition_id' });
|
|
68
61
|
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
|
-
});
|
|
62
|
+
Team.belongsTo(Division, { as: 'Division', foreignKey: 'division_id' });
|
|
78
63
|
Match.belongsTo(Team, { as: 'AwayTeam', foreignKey: 'away_team' });
|
|
79
64
|
Match.belongsTo(Team, { as: 'HomeTeam', foreignKey: 'home_team' });
|
|
80
65
|
Match.belongsToMany(Team, {
|
|
@@ -188,7 +173,6 @@ export function initModels(sequelize) {
|
|
|
188
173
|
MatchSet,
|
|
189
174
|
BoxScore,
|
|
190
175
|
PerformanceStats,
|
|
191
|
-
DivisionTeams,
|
|
192
176
|
Player,
|
|
193
177
|
PlayerTeam,
|
|
194
178
|
Rally,
|
|
@@ -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,6 +1,6 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model, Optional } from 'sequelize';
|
|
3
|
-
import { CoachAttributes, CoachId, CoachModel, CompetitionChampionId, CompetitionChampionModel, CompetitionId, CompetitionModel, CompetitionTeamsId, CompetitionTeamsModel, CountryId, CountryModel, DraftPickId, DraftPickModel, DivisionAttributes, DivisionId, DivisionModel,
|
|
3
|
+
import { CoachAttributes, CoachId, CoachModel, 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;
|
|
@@ -8,10 +8,10 @@ export interface TeamAttributes {
|
|
|
8
8
|
rating: number;
|
|
9
9
|
coach_id?: string;
|
|
10
10
|
country_id?: string;
|
|
11
|
+
division_id: string;
|
|
11
12
|
coach?: CoachAttributes;
|
|
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];
|
|
@@ -24,6 +24,7 @@ export declare class TeamModel extends Model<TeamAttributes, TeamCreationAttribu
|
|
|
24
24
|
short_name: string;
|
|
25
25
|
country_id: string;
|
|
26
26
|
rating: number;
|
|
27
|
+
division_id: string;
|
|
27
28
|
coach: CoachModel;
|
|
28
29
|
getCoach: Sequelize.BelongsToGetAssociationMixin<CoachModel>;
|
|
29
30
|
setCoach: Sequelize.BelongsToSetAssociationMixin<CoachModel, CoachId>;
|
|
@@ -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>;
|
|
@@ -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,6 @@
|
|
|
1
1
|
import { Division } from '../../service';
|
|
2
2
|
import { transformToSeason } from './season';
|
|
3
|
+
import { transformToTeam } from './team';
|
|
3
4
|
function transformToAttributes(division, leagueId) {
|
|
4
5
|
return {
|
|
5
6
|
division_id: division.id,
|
|
@@ -13,7 +14,8 @@ function transformToObject(model) {
|
|
|
13
14
|
id: model.division_id,
|
|
14
15
|
name: model.name,
|
|
15
16
|
tier: model.tier,
|
|
16
|
-
seasons: (model.DivisionSeasons ?? []).map((ds) => transformToSeason(ds.competition))
|
|
17
|
+
seasons: (model.DivisionSeasons ?? []).map((ds) => transformToSeason(ds.competition)),
|
|
18
|
+
teams: model.Teams != null ? model.Teams.map(transformToTeam) : undefined
|
|
17
19
|
});
|
|
18
20
|
}
|
|
19
21
|
export { transformToObject as transformToDivision, transformToAttributes as transformFromDivision };
|
|
@@ -8,7 +8,8 @@ function transformToAttributes(team) {
|
|
|
8
8
|
coach_id: team.coach?.id,
|
|
9
9
|
country_id: team.country?.id,
|
|
10
10
|
coach: team.coach != null ? transformFromCoach(team.coach) : undefined,
|
|
11
|
-
rating: team.rating
|
|
11
|
+
rating: team.rating,
|
|
12
|
+
division_id: team.divisionId
|
|
12
13
|
};
|
|
13
14
|
}
|
|
14
15
|
function transformToObject(model) {
|
|
@@ -19,7 +20,8 @@ function transformToObject(model) {
|
|
|
19
20
|
country: model.country != null ? transformToCountry(model.country) : undefined,
|
|
20
21
|
coach: model.coach != null ? transformToCoach(model.coach) : 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,15 +1,18 @@
|
|
|
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;
|
|
6
7
|
readonly seasons: Season[];
|
|
8
|
+
readonly teams?: Team[];
|
|
7
9
|
}
|
|
8
10
|
export declare class Division {
|
|
9
11
|
readonly id: string;
|
|
10
12
|
readonly name: string;
|
|
11
13
|
readonly tier: number;
|
|
12
14
|
readonly seasons: Season[];
|
|
13
|
-
|
|
15
|
+
readonly teams?: Team[];
|
|
16
|
+
constructor({ id, name, tier, seasons, teams }: DivisionOpts);
|
|
14
17
|
}
|
|
15
18
|
export {};
|
|
@@ -6,6 +6,7 @@ interface TeamParams {
|
|
|
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
12
|
readonly coach?: Coach;
|
|
@@ -15,10 +16,11 @@ export declare class Team {
|
|
|
15
16
|
readonly roster: Player[];
|
|
16
17
|
readonly name: string;
|
|
17
18
|
readonly shortName: string;
|
|
19
|
+
readonly divisionId: string;
|
|
18
20
|
readonly coach?: Coach;
|
|
19
21
|
readonly country?: Country;
|
|
20
22
|
private _rating;
|
|
21
|
-
constructor({ id, rating, name, shortName, country, roster, coach }: TeamParams);
|
|
23
|
+
constructor({ id, rating, name, shortName, divisionId, country, roster, coach }: TeamParams);
|
|
22
24
|
get rating(): number;
|
|
23
25
|
set rating(value: number);
|
|
24
26
|
isPlayerInRoster(player: Player): boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { validateUUID } from '../utils';
|
|
2
2
|
export class Team {
|
|
3
|
-
constructor({ id, rating, name, shortName, country, roster, coach }) {
|
|
3
|
+
constructor({ id, rating, name, shortName, divisionId, country, roster, coach }) {
|
|
4
4
|
validateUUID(id);
|
|
5
5
|
this.id = id;
|
|
6
6
|
this._rating = rating;
|
|
@@ -8,6 +8,7 @@ export class Team {
|
|
|
8
8
|
this.coach = coach;
|
|
9
9
|
this.name = name;
|
|
10
10
|
this.shortName = shortName;
|
|
11
|
+
this.divisionId = divisionId;
|
|
11
12
|
this.country = country;
|
|
12
13
|
}
|
|
13
14
|
get rating() {
|
package/package.json
CHANGED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import * as Sequelize from 'sequelize';
|
|
2
|
-
import { Model } from 'sequelize';
|
|
3
|
-
import { DivisionId, DivisionModel, TeamId, TeamModel } from '.';
|
|
4
|
-
export interface DivisionTeamsAttributes {
|
|
5
|
-
team_id: string;
|
|
6
|
-
division_id: string;
|
|
7
|
-
}
|
|
8
|
-
export type DivisionTeamsPk = 'team_id';
|
|
9
|
-
export type DivisionTeamsId = DivisionTeamsModel[DivisionTeamsPk];
|
|
10
|
-
export type DivisionTeamsCreationAttributes = DivisionTeamsAttributes;
|
|
11
|
-
export declare class DivisionTeamsModel extends Model<DivisionTeamsAttributes, DivisionTeamsCreationAttributes> implements DivisionTeamsAttributes {
|
|
12
|
-
team_id: string;
|
|
13
|
-
division_id: string;
|
|
14
|
-
team: TeamModel;
|
|
15
|
-
getTeam: Sequelize.BelongsToGetAssociationMixin<TeamModel>;
|
|
16
|
-
setTeam: Sequelize.BelongsToSetAssociationMixin<TeamModel, TeamId>;
|
|
17
|
-
createTeam: Sequelize.BelongsToCreateAssociationMixin<TeamModel>;
|
|
18
|
-
division: DivisionModel;
|
|
19
|
-
getDivision: Sequelize.BelongsToGetAssociationMixin<DivisionModel>;
|
|
20
|
-
setDivision: Sequelize.BelongsToSetAssociationMixin<DivisionModel, DivisionId>;
|
|
21
|
-
createDivision: Sequelize.BelongsToCreateAssociationMixin<DivisionModel>;
|
|
22
|
-
static initModel(sequelize: Sequelize.Sequelize): typeof DivisionTeamsModel;
|
|
23
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DivisionTeamsModel = void 0;
|
|
4
|
-
const sequelize_1 = require("sequelize");
|
|
5
|
-
class DivisionTeamsModel extends sequelize_1.Model {
|
|
6
|
-
static initModel(sequelize) {
|
|
7
|
-
return DivisionTeamsModel.init({
|
|
8
|
-
team_id: {
|
|
9
|
-
type: sequelize_1.DataTypes.UUID,
|
|
10
|
-
allowNull: false,
|
|
11
|
-
primaryKey: true,
|
|
12
|
-
references: {
|
|
13
|
-
model: 'Team',
|
|
14
|
-
key: 'team_id'
|
|
15
|
-
},
|
|
16
|
-
onDelete: 'CASCADE'
|
|
17
|
-
},
|
|
18
|
-
division_id: {
|
|
19
|
-
type: sequelize_1.DataTypes.UUID,
|
|
20
|
-
allowNull: false,
|
|
21
|
-
references: {
|
|
22
|
-
model: 'Division',
|
|
23
|
-
key: 'division_id'
|
|
24
|
-
},
|
|
25
|
-
onDelete: 'RESTRICT'
|
|
26
|
-
}
|
|
27
|
-
}, {
|
|
28
|
-
sequelize,
|
|
29
|
-
tableName: 'DivisionTeams',
|
|
30
|
-
schema: 'public',
|
|
31
|
-
timestamps: false,
|
|
32
|
-
indexes: [{
|
|
33
|
-
name: 'divisionteams_pk',
|
|
34
|
-
unique: true,
|
|
35
|
-
fields: [{ name: 'team_id' }]
|
|
36
|
-
}, {
|
|
37
|
-
name: 'idx_divisionteams_division_id',
|
|
38
|
-
fields: [{ name: 'division_id' }]
|
|
39
|
-
}]
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
exports.DivisionTeamsModel = DivisionTeamsModel;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import * as Sequelize from 'sequelize';
|
|
2
|
-
import { Model } from 'sequelize';
|
|
3
|
-
import { DivisionId, DivisionModel, TeamId, TeamModel } from '.';
|
|
4
|
-
export interface DivisionTeamsAttributes {
|
|
5
|
-
team_id: string;
|
|
6
|
-
division_id: string;
|
|
7
|
-
}
|
|
8
|
-
export type DivisionTeamsPk = 'team_id';
|
|
9
|
-
export type DivisionTeamsId = DivisionTeamsModel[DivisionTeamsPk];
|
|
10
|
-
export type DivisionTeamsCreationAttributes = DivisionTeamsAttributes;
|
|
11
|
-
export declare class DivisionTeamsModel extends Model<DivisionTeamsAttributes, DivisionTeamsCreationAttributes> implements DivisionTeamsAttributes {
|
|
12
|
-
team_id: string;
|
|
13
|
-
division_id: string;
|
|
14
|
-
team: TeamModel;
|
|
15
|
-
getTeam: Sequelize.BelongsToGetAssociationMixin<TeamModel>;
|
|
16
|
-
setTeam: Sequelize.BelongsToSetAssociationMixin<TeamModel, TeamId>;
|
|
17
|
-
createTeam: Sequelize.BelongsToCreateAssociationMixin<TeamModel>;
|
|
18
|
-
division: DivisionModel;
|
|
19
|
-
getDivision: Sequelize.BelongsToGetAssociationMixin<DivisionModel>;
|
|
20
|
-
setDivision: Sequelize.BelongsToSetAssociationMixin<DivisionModel, DivisionId>;
|
|
21
|
-
createDivision: Sequelize.BelongsToCreateAssociationMixin<DivisionModel>;
|
|
22
|
-
static initModel(sequelize: Sequelize.Sequelize): typeof DivisionTeamsModel;
|
|
23
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { DataTypes, Model } from 'sequelize';
|
|
2
|
-
export class DivisionTeamsModel extends Model {
|
|
3
|
-
static initModel(sequelize) {
|
|
4
|
-
return DivisionTeamsModel.init({
|
|
5
|
-
team_id: {
|
|
6
|
-
type: DataTypes.UUID,
|
|
7
|
-
allowNull: false,
|
|
8
|
-
primaryKey: true,
|
|
9
|
-
references: {
|
|
10
|
-
model: 'Team',
|
|
11
|
-
key: 'team_id'
|
|
12
|
-
},
|
|
13
|
-
onDelete: 'CASCADE'
|
|
14
|
-
},
|
|
15
|
-
division_id: {
|
|
16
|
-
type: DataTypes.UUID,
|
|
17
|
-
allowNull: false,
|
|
18
|
-
references: {
|
|
19
|
-
model: 'Division',
|
|
20
|
-
key: 'division_id'
|
|
21
|
-
},
|
|
22
|
-
onDelete: 'RESTRICT'
|
|
23
|
-
}
|
|
24
|
-
}, {
|
|
25
|
-
sequelize,
|
|
26
|
-
tableName: 'DivisionTeams',
|
|
27
|
-
schema: 'public',
|
|
28
|
-
timestamps: false,
|
|
29
|
-
indexes: [{
|
|
30
|
-
name: 'divisionteams_pk',
|
|
31
|
-
unique: true,
|
|
32
|
-
fields: [{ name: 'team_id' }]
|
|
33
|
-
}, {
|
|
34
|
-
name: 'idx_divisionteams_division_id',
|
|
35
|
-
fields: [{ name: 'division_id' }]
|
|
36
|
-
}]
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|