volleyballsimtypes 0.0.189 → 0.0.191

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/cjs/src/data/init-models.js +28 -8
  2. package/dist/cjs/src/data/models/competition.d.ts +6 -6
  3. package/dist/cjs/src/data/models/division-season.d.ts +23 -0
  4. package/dist/cjs/src/data/models/{league-season.js → division-season.js} +9 -9
  5. package/dist/cjs/src/data/models/division-teams.d.ts +23 -0
  6. package/dist/cjs/src/data/models/division-teams.js +43 -0
  7. package/dist/cjs/src/data/models/division.d.ts +58 -0
  8. package/dist/cjs/src/data/models/division.js +47 -0
  9. package/dist/cjs/src/data/models/index.d.ts +3 -1
  10. package/dist/cjs/src/data/models/index.js +3 -1
  11. package/dist/cjs/src/data/models/league.d.ts +13 -24
  12. package/dist/cjs/src/data/models/team.d.ts +18 -8
  13. package/dist/cjs/src/data/models/team.js +0 -8
  14. package/dist/cjs/src/data/transformers/division.d.ts +5 -0
  15. package/dist/cjs/src/data/transformers/division.js +23 -0
  16. package/dist/cjs/src/data/transformers/index.d.ts +1 -0
  17. package/dist/cjs/src/data/transformers/index.js +1 -0
  18. package/dist/cjs/src/data/transformers/league.js +3 -6
  19. package/dist/cjs/src/data/transformers/season.d.ts +1 -1
  20. package/dist/cjs/src/data/transformers/season.js +1 -2
  21. package/dist/cjs/src/data/transformers/team.js +0 -2
  22. package/dist/cjs/src/service/competition/division.d.ts +15 -0
  23. package/dist/cjs/src/service/competition/division.js +12 -0
  24. package/dist/cjs/src/service/competition/index.d.ts +1 -0
  25. package/dist/cjs/src/service/competition/index.js +1 -0
  26. package/dist/cjs/src/service/competition/league.d.ts +4 -4
  27. package/dist/cjs/src/service/competition/league.js +2 -2
  28. package/dist/cjs/src/service/team/team.d.ts +1 -4
  29. package/dist/cjs/src/service/team/team.js +1 -2
  30. package/dist/esm/src/data/init-models.js +29 -9
  31. package/dist/esm/src/data/models/competition.d.ts +6 -6
  32. package/dist/esm/src/data/models/division-season.d.ts +23 -0
  33. package/dist/esm/src/data/models/{league-season.js → division-season.js} +7 -7
  34. package/dist/esm/src/data/models/division-teams.d.ts +23 -0
  35. package/dist/esm/src/data/models/division-teams.js +39 -0
  36. package/dist/esm/src/data/models/division.d.ts +58 -0
  37. package/dist/esm/src/data/models/division.js +43 -0
  38. package/dist/esm/src/data/models/index.d.ts +3 -1
  39. package/dist/esm/src/data/models/index.js +3 -1
  40. package/dist/esm/src/data/models/league.d.ts +13 -24
  41. package/dist/esm/src/data/models/team.d.ts +18 -8
  42. package/dist/esm/src/data/models/team.js +0 -8
  43. package/dist/esm/src/data/transformers/division.d.ts +5 -0
  44. package/dist/esm/src/data/transformers/division.js +19 -0
  45. package/dist/esm/src/data/transformers/index.d.ts +1 -0
  46. package/dist/esm/src/data/transformers/index.js +1 -0
  47. package/dist/esm/src/data/transformers/league.js +4 -7
  48. package/dist/esm/src/data/transformers/season.d.ts +1 -1
  49. package/dist/esm/src/data/transformers/season.js +1 -2
  50. package/dist/esm/src/data/transformers/team.js +1 -3
  51. package/dist/esm/src/service/competition/division.d.ts +15 -0
  52. package/dist/esm/src/service/competition/division.js +8 -0
  53. package/dist/esm/src/service/competition/index.d.ts +1 -0
  54. package/dist/esm/src/service/competition/index.js +1 -0
  55. package/dist/esm/src/service/competition/league.d.ts +4 -4
  56. package/dist/esm/src/service/competition/league.js +2 -2
  57. package/dist/esm/src/service/team/team.d.ts +1 -4
  58. package/dist/esm/src/service/team/team.js +1 -2
  59. package/package.json +1 -1
  60. package/dist/cjs/src/data/models/league-season.d.ts +0 -23
  61. package/dist/esm/src/data/models/league-season.d.ts +0 -23
