volleyballsimtypes 0.0.83 → 0.0.85

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 (65) hide show
  1. package/dist/cjs/src/api/player.d.ts +2 -7
  2. package/dist/cjs/src/api/player.js +0 -10
  3. package/dist/cjs/src/data/init-models.js +66 -0
  4. package/dist/cjs/src/data/models/block.d.ts +24 -2
  5. package/dist/cjs/src/data/models/event-trait.d.ts +23 -0
  6. package/dist/cjs/src/data/models/event-trait.js +42 -0
  7. package/dist/cjs/src/data/models/event.d.ts +12 -1
  8. package/dist/cjs/src/data/models/index.d.ts +3 -0
  9. package/dist/cjs/src/data/models/index.js +3 -0
  10. package/dist/cjs/src/data/models/match.d.ts +1 -1
  11. package/dist/cjs/src/data/models/player-trait.d.ts +23 -0
  12. package/dist/cjs/src/data/models/player-trait.js +42 -0
  13. package/dist/cjs/src/data/models/player.d.ts +14 -7
  14. package/dist/cjs/src/data/models/player.js +0 -4
  15. package/dist/cjs/src/data/models/reception.d.ts +24 -2
  16. package/dist/cjs/src/data/models/season-match.d.ts +1 -1
  17. package/dist/cjs/src/data/models/season.d.ts +3 -3
  18. package/dist/cjs/src/data/models/serve.d.ts +24 -2
  19. package/dist/cjs/src/data/models/set.d.ts +24 -2
  20. package/dist/cjs/src/data/models/spike.d.ts +24 -2
  21. package/dist/cjs/src/data/models/team.d.ts +1 -1
  22. package/dist/cjs/src/data/models/tournament.d.ts +1 -1
  23. package/dist/cjs/src/data/models/trait.d.ts +70 -0
  24. package/dist/cjs/src/data/models/trait.js +50 -0
  25. package/dist/cjs/src/data/transformers/player.js +2 -3
  26. package/dist/cjs/src/data/transformers/trait.d.ts +5 -5
  27. package/dist/cjs/src/data/transformers/trait.js +18 -26
  28. package/dist/cjs/src/service/match/match-set.d.ts +1 -1
  29. package/dist/cjs/src/service/match/rally.d.ts +1 -1
  30. package/dist/cjs/src/service/player/trait.d.ts +2 -3
  31. package/dist/cjs/src/service/player/trait.js +10 -12
  32. package/dist/cjs/src/service/team/team.d.ts +1 -1
  33. package/dist/esm/src/api/player.d.ts +2 -7
  34. package/dist/esm/src/api/player.js +1 -9
  35. package/dist/esm/src/data/init-models.js +67 -1
  36. package/dist/esm/src/data/models/block.d.ts +24 -2
  37. package/dist/esm/src/data/models/event-trait.d.ts +23 -0
  38. package/dist/esm/src/data/models/event-trait.js +38 -0
  39. package/dist/esm/src/data/models/event.d.ts +12 -1
  40. package/dist/esm/src/data/models/index.d.ts +3 -0
  41. package/dist/esm/src/data/models/index.js +3 -0
  42. package/dist/esm/src/data/models/match.d.ts +1 -1
  43. package/dist/esm/src/data/models/player-trait.d.ts +23 -0
  44. package/dist/esm/src/data/models/player-trait.js +38 -0
  45. package/dist/esm/src/data/models/player.d.ts +14 -7
  46. package/dist/esm/src/data/models/player.js +0 -4
  47. package/dist/esm/src/data/models/reception.d.ts +24 -2
  48. package/dist/esm/src/data/models/season-match.d.ts +1 -1
  49. package/dist/esm/src/data/models/season.d.ts +3 -3
  50. package/dist/esm/src/data/models/serve.d.ts +24 -2
  51. package/dist/esm/src/data/models/set.d.ts +24 -2
  52. package/dist/esm/src/data/models/spike.d.ts +24 -2
  53. package/dist/esm/src/data/models/team.d.ts +1 -1
  54. package/dist/esm/src/data/models/tournament.d.ts +1 -1
  55. package/dist/esm/src/data/models/trait.d.ts +70 -0
  56. package/dist/esm/src/data/models/trait.js +46 -0
  57. package/dist/esm/src/data/transformers/player.js +3 -4
  58. package/dist/esm/src/data/transformers/trait.d.ts +5 -5
  59. package/dist/esm/src/data/transformers/trait.js +15 -23
  60. package/dist/esm/src/service/match/match-set.d.ts +1 -1
  61. package/dist/esm/src/service/match/rally.d.ts +1 -1
  62. package/dist/esm/src/service/player/trait.d.ts +2 -3
  63. package/dist/esm/src/service/player/trait.js +10 -12
  64. package/dist/esm/src/service/team/team.d.ts +1 -1
  65. package/package.json +1 -1
@@ -1,12 +1,7 @@
1
1
  import { Country, Name, Role, Stat } from '../service';
2
2
  import { APISetStatistics } from './';
