volleyballsimtypes 0.0.139 → 0.0.140

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 (185) hide show
  1. package/dist/esm/data/index.d.ts +3 -0
  2. package/dist/esm/data/index.js +3 -0
  3. package/dist/esm/data/init-models.d.ts +2 -0
  4. package/dist/esm/data/init-models.js +194 -0
  5. package/dist/esm/data/models/coach.d.ts +40 -0
  6. package/dist/esm/data/models/coach.js +51 -0
  7. package/dist/esm/data/models/competition-champion.d.ts +23 -0
  8. package/dist/esm/data/models/competition-champion.js +34 -0
  9. package/dist/esm/data/models/competition-match.d.ts +29 -0
  10. package/dist/esm/data/models/competition-match.js +42 -0
  11. package/dist/esm/data/models/competition-teams.d.ts +23 -0
  12. package/dist/esm/data/models/competition-teams.js +38 -0
  13. package/dist/esm/data/models/competition.d.ts +67 -0
  14. package/dist/esm/data/models/competition.js +34 -0
  15. package/dist/esm/data/models/country.d.ts +61 -0
  16. package/dist/esm/data/models/country.js +30 -0
  17. package/dist/esm/data/models/draft-pick.d.ts +31 -0
  18. package/dist/esm/data/models/draft-pick.js +46 -0
  19. package/dist/esm/data/models/draft.d.ts +29 -0
  20. package/dist/esm/data/models/draft.js +30 -0
  21. package/dist/esm/data/models/index.d.ts +24 -0
  22. package/dist/esm/data/models/index.js +24 -0
  23. package/dist/esm/data/models/iteration.d.ts +26 -0
  24. package/dist/esm/data/models/iteration.js +26 -0
  25. package/dist/esm/data/models/league-season.d.ts +23 -0
  26. package/dist/esm/data/models/league-season.js +34 -0
  27. package/dist/esm/data/models/league.d.ts +44 -0
  28. package/dist/esm/data/models/league.js +34 -0
  29. package/dist/esm/data/models/match-rating.d.ts +27 -0
  30. package/dist/esm/data/models/match-rating.js +48 -0
  31. package/dist/esm/data/models/match-set-stats.d.ts +58 -0
  32. package/dist/esm/data/models/match-set-stats.js +123 -0
  33. package/dist/esm/data/models/match-set.d.ts +85 -0
  34. package/dist/esm/data/models/match-set.js +47 -0
  35. package/dist/esm/data/models/match.d.ts +67 -0
  36. package/dist/esm/data/models/match.js +47 -0
  37. package/dist/esm/data/models/performance-stats.d.ts +40 -0
  38. package/dist/esm/data/models/performance-stats.js +81 -0
  39. package/dist/esm/data/models/player-team.d.ts +28 -0
  40. package/dist/esm/data/models/player-team.js +48 -0
  41. package/dist/esm/data/models/player-trait.d.ts +23 -0
  42. package/dist/esm/data/models/player-trait.js +38 -0
  43. package/dist/esm/data/models/player.d.ts +124 -0
  44. package/dist/esm/data/models/player.js +42 -0
  45. package/dist/esm/data/models/rally.d.ts +29 -0
  46. package/dist/esm/data/models/rally.js +46 -0
  47. package/dist/esm/data/models/set-position.d.ts +29 -0
  48. package/dist/esm/data/models/set-position.js +46 -0
  49. package/dist/esm/data/models/team.d.ts +162 -0
  50. package/dist/esm/data/models/team.js +59 -0
  51. package/dist/esm/data/models/trait.d.ts +37 -0
  52. package/dist/esm/data/models/trait.js +26 -0
  53. package/dist/esm/data/models/user.d.ts +22 -0
  54. package/dist/esm/data/models/user.js +53 -0
  55. package/dist/esm/data/transformers/coach.d.ts +5 -0
  56. package/dist/esm/data/transformers/coach.js +25 -0
  57. package/dist/esm/data/transformers/country.d.ts +5 -0
  58. package/dist/esm/data/transformers/country.js +16 -0
  59. package/dist/esm/data/transformers/court-position.d.ts +5 -0
  60. package/dist/esm/data/transformers/court-position.js +27 -0
  61. package/dist/esm/data/transformers/draft-pick.d.ts +5 -0
  62. package/dist/esm/data/transformers/draft-pick.js +18 -0
  63. package/dist/esm/data/transformers/draft.d.ts +5 -0
  64. package/dist/esm/data/transformers/draft.js +20 -0
  65. package/dist/esm/data/transformers/formation.d.ts +5 -0
  66. package/dist/esm/data/transformers/formation.js +8 -0
  67. package/dist/esm/data/transformers/index.d.ts +25 -0
  68. package/dist/esm/data/transformers/index.js +25 -0
  69. package/dist/esm/data/transformers/iteration.d.ts +5 -0
  70. package/dist/esm/data/transformers/iteration.js +14 -0
  71. package/dist/esm/data/transformers/league.d.ts +5 -0
  72. package/dist/esm/data/transformers/league.js +28 -0
  73. package/dist/esm/data/transformers/match-rating.d.ts +4 -0
  74. package/dist/esm/data/transformers/match-rating.js +13 -0
  75. package/dist/esm/data/transformers/match-set-stats.d.ts +5 -0
  76. package/dist/esm/data/transformers/match-set-stats.js +57 -0
  77. package/dist/esm/data/transformers/match-set.d.ts +5 -0
  78. package/dist/esm/data/transformers/match-set.js +44 -0
  79. package/dist/esm/data/transformers/match.d.ts +5 -0
  80. package/dist/esm/data/transformers/match.js +27 -0
  81. package/dist/esm/data/transformers/performance-stats.d.ts +5 -0
  82. package/dist/esm/data/transformers/performance-stats.js +33 -0
  83. package/dist/esm/data/transformers/player-team.d.ts +3 -0
  84. package/dist/esm/data/transformers/player-team.js +9 -0
  85. package/dist/esm/data/transformers/player.d.ts +5 -0
  86. package/dist/esm/data/transformers/player.js +26 -0
  87. package/dist/esm/data/transformers/rally.d.ts +5 -0
  88. package/dist/esm/data/transformers/rally.js +23 -0
  89. package/dist/esm/data/transformers/role.d.ts +5 -0
  90. package/dist/esm/data/transformers/role.js +23 -0
  91. package/dist/esm/data/transformers/season-match.d.ts +4 -0
  92. package/dist/esm/data/transformers/season-match.js +13 -0
  93. package/dist/esm/data/transformers/season.d.ts +5 -0
  94. package/dist/esm/data/transformers/season.js +39 -0
  95. package/dist/esm/data/transformers/set-position.d.ts +5 -0
  96. package/dist/esm/data/transformers/set-position.js +16 -0
  97. package/dist/esm/data/transformers/stage.d.ts +5 -0
  98. package/dist/esm/data/transformers/stage.js +21 -0
  99. package/dist/esm/data/transformers/team.d.ts +5 -0
  100. package/dist/esm/data/transformers/team.js +28 -0
  101. package/dist/esm/data/transformers/tournament-match.d.ts +5 -0
  102. package/dist/esm/data/transformers/tournament-match.js +19 -0
  103. package/dist/esm/data/transformers/tournament.d.ts +5 -0
  104. package/dist/esm/data/transformers/tournament.js +33 -0
  105. package/dist/esm/data/transformers/trait.d.ts +5 -0
  106. package/dist/esm/data/transformers/trait.js +15 -0
  107. package/dist/esm/index.d.ts +2 -0
  108. package/dist/esm/index.js +2 -0
  109. package/dist/esm/service/coach/coach.d.ts +19 -0
  110. package/dist/esm/service/coach/coach.js +11 -0
  111. package/dist/esm/service/coach/formation.d.ts +31 -0
  112. package/dist/esm/service/coach/formation.js +122 -0
  113. package/dist/esm/service/coach/index.d.ts +2 -0
  114. package/dist/esm/service/coach/index.js +2 -0
  115. package/dist/esm/service/competition/index.d.ts +11 -0
  116. package/dist/esm/service/competition/index.js +12 -0
  117. package/dist/esm/service/competition/iteration.d.ts +10 -0
  118. package/dist/esm/service/competition/iteration.js +8 -0
  119. package/dist/esm/service/competition/league.d.ts +16 -0
  120. package/dist/esm/service/competition/league.js +8 -0
  121. package/dist/esm/service/competition/season.d.ts +23 -0
  122. package/dist/esm/service/competition/season.js +27 -0
  123. package/dist/esm/service/competition/stage.d.ts +11 -0
  124. package/dist/esm/service/competition/stage.js +24 -0
  125. package/dist/esm/service/competition/standing.d.ts +28 -0
  126. package/dist/esm/service/competition/standing.js +76 -0
  127. package/dist/esm/service/competition/tournament-match.d.ts +14 -0
  128. package/dist/esm/service/competition/tournament-match.js +9 -0
  129. package/dist/esm/service/competition/tournament.d.ts +20 -0
  130. package/dist/esm/service/competition/tournament.js +18 -0
  131. package/dist/esm/service/country/country.d.ts +17 -0
  132. package/dist/esm/service/country/country.js +18 -0
  133. package/dist/esm/service/country/index.d.ts +1 -0
  134. package/dist/esm/service/country/index.js +1 -0
  135. package/dist/esm/service/draft/draft-pick.d.ts +14 -0
  136. package/dist/esm/service/draft/draft-pick.js +7 -0
  137. package/dist/esm/service/draft/draft.d.ts +15 -0
  138. package/dist/esm/service/draft/draft.js +8 -0
  139. package/dist/esm/service/draft/index.d.ts +2 -0
  140. package/dist/esm/service/draft/index.js +2 -0
  141. package/dist/esm/service/event/index.d.ts +1 -0
  142. package/dist/esm/service/event/index.js +1 -0
  143. package/dist/esm/service/event/rally-event.d.ts +20 -0
  144. package/dist/esm/service/event/rally-event.js +16 -0
  145. package/dist/esm/service/index.d.ts +9 -0
  146. package/dist/esm/service/index.js +9 -0
  147. package/dist/esm/service/match/court-position.d.ts +21 -0
  148. package/dist/esm/service/match/court-position.js +53 -0
  149. package/dist/esm/service/match/court-target-enum.d.ts +21 -0
  150. package/dist/esm/service/match/court-target-enum.js +54 -0
  151. package/dist/esm/service/match/index.d.ts +7 -0
  152. package/dist/esm/service/match/index.js +7 -0
  153. package/dist/esm/service/match/match-rating.d.ts +35 -0
  154. package/dist/esm/service/match/match-rating.js +61 -0
  155. package/dist/esm/service/match/match-set.d.ts +65 -0
  156. package/dist/esm/service/match/match-set.js +56 -0
  157. package/dist/esm/service/match/match-team.d.ts +7 -0
  158. package/dist/esm/service/match/match-team.js +17 -0
  159. package/dist/esm/service/match/match.d.ts +36 -0
  160. package/dist/esm/service/match/match.js +57 -0
  161. package/dist/esm/service/match/rally.d.ts +22 -0
  162. package/dist/esm/service/match/rally.js +13 -0
  163. package/dist/esm/service/player/index.d.ts +5 -0
  164. package/dist/esm/service/player/index.js +5 -0
  165. package/dist/esm/service/player/performance-stats.d.ts +30 -0
  166. package/dist/esm/service/player/performance-stats.js +34 -0
  167. package/dist/esm/service/player/player.d.ts +46 -0
  168. package/dist/esm/service/player/player.js +84 -0
  169. package/dist/esm/service/player/role.d.ts +17 -0
  170. package/dist/esm/service/player/role.js +42 -0
  171. package/dist/esm/service/player/stats.d.ts +11 -0
  172. package/dist/esm/service/player/stats.js +25 -0
  173. package/dist/esm/service/player/trait.d.ts +21 -0
  174. package/dist/esm/service/player/trait.js +108 -0
  175. package/dist/esm/service/team/index.d.ts +1 -0
  176. package/dist/esm/service/team/index.js +1 -0
  177. package/dist/esm/service/team/team.d.ts +31 -0
  178. package/dist/esm/service/team/team.js +32 -0
  179. package/dist/esm/service/utils/index.d.ts +2 -0
  180. package/dist/esm/service/utils/index.js +2 -0
  181. package/dist/esm/service/utils/object-utils.d.ts +1 -0
  182. package/dist/esm/service/utils/object-utils.js +1 -0
  183. package/dist/esm/service/utils/string-utils.d.ts +2 -0
  184. package/dist/esm/service/utils/string-utils.js +11 -0
  185. package/package.json +1 -1
