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
@@ -0,0 +1,15 @@
1
+ import { Season } from './season';
2
+ interface DivisionOpts {
3
+ readonly id: string;
4
+ readonly name: string;
5
+ readonly tier: number;
6
+ readonly seasons: Season[];
7
+ }
8
+ export declare class Division {
9
+ readonly id: string;
10
+ readonly name: string;
11
+ readonly tier: number;
12
+ readonly seasons: Season[];
13
+ constructor({ id, name, tier, seasons }: DivisionOpts);
14
+ }
15
+ export {};
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Division = void 0;
4
+ class Division {
5
+ constructor({ id, name, tier, seasons }) {
6
+ this.id = id;
7
+ this.name = name;
8
+ this.tier = tier;
9
+ this.seasons = seasons;
10
+ }
11
+ }
12
+ exports.Division = Division;
@@ -1,6 +1,7 @@
1
1
  export * from './standing';
2
2
  export * from './season';
3
3
  export * from './league';
4
+ export * from './division';
4
5
  export * from './iteration';
5
6
  export * from './tournament';
6
7
  export * from './tournament-match';
@@ -18,6 +18,7 @@ exports._CompetitionType = void 0;
18
18
  __exportStar(require("./standing"), exports);
19
19
  __exportStar(require("./season"), exports);
20
20
  __exportStar(require("./league"), exports);
21
+ __exportStar(require("./division"), exports);
21
22
  __exportStar(require("./iteration"), exports);
22
23
  __exportStar(require("./tournament"), exports);
23
24
  __exportStar(require("./tournament-match"), exports);
@@ -1,16 +1,16 @@
1
- import { Season } from './season';
2
1
  import { Country } from '../country';
2
+ import { Division } from './division';
3
3
  interface LeagueOpts {
4
4
  readonly id: string;
5
5
  readonly name: string;
6
6
  readonly country: Country;
7
- readonly seasons: Season[];
7
+ readonly divisions: Division[];
8
8
  }
9
9
  export declare class League {
10
10
  readonly id: string;
11
11
  readonly name: string;
12
- readonly seasons: Season[];
12
+ readonly divisions: Division[];
13
13
  readonly country: Country;
14
- constructor({ id, name, country, seasons }: LeagueOpts);
14
+ constructor({ id, name, country, divisions }: LeagueOpts);
15
15
  }