3
- export declare enum APITrait {
4
- MASTER_MIND = "Master Mind",
5
- MOVING_WALL = "Moving Wall",
6
- MARKSMAN = "Marksman",
7
- METEOR_SERVE = "Meteor Serve",
8
- VIGOROUS = "Vigorous",
9
- GUARDIAN = "Guardian"
3
+ export interface APITrait {
4
+ readonly name: string;
10
5
  }
11
6
  export interface APIPlayer {
12
7
  readonly id: string;
@@ -1,12 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.APITrait = void 0;
4
- var APITrait;
5
- (function (APITrait) {
6
- APITrait["MASTER_MIND"] = "Master Mind";
7
- APITrait["MOVING_WALL"] = "Moving Wall";
8
- APITrait["MARKSMAN"] = "Marksman";
9
- APITrait["METEOR_SERVE"] = "Meteor Serve";
10
- APITrait["VIGOROUS"] = "Vigorous";
11
- APITrait["GUARDIAN"] = "Guardian";
12
- })(APITrait = exports.APITrait || (exports.APITrait = {}));
@@ -9,6 +9,7 @@ function initModels(sequelize) {
9
9
  const Draft = models_1.DraftModel.initModel(sequelize);
10
10
  const DraftPick = models_1.DraftPickModel.initModel(sequelize);
11
11
  const Event = models_1.EventModel.initModel(sequelize);
12
+ const EventTrait = models_1.EventTraitModel.initModel(sequelize);
12
13
  const Iteration = models_1.IterationModel.initModel(sequelize);
13
14
  const League = models_1.LeagueModel.initModel(sequelize);
14
15
  const LiberoReplacement = models_1.LiberoReplacementModel.initModel(sequelize);
@@ -19,6 +20,7 @@ function initModels(sequelize) {
19
20
  const PerformanceStats = models_1.PerformanceStatsModel.initModel(sequelize);
20
21
  const Player = models_1.PlayerModel.initModel(sequelize);
21
22
  const PlayerTeam = models_1.PlayerTeamModel.initModel(sequelize);
23
+ const PlayerTrait = models_1.PlayerTraitModel.initModel(sequelize);
22
24
  const Rally = models_1.RallyModel.initModel(sequelize);
23
25
  const RallyPosition = models_1.RallyPositionModel.initModel(sequelize);
24
26
  const Reception = models_1.ReceptionModel.initModel(sequelize);
@@ -34,6 +36,7 @@ function initModels(sequelize) {
34
36
  const Tournament = models_1.TournamentModel.initModel(sequelize);
35
37
  const TournamentMatch = models_1.TournamentMatchModel.initModel(sequelize);
36
38
  const TournamentTeams = models_1.TournamentTeamsModel.initModel(sequelize);
39
+ const Trait = models_1.TraitModel.initModel(sequelize);
37
40
  const User = models_1.UserModel.initModel(sequelize);
38
41
  Draft.hasMany(DraftPick, { as: 'DraftPicks', foreignKey: 'draft_id' });
39
42
  DraftPick.belongsTo(Draft, { as: 'draft', foreignKey: 'draft_id' });
@@ -44,6 +47,13 @@ function initModels(sequelize) {
44
47
  Block.belongsTo(Player, { as: 'Blocker_3', foreignKey: 'blocker_3' });
45
48
  Block.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
46
49
  Block.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
50
+ Block.belongsToMany(Trait, {
51
+ as: 'Traits',
52
+ through: EventTrait,
53
+ foreignKey: 'event_id',
54
+ otherKey: 'trait_id'
55
+ });
56
+ Block.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
47
57
  Coach.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
48
58
  Coach.hasMany(Team, { as: 'Teams', foreignKey: 'coach_id' });
49
59
  Country.hasMany(Coach, { as: 'Coaches', foreignKey: 'country_id' });
@@ -52,6 +62,13 @@ function initModels(sequelize) {
52
62
  Country.hasMany(Team, { as: 'Teams', foreignKey: 'country_id' });
53
63
  Event.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
54
64
  Event.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
65
+ Event.belongsToMany(Trait, {
66
+ as: 'Traits',
67
+ through: EventTrait,
68
+ foreignKey: 'event_id',
69
+ otherKey: 'trait_id'
70
+ });
71
+ EventTrait.belongsTo(Trait, { as: 'trait', foreignKey: 'trait_id' });
55
72
  Iteration.hasMany(Season, { as: 'Seasons', foreignKey: 'iteration' });
56
73
  Iteration.hasOne(Tournament, { as: 'Tournament', foreignKey: 'iteration' });
57
74
  League.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
@@ -122,8 +139,15 @@ function initModels(sequelize) {
122
139
  foreignKey: 'player_id',
123
140
  otherKey: 'rally_id'
124
141
  });
142
+ Player.belongsToMany(Trait, {
143
+ as: 'Traits',
144
+ through: PlayerTrait,
145
+ foreignKey: 'player_id',
146
+ otherKey: 'trait_id'
147
+ });
125
148
  PlayerTeam.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
126
149
  PlayerTeam.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
150
+ PlayerTrait.belongsTo(Trait, { as: 'trait', foreignKey: 'trait_id' });
127
151
  Rally.belongsTo(MatchSet, { as: 'match_set', foreignKey: 'match_set_id' });
128
152
  Rally.belongsTo(Team, { as: 'servingTeam', foreignKey: 'serving_team' });
129
153
  Rally.hasMany(Block, { as: 'Blocks', foreignKey: 'rally_id' });
@@ -146,6 +170,13 @@ function initModels(sequelize) {
146
170
  RallyPosition.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
147
171
  Reception.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
148
172
  Reception.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
173
+ Reception.belongsToMany(Trait, {
174
+ as: 'Traits',
175
+ through: EventTrait,
176
+ foreignKey: 'event_id',
177
+ otherKey: 'trait_id'
178
+ });
179
+ Reception.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
149
180
  Score.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
150
181
  Score.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
151
182
  Score.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
@@ -166,10 +197,31 @@ function initModels(sequelize) {
166
197
  SeasonTeams.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
167
198
  Serve.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
168
199
  Serve.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
200
+ Serve.belongsToMany(Trait, {
201
+ as: 'Traits',
202
+ through: EventTrait,
203
+ foreignKey: 'event_id',
204
+ otherKey: 'trait_id'
205
+ });
206
+ Serve.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
169
207
  Set.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
170
208
  Set.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
209
+ Set.belongsToMany(Trait, {
210
+ as: 'Traits',
211
+ through: EventTrait,
212
+ foreignKey: 'event_id',
213
+ otherKey: 'trait_id'
214
+ });
215
+ Set.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
171
216
  Spike.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
172
217
  Spike.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
218
+ Spike.belongsToMany(Trait, {
219
+ as: 'Traits',
220
+ through: EventTrait,
221
+ foreignKey: 'event_id',
222
+ otherKey: 'trait_id'
223
+ });
224
+ Spike.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
173
225
  Substitution.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
174
226
  Substitution.belongsTo(Player, { as: 'playerOut', foreignKey: 'player_out' });
175
227
  Substitution.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
@@ -219,6 +271,20 @@ function initModels(sequelize) {
219
271
  TournamentMatch.belongsTo(Tournament, { as: 'tournament', foreignKey: 'tournament_id' });
220
272
  TournamentTeams.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
221
273
  TournamentTeams.belongsTo(Tournament, { as: 'tournament', foreignKey: 'tournament_id' });
274
+ Trait.belongsToMany(Event, {
275
+ as: 'Events',
276
+ through: EventTrait,
277
+ foreignKey: 'trait_id',
278
+ otherKey: 'event_id'
279
+ });
280
+ Trait.belongsToMany(Player, {
281
+ as: 'Players',
282
+ through: PlayerTrait,
283
+ foreignKey: 'trait_id',
284
+ otherKey: 'player_id'
285
+ });
286
+ Trait.hasMany(PlayerTrait, { as: 'PlayerTraits', foreignKey: 'trait_id' });
287
+ Trait.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'trait_id' });
222
288
  return {
223
289
  Block,
224
290
  Coach,
@@ -1,6 +1,6 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model, Optional } from 'sequelize';
3
- import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitType } from '.';
3
+ import { CourtTarget, EventTraitAttributes, EventTraitId, EventTraitModel, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface BlockAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -15,6 +15,7 @@ export interface BlockAttributes {
15
15
  blocker_3?: string;
16
16
  modifier: number;
17
17
  score: number;
18
+ EventTraits?: EventTraitAttributes[];
18
19
  }
19
20
  export type BlockType = 'NO_BLOCKER' | 'SINGLE' | 'DOUBLE' | 'TRIPLE';
20
21
  export type BlockFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'OUT_OF_BOUNDS' | 'WIPE' | 'TOOL';
@@ -36,7 +37,6 @@ export declare class BlockModel extends Model<BlockAttributes, BlockCreationAttr
36
37
  blocker_3?: string;
37
38
  modifier: number;
38
39
  score: number;
39
- active_traits: TraitType[];
40
40
  player: PlayerModel;
41
41
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
42
42
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -57,5 +57,27 @@ export declare class BlockModel extends Model<BlockAttributes, BlockCreationAttr
57
57
  getRally: Sequelize.BelongsToGetAssociationMixin<RallyModel>;
58
58
  setRally: Sequelize.BelongsToSetAssociationMixin<RallyModel, RallyId>;
59
59
  createRally: Sequelize.BelongsToCreateAssociationMixin<RallyModel>;
60
+ Traits: TraitModel[];
61
+ getTraits: Sequelize.BelongsToManyGetAssociationsMixin<TraitModel>;
62
+ setTraits: Sequelize.BelongsToManySetAssociationsMixin<TraitModel, TraitId>;
63
+ addTrait: Sequelize.BelongsToManyAddAssociationMixin<TraitModel, TraitId>;
64
+ addTraits: Sequelize.BelongsToManyAddAssociationsMixin<TraitModel, TraitId>;
65
+ createTrait: Sequelize.BelongsToManyCreateAssociationMixin<TraitModel>;
66
+ removeTrait: Sequelize.BelongsToManyRemoveAssociationMixin<TraitModel, TraitId>;
67
+ removeTraits: Sequelize.BelongsToManyRemoveAssociationsMixin<TraitModel, TraitId>;
68
+ hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
69
+ hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
70
+ countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
71
+ EventTraits: EventTraitModel[];
72
+ getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
73
+ setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
74
+ addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
75
+ addEventTraits: Sequelize.HasManyAddAssociationsMixin<EventTraitModel, EventTraitId>;
76
+ createEventTrait: Sequelize.HasManyCreateAssociationMixin<EventTraitModel>;
77
+ removeEventTrait: Sequelize.HasManyRemoveAssociationMixin<EventTraitModel, EventTraitId>;
78
+ removeEventTraits: Sequelize.HasManyRemoveAssociationsMixin<EventTraitModel, EventTraitId>;
79
+ hasEventTrait: Sequelize.HasManyHasAssociationMixin<EventTraitModel, EventTraitId>;
80
+ hasEventTraits: Sequelize.HasManyHasAssociationsMixin<EventTraitModel, EventTraitId>;
81
+ countEventTraits: Sequelize.HasManyCountAssociationsMixin;
60
82
  static initModel(sequelize: Sequelize.Sequelize): typeof BlockModel;
61
83
  }
@@ -0,0 +1,23 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import type { EventId, EventModel, TraitId, TraitModel } from '.';
4
+ export interface EventTraitAttributes {
5
+ event_id: string;
6
+ trait_id: string;
7
+ }
8
+ export type EventTraitPk = 'event_id' | 'trait_id';
9
+ export type EventTraitId = EventTraitModel[EventTraitPk];
10
+ export type EventTraitCreationAttributes = EventTraitAttributes;
11
+ export declare class EventTraitModel extends Model<EventTraitAttributes, EventTraitCreationAttributes> implements EventTraitAttributes {
12
+ event_id: string;
13
+ trait_id: string;
14
+ event: EventModel;
15
+ getEvent: Sequelize.BelongsToGetAssociationMixin<EventModel>;
16
+ setEvent: Sequelize.BelongsToSetAssociationMixin<EventModel, EventId>;
17
+ createEvent: Sequelize.BelongsToCreateAssociationMixin<EventModel>;
18
+ trait: TraitModel;
19
+ getTrait: Sequelize.BelongsToGetAssociationMixin<TraitModel>;
20
+ setTrait: Sequelize.BelongsToSetAssociationMixin<TraitModel, TraitId>;
21
+ createTrait: Sequelize.BelongsToCreateAssociationMixin<TraitModel>;
22
+ static initModel(sequelize: Sequelize.Sequelize): typeof EventTraitModel;
23
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventTraitModel = void 0;
4
+ const sequelize_1 = require("sequelize");
5
+ class EventTraitModel extends sequelize_1.Model {
6
+ static initModel(sequelize) {
7
+ return EventTraitModel.init({
8
+ event_id: {
9
+ type: sequelize_1.DataTypes.UUID,
10
+ allowNull: false,
11
+ primaryKey: true,
12
+ references: {
13
+ model: 'Event',
14
+ key: 'event_id'
15
+ }
16
+ },
17
+ trait_id: {
18
+ type: sequelize_1.DataTypes.UUID,
19
+ allowNull: false,
20
+ primaryKey: true,
21
+ references: {
22
+ model: 'Trait',
23
+ key: 'trait_id'
24
+ }
25
+ }
26
+ }, {
27
+ sequelize,
28
+ tableName: 'EventTrait',
29
+ schema: 'public',
30
+ timestamps: false,
31
+ indexes: [{
32
+ name: 'eventtrait_pk',
33
+ unique: true,
34
+ fields: [
35
+ { name: 'event_id' },
36
+ { name: 'trait_id' },
37
+ ]
38
+ }]
39
+ });
40
+ }
41
+ }
42
+ exports.EventTraitModel = EventTraitModel;
@@ -1,6 +1,6 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { PlayerId, PlayerModel, RallyId, RallyModel } from '.';
3
+ import { PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface EventAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -27,5 +27,16 @@ export declare class EventModel extends Model<EventAttributes, EventCreationAttr
27
27
  getRally: Sequelize.BelongsToGetAssociationMixin<RallyModel>;
28
28
  setRally: Sequelize.BelongsToSetAssociationMixin<RallyModel, RallyId>;
29
29
  createRally: Sequelize.BelongsToCreateAssociationMixin<RallyModel>;
30
+ Traits: TraitModel[];
31
+ getTraits: Sequelize.BelongsToManyGetAssociationsMixin<TraitModel>;
32
+ setTraits: Sequelize.BelongsToManySetAssociationsMixin<TraitModel, TraitId>;
33
+ addTrait: Sequelize.BelongsToManyAddAssociationMixin<TraitModel, TraitId>;
34
+ addTraits: Sequelize.BelongsToManyAddAssociationsMixin<TraitModel, TraitId>;
35
+ createTrait: Sequelize.BelongsToManyCreateAssociationMixin<TraitModel>;
36
+ removeTrait: Sequelize.BelongsToManyRemoveAssociationMixin<TraitModel, TraitId>;
37
+ removeTraits: Sequelize.BelongsToManyRemoveAssociationsMixin<TraitModel, TraitId>;
38
+ hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
39
+ hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
40
+ countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
30
41
  static initModel(sequelize: Sequelize.Sequelize): typeof EventModel;
31
42
  }
@@ -4,6 +4,7 @@ export * from './country';
4
4
  export * from './draft';
5
5
  export * from './draft-pick';
6
6
  export * from './event';
7
+ export * from './event-trait';
7
8
  export * from './iteration';
8
9
  export * from './league';
9
10
  export * from './libero-replacement';
@@ -14,6 +15,7 @@ export * from './match-set-stats';
14
15
  export * from './performance-stats';
15
16
  export * from './player';
16
17
  export * from './player-team';
18
+ export * from './player-trait';
17
19
  export * from './rally';
18
20
  export * from './rally-position';
19
21
  export * from './reception';
@@ -30,3 +32,4 @@ export * from './tournament';
30
32
  export * from './tournament-match';
31
33
  export * from './tournament-teams';
32
34
  export * from './user';
35
+ export * from './trait';
@@ -20,6 +20,7 @@ __exportStar(require("./country"), exports);
20
20
  __exportStar(require("./draft"), exports);
21
21
  __exportStar(require("./draft-pick"), exports);
22
22
  __exportStar(require("./event"), exports);
23
+ __exportStar(require("./event-trait"), exports);
23
24
  __exportStar(require("./iteration"), exports);
24
25
  __exportStar(require("./league"), exports);
25
26
  __exportStar(require("./libero-replacement"), exports);
@@ -30,6 +31,7 @@ __exportStar(require("./match-set-stats"), exports);
30
31
  __exportStar(require("./performance-stats"), exports);
31
32
  __exportStar(require("./player"), exports);
32
33
  __exportStar(require("./player-team"), exports);
34
+ __exportStar(require("./player-trait"), exports);
33
35
  __exportStar(require("./rally"), exports);
34
36
  __exportStar(require("./rally-position"), exports);
35
37
  __exportStar(require("./reception"), exports);
@@ -46,3 +48,4 @@ __exportStar(require("./tournament"), exports);
46
48
  __exportStar(require("./tournament-match"), exports);
47
49
  __exportStar(require("./tournament-teams"), exports);
48
50
  __exportStar(require("./user"), exports);
51
+ __exportStar(require("./trait"), exports);
@@ -19,6 +19,7 @@ export declare class MatchModel extends Model<MatchAttributes, MatchCreationAttr
19
19
  away_team: string;
20
20
  scheduled_date: Date;
21
21
  is_simulated: boolean;
22
+ MatchSets: MatchSetModel[];
22
23
  MatchRatings: MatchRatingModel[];
23
24
  getMatchRatings: Sequelize.HasManyGetAssociationsMixin<MatchRatingModel>;
24
25
  setMatchRatings: Sequelize.HasManySetAssociationsMixin<MatchRatingModel, MatchRatingId>;
@@ -30,7 +31,6 @@ export declare class MatchModel extends Model<MatchAttributes, MatchCreationAttr
30
31
  hasMatchRating: Sequelize.HasManyHasAssociationMixin<MatchRatingModel, MatchRatingId>;
31
32
  hasMatchRatings: Sequelize.HasManyHasAssociationsMixin<MatchRatingModel, MatchRatingId>;
32
33
  countMatchRatings: Sequelize.HasManyCountAssociationsMixin;
33
- MatchSets: MatchSetModel[];
34
34
  getMatchSets: Sequelize.HasManyGetAssociationsMixin<MatchSetModel>;
35
35
  setMatchSets: Sequelize.HasManySetAssociationsMixin<MatchSetModel, MatchSetId>;
36
36
  addMatchSet: Sequelize.HasManyAddAssociationMixin<MatchSetModel, MatchSetId>;
@@ -0,0 +1,23 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import type { PlayerId, PlayerModel, TraitId, TraitModel } from '.';
4
+ export interface PlayerTraitAttributes {
5
+ player_id: string;
6
+ trait_id: string;
7
+ }
8
+ export type PlayerTraitPk = 'player_id' | 'trait_id';
9
+ export type PlayerTraitId = PlayerTraitModel[PlayerTraitPk];
10
+ export type PlayerTraitCreationAttributes = PlayerTraitAttributes;
11
+ export declare class PlayerTraitModel extends Model<PlayerTraitAttributes, PlayerTraitCreationAttributes> implements PlayerTraitAttributes {
12
+ player_id: string;
13
+ trait_id: string;
14
+ player: PlayerModel;
15
+ getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
16
+ setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
17
+ createPlayer: Sequelize.BelongsToCreateAssociationMixin<PlayerModel>;
18
+ trait: TraitModel;
19
+ getTrait: Sequelize.BelongsToGetAssociationMixin<TraitModel>;
20
+ setTrait: Sequelize.BelongsToSetAssociationMixin<TraitModel, TraitId>;
21
+ createTrait: Sequelize.BelongsToCreateAssociationMixin<TraitModel>;
22
+ static initModel(sequelize: Sequelize.Sequelize): typeof PlayerTraitModel;
23
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PlayerTraitModel = void 0;
4
+ const sequelize_1 = require("sequelize");
5
+ class PlayerTraitModel extends sequelize_1.Model {
6
+ static initModel(sequelize) {
7
+ return PlayerTraitModel.init({
8
+ player_id: {
9
+ type: sequelize_1.DataTypes.UUID,
10
+ allowNull: false,
11
+ primaryKey: true,
12
+ references: {
13
+ model: 'Player',
14
+ key: 'player_id'
15
+ }
16
+ },
17
+ trait_id: {
18
+ type: sequelize_1.DataTypes.UUID,
19
+ allowNull: false,
20
+ primaryKey: true,
21
+ references: {
22
+ model: 'Trait',
23
+ key: 'trait_id'
24
+ }
25
+ }
26
+ }, {
27
+ sequelize,
28
+ tableName: 'PlayerTrait',
29
+ schema: 'public',
30
+ timestamps: false,
31
+ indexes: [{
32
+ name: 'playertrait_pk',
33
+ unique: true,
34
+ fields: [
35
+ { name: 'trait_id' },
36
+ { name: 'player_id' },
37
+ ]
38
+ }]
39
+ });
40
+ }
41
+ }
42
+ exports.PlayerTraitModel = PlayerTraitModel;
@@ -1,19 +1,16 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import type { BlockId, CountryId, DraftPickId, EventId, LiberoReplacementId, MatchSetId, MatchSetStatsId, PerformanceStatsId, PlayerTeamId, RallyId, RallyPositionId, ReceptionId, ScoreId, ServeId, SetId, SpikeId, SubstitutionId } from '.';
4
- import { BlockModel, CountryModel, DraftPickModel, EventModel, LiberoReplacementModel, MatchSetModel, MatchSetStatsAttributes, MatchSetStatsModel, PerformanceStatsAttributes, PerformanceStatsModel, PlayerTeamModel, RallyModel, RallyPositionModel, ReceptionModel, ScoreModel, ServeModel, SetModel, SpikeModel, SubstitutionModel } from '.';
3
+ import { BlockId, BlockModel, CountryId, CountryModel, DraftPickId, DraftPickModel, EventId, EventModel, LiberoReplacementId, LiberoReplacementModel, MatchSetId, MatchSetModel, MatchSetStatsAttributes, MatchSetStatsId, MatchSetStatsModel, PerformanceStatsAttributes, PerformanceStatsId, PerformanceStatsModel, PlayerTeamId, PlayerTeamModel, RallyId, RallyModel, RallyPositionId, RallyPositionModel, ReceptionId, ReceptionModel, ScoreId, ScoreModel, ServeId, ServeModel, SetId, SetModel, SpikeId, SpikeModel, SubstitutionId, SubstitutionModel, TraitId, TraitModel } from '.';
5
4
  export interface PlayerAttributes {
6
5
  player_id: string;
7
6
  roles: RoleType[];
8
7
  first_name: string;
9
8
  last_name: string;
10
9
  country_id: string;
11
- traits: TraitType[];
12
10
  PerformanceStat?: PerformanceStatsAttributes;
13
11
  MatchSetStats?: MatchSetStatsAttributes[];
14
12
  }
15
13
  export type RoleType = 'SETTER' | 'LIBERO' | 'OUTSIDE_HITTER' | 'OPPOSITE_HITTER' | 'MIDDLE_BLOCKER' | 'DEFENSIVE_SPECIALIST';
16
- export type TraitType = 'MARKSMAN' | 'MOVING_WALL' | 'MASTER_MIND' | 'METEOR_SERVE' | 'VIGOROUS' | 'GUARDIAN';
17
14
  export type PlayerPk = 'player_id';
18
15
  export type PlayerId = PlayerModel[PlayerPk];
19
16
  export type PlayerCreationAttributes = PlayerAttributes;
@@ -23,7 +20,8 @@ export declare class PlayerModel extends Model<PlayerAttributes, PlayerCreationA
23
20
  first_name: string;
24
21
  last_name: string;
25
22
  country_id: string;
26
- traits: TraitType[];
23
+ PerformanceStat: PerformanceStatsModel;
24
+ MatchSetStats: MatchSetStatsModel[];
27
25
  country: CountryModel;
28
26
  getCountry: Sequelize.BelongsToGetAssociationMixin<CountryModel>;
29
27
  setCountry: Sequelize.BelongsToSetAssociationMixin<CountryModel, CountryId>;
@@ -142,7 +140,6 @@ export declare class PlayerModel extends Model<PlayerAttributes, PlayerCreationA
142
140
  hasMatchSet: Sequelize.BelongsToManyHasAssociationMixin<MatchSetModel, MatchSetId>;
143
141
  hasMatchSets: Sequelize.BelongsToManyHasAssociationsMixin<MatchSetModel, MatchSetId>;
144
142
  countMatchSets: Sequelize.BelongsToManyCountAssociationsMixin;
145
- MatchSetStats: MatchSetStatsModel[];
146
143
  getMatchSetStats: Sequelize.HasManyGetAssociationsMixin<MatchSetStatsModel>;
147
144
  setMatchSetStats: Sequelize.HasManySetAssociationsMixin<MatchSetStatsModel, MatchSetStatsId>;
148
145
  addMatchSetStat: Sequelize.HasManyAddAssociationMixin<MatchSetStatsModel, MatchSetStatsId>;
@@ -153,7 +150,6 @@ export declare class PlayerModel extends Model<PlayerAttributes, PlayerCreationA
153
150
  hasMatchSetStat: Sequelize.HasManyHasAssociationMixin<MatchSetStatsModel, MatchSetStatsId>;
154
151
  hasMatchSetStats: Sequelize.HasManyHasAssociationsMixin<MatchSetStatsModel, MatchSetStatsId>;
155
152
  countMatchSetStats: Sequelize.HasManyCountAssociationsMixin;
156
- PerformanceStat: PerformanceStatsModel;
157
153
  getPerformanceStat: Sequelize.HasOneGetAssociationMixin<PerformanceStatsModel>;
158
154
  setPerformanceStat: Sequelize.HasOneSetAssociationMixin<PerformanceStatsModel, PerformanceStatsId>;
159
155
  createPerformanceStat: Sequelize.HasOneCreateAssociationMixin<PerformanceStatsModel>;
@@ -260,5 +256,16 @@ export declare class PlayerModel extends Model<PlayerAttributes, PlayerCreationA
260
256
  hasInSubstitution: Sequelize.HasManyHasAssociationMixin<SubstitutionModel, SubstitutionId>;
261
257
  hasInSubstitutions: Sequelize.HasManyHasAssociationsMixin<SubstitutionModel, SubstitutionId>;
262
258
  countInSubstitutions: Sequelize.HasManyCountAssociationsMixin;
259
+ Traits: TraitModel[];
260
+ getTraits: Sequelize.BelongsToManyGetAssociationsMixin<TraitModel>;
261
+ setTraits: Sequelize.BelongsToManySetAssociationsMixin<TraitModel, TraitId>;
262
+ addTrait: Sequelize.BelongsToManyAddAssociationMixin<TraitModel, TraitId>;
263
+ addTraits: Sequelize.BelongsToManyAddAssociationsMixin<TraitModel, TraitId>;
264
+ createTrait: Sequelize.BelongsToManyCreateAssociationMixin<TraitModel>;
265
+ removeTrait: Sequelize.BelongsToManyRemoveAssociationMixin<TraitModel, TraitId>;
266
+ removeTraits: Sequelize.BelongsToManyRemoveAssociationsMixin<TraitModel, TraitId>;
267
+ hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
268
+ hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
269
+ countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
263
270
  static initModel(sequelize: Sequelize.Sequelize): typeof PlayerModel;
264
271
  }
@@ -29,10 +29,6 @@ class PlayerModel extends sequelize_1.Model {
29
29
  model: 'Country',
30
30
  key: 'country_id'
31
31
  }
32
- },
33
- traits: {
34
- type: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.ENUM('MARKSMAN', 'MOVING_WALL', 'MASTER_MIND', 'METEOR_SERVE', 'VIGOROUS', 'GUARDIAN')),
35
- allowNull: false
36
32
  }
37
33
  }, {
38
34
  sequelize,
@@ -1,6 +1,6 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitType } from '.';
3
+ import { CourtTarget, EventTraitAttributes, EventTraitId, EventTraitModel, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface ReceptionAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -12,6 +12,7 @@ export interface ReceptionAttributes {
12
12
  player_id: string;
13
13
  modifier: number;
14
14
  score: number;
15
+ EventTraits?: EventTraitAttributes[];
15
16
  }
16
17
  export type ReceptionFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'OUT_OF_BOUNDS' | 'BAD_PASS';
17
18
  export type ReceptionType = 'DIG' | 'OVERHAND' | 'ONE_HAND' | 'OTHER_BODY_PART';
@@ -29,7 +30,6 @@ export declare class ReceptionModel extends Model<ReceptionAttributes, Reception
29
30
  player_id: string;
30
31
  modifier: number;
31
32
  score: number;
32
- active_traits: TraitType[];
33
33
  player: PlayerModel;
34
34
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
35
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -38,5 +38,27 @@ export declare class ReceptionModel extends Model<ReceptionAttributes, Reception
38
38
  getRally: Sequelize.BelongsToGetAssociationMixin<RallyModel>;
39
39
  setRally: Sequelize.BelongsToSetAssociationMixin<RallyModel, RallyId>;
40
40
  createRally: Sequelize.BelongsToCreateAssociationMixin<RallyModel>;
41
+ Traits: TraitModel[];
42
+ getTraits: Sequelize.BelongsToManyGetAssociationsMixin<TraitModel>;
43
+ setTraits: Sequelize.BelongsToManySetAssociationsMixin<TraitModel, TraitId>;
44
+ addTrait: Sequelize.BelongsToManyAddAssociationMixin<TraitModel, TraitId>;
45
+ addTraits: Sequelize.BelongsToManyAddAssociationsMixin<TraitModel, TraitId>;
46
+ createTrait: Sequelize.BelongsToManyCreateAssociationMixin<TraitModel>;
47
+ removeTrait: Sequelize.BelongsToManyRemoveAssociationMixin<TraitModel, TraitId>;
48
+ removeTraits: Sequelize.BelongsToManyRemoveAssociationsMixin<TraitModel, TraitId>;
49
+ hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
50
+ hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
51
+ countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
52
+ EventTraits: EventTraitModel[];
53
+ getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
54
+ setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
55
+ addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
56
+ addEventTraits: Sequelize.HasManyAddAssociationsMixin<EventTraitModel, EventTraitId>;
57
+ createEventTrait: Sequelize.HasManyCreateAssociationMixin<EventTraitModel>;
58
+ removeEventTrait: Sequelize.HasManyRemoveAssociationMixin<EventTraitModel, EventTraitId>;
59
+ removeEventTraits: Sequelize.HasManyRemoveAssociationsMixin<EventTraitModel, EventTraitId>;
60
+ hasEventTrait: Sequelize.HasManyHasAssociationMixin<EventTraitModel, EventTraitId>;
61
+ hasEventTraits: Sequelize.HasManyHasAssociationsMixin<EventTraitModel, EventTraitId>;
62
+ countEventTraits: Sequelize.HasManyCountAssociationsMixin;
41
63
  static initModel(sequelize: Sequelize.Sequelize): typeof ReceptionModel;
42
64
  }
@@ -13,11 +13,11 @@ export type SeasonMatchCreationAttributes = SeasonMatchAttributes;
13
13
  export declare class SeasonMatchModel extends Model<SeasonMatchAttributes, SeasonMatchCreationAttributes> implements SeasonMatchAttributes {
14
14
  season_id: string;
15
15
  match_id: string;
16
+ match: MatchModel;
16
17
  season: SeasonModel;
17
18
  getSeason: Sequelize.BelongsToGetAssociationMixin<SeasonModel>;
18
19
  setSeason: Sequelize.BelongsToSetAssociationMixin<SeasonModel, SeasonId>;
19
20
  createSeason: Sequelize.BelongsToCreateAssociationMixin<SeasonModel>;
20
- match: MatchModel;
21
21
  getMatch: Sequelize.BelongsToGetAssociationMixin<MatchModel>;
22
22
  setMatch: Sequelize.BelongsToSetAssociationMixin<MatchModel, MatchId>;
23
23
  createMatch: Sequelize.BelongsToCreateAssociationMixin<MatchModel>;
@@ -18,11 +18,13 @@ export declare class SeasonModel extends Model<SeasonAttributes, SeasonCreationA
18
18
  season_id: string;
19
19
  iteration: number;
20
20
  league_id: string;
21
+ seasonTeams: TeamModel[];
22
+ SeasonMatches: SeasonMatchModel[];
23
+ league: LeagueModel;
21
24
  Iteration: IterationModel;
22
25
  getIteration: Sequelize.BelongsToGetAssociationMixin<IterationModel>;
23
26
  setIteration: Sequelize.BelongsToSetAssociationMixin<IterationModel, IterationId>;
24
27
  createIteration: Sequelize.BelongsToCreateAssociationMixin<IterationModel>;
25
- league: LeagueModel;
26
28
  getLeague: Sequelize.BelongsToGetAssociationMixin<LeagueModel>;
27
29
  setLeague: Sequelize.BelongsToSetAssociationMixin<LeagueModel, LeagueId>;
28
30
  createLeague: Sequelize.BelongsToCreateAssociationMixin<LeagueModel>;
@@ -37,7 +39,6 @@ export declare class SeasonModel extends Model<SeasonAttributes, SeasonCreationA
37
39
  hasSeasonTeam: Sequelize.HasManyHasAssociationMixin<SeasonTeamsModel, SeasonTeamsId>;
38
40
  hasSeasonTeams: Sequelize.HasManyHasAssociationsMixin<SeasonTeamsModel, SeasonTeamsId>;
39
41
  countSeasonTeams: Sequelize.HasManyCountAssociationsMixin;
40
- seasonTeams: TeamModel[];
41
42
  getseasonTeams: Sequelize.BelongsToManyGetAssociationsMixin<TeamModel>;
42
43
  setseasonTeams: Sequelize.BelongsToManySetAssociationsMixin<TeamModel, TeamId>;
43
44
  addTeam_id_Team: Sequelize.BelongsToManyAddAssociationMixin<TeamModel, TeamId>;
@@ -48,7 +49,6 @@ export declare class SeasonModel extends Model<SeasonAttributes, SeasonCreationA
48
49
  hasTeam_id_Team: Sequelize.BelongsToManyHasAssociationMixin<TeamModel, TeamId>;
49
50
  hasseasonTeams: Sequelize.BelongsToManyHasAssociationsMixin<TeamModel, TeamId>;
50
51
  countseasonTeams: Sequelize.BelongsToManyCountAssociationsMixin;
51
- SeasonMatches: SeasonMatchModel[];
52
52
  getSeasonMatches: Sequelize.HasManyGetAssociationsMixin<SeasonMatchModel>;
53
53
  setSeasonMatches: Sequelize.HasManySetAssociationsMixin<SeasonMatchModel, SeasonMatchId>;
54
54
  addSeasonMatch: Sequelize.HasManyAddAssociationMixin<SeasonMatchModel, SeasonMatchId>;