@@ -0,0 +1,42 @@
1
+ import { DataTypes, Model } from 'sequelize';
2
+ export class PlayerModel extends Model {
3
+ static initModel(sequelize) {
4
+ return PlayerModel.init({
5
+ player_id: {
6
+ type: DataTypes.UUID,
7
+ allowNull: false,
8
+ primaryKey: true
9
+ },
10
+ roles: {
11
+ type: DataTypes.ARRAY(DataTypes.ENUM('SETTER', 'LIBERO', 'OUTSIDE_HITTER', 'OPPOSITE_HITTER', 'MIDDLE_BLOCKER', 'DEFENSIVE_SPECIALIST')),
12
+ allowNull: false
13
+ },
14
+ first_name: {
15
+ type: DataTypes.STRING,
16
+ allowNull: false
17
+ },
18
+ last_name: {
19
+ type: DataTypes.STRING,
20
+ allowNull: false
21
+ },
22
+ country_id: {
23
+ type: DataTypes.UUID,
24
+ allowNull: false,
25
+ references: {
26
+ model: 'Country',
27
+ key: 'country_id'
28
+ }
29
+ }
30
+ }, {
31
+ sequelize,
32
+ tableName: 'Player',
33
+ schema: 'public',
34
+ timestamps: false,
35
+ indexes: [{
36
+ name: 'Player_pk',
37
+ unique: true,
38
+ fields: [{ name: 'player_id' }]
39
+ }]
40
+ });
41
+ }
42
+ }
@@ -0,0 +1,29 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import { MatchSetId, MatchSetModel, TeamId, TeamModel } from '.';
4
+ export interface RallyAttributes {
5
+ rally_id: string;
6
+ match_set_id: string;
7
+ serving_team: string;
8
+ order: number;
9
+ events: string;
10
+ }
11
+ export type RallyPk = 'rally_id';
12
+ export type RallyId = RallyModel[RallyPk];
13
+ export type RallyCreationAttributes = RallyAttributes;
14
+ export declare class RallyModel extends Model<RallyAttributes, RallyCreationAttributes> implements RallyAttributes {
15
+ rally_id: string;
16
+ match_set_id: string;
17
+ serving_team: string;
18
+ order: number;
19
+ events: string;
20
+ matchSet: MatchSetModel;
21
+ getMatchSet: Sequelize.BelongsToGetAssociationMixin<MatchSetModel>;
22
+ setMatchSet: Sequelize.BelongsToSetAssociationMixin<MatchSetModel, MatchSetId>;
23
+ createMatchSet: Sequelize.BelongsToCreateAssociationMixin<MatchSetModel>;
24
+ ServingTeam: TeamModel;
25
+ getServingTeam: Sequelize.BelongsToGetAssociationMixin<TeamModel>;
26
+ setServingTeam: Sequelize.BelongsToSetAssociationMixin<TeamModel, TeamId>;
27
+ createServingTeam: Sequelize.BelongsToCreateAssociationMixin<TeamModel>;
28
+ static initModel(sequelize: Sequelize.Sequelize): typeof RallyModel;
29
+ }
@@ -0,0 +1,46 @@
1
+ import { DataTypes, Model } from 'sequelize';
2
+ export class RallyModel extends Model {
3
+ static initModel(sequelize) {
4
+ return RallyModel.init({
5
+ rally_id: {
6
+ type: DataTypes.UUID,
7
+ allowNull: false,
8
+ primaryKey: true
9
+ },
10
+ match_set_id: {
11
+ type: DataTypes.UUID,
12
+ allowNull: false,
13
+ references: {
14
+ model: 'MatchSet',
15
+ key: 'match_set_id'
16
+ }
17
+ },
18
+ serving_team: {
19
+ type: DataTypes.UUID,
20
+ allowNull: false,
21
+ references: {
22
+ model: 'Team',
23
+ key: 'team_id'
24
+ }
25
+ },
26
+ order: {
27
+ type: DataTypes.INTEGER,
28
+ allowNull: false
29
+ },
30
+ events: {
31
+ type: DataTypes.STRING,
32
+ allowNull: false
33
+ }
34
+ }, {
35
+ sequelize,
36
+ tableName: 'Rally',
37
+ schema: 'public',
38
+ timestamps: false,
39
+ indexes: [{
40
+ name: 'Rally_pk',
41
+ unique: true,
42
+ fields: [{ name: 'rally_id' }]
43
+ }]
44
+ });
45
+ }
46
+ }
@@ -0,0 +1,29 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import { MatchSetId, MatchSetModel, PlayerId, PlayerModel } from '.';
4
+ export interface SetPositionAttributes {
5
+ player_id: string;
6
+ match_set_id: string;
7
+ side: Side;
8
+ court_position: CourtPositionType;
9
+ }
10
+ export type CourtPositionType = 'NOT_IN_COURT' | 'LIBERO_ZONE' | 'LEFT_FRONT' | 'MIDDLE_FRONT' | 'RIGHT_FRONT' | 'LEFT_BACK' | 'MIDDLE_BACK' | 'RIGHT_BACK';
11
+ export type Side = 'HOME' | 'AWAY';
12
+ export type SetPositionPk = 'player_id' | 'match_set_id';
13
+ export type SetPositionId = SetPositionModel[SetPositionPk];
14
+ export type SetPositionCreationAttributes = SetPositionAttributes;
15
+ export declare class SetPositionModel extends Model<SetPositionAttributes, SetPositionCreationAttributes> implements SetPositionAttributes {
16
+ player_id: string;
17
+ match_set_id: string;
18
+ side: Side;
19
+ court_position: CourtPositionType;
20
+ matchSet: MatchSetModel;
21
+ getMatchSet: Sequelize.BelongsToGetAssociationMixin<MatchSetModel>;
22
+ setMatchSet: Sequelize.BelongsToSetAssociationMixin<MatchSetModel, MatchSetId>;
23
+ createMatchSet: Sequelize.BelongsToCreateAssociationMixin<MatchSetModel>;
24
+ player: PlayerModel;
25
+ getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
26
+ setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
27
+ createPlayer: Sequelize.BelongsToCreateAssociationMixin<PlayerModel>;
28
+ static initModel(sequelize: Sequelize.Sequelize): typeof SetPositionModel;
29
+ }
@@ -0,0 +1,46 @@
1
+ import { DataTypes, Model } from 'sequelize';
2
+ export class SetPositionModel extends Model {
3
+ static initModel(sequelize) {
4
+ return SetPositionModel.init({
5
+ player_id: {
6
+ type: DataTypes.UUID,
7
+ allowNull: false,
8
+ primaryKey: true,
9
+ references: {
10
+ model: 'Player',
11
+ key: 'player_id'
12
+ }
13
+ },
14
+ match_set_id: {
15
+ type: DataTypes.UUID,
16
+ allowNull: false,
17
+ primaryKey: true,
18
+ references: {
19
+ model: 'MatchSet',
20
+ key: 'match_set_id'
21
+ }
22
+ },
23
+ side: {
24
+ type: DataTypes.ENUM('AWAY', 'HOME'),
25
+ allowNull: false
26
+ },
27
+ court_position: {
28
+ type: DataTypes.ENUM('LEFT_BACK', 'LEFT_FRONT', 'LIBERO_ZONE', 'MIDDLE_BACK', 'MIDDLE_FRONT', 'NOT_IN_COURT', 'RIGHT_BACK', 'RIGHT_FRONT'),
29
+ allowNull: false
30
+ }
31
+ }, {
32
+ sequelize,
33
+ tableName: 'SetPosition',
34
+ schema: 'public',
35
+ timestamps: false,
36
+ indexes: [{
37
+ name: 'RallyPosition_pk',
38
+ unique: true,
39
+ fields: [
40
+ { name: 'match_set_id' },
41
+ { name: 'player_id' }
42
+ ]
43
+ }]
44
+ });
45
+ }
46
+ }
@@ -0,0 +1,162 @@
1
+ import * as Sequelize from 'sequelize';
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 '.';
4
+ export interface TeamAttributes {
5
+ team_id: string;
6
+ name: string;
7
+ short_name: string;
8
+ rating: number;
9
+ coach_id?: string;
10
+ league_id?: string;
11
+ country_id?: string;
12
+ coach?: CoachAttributes;
13
+ league?: LeagueAttributes;
14
+ Players?: PlayerAttributes[];
15
+ }
16
+ export type TeamPk = 'team_id';
17
+ export type TeamId = TeamModel[TeamPk];
18
+ export type TeamOptionalAttributes = 'rating';
19
+ export type TeamCreationAttributes = Optional<TeamAttributes, TeamOptionalAttributes>;
20
+ export declare class TeamModel extends Model<TeamAttributes, TeamCreationAttributes> implements TeamAttributes {
21
+ team_id: string;
22
+ coach_id: string;
23
+ name: string;
24
+ short_name: string;
25
+ country_id: string;
26
+ league_id: string;
27
+ rating: number;
28
+ coach: CoachModel;
29
+ getCoach: Sequelize.BelongsToGetAssociationMixin<CoachModel>;
30
+ setCoach: Sequelize.BelongsToSetAssociationMixin<CoachModel, CoachId>;
31
+ createCoach: Sequelize.BelongsToCreateAssociationMixin<CoachModel>;
32
+ country: CountryModel;
33
+ getCountry: Sequelize.BelongsToGetAssociationMixin<CountryModel>;
34
+ setCountry: Sequelize.BelongsToSetAssociationMixin<CountryModel, CountryId>;
35
+ createCountry: Sequelize.BelongsToCreateAssociationMixin<CountryModel>;
36
+ league: LeagueModel;
37
+ getLeague: Sequelize.BelongsToGetAssociationMixin<LeagueModel>;
38
+ setLeague: Sequelize.BelongsToSetAssociationMixin<LeagueModel, LeagueId>;
39
+ createLeague: Sequelize.BelongsToCreateAssociationMixin<LeagueModel>;
40
+ Competitions: CompetitionModel[];
41
+ getCompetitions: Sequelize.BelongsToManyGetAssociationsMixin<CompetitionModel>;
42
+ setCompetitions: Sequelize.BelongsToManySetAssociationsMixin<CompetitionModel, CompetitionId>;
43
+ addCompetition: Sequelize.BelongsToManyAddAssociationMixin<CompetitionModel, CompetitionId>;
44
+ addCompetitions: Sequelize.BelongsToManyAddAssociationsMixin<CompetitionModel, CompetitionId>;
45
+ createCompetition: Sequelize.BelongsToManyCreateAssociationMixin<CompetitionModel>;
46
+ removeCompetition: Sequelize.BelongsToManyRemoveAssociationMixin<CompetitionModel, CompetitionId>;
47
+ removeCompetitions: Sequelize.BelongsToManyRemoveAssociationsMixin<CompetitionModel, CompetitionId>;
48
+ hasCompetition: Sequelize.BelongsToManyHasAssociationMixin<CompetitionModel, CompetitionId>;
49
+ hasCompetitions: Sequelize.BelongsToManyHasAssociationsMixin<CompetitionModel, CompetitionId>;
50
+ countCompetitions: Sequelize.BelongsToManyCountAssociationsMixin;
51
+ CompetitionChampions: CompetitionChampionModel[];
52
+ getCompetitionChampions: Sequelize.HasManyGetAssociationsMixin<CompetitionChampionModel>;
53
+ setCompetitionChampions: Sequelize.HasManySetAssociationsMixin<CompetitionChampionModel, CompetitionChampionId>;
54
+ addCompetitionChampion: Sequelize.HasManyAddAssociationMixin<CompetitionChampionModel, CompetitionChampionId>;
55
+ addCompetitionChampions: Sequelize.HasManyAddAssociationsMixin<CompetitionChampionModel, CompetitionChampionId>;
56
+ createCompetitionChampion: Sequelize.HasManyCreateAssociationMixin<CompetitionChampionModel>;
57
+ removeCompetitionChampion: Sequelize.HasManyRemoveAssociationMixin<CompetitionChampionModel, CompetitionChampionId>;
58
+ removeCompetitionChampions: Sequelize.HasManyRemoveAssociationsMixin<CompetitionChampionModel, CompetitionChampionId>;
59
+ hasCompetitionChampion: Sequelize.HasManyHasAssociationMixin<CompetitionChampionModel, CompetitionChampionId>;
60
+ hasCompetitionChampions: Sequelize.HasManyHasAssociationsMixin<CompetitionChampionModel, CompetitionChampionId>;
61
+ countCompetitionChampions: Sequelize.HasManyCountAssociationsMixin;
62
+ CompetitionTeams: CompetitionTeamsModel[];
63
+ getCompetitionTeams: Sequelize.HasManyGetAssociationsMixin<CompetitionTeamsModel>;
64
+ setCompetitionTeams: Sequelize.HasManySetAssociationsMixin<CompetitionTeamsModel, CompetitionTeamsId>;
65
+ addCompetitionTeam: Sequelize.HasManyAddAssociationMixin<CompetitionTeamsModel, CompetitionTeamsId>;
66
+ addCompetitionTeams: Sequelize.HasManyAddAssociationsMixin<CompetitionTeamsModel, CompetitionTeamsId>;
67
+ createCompetitionTeam: Sequelize.HasManyCreateAssociationMixin<CompetitionTeamsModel>;
68
+ removeCompetitionTeam: Sequelize.HasManyRemoveAssociationMixin<CompetitionTeamsModel, CompetitionTeamsId>;
69
+ removeCompetitionTeams: Sequelize.HasManyRemoveAssociationsMixin<CompetitionTeamsModel, CompetitionTeamsId>;
70
+ hasCompetitionTeam: Sequelize.HasManyHasAssociationMixin<CompetitionTeamsModel, CompetitionTeamsId>;
71
+ hasCompetitionTeams: Sequelize.HasManyHasAssociationsMixin<CompetitionTeamsModel, CompetitionTeamsId>;
72
+ countCompetitionTeams: Sequelize.HasManyCountAssociationsMixin;
73
+ DraftPicks: DraftPickModel[];
74
+ getDraftPicks: Sequelize.HasManyGetAssociationsMixin<DraftPickModel>;
75
+ setDraftPicks: Sequelize.HasManySetAssociationsMixin<DraftPickModel, DraftPickId>;
76
+ addDraftPick: Sequelize.HasManyAddAssociationMixin<DraftPickModel, DraftPickId>;
77
+ addDraftPicks: Sequelize.HasManyAddAssociationsMixin<DraftPickModel, DraftPickId>;
78
+ createDraftPick: Sequelize.HasManyCreateAssociationMixin<DraftPickModel>;
79
+ removeDraftPick: Sequelize.HasManyRemoveAssociationMixin<DraftPickModel, DraftPickId>;
80
+ removeDraftPicks: Sequelize.HasManyRemoveAssociationsMixin<DraftPickModel, DraftPickId>;
81
+ hasDraftPick: Sequelize.HasManyHasAssociationMixin<DraftPickModel, DraftPickId>;
82
+ hasDraftPicks: Sequelize.HasManyHasAssociationsMixin<DraftPickModel, DraftPickId>;
83
+ countDraftPicks: Sequelize.HasManyCountAssociationsMixin;
84
+ HomeMatches: MatchModel[];
85
+ getHomeMatches: Sequelize.HasManyGetAssociationsMixin<MatchModel>;
86
+ setHomeMatches: Sequelize.HasManySetAssociationsMixin<MatchModel, MatchId>;
87
+ addHomeMatch: Sequelize.HasManyAddAssociationMixin<MatchModel, MatchId>;
88
+ addHomeMatches: Sequelize.HasManyAddAssociationsMixin<MatchModel, MatchId>;
89
+ createHomeMatch: Sequelize.HasManyCreateAssociationMixin<MatchModel>;
90
+ removeHomeMatch: Sequelize.HasManyRemoveAssociationMixin<MatchModel, MatchId>;
91
+ removeHomeMatches: Sequelize.HasManyRemoveAssociationsMixin<MatchModel, MatchId>;
92
+ hasHomeMatch: Sequelize.HasManyHasAssociationMixin<MatchModel, MatchId>;
93
+ hasHomeMatches: Sequelize.HasManyHasAssociationsMixin<MatchModel, MatchId>;
94
+ countHomeMatches: Sequelize.HasManyCountAssociationsMixin;
95
+ AwayMatches: MatchModel[];
96
+ getAwayMatches: Sequelize.HasManyGetAssociationsMixin<MatchModel>;
97
+ setAwayMatches: Sequelize.HasManySetAssociationsMixin<MatchModel, MatchId>;
98
+ addAwayMatch: Sequelize.HasManyAddAssociationMixin<MatchModel, MatchId>;
99
+ addAwayMatches: Sequelize.HasManyAddAssociationsMixin<MatchModel, MatchId>;
100
+ createAwayMatch: Sequelize.HasManyCreateAssociationMixin<MatchModel>;
101
+ removeAwayMatch: Sequelize.HasManyRemoveAssociationMixin<MatchModel, MatchId>;
102
+ removeAwayMatches: Sequelize.HasManyRemoveAssociationsMixin<MatchModel, MatchId>;
103
+ hasAwayMatch: Sequelize.HasManyHasAssociationMixin<MatchModel, MatchId>;
104
+ hasAwayMatches: Sequelize.HasManyHasAssociationsMixin<MatchModel, MatchId>;
105
+ countAwayMatches: Sequelize.HasManyCountAssociationsMixin;
106
+ RatingMatches: MatchModel[];
107
+ getRatingMatches: Sequelize.BelongsToManyGetAssociationsMixin<MatchModel>;
108
+ setRatingMatches: Sequelize.BelongsToManySetAssociationsMixin<MatchModel, MatchId>;
109
+ addRatingMatch: Sequelize.BelongsToManyAddAssociationMixin<MatchModel, MatchId>;
110
+ addRatingMatches: Sequelize.BelongsToManyAddAssociationsMixin<MatchModel, MatchId>;
111
+ createRatingMatch: Sequelize.BelongsToManyCreateAssociationMixin<MatchModel>;
112
+ removeRatingMatch: Sequelize.BelongsToManyRemoveAssociationMixin<MatchModel, MatchId>;
113
+ removeRatingMatches: Sequelize.BelongsToManyRemoveAssociationsMixin<MatchModel, MatchId>;
114
+ hasRatingMatch: Sequelize.BelongsToManyHasAssociationMixin<MatchModel, MatchId>;
115
+ hasRatingMatches: Sequelize.BelongsToManyHasAssociationsMixin<MatchModel, MatchId>;
116
+ countRatingMatches: Sequelize.BelongsToManyCountAssociationsMixin;
117
+ MatchRatings: MatchRatingModel[];
118
+ getMatchRatings: Sequelize.HasManyGetAssociationsMixin<MatchRatingModel>;
119
+ setMatchRatings: Sequelize.HasManySetAssociationsMixin<MatchRatingModel, MatchRatingId>;
120
+ addMatchRating: Sequelize.HasManyAddAssociationMixin<MatchRatingModel, MatchRatingId>;
121
+ addMatchRatings: Sequelize.HasManyAddAssociationsMixin<MatchRatingModel, MatchRatingId>;
122
+ createMatchRating: Sequelize.HasManyCreateAssociationMixin<MatchRatingModel>;
123
+ removeMatchRating: Sequelize.HasManyRemoveAssociationMixin<MatchRatingModel, MatchRatingId>;
124
+ removeMatchRatings: Sequelize.HasManyRemoveAssociationsMixin<MatchRatingModel, MatchRatingId>;
125
+ hasMatchRating: Sequelize.HasManyHasAssociationMixin<MatchRatingModel, MatchRatingId>;
126
+ hasMatchRatings: Sequelize.HasManyHasAssociationsMixin<MatchRatingModel, MatchRatingId>;
127
+ countMatchRatings: Sequelize.HasManyCountAssociationsMixin;
128
+ Players: PlayerModel[];
129
+ getPlayers: Sequelize.BelongsToManyGetAssociationsMixin<PlayerModel>;
130
+ setPlayers: Sequelize.BelongsToManySetAssociationsMixin<PlayerModel, PlayerId>;
131
+ addPlayer: Sequelize.BelongsToManyAddAssociationMixin<PlayerModel, PlayerId>;
132
+ addPlayers: Sequelize.BelongsToManyAddAssociationsMixin<PlayerModel, PlayerId>;
133
+ createPlayer: Sequelize.BelongsToManyCreateAssociationMixin<PlayerModel>;
134
+ removePlayer: Sequelize.BelongsToManyRemoveAssociationMixin<PlayerModel, PlayerId>;
135
+ removePlayers: Sequelize.BelongsToManyRemoveAssociationsMixin<PlayerModel, PlayerId>;
136
+ hasPlayer: Sequelize.BelongsToManyHasAssociationMixin<PlayerModel, PlayerId>;
137
+ hasPlayers: Sequelize.BelongsToManyHasAssociationsMixin<PlayerModel, PlayerId>;
138
+ countPlayers: Sequelize.BelongsToManyCountAssociationsMixin;
139
+ PlayerTeams: PlayerTeamModel[];
140
+ getPlayerTeams: Sequelize.HasManyGetAssociationsMixin<PlayerTeamModel>;
141
+ setPlayerTeams: Sequelize.HasManySetAssociationsMixin<PlayerTeamModel, PlayerTeamId>;
142
+ addPlayerTeam: Sequelize.HasManyAddAssociationMixin<PlayerTeamModel, PlayerTeamId>;
143
+ addPlayerTeams: Sequelize.HasManyAddAssociationsMixin<PlayerTeamModel, PlayerTeamId>;
144
+ createPlayerTeam: Sequelize.HasManyCreateAssociationMixin<PlayerTeamModel>;
145
+ removePlayerTeam: Sequelize.HasManyRemoveAssociationMixin<PlayerTeamModel, PlayerTeamId>;
146
+ removePlayerTeams: Sequelize.HasManyRemoveAssociationsMixin<PlayerTeamModel, PlayerTeamId>;
147
+ hasPlayerTeam: Sequelize.HasManyHasAssociationMixin<PlayerTeamModel, PlayerTeamId>;
148
+ hasPlayerTeams: Sequelize.HasManyHasAssociationsMixin<PlayerTeamModel, PlayerTeamId>;
149
+ countPlayerTeams: Sequelize.HasManyCountAssociationsMixin;
150
+ Rallies: RallyModel[];
151
+ getRallies: Sequelize.HasManyGetAssociationsMixin<RallyModel>;
152
+ setRallies: Sequelize.HasManySetAssociationsMixin<RallyModel, RallyId>;
153
+ addRally: Sequelize.HasManyAddAssociationMixin<RallyModel, RallyId>;
154
+ addRallies: Sequelize.HasManyAddAssociationsMixin<RallyModel, RallyId>;
155
+ createRally: Sequelize.HasManyCreateAssociationMixin<RallyModel>;
156
+ removeRally: Sequelize.HasManyRemoveAssociationMixin<RallyModel, RallyId>;
157
+ removeRallies: Sequelize.HasManyRemoveAssociationsMixin<RallyModel, RallyId>;
158
+ hasRally: Sequelize.HasManyHasAssociationMixin<RallyModel, RallyId>;
159
+ hasRallies: Sequelize.HasManyHasAssociationsMixin<RallyModel, RallyId>;
160
+ countRallies: Sequelize.HasManyCountAssociationsMixin;
161
+ static initModel(sequelize: Sequelize.Sequelize): typeof TeamModel;
162
+ }
@@ -0,0 +1,59 @@
1
+ import { DataTypes, Model } from 'sequelize';
2
+ export class TeamModel extends Model {
3
+ static initModel(sequelize) {
4
+ return TeamModel.init({
5
+ team_id: {
6
+ type: DataTypes.UUID,
7
+ allowNull: false,
8
+ primaryKey: true
9
+ },
10
+ coach_id: {
11
+ type: DataTypes.UUID,
12
+ allowNull: false,
13
+ references: {
14
+ model: 'Coach',
15
+ key: 'coach_id'
16
+ }
17
+ },
18
+ name: {
19
+ type: DataTypes.STRING,
20
+ allowNull: false
21
+ },
22
+ short_name: {
23
+ type: DataTypes.STRING,
24
+ allowNull: false
25
+ },
26
+ country_id: {
27
+ type: DataTypes.UUID,
28
+ allowNull: false,
29
+ references: {
30
+ model: 'Country',
31
+ key: 'country_id'
32
+ }
33
+ },
34
+ league_id: {
35
+ type: DataTypes.UUID,
36
+ allowNull: false,
37
+ references: {
38
+ model: 'League',
39
+ key: 'league_id'
40
+ }
41
+ },
42
+ rating: {
43
+ type: DataTypes.REAL,
44
+ allowNull: false,
45
+ defaultValue: 1000.0
46
+ }
47
+ }, {
48
+ sequelize,
49
+ tableName: 'Team',
50
+ schema: 'public',
51
+ timestamps: false,
52
+ indexes: [{
53
+ name: 'Team_pk',
54
+ unique: true,
55
+ fields: [{ name: 'team_id' }]
56
+ }]
57
+ });
58
+ }
59
+ }
@@ -0,0 +1,37 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import { PlayerId, PlayerModel, PlayerTraitId, PlayerTraitModel } from '.';
4
+ export interface TraitAttributes {
5
+ trait_id: string;
6
+ name: string;
7
+ }
8
+ export type TraitPk = 'trait_id';
9
+ export type TraitId = TraitModel[TraitPk];
10
+ export type TraitCreationAttributes = TraitAttributes;
11
+ export declare class TraitModel extends Model<TraitAttributes, TraitCreationAttributes> implements TraitAttributes {
12
+ trait_id: string;
13
+ name: string;
14
+ Players: PlayerModel[];
15
+ getPlayers: Sequelize.BelongsToManyGetAssociationsMixin<PlayerModel>;
16
+ setPlayers: Sequelize.BelongsToManySetAssociationsMixin<PlayerModel, PlayerId>;
17
+ addPlayer: Sequelize.BelongsToManyAddAssociationMixin<PlayerModel, PlayerId>;
18
+ addPlayers: Sequelize.BelongsToManyAddAssociationsMixin<PlayerModel, PlayerId>;
19
+ createPlayer: Sequelize.BelongsToManyCreateAssociationMixin<PlayerModel>;
20
+ removePlayer: Sequelize.BelongsToManyRemoveAssociationMixin<PlayerModel, PlayerId>;
21
+ removePlayers: Sequelize.BelongsToManyRemoveAssociationsMixin<PlayerModel, PlayerId>;
22
+ hasPlayer: Sequelize.BelongsToManyHasAssociationMixin<PlayerModel, PlayerId>;
23
+ hasPlayers: Sequelize.BelongsToManyHasAssociationsMixin<PlayerModel, PlayerId>;
24
+ countPlayers: Sequelize.BelongsToManyCountAssociationsMixin;
25
+ PlayerTraits: PlayerTraitModel[];
26
+ getPlayerTraits: Sequelize.HasManyGetAssociationsMixin<PlayerTraitModel>;
27
+ setPlayerTraits: Sequelize.HasManySetAssociationsMixin<PlayerTraitModel, PlayerTraitId>;
28
+ addPlayerTrait: Sequelize.HasManyAddAssociationMixin<PlayerTraitModel, PlayerTraitId>;
29
+ addPlayerTraits: Sequelize.HasManyAddAssociationsMixin<PlayerTraitModel, PlayerTraitId>;
30
+ createPlayerTrait: Sequelize.HasManyCreateAssociationMixin<PlayerTraitModel>;
31
+ removePlayerTrait: Sequelize.HasManyRemoveAssociationMixin<PlayerTraitModel, PlayerTraitId>;
32
+ removePlayerTraits: Sequelize.HasManyRemoveAssociationsMixin<PlayerTraitModel, PlayerTraitId>;
33
+ hasPlayerTrait: Sequelize.HasManyHasAssociationMixin<PlayerTraitModel, PlayerTraitId>;
34
+ hasPlayerTraits: Sequelize.HasManyHasAssociationsMixin<PlayerTraitModel, PlayerTraitId>;
35
+ countPlayerTraits: Sequelize.HasManyCountAssociationsMixin;
36
+ static initModel(sequelize: Sequelize.Sequelize): typeof TraitModel;
37
+ }
@@ -0,0 +1,26 @@
1
+ import { DataTypes, Model } from 'sequelize';
2
+ export class TraitModel extends Model {
3
+ static initModel(sequelize) {
4
+ return TraitModel.init({
5
+ trait_id: {
6
+ type: DataTypes.UUID,
7
+ allowNull: false,
8
+ primaryKey: true
9
+ },
10
+ name: {
11
+ type: DataTypes.STRING,
12
+ allowNull: false
13
+ }
14
+ }, {
15
+ sequelize,
16
+ tableName: 'Trait',
17
+ schema: 'public',
18
+ timestamps: false,
19
+ indexes: [{
20
+ name: 'trait_pk',
21
+ unique: true,
22
+ fields: [{ name: 'trait_id' }]
23
+ }]
24
+ });
25
+ }
26
+ }
@@ -0,0 +1,22 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model, Optional } from 'sequelize';
3
+ export interface UserAttributes {
4
+ user_id: string;
5
+ username: string;
6
+ email: string;
7
+ password: string;
8
+ role: UserRole;
9
+ }
10
+ export type UserPk = 'user_id';
11
+ export type UserId = UserModel[UserPk];
12
+ export type UserRole = 'ADMIN' | 'PLAYER';
13
+ export type UserOptionalAttributes = 'role';
14
+ export type UserCreationAttributes = Optional<UserAttributes, UserOptionalAttributes>;
15
+ export declare class UserModel extends Model<UserAttributes, UserCreationAttributes> implements UserAttributes {
16
+ user_id: string;
17
+ username: string;
18
+ email: string;
19
+ password: string;
20
+ role: UserRole;
21
+ static initModel(sequelize: Sequelize.Sequelize): typeof UserModel;
22
+ }
@@ -0,0 +1,53 @@
1
+ import { DataTypes, Model } from 'sequelize';
2
+ export class UserModel extends Model {
3
+ static initModel(sequelize) {
4
+ return UserModel.init({
5
+ user_id: {
6
+ type: DataTypes.UUID,
7
+ allowNull: false,
8
+ primaryKey: true
9
+ },
10
+ username: {
11
+ type: DataTypes.STRING,
12
+ allowNull: false,
13
+ unique: 'User_pk2'
14
+ },
15
+ email: {
16
+ type: DataTypes.STRING,
17
+ allowNull: false,
18
+ unique: 'User_pk3'
19
+ },
20
+ password: {
21
+ type: DataTypes.STRING,
22
+ allowNull: false
23
+ },
24
+ role: {
25
+ type: DataTypes.ENUM('ADMIN', 'PLAYER'),
26
+ allowNull: false,
27
+ defaultValue: 'PLAYER'
28
+ }
29
+ }, {
30
+ sequelize,
31
+ tableName: 'User',
32
+ schema: 'public',
33
+ timestamps: false,
34
+ indexes: [
35
+ {
36
+ name: 'User_pk',
37
+ unique: true,
38
+ fields: [{ name: 'user_id' }]
39
+ },
40
+ {
41
+ name: 'User_pk2',
42
+ unique: true,
43
+ fields: [{ name: 'username' }]
44
+ },
45
+ {
46
+ name: 'User_pk3',
47
+ unique: true,
48
+ fields: [{ name: 'email' }]
49
+ }
50
+ ]
51
+ });
52
+ }
53
+ }
@@ -0,0 +1,5 @@
1
+ import { CoachAttributes, CoachModel } from '../models';
2
+ import { Coach } from '../../service';
3
+ declare function transformToAttributes(coach: Coach): CoachAttributes;
4
+ declare function transformToObject(model: CoachModel): Coach;
5
+ export { transformToObject as transformToCoach, transformToAttributes as transformFromCoach };
@@ -0,0 +1,25 @@
1
+ import { transformFromFormation, transformToCountry, transformToFormation } from '.';
2
+ import { Coach } from '../../service';
3
+ function transformToAttributes(coach) {
4
+ return {
5
+ coach_id: coach.id,
6
+ country_id: coach.country.id,
7
+ first_name: coach.name.first,
8
+ last_name: coach.name.last,
9
+ substitution_tolerance: coach.substitutionTolerance != null ? coach.substitutionTolerance : 0,
10
+ formation: transformFromFormation(coach.formation)
11
+ };
12
+ }
13
+ function transformToObject(model) {
14
+ return new Coach({
15
+ id: model.coach_id,
16
+ name: {
17
+ first: model.first_name,
18
+ last: model.last_name
19
+ },
20
+ country: transformToCountry(model.country),
21
+ substitutionTolerance: model.substitution_tolerance,
22
+ formation: transformToFormation(model.formation)
23
+ });
24
+ }
25
+ export { transformToObject as transformToCoach, transformToAttributes as transformFromCoach };
@@ -0,0 +1,5 @@
1
+ import { Country } from '../../service';
2
+ import { CountryAttributes, CountryModel } from '../models';
3
+ declare function transformToAttributes(country: Country): CountryAttributes;
4
+ declare function transformToObject(model: CountryModel): Country;
5
+ export { transformToObject as transformToCountry, transformToAttributes as transformFromCountry };
@@ -0,0 +1,16 @@
1
+ import { Country } from '../../service';
2
+ function transformToAttributes(country) {
3
+ return {
4
+ country_id: country.id,
5
+ name: country.name,
6
+ short_name: country.short
7
+ };
8
+ }
9
+ function transformToObject(model) {
10
+ return new Country({
11
+ id: model.country_id,
12
+ name: model.name,
13
+ short: model.short_name
14
+ });
15
+ }
16
+ export { transformToObject as transformToCountry, transformToAttributes as transformFromCountry };
@@ -0,0 +1,5 @@
1
+ import { CourtPosition } from '../../service';
2
+ import { CourtPositionType } from '../models';
3
+ declare function transformToType(position: CourtPosition): CourtPositionType;
4
+ declare function transformFromType(position: CourtPositionType): CourtPosition;
5
+ export { transformToType as transformFromCourtPosition, transformFromType as transformToCourtPosition };
@@ -0,0 +1,27 @@
1
+ import { CourtPosition } from '../../service';
2
+ function transformToType(position) {
3
+ switch (position) {
4
+ case CourtPosition.NOT_IN_COURT:
5
+ return 'NOT_IN_COURT';
6
+ case CourtPosition.LIBERO_ZONE:
7
+ return 'LIBERO_ZONE';
8
+ case CourtPosition.LEFT_FRONT:
9
+ return 'LEFT_FRONT';
10
+ case CourtPosition.MIDDLE_FRONT:
11
+ return 'MIDDLE_FRONT';
12
+ case CourtPosition.RIGHT_FRONT:
13
+ return 'RIGHT_FRONT';
14
+ case CourtPosition.LEFT_BACK:
15
+ return 'LEFT_BACK';
16
+ case CourtPosition.MIDDLE_BACK:
17
+ return 'MIDDLE_BACK';
18
+ case CourtPosition.RIGHT_BACK:
19
+ return 'RIGHT_BACK';
20
+ default:
21
+ throw new Error('UNKNOWN_ROLE');
22
+ }
23
+ }
24
+ function transformFromType(position) {
25
+ return CourtPosition[position];
26
+ }
27
+ export { transformToType as transformFromCourtPosition, transformFromType as transformToCourtPosition };
@@ -0,0 +1,5 @@
1
+ import { DraftPickAttributes, DraftPickModel } from '../models';
2
+ import { DraftPick } from '../../service';
3
+ declare function transformToAttributes(draftPick: DraftPick, draftId: string): DraftPickAttributes;
4
+ declare function transformToObject(model: DraftPickModel): DraftPick;
5
+ export { transformToObject as transformToDraftPick, transformToAttributes as transformFromDraftPick };