16
16
  export {};
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.League = void 0;
4
4
  class League {
5
- constructor({ id, name, country, seasons }) {
5
+ constructor({ id, name, country, divisions }) {
6
6
  this.id = id;
7
7
  this.name = name;
8
8
  this.country = country;
9
- this.seasons = seasons;
9
+ this.divisions = divisions;
10
10
  }
11
11
  }
12
12
  exports.League = League;
@@ -1,7 +1,6 @@
1
1
  import { Coach } from '../coach';
2
2
  import { Player } from '../player';
3
3
  import { Country } from '../country';
4
- import { League } from '../competition';
5
4
  interface TeamParams {
6
5
  readonly id: string;
7
6
  readonly rating: number;
@@ -9,7 +8,6 @@ interface TeamParams {
9
8
  readonly shortName: string;
10
9
  readonly roster: Player[];
11
10
  readonly country?: Country;
12
- readonly league?: League;
13
11
  readonly coach?: Coach;
14
12
  }
15
13
  export declare class Team {
@@ -18,10 +16,9 @@ export declare class Team {
18
16
  readonly name: string;
19
17
  readonly shortName: string;
20
18
  readonly coach?: Coach;
21
- readonly league?: League;
22
19
  readonly country?: Country;
23
20
  private _rating;
24
- constructor({ id, rating, name, shortName, country, roster, coach, league }: TeamParams);
21
+ constructor({ id, rating, name, shortName, country, roster, coach }: TeamParams);
25
22
  get rating(): number;
26
23
  set rating(value: number);
27
24
  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, league }) {
6
+ constructor({ id, rating, name, shortName, country, roster, coach }) {
7
7
  (0, utils_1.validateUUID)(id);
8
8
  this.id = id;
9
9
  this._rating = rating;
@@ -12,7 +12,6 @@ class Team {
12
12
  this.name = name;
13
13
  this.shortName = shortName;
14
14
  this.country = country;
15
- this.league = league;
16
15
  }
17
16
  get rating() {
18
17
  return this._rating;
@@ -1,4 +1,4 @@
1
- import { BoxScoreModel, CoachModel, CompetitionChampionModel, CompetitionMatchModel, CompetitionModel, CompetitionTeamsModel, CountryModel, DraftModel, DraftPickModel, IterationModel, LeagueModel, LeagueSeasonModel, MatchModel, MatchRatingModel, MatchResultModel, MatchSetModel, PerformanceStatsModel, PlayerModel, PlayerTeamModel, RallyModel, SetPositionModel, TeamModel, UserModel } from './models';
1
+ import { BoxScoreModel, CoachModel, CompetitionChampionModel, CompetitionMatchModel, CompetitionModel, CompetitionTeamsModel, CountryModel, DivisionModel, DivisionSeasonModel, DivisionTeamsModel, 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);
@@ -10,7 +10,9 @@ export function initModels(sequelize) {
10
10
  const DraftPick = DraftPickModel.initModel(sequelize);
11
11
  const Iteration = IterationModel.initModel(sequelize);
12
12
  const League = LeagueModel.initModel(sequelize);
13
- const LeagueSeason = LeagueSeasonModel.initModel(sequelize);
13
+ const Division = DivisionModel.initModel(sequelize);
14
+ const DivisionSeason = DivisionSeasonModel.initModel(sequelize);
15
+ const DivisionTeams = DivisionTeamsModel.initModel(sequelize);
14
16
  const Match = MatchModel.initModel(sequelize);
15
17
  const MatchRating = MatchRatingModel.initModel(sequelize);
16
18
  const MatchResult = MatchResultModel.initModel(sequelize);
@@ -29,7 +31,7 @@ export function initModels(sequelize) {
29
31
  Competition.hasMany(CompetitionMatch, { as: 'CompetitionMatches', foreignKey: 'competition_id' });
30
32
  Competition.hasMany(CompetitionTeams, { as: 'CompetitionTeams', foreignKey: 'competition_id' });
31
33
  Competition.hasOne(CompetitionChampion, { as: 'CompetitionChampion', foreignKey: 'competition_id' });
32
- Competition.hasOne(LeagueSeason, { as: 'LeagueSeason', foreignKey: 'competition_id' });
34
+ Competition.hasOne(DivisionSeason, { as: 'DivisionSeason', foreignKey: 'competition_id' });
33
35
  Competition.belongsToMany(Team, {
34
36
  as: 'Teams',
35
37
  through: CompetitionTeams,
@@ -52,10 +54,27 @@ export function initModels(sequelize) {
52
54
  DraftPick.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
53
55
  Iteration.hasMany(Competition, { as: 'Competitions', foreignKey: 'iteration' });
54
56
  League.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
55
- League.hasMany(LeagueSeason, { as: 'LeagueSeasons', foreignKey: 'league_id' });
56
- League.hasMany(Team, { as: 'Teams', foreignKey: 'league_id' });
57
- LeagueSeason.belongsTo(Competition, { as: 'competition', foreignKey: 'competition_id' });
58
- LeagueSeason.belongsTo(League, { as: 'league', foreignKey: 'league_id' });
57
+ League.hasMany(Division, { as: 'Divisions', foreignKey: 'league_id' });
58
+ Division.belongsTo(League, { as: 'league', foreignKey: 'league_id' });
59
+ Division.hasMany(DivisionSeason, { as: 'DivisionSeasons', foreignKey: 'division_id' });
60
+ Division.hasMany(DivisionTeams, { as: 'DivisionTeams', foreignKey: 'division_id' });
61
+ Division.belongsToMany(Team, {
62
+ as: 'Teams',
63
+ through: DivisionTeams,
64
+ foreignKey: 'division_id',
65
+ otherKey: 'team_id'
66
+ });
67
+ DivisionSeason.belongsTo(Competition, { as: 'competition', foreignKey: 'competition_id' });
68
+ DivisionSeason.belongsTo(Division, { as: 'division', foreignKey: 'division_id' });
69
+ DivisionTeams.belongsTo(Division, { as: 'division', foreignKey: 'division_id' });
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
+ });
59
78
  Match.belongsTo(Team, { as: 'AwayTeam', foreignKey: 'away_team' });
60
79
  Match.belongsTo(Team, { as: 'HomeTeam', foreignKey: 'home_team' });
61
80
  Match.belongsToMany(Team, {
@@ -123,7 +142,6 @@ export function initModels(sequelize) {
123
142
  SetPosition.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
124
143
  Team.belongsTo(Coach, { as: 'coach', foreignKey: 'coach_id' });
125
144
  Team.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
126
- Team.belongsTo(League, { as: 'league', foreignKey: 'league_id' });
127
145
  Team.belongsToMany(Competition, {
128
146
  as: 'Competitions',
129
147
  through: CompetitionTeams,
@@ -158,17 +176,19 @@ export function initModels(sequelize) {
158
176
  CompetitionMatch,
159
177
  CompetitionTeams,
160
178
  Country,
179
+ Division,
161
180
  Draft,
162
181
  DraftPick,
163
182
  Iteration,
164
183
  League,
165
- LeagueSeason,
184
+ DivisionSeason,
166
185
  Match,
167
186
  MatchRating,
168
187
  MatchResult,
169
188
  MatchSet,
170
189
  BoxScore,
171
190
  PerformanceStats,
191
+ DivisionTeams,
172
192
  Player,
173
193
  PlayerTeam,
174
194
  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,13 +1,13 @@
1
1
  import { DataTypes, Model } from 'sequelize';
2
- export class LeagueSeasonModel extends Model {
2
+ export class DivisionSeasonModel extends Model {
3
3
  static initModel(sequelize) {
4
- return LeagueSeasonModel.init({
5
- league_id: {
4
+ return DivisionSeasonModel.init({
5
+ division_id: {
6
6
  type: DataTypes.UUID,
7
7
  allowNull: false,
8
8
  references: {
9
- model: 'League',
10
- key: 'league_id'
9
+ model: 'Division',
10
+ key: 'division_id'
11
11
  }
12
12
  },
13
13
  competition_id: {
@@ -21,11 +21,11 @@ export class LeagueSeasonModel extends Model {
21
21
  }
22
22
  }, {
23
23
  sequelize,
24
- tableName: 'LeagueSeason',
24
+ tableName: 'DivisionSeason',
25
25
  schema: 'public',
26
26
  timestamps: false,
27
27
  indexes: [{
28
- name: 'leagueseason_pk',
28
+ name: 'divisionseason_pk',
29
29
  unique: true,
30
30
  fields: [{ name: 'competition_id' }]
31
31
  }]
@@ -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,39 @@
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
+ }
@@ -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,43 @@
1
+ import { DataTypes, Model } from 'sequelize';
2
+ export class DivisionModel extends Model {
3
+ static initModel(sequelize) {
4
+ return DivisionModel.init({
5
+ division_id: {
6
+ type: DataTypes.UUID,
7
+ allowNull: false,
8
+ primaryKey: true
9
+ },
10
+ league_id: {
11
+ type: DataTypes.UUID,
12
+ allowNull: false,
13
+ references: {
14
+ model: 'League',
15
+ key: 'league_id'
16
+ }
17
+ },
18
+ tier: {
19
+ type: DataTypes.INTEGER,
20
+ allowNull: false
21
+ },
22
+ name: {
23
+ type: DataTypes.STRING,
24
+ allowNull: false,
25
+ unique: true
26
+ }
27
+ }, {
28
+ sequelize,
29
+ tableName: 'Division',
30
+ schema: 'public',
31
+ timestamps: false,
32
+ indexes: [{
33
+ name: 'Division_pk',
34
+ unique: true,
35
+ fields: [{ name: 'division_id' }]
36
+ }, {
37
+ name: 'Division_name_key',
38
+ unique: true,
39
+ fields: [{ name: 'name' }]
40
+ }]
41
+ });
42
+ }
43
+ }
@@ -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';
@@ -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';
@@ -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>;
@@ -31,14 +31,6 @@ export class TeamModel extends Model {
31
31
  key: 'country_id'
32
32
  }
33
33
  },
34
- league_id: {
35
- type: DataTypes.UUID,
36
- allowNull: false,
37
- references: {
38
- model: 'League',
39
- key: 'league_id'
40
- }
41
- },
42
34
  rating: {
43
35
  type: DataTypes.REAL,
44
36
  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 };