@@ -13,7 +13,9 @@ function initModels(sequelize) {
13
13
  const DraftPick = models_1.DraftPickModel.initModel(sequelize);
14
14
  const Iteration = models_1.IterationModel.initModel(sequelize);
15
15
  const League = models_1.LeagueModel.initModel(sequelize);
16
- const LeagueSeason = models_1.LeagueSeasonModel.initModel(sequelize);
16
+ const Division = models_1.DivisionModel.initModel(sequelize);
17
+ const DivisionSeason = models_1.DivisionSeasonModel.initModel(sequelize);
18
+ const DivisionTeams = models_1.DivisionTeamsModel.initModel(sequelize);
17
19
  const Match = models_1.MatchModel.initModel(sequelize);
18
20
  const MatchRating = models_1.MatchRatingModel.initModel(sequelize);
19
21
  const MatchResult = models_1.MatchResultModel.initModel(sequelize);
@@ -32,7 +34,7 @@ function initModels(sequelize) {
32
34
  Competition.hasMany(CompetitionMatch, { as: 'CompetitionMatches', foreignKey: 'competition_id' });
33
35
  Competition.hasMany(CompetitionTeams, { as: 'CompetitionTeams', foreignKey: 'competition_id' });
34
36
  Competition.hasOne(CompetitionChampion, { as: 'CompetitionChampion', foreignKey: 'competition_id' });
35
- Competition.hasOne(LeagueSeason, { as: 'LeagueSeason', foreignKey: 'competition_id' });
37
+ Competition.hasOne(DivisionSeason, { as: 'DivisionSeason', foreignKey: 'competition_id' });
36
38
  Competition.belongsToMany(Team, {
37
39
  as: 'Teams',
38
40
  through: CompetitionTeams,
@@ -55,10 +57,27 @@ function initModels(sequelize) {
55
57
  DraftPick.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
56
58
  Iteration.hasMany(Competition, { as: 'Competitions', foreignKey: 'iteration' });
57
59
  League.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
58
- League.hasMany(LeagueSeason, { as: 'LeagueSeasons', foreignKey: 'league_id' });
59
- League.hasMany(Team, { as: 'Teams', foreignKey: 'league_id' });
60
- LeagueSeason.belongsTo(Competition, { as: 'competition', foreignKey: 'competition_id' });
61
- LeagueSeason.belongsTo(League, { as: 'league', foreignKey: 'league_id' });
60
+ League.hasMany(Division, { as: 'Divisions', foreignKey: 'league_id' });
61
+ Division.belongsTo(League, { as: 'league', foreignKey: 'league_id' });
62
+ Division.hasMany(DivisionSeason, { as: 'DivisionSeasons', foreignKey: 'division_id' });
63
+ Division.hasMany(DivisionTeams, { as: 'DivisionTeams', foreignKey: 'division_id' });
64
+ Division.belongsToMany(Team, {
65
+ as: 'Teams',
66
+ through: DivisionTeams,
67
+ foreignKey: 'division_id',
68
+ otherKey: 'team_id'
69
+ });
70
+ DivisionSeason.belongsTo(Competition, { as: 'competition', foreignKey: 'competition_id' });
71
+ DivisionSeason.belongsTo(Division, { as: 'division', foreignKey: 'division_id' });
72
+ DivisionTeams.belongsTo(Division, { as: 'division', foreignKey: 'division_id' });
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
+ });
62
81
  Match.belongsTo(Team, { as: 'AwayTeam', foreignKey: 'away_team' });
63
82
  Match.belongsTo(Team, { as: 'HomeTeam', foreignKey: 'home_team' });
64
83
  Match.belongsToMany(Team, {
@@ -126,7 +145,6 @@ function initModels(sequelize) {
126
145
  SetPosition.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
127
146
  Team.belongsTo(Coach, { as: 'coach', foreignKey: 'coach_id' });
128
147
  Team.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
129
- Team.belongsTo(League, { as: 'league', foreignKey: 'league_id' });
130
148
  Team.belongsToMany(Competition, {
131
149
  as: 'Competitions',
132
150
  through: CompetitionTeams,
@@ -161,17 +179,19 @@ function initModels(sequelize) {
161
179
  CompetitionMatch,
162
180
  CompetitionTeams,
163
181
  Country,
182
+ Division,
164
183
  Draft,
165
184
  DraftPick,
166
185
  Iteration,
167
186
  League,
168
- LeagueSeason,
187
+ DivisionSeason,
169
188
  Match,
170
189
  MatchRating,
171
190
  MatchResult,
172
191
  MatchSet,
173
192
  BoxScore,
174
193
  PerformanceStats,
194
+ DivisionTeams,
175
195
  Player,
176
196
  PlayerTeam,
177
197
  Rally,
@@ -1,13 +1,13 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { CompetitionChampionAttributes, CompetitionChampionId, CompetitionChampionModel, CompetitionMatchAttributes, CompetitionMatchId, CompetitionMatchModel, CompetitionTeamsAttributes, CompetitionTeamsId, CompetitionTeamsModel, IterationId, IterationModel, LeagueSeasonAttributes, LeagueSeasonId, LeagueSeasonModel, TeamId, TeamModel } from '.';
3
+ import { CompetitionChampionAttributes, CompetitionChampionId, CompetitionChampionModel, CompetitionMatchAttributes, CompetitionMatchId, CompetitionMatchModel, CompetitionTeamsAttributes, CompetitionTeamsId, CompetitionTeamsModel, DivisionSeasonAttributes, DivisionSeasonId, DivisionSeasonModel, IterationId, IterationModel, TeamId, TeamModel } from '.';
4
4
  import { Status } from '../common';
5
5
  export interface CompetitionAttributes {
6
6
  competition_id: string;
7
7
  iteration: number;
8
8
  status: Status;
9
9
  type: CompetitionType;
10
- LeagueSeason?: LeagueSeasonAttributes;
10
+ DivisionSeason?: DivisionSeasonAttributes;
11
11
  CompetitionChampion?: CompetitionChampionAttributes;
12
12
  CompetitionMatches?: CompetitionMatchAttributes[];
13
13
  CompetitionTeams?: CompetitionTeamsAttributes[];
@@ -47,10 +47,10 @@ export declare class CompetitionModel extends Model<CompetitionAttributes, Compe
47
47
  hasCompetitionTeam: Sequelize.HasManyHasAssociationMixin<CompetitionTeamsModel, CompetitionTeamsId>;
48
48
  hasCompetitionTeams: Sequelize.HasManyHasAssociationsMixin<CompetitionTeamsModel, CompetitionTeamsId>;
49
49
  countCompetitionTeams: Sequelize.HasManyCountAssociationsMixin;
50
- LeagueSeason: LeagueSeasonModel;
51
- getLeagueSeason: Sequelize.HasOneGetAssociationMixin<LeagueSeasonModel>;
52
- setLeagueSeason: Sequelize.HasOneSetAssociationMixin<LeagueSeasonModel, LeagueSeasonId>;
53
- createLeagueSeason: Sequelize.HasOneCreateAssociationMixin<LeagueSeasonModel>;
50
+ DivisionSeason: DivisionSeasonModel;
51
+ getDivisionSeason: Sequelize.HasOneGetAssociationMixin<DivisionSeasonModel>;
52
+ setDivisionSeason: Sequelize.HasOneSetAssociationMixin<DivisionSeasonModel, DivisionSeasonId>;
53
+ createDivisionSeason: Sequelize.HasOneCreateAssociationMixin<DivisionSeasonModel>;
54
54
  Teams: TeamModel[];
55
55
  getTeams: Sequelize.BelongsToManyGetAssociationsMixin<TeamModel>;
56
56
  setTeams: Sequelize.BelongsToManySetAssociationsMixin<TeamModel, TeamId>;
@@ -0,0 +1,23 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import { CompetitionId, CompetitionModel, DivisionId, DivisionModel } from '.';
4
+ export interface DivisionSeasonAttributes {
5
+ division_id: string;
6
+ competition_id: string;
7
+ }
8
+ export type DivisionSeasonPk = 'competition_id';
9
+ export type DivisionSeasonId = DivisionSeasonModel[DivisionSeasonPk];
10
+ export type DivisionSeasonCreationAttributes = DivisionSeasonAttributes;
11
+ export declare class DivisionSeasonModel extends Model<DivisionSeasonAttributes, DivisionSeasonCreationAttributes> implements DivisionSeasonAttributes {
12
+ division_id: string;
13
+ competition_id: string;
14
+ competition: CompetitionModel;
15
+ getCompetition: Sequelize.BelongsToGetAssociationMixin<CompetitionModel>;
16
+ setCompetition: Sequelize.BelongsToSetAssociationMixin<CompetitionModel, CompetitionId>;
17
+ createCompetition: Sequelize.BelongsToCreateAssociationMixin<CompetitionModel>;
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 DivisionSeasonModel;
23
+ }
@@ -1,16 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LeagueSeasonModel = void 0;
3
+ exports.DivisionSeasonModel = void 0;
4
4
  const sequelize_1 = require("sequelize");
5
- class LeagueSeasonModel extends sequelize_1.Model {
5
+ class DivisionSeasonModel extends sequelize_1.Model {
6
6
  static initModel(sequelize) {
7
- return LeagueSeasonModel.init({
8
- league_id: {
7
+ return DivisionSeasonModel.init({
8
+ division_id: {
9
9
  type: sequelize_1.DataTypes.UUID,
10
10
  allowNull: false,
11
11
  references: {
12
- model: 'League',
13
- key: 'league_id'
12
+ model: 'Division',
13
+ key: 'division_id'
14
14
  }
15
15
  },
16
16
  competition_id: {
@@ -24,15 +24,15 @@ class LeagueSeasonModel extends sequelize_1.Model {
24
24
  }
25
25
  }, {
26
26
  sequelize,
27
- tableName: 'LeagueSeason',
27
+ tableName: 'DivisionSeason',
28
28
  schema: 'public',
29
29
  timestamps: false,
30
30
  indexes: [{
31
- name: 'leagueseason_pk',
31
+ name: 'divisionseason_pk',
32
32
  unique: true,
33
33
  fields: [{ name: 'competition_id' }]
34
34
  }]
35
35
  });
36
36
  }
37
37
  }
38
- exports.LeagueSeasonModel = LeagueSeasonModel;
38
+ exports.DivisionSeasonModel = DivisionSeasonModel;
@@ -0,0 +1,23 @@
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
+ }
@@ -0,0 +1,43 @@
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;
@@ -0,0 +1,58 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import { DivisionSeasonAttributes, DivisionSeasonId, DivisionSeasonModel, DivisionTeamsAttributes, DivisionTeamsId, DivisionTeamsModel, LeagueId, LeagueModel, TeamId, TeamModel } from '.';
4
+ export interface DivisionAttributes {
5
+ division_id: string;
6
+ league_id: string;
7
+ tier: number;
8
+ name: string;
9
+ DivisionSeasons?: DivisionSeasonAttributes[];
10
+ DivisionTeams?: DivisionTeamsAttributes[];
11
+ }
12
+ export type DivisionPk = 'division_id';
13
+ export type DivisionId = DivisionModel[DivisionPk];
14
+ export type DivisionCreationAttributes = DivisionAttributes;
15
+ export declare class DivisionModel extends Model<DivisionAttributes, DivisionCreationAttributes> implements DivisionAttributes {
16
+ division_id: string;
17
+ league_id: string;
18
+ tier: number;
19
+ name: string;
20
+ league: LeagueModel;
21
+ getLeague: Sequelize.BelongsToGetAssociationMixin<LeagueModel>;
22
+ setLeague: Sequelize.BelongsToSetAssociationMixin<LeagueModel, LeagueId>;
23
+ createLeague: Sequelize.BelongsToCreateAssociationMixin<LeagueModel>;
24
+ DivisionSeasons: DivisionSeasonModel[];
25
+ getDivisionSeasons: Sequelize.HasManyGetAssociationsMixin<DivisionSeasonModel>;
26
+ setDivisionSeasons: Sequelize.HasManySetAssociationsMixin<DivisionSeasonModel, DivisionSeasonId>;
27
+ addDivisionSeason: Sequelize.HasManyAddAssociationMixin<DivisionSeasonModel, DivisionSeasonId>;
28
+ addDivisionSeasons: Sequelize.HasManyAddAssociationsMixin<DivisionSeasonModel, DivisionSeasonId>;
29
+ createDivisionSeason: Sequelize.HasManyCreateAssociationMixin<DivisionSeasonModel>;
30
+ removeDivisionSeason: Sequelize.HasManyRemoveAssociationMixin<DivisionSeasonModel, DivisionSeasonId>;
31
+ removeDivisionSeasons: Sequelize.HasManyRemoveAssociationsMixin<DivisionSeasonModel, DivisionSeasonId>;
32
+ hasDivisionSeason: Sequelize.HasManyHasAssociationMixin<DivisionSeasonModel, DivisionSeasonId>;
33
+ hasDivisionSeasons: Sequelize.HasManyHasAssociationsMixin<DivisionSeasonModel, DivisionSeasonId>;
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
+ Teams: TeamModel[];
47
+ getTeams: Sequelize.BelongsToManyGetAssociationsMixin<TeamModel>;
48
+ setTeams: Sequelize.BelongsToManySetAssociationsMixin<TeamModel, TeamId>;
49
+ addTeam: Sequelize.BelongsToManyAddAssociationMixin<TeamModel, TeamId>;
50
+ addTeams: Sequelize.BelongsToManyAddAssociationsMixin<TeamModel, TeamId>;
51
+ createTeam: Sequelize.BelongsToManyCreateAssociationMixin<TeamModel>;
52
+ removeTeam: Sequelize.BelongsToManyRemoveAssociationMixin<TeamModel, TeamId>;
53
+ removeTeams: Sequelize.BelongsToManyRemoveAssociationsMixin<TeamModel, TeamId>;
54
+ hasTeam: Sequelize.BelongsToManyHasAssociationMixin<TeamModel, TeamId>;
55
+ hasTeams: Sequelize.BelongsToManyHasAssociationsMixin<TeamModel, TeamId>;
56
+ countTeams: Sequelize.BelongsToManyCountAssociationsMixin;
57
+ static initModel(sequelize: Sequelize.Sequelize): typeof DivisionModel;
58
+ }
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DivisionModel = void 0;
4
+ const sequelize_1 = require("sequelize");
5
+ class DivisionModel extends sequelize_1.Model {
6
+ static initModel(sequelize) {
7
+ return DivisionModel.init({
8
+ division_id: {
9
+ type: sequelize_1.DataTypes.UUID,
10
+ allowNull: false,
11
+ primaryKey: true
12
+ },
13
+ league_id: {
14
+ type: sequelize_1.DataTypes.UUID,
15
+ allowNull: false,
16
+ references: {
17
+ model: 'League',
18
+ key: 'league_id'
19
+ }
20
+ },
21
+ tier: {
22
+ type: sequelize_1.DataTypes.INTEGER,
23
+ allowNull: false
24
+ },
25
+ name: {
26
+ type: sequelize_1.DataTypes.STRING,
27
+ allowNull: false,
28
+ unique: true
29
+ }
30
+ }, {
31
+ sequelize,
32
+ tableName: 'Division',
33
+ schema: 'public',
34
+ timestamps: false,
35
+ indexes: [{
36
+ name: 'Division_pk',
37
+ unique: true,
38
+ fields: [{ name: 'division_id' }]
39
+ }, {
40
+ name: 'Division_name_key',
41
+ unique: true,
42
+ fields: [{ name: 'name' }]
43
+ }]
44
+ });
45
+ }
46
+ }
47
+ exports.DivisionModel = DivisionModel;
@@ -9,7 +9,9 @@ export * from './draft';
9
9
  export * from './draft-pick';
10
10
  export * from './iteration';
11
11
  export * from './league';
12
- export * from './league-season';
12
+ export * from './division';
13
+ export * from './division-season';
14
+ export * from './division-teams';
13
15
  export * from './match';
14
16
  export * from './match-rating';
15
17
  export * from './match-result';
@@ -25,7 +25,9 @@ __exportStar(require("./draft"), exports);
25
25
  __exportStar(require("./draft-pick"), exports);
26
26
  __exportStar(require("./iteration"), exports);
27
27
  __exportStar(require("./league"), exports);
28
- __exportStar(require("./league-season"), exports);
28
+ __exportStar(require("./division"), exports);
29
+ __exportStar(require("./division-season"), exports);
30
+ __exportStar(require("./division-teams"), exports);
29
31
  __exportStar(require("./match"), exports);
30
32
  __exportStar(require("./match-rating"), exports);
31
33
  __exportStar(require("./match-result"), exports);
@@ -1,11 +1,11 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { CountryId, CountryModel, LeagueSeasonAttributes, LeagueSeasonId, LeagueSeasonModel, TeamId, TeamModel } from '.';
3
+ import { CountryId, CountryModel, DivisionAttributes, DivisionId, DivisionModel } from '.';
4
4
  export interface LeagueAttributes {
5
5
  league_id: string;
6
6
  country_id: string;
7
7
  name: string;
8
- LeagueSeasons?: LeagueSeasonAttributes[];
8
+ Divisions?: DivisionAttributes[];
9
9
  }
10
10
  export type LeaguePk = 'league_id';
11
11
  export type LeagueId = LeagueModel[LeaguePk];
@@ -18,27 +18,16 @@ export declare class LeagueModel extends Model<LeagueAttributes, LeagueCreationA
18
18
  getCountry: Sequelize.BelongsToGetAssociationMixin<CountryModel>;
19
19
  setCountry: Sequelize.BelongsToSetAssociationMixin<CountryModel, CountryId>;
20
20
  createCountry: Sequelize.BelongsToCreateAssociationMixin<CountryModel>;
21
- LeagueSeasons: LeagueSeasonModel[];
22
- getLeagueSeasons: Sequelize.HasManyGetAssociationsMixin<LeagueSeasonModel>;
23
- setLeagueSeasons: Sequelize.HasManySetAssociationsMixin<LeagueSeasonModel, LeagueSeasonId>;
24
- addLeagueSeason: Sequelize.HasManyAddAssociationMixin<LeagueSeasonModel, LeagueSeasonId>;
25
- addLeagueSeasons: Sequelize.HasManyAddAssociationsMixin<LeagueSeasonModel, LeagueSeasonId>;
26
- createLeagueSeason: Sequelize.HasManyCreateAssociationMixin<LeagueSeasonModel>;
27
- removeLeagueSeason: Sequelize.HasManyRemoveAssociationMixin<LeagueSeasonModel, LeagueSeasonId>;
28
- removeLeagueSeasons: Sequelize.HasManyRemoveAssociationsMixin<LeagueSeasonModel, LeagueSeasonId>;
29
- hasLeagueSeason: Sequelize.HasManyHasAssociationMixin<LeagueSeasonModel, LeagueSeasonId>;
30
- hasLeagueSeasons: Sequelize.HasManyHasAssociationsMixin<LeagueSeasonModel, LeagueSeasonId>;
31
- countLeagueSeasons: Sequelize.HasManyCountAssociationsMixin;
32
- Teams: TeamModel[];
33
- getTeams: Sequelize.HasManyGetAssociationsMixin<TeamModel>;
34
- setTeams: Sequelize.HasManySetAssociationsMixin<TeamModel, TeamId>;
35
- addTeam: Sequelize.HasManyAddAssociationMixin<TeamModel, TeamId>;
36
- addTeams: Sequelize.HasManyAddAssociationsMixin<TeamModel, TeamId>;
37
- createTeam: Sequelize.HasManyCreateAssociationMixin<TeamModel>;
38
- removeTeam: Sequelize.HasManyRemoveAssociationMixin<TeamModel, TeamId>;
39
- removeTeams: Sequelize.HasManyRemoveAssociationsMixin<TeamModel, TeamId>;
40
- hasTeam: Sequelize.HasManyHasAssociationMixin<TeamModel, TeamId>;
41
- hasTeams: Sequelize.HasManyHasAssociationsMixin<TeamModel, TeamId>;
42
- countTeams: Sequelize.HasManyCountAssociationsMixin;
21
+ Divisions: DivisionModel[];
22
+ getDivisions: Sequelize.HasManyGetAssociationsMixin<DivisionModel>;
23
+ setDivisions: Sequelize.HasManySetAssociationsMixin<DivisionModel, DivisionId>;
24
+ addDivision: Sequelize.HasManyAddAssociationMixin<DivisionModel, DivisionId>;
25
+ addDivisions: Sequelize.HasManyAddAssociationsMixin<DivisionModel, DivisionId>;
26
+ createDivision: Sequelize.HasManyCreateAssociationMixin<DivisionModel>;
27
+ removeDivision: Sequelize.HasManyRemoveAssociationMixin<DivisionModel, DivisionId>;
28
+ removeDivisions: Sequelize.HasManyRemoveAssociationsMixin<DivisionModel, DivisionId>;
29
+ hasDivision: Sequelize.HasManyHasAssociationMixin<DivisionModel, DivisionId>;
30
+ hasDivisions: Sequelize.HasManyHasAssociationsMixin<DivisionModel, DivisionId>;
31
+ countDivisions: Sequelize.HasManyCountAssociationsMixin;
43
32
  static initModel(sequelize: Sequelize.Sequelize): typeof LeagueModel;
44
33
  }
@@ -1,17 +1,17 @@
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, LeagueAttributes, LeagueId, LeagueModel, MatchId, MatchModel, MatchRatingId, MatchRatingModel, PlayerAttributes, PlayerId, PlayerModel, PlayerTeamId, PlayerTeamModel, RallyId, RallyModel } from '.';
3
+ import { CoachAttributes, CoachId, CoachModel, CompetitionChampionId, CompetitionChampionModel, CompetitionId, CompetitionModel, CompetitionTeamsId, CompetitionTeamsModel, CountryId, CountryModel, DraftPickId, DraftPickModel, DivisionAttributes, DivisionId, DivisionModel, DivisionTeamsAttributes, DivisionTeamsId, DivisionTeamsModel, 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
  coach_id?: string;
10
- league_id?: string;
11
10
  country_id?: string;
12
11
  coach?: CoachAttributes;
13
- league?: LeagueAttributes;
14
12
  Players?: PlayerAttributes[];
13
+ DivisionTeams?: DivisionTeamsAttributes;
14
+ Divisions?: DivisionAttributes[];
15
15
  }
16
16
  export type TeamPk = 'team_id';
17
17
  export type TeamId = TeamModel[TeamPk];
@@ -23,7 +23,6 @@ export declare class TeamModel extends Model<TeamAttributes, TeamCreationAttribu
23
23
  name: string;
24
24
  short_name: string;
25
25
  country_id: string;
26
- league_id: string;
27
26
  rating: number;
28
27
  coach: CoachModel;
29
28
  getCoach: Sequelize.BelongsToGetAssociationMixin<CoachModel>;
@@ -33,10 +32,6 @@ export declare class TeamModel extends Model<TeamAttributes, TeamCreationAttribu
33
32
  getCountry: Sequelize.BelongsToGetAssociationMixin<CountryModel>;
34
33
  setCountry: Sequelize.BelongsToSetAssociationMixin<CountryModel, CountryId>;
35
34
  createCountry: Sequelize.BelongsToCreateAssociationMixin<CountryModel>;
36
- league: LeagueModel;
37
- getLeague: Sequelize.BelongsToGetAssociationMixin<LeagueModel>;
38
- setLeague: Sequelize.BelongsToSetAssociationMixin<LeagueModel, LeagueId>;
39
- createLeague: Sequelize.BelongsToCreateAssociationMixin<LeagueModel>;
40
35
  Competitions: CompetitionModel[];
41
36
  getCompetitions: Sequelize.BelongsToManyGetAssociationsMixin<CompetitionModel>;
42
37
  setCompetitions: Sequelize.BelongsToManySetAssociationsMixin<CompetitionModel, CompetitionId>;
@@ -114,6 +109,21 @@ export declare class TeamModel extends Model<TeamAttributes, TeamCreationAttribu
114
109
  hasRatingMatch: Sequelize.BelongsToManyHasAssociationMixin<MatchModel, MatchId>;
115
110
  hasRatingMatches: Sequelize.BelongsToManyHasAssociationsMixin<MatchModel, MatchId>;
116
111
  countRatingMatches: Sequelize.BelongsToManyCountAssociationsMixin;
112
+ DivisionTeams: DivisionTeamsModel;
113
+ getDivisionTeams: Sequelize.HasOneGetAssociationMixin<DivisionTeamsModel>;
114
+ setDivisionTeams: Sequelize.HasOneSetAssociationMixin<DivisionTeamsModel, DivisionTeamsId>;
115
+ createDivisionTeams: Sequelize.HasOneCreateAssociationMixin<DivisionTeamsModel>;
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;
117
127
  MatchRatings: MatchRatingModel[];
118
128
  getMatchRatings: Sequelize.HasManyGetAssociationsMixin<MatchRatingModel>;
119
129
  setMatchRatings: Sequelize.HasManySetAssociationsMixin<MatchRatingModel, MatchRatingId>;
@@ -34,14 +34,6 @@ class TeamModel extends sequelize_1.Model {
34
34
  key: 'country_id'
35
35
  }
36
36
  },
37
- league_id: {
38
- type: sequelize_1.DataTypes.UUID,
39
- allowNull: false,
40
- references: {
41
- model: 'League',
42
- key: 'league_id'
43
- }
44
- },
45
37
  rating: {
46
38
  type: sequelize_1.DataTypes.REAL,
47
39
  allowNull: false,
@@ -0,0 +1,5 @@
1
+ import { DivisionAttributes, DivisionModel } from '../models';
2
+ import { Division } from '../../service';
3
+ declare function transformToAttributes(division: Division, leagueId: string): DivisionAttributes;
4
+ declare function transformToObject(model: DivisionModel): Division;
5
+ export { transformToObject as transformToDivision, transformToAttributes as transformFromDivision };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transformFromDivision = exports.transformToDivision = void 0;
4
+ const service_1 = require("../../service");
5
+ const season_1 = require("./season");
6
+ function transformToAttributes(division, leagueId) {
7
+ return {
8
+ division_id: division.id,
9
+ league_id: leagueId,
10
+ tier: division.tier,
11
+ name: division.name
12
+ };
13
+ }
14
+ exports.transformFromDivision = transformToAttributes;
15
+ function transformToObject(model) {
16
+ return new service_1.Division({
17
+ id: model.division_id,
18
+ name: model.name,
19
+ tier: model.tier,
20
+ seasons: (model.DivisionSeasons ?? []).map((ds) => (0, season_1.transformToSeason)(ds.competition))
21
+ });
22
+ }
23
+ exports.transformToDivision = transformToObject;
@@ -6,6 +6,7 @@ export * from './iteration';
6
6
  export * from './draft';
7
7
  export * from './draft-pick';
8
8
  export * from './league';
9
+ export * from './division';
9
10
  export * from './tournament';
10
11
  export * from './tournament-match';
11
12
  export * from './stage';
@@ -22,6 +22,7 @@ __exportStar(require("./iteration"), exports);
22
22
  __exportStar(require("./draft"), exports);
23
23
  __exportStar(require("./draft-pick"), exports);
24
24
  __exportStar(require("./league"), exports);
25
+ __exportStar(require("./division"), exports);
25
26
  __exportStar(require("./tournament"), exports);
26
27
  __exportStar(require("./tournament-match"), exports);
27
28
  __exportStar(require("./stage"), exports);
@@ -4,15 +4,12 @@ exports.transformFromLeague = exports.transformToLeague = void 0;
4
4
  const service_1 = require("../../service");
5
5
  const _1 = require(".");
6
6
  function transformToAttributes(league) {
7
- const LeagueSeasons = league.seasons?.map((season) => ({
8
- league_id: league.id,
9
- competition_id: season.id
10
- }));
7
+ const Divisions = league.divisions?.map(div => (0, _1.transformFromDivision)(div, league.id));
11
8
  return {
12
9
  league_id: league.id,
13
10
  country_id: league.country.id,
14
11
  name: league.name,
15
- LeagueSeasons
12
+ Divisions
16
13
  };
17
14
  }
18
15
  exports.transformFromLeague = transformToAttributes;
@@ -21,7 +18,7 @@ function transformToObject(model) {
21
18
  id: model.league_id,
22
19
  name: model.name,
23
20
  country: (0, _1.transformToCountry)(model.country),
24
- seasons: (model.LeagueSeasons ?? []).map((ls) => (0, _1.transformToSeason)(ls.competition))
21
+ divisions: (model.Divisions ?? []).map((division) => (0, _1.transformToDivision)(division))
25
22
  });
26
23
  }
27
24
  exports.transformToLeague = transformToObject;
@@ -1,5 +1,5 @@
1
1
  import { CompetitionAttributes, CompetitionModel } from '../models';
2
2
  import { Season } from '../../service';
3
- declare function transformToAttributes(season: Season, leagueId: string): CompetitionAttributes;
3
+ declare function transformToAttributes(season: Season): CompetitionAttributes;
4
4
  declare function transformToObject(model: CompetitionModel): Season;
5
5
  export { transformToObject as transformToSeason, transformToAttributes as transformFromSeason };
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.transformFromSeason = exports.transformToSeason = void 0;
4
4
  const _1 = require(".");
5
5
  const service_1 = require("../../service");
6
- function transformToAttributes(season, leagueId) {
6
+ function transformToAttributes(season) {
7
7
  const matches = (season.matches ?? []).map((match, index) => (0, _1.transformFromSeasonMatch)(season.id, match, index));
8
8
  const teams = season.teams.map(team => ({
9
9
  competition_id: season.id,
@@ -19,7 +19,6 @@ function transformToAttributes(season, leagueId) {
19
19
  competition_id: season.id,
20
20
  type: 'LEAGUE',
21
21
  iteration: season.iteration.id,
22
- LeagueSeason: { league_id: leagueId, competition_id: season.id },
23
22
  CompetitionChampion: champion,
24
23
  CompetitionMatches: matches,
25
24
  CompetitionTeams: teams,
@@ -10,7 +10,6 @@ function transformToAttributes(team) {
10
10
  short_name: team.shortName,
11
11
  coach_id: team.coach?.id,
12
12
  country_id: team.country?.id,
13
- league_id: team.league?.id,
14
13
  coach: team.coach != null ? (0, _1.transformFromCoach)(team.coach) : undefined,
15
14
  rating: team.rating
16
15
  };
@@ -24,7 +23,6 @@ function transformToObject(model) {
24
23
  country: model.country != null ? (0, _1.transformToCountry)(model.country) : undefined,
25
24
  coach: model.coach != null ? (0, _1.transformToCoach)(model.coach) : undefined,
26
25
  roster: (model.PlayerTeams ?? []).map((pt) => (0, _1.transformToPlayer)(pt.player)),
27
- league: model.league != null ? (0, _1.transformToLeague)(model.league) : undefined,
28
26
  rating: model.rating
29
27
  });
30
28
  }