volleyballsimtypes 0.0.85 → 0.0.87

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 (33) hide show
  1. package/dist/cjs/src/data/init-models.js +11 -48
  2. package/dist/cjs/src/data/models/block.d.ts +1 -1
  3. package/dist/cjs/src/data/models/event-trait.d.ts +36 -9
  4. package/dist/cjs/src/data/models/event-trait.js +41 -9
  5. package/dist/cjs/src/data/models/event.d.ts +1 -12
  6. package/dist/cjs/src/data/models/reception.d.ts +1 -1
  7. package/dist/cjs/src/data/models/serve.d.ts +1 -1
  8. package/dist/cjs/src/data/models/set.d.ts +1 -1
  9. package/dist/cjs/src/data/models/spike.d.ts +1 -1
  10. package/dist/cjs/src/data/models/trait.d.ts +1 -12
  11. package/dist/cjs/src/data/transformers/block.js +8 -2
  12. package/dist/cjs/src/data/transformers/reception.d.ts +1 -1
  13. package/dist/cjs/src/data/transformers/reception.js +18 -12
  14. package/dist/cjs/src/data/transformers/serve.js +8 -2
  15. package/dist/cjs/src/data/transformers/set.js +8 -2
  16. package/dist/cjs/src/data/transformers/spike.js +8 -2
  17. package/dist/esm/src/data/init-models.js +11 -48
  18. package/dist/esm/src/data/models/block.d.ts +1 -1
  19. package/dist/esm/src/data/models/event-trait.d.ts +36 -9
  20. package/dist/esm/src/data/models/event-trait.js +41 -9
  21. package/dist/esm/src/data/models/event.d.ts +1 -12
  22. package/dist/esm/src/data/models/reception.d.ts +1 -1
  23. package/dist/esm/src/data/models/serve.d.ts +1 -1
  24. package/dist/esm/src/data/models/set.d.ts +1 -1
  25. package/dist/esm/src/data/models/spike.d.ts +1 -1
  26. package/dist/esm/src/data/models/trait.d.ts +1 -12
  27. package/dist/esm/src/data/transformers/block.js +9 -3
  28. package/dist/esm/src/data/transformers/reception.d.ts +1 -1
  29. package/dist/esm/src/data/transformers/reception.js +19 -13
  30. package/dist/esm/src/data/transformers/serve.js +9 -3
  31. package/dist/esm/src/data/transformers/set.js +9 -3
  32. package/dist/esm/src/data/transformers/spike.js +9 -3
  33. package/package.json +1 -1
@@ -47,13 +47,7 @@ function initModels(sequelize) {
47
47
  Block.belongsTo(Player, { as: 'Blocker_3', foreignKey: 'blocker_3' });
48
48
  Block.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
49
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' });
50
+ Block.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'block_id' });
57
51
  Coach.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
58
52
  Coach.hasMany(Team, { as: 'Teams', foreignKey: 'coach_id' });
59
53
  Country.hasMany(Coach, { as: 'Coaches', foreignKey: 'country_id' });
@@ -62,13 +56,12 @@ function initModels(sequelize) {
62
56
  Country.hasMany(Team, { as: 'Teams', foreignKey: 'country_id' });
63
57
  Event.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
64
58
  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' });
59
+ EventTrait.belongsTo(Block, { as: 'Block', foreignKey: 'block_id' });
60
+ EventTrait.belongsTo(Reception, { as: 'Reception', foreignKey: 'reception_id' });
61
+ EventTrait.belongsTo(Serve, { as: 'Serve', foreignKey: 'serve_id' });
62
+ EventTrait.belongsTo(Set, { as: 'Set', foreignKey: 'set_id' });
63
+ EventTrait.belongsTo(Spike, { as: 'Spike', foreignKey: 'spike_id' });
64
+ EventTrait.belongsTo(Trait, { as: 'Trait', foreignKey: 'trait_id' });
72
65
  Iteration.hasMany(Season, { as: 'Seasons', foreignKey: 'iteration' });
73
66
  Iteration.hasOne(Tournament, { as: 'Tournament', foreignKey: 'iteration' });
74
67
  League.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
@@ -170,13 +163,7 @@ function initModels(sequelize) {
170
163
  RallyPosition.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
171
164
  Reception.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
172
165
  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' });
166
+ Reception.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'reception_id' });
180
167
  Score.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
181
168
  Score.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
182
169
  Score.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
@@ -197,31 +184,13 @@ function initModels(sequelize) {
197
184
  SeasonTeams.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
198
185
  Serve.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
199
186
  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' });
187
+ Serve.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'serve_id' });
207
188
  Set.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
208
189
  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' });
190
+ Set.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'set_id' });
216
191
  Spike.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
217
192
  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' });
193
+ Spike.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'spike_id' });
225
194
  Substitution.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
226
195
  Substitution.belongsTo(Player, { as: 'playerOut', foreignKey: 'player_out' });
227
196
  Substitution.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
@@ -271,12 +240,6 @@ function initModels(sequelize) {
271
240
  TournamentMatch.belongsTo(Tournament, { as: 'tournament', foreignKey: 'tournament_id' });
272
241
  TournamentTeams.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
273
242
  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
243
  Trait.belongsToMany(Player, {
281
244
  as: 'Players',
282
245
  through: PlayerTrait,
@@ -37,6 +37,7 @@ export declare class BlockModel extends Model<BlockAttributes, BlockCreationAttr
37
37
  blocker_3?: string;
38
38
  modifier: number;
39
39
  score: number;
40
+ EventTraits: EventTraitModel[];
40
41
  player: PlayerModel;
41
42
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
42
43
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -68,7 +69,6 @@ export declare class BlockModel extends Model<BlockAttributes, BlockCreationAttr
68
69
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
69
70
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
70
71
  countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
71
- EventTraits: EventTraitModel[];
72
72
  getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
73
73
  setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
74
74
  addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
@@ -1,21 +1,48 @@
1
1
  import * as Sequelize from 'sequelize';
2
- import { Model } from 'sequelize';
3
- import type { EventId, EventModel, TraitId, TraitModel } from '.';
2
+ import { Model, Optional } from 'sequelize';
3
+ import type { BlockId, BlockModel, ReceptionId, ReceptionModel, ServeId, ServeModel, SetId, SetModel, SpikeId, SpikeModel, TraitId, TraitModel } from '.';
4
4
  export interface EventTraitAttributes {
5
+ block_id?: string;
6
+ reception_id?: string;
7
+ serve_id?: string;
8
+ set_id?: string;
9
+ spike_id?: string;
5
10
  event_id: string;
6
11
  trait_id: string;
7
12
  }
8
- export type EventTraitPk = 'event_id' | 'trait_id';
13
+ export type EventTraitPk = 'event_id';
9
14
  export type EventTraitId = EventTraitModel[EventTraitPk];
10
- export type EventTraitCreationAttributes = EventTraitAttributes;
15
+ export type EventTraitOptionalAttributes = 'block_id' | 'reception_id' | 'serve_id' | 'set_id' | 'spike_id';
16
+ export type EventTraitCreationAttributes = Optional<EventTraitAttributes, EventTraitOptionalAttributes>;
11
17
  export declare class EventTraitModel extends Model<EventTraitAttributes, EventTraitCreationAttributes> implements EventTraitAttributes {
18
+ block_id?: string;
19
+ reception_id?: string;
20
+ serve_id?: string;
21
+ set_id?: string;
22
+ spike_id?: string;
12
23
  event_id: string;
13
24
  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;
25
+ Block: BlockModel;
26
+ getBlock: Sequelize.BelongsToGetAssociationMixin<BlockModel>;
27
+ setBlock: Sequelize.BelongsToSetAssociationMixin<BlockModel, BlockId>;
28
+ createBlock: Sequelize.BelongsToCreateAssociationMixin<BlockModel>;
29
+ Reception: ReceptionModel;
30
+ getReception: Sequelize.BelongsToGetAssociationMixin<ReceptionModel>;
31
+ setReception: Sequelize.BelongsToSetAssociationMixin<ReceptionModel, ReceptionId>;
32
+ createReception: Sequelize.BelongsToCreateAssociationMixin<ReceptionModel>;
33
+ Serve: ServeModel;
34
+ getServe: Sequelize.BelongsToGetAssociationMixin<ServeModel>;
35
+ setServe: Sequelize.BelongsToSetAssociationMixin<ServeModel, ServeId>;
36
+ createServe: Sequelize.BelongsToCreateAssociationMixin<ServeModel>;
37
+ Set: SetModel;
38
+ getSet: Sequelize.BelongsToGetAssociationMixin<SetModel>;
39
+ setSet: Sequelize.BelongsToSetAssociationMixin<SetModel, SetId>;
40
+ createSet: Sequelize.BelongsToCreateAssociationMixin<SetModel>;
41
+ Spike: SpikeModel;
42
+ getSpike: Sequelize.BelongsToGetAssociationMixin<SpikeModel>;
43
+ setSpike: Sequelize.BelongsToSetAssociationMixin<SpikeModel, SpikeId>;
44
+ createSpike: Sequelize.BelongsToCreateAssociationMixin<SpikeModel>;
45
+ Trait: TraitModel;
19
46
  getTrait: Sequelize.BelongsToGetAssociationMixin<TraitModel>;
20
47
  setTrait: Sequelize.BelongsToSetAssociationMixin<TraitModel, TraitId>;
21
48
  createTrait: Sequelize.BelongsToCreateAssociationMixin<TraitModel>;
@@ -5,19 +5,54 @@ const sequelize_1 = require("sequelize");
5
5
  class EventTraitModel extends sequelize_1.Model {
6
6
  static initModel(sequelize) {
7
7
  return EventTraitModel.init({
8
- event_id: {
8
+ block_id: {
9
9
  type: sequelize_1.DataTypes.UUID,
10
- allowNull: false,
11
- primaryKey: true,
10
+ allowNull: true,
11
+ references: {
12
+ model: 'Block',
13
+ key: 'event_id'
14
+ }
15
+ },
16
+ reception_id: {
17
+ type: sequelize_1.DataTypes.UUID,
18
+ allowNull: true,
19
+ references: {
20
+ model: 'Reception',
21
+ key: 'event_id'
22
+ }
23
+ },
24
+ serve_id: {
25
+ type: sequelize_1.DataTypes.UUID,
26
+ allowNull: true,
27
+ references: {
28
+ model: 'Serve',
29
+ key: 'event_id'
30
+ }
31
+ },
32
+ set_id: {
33
+ type: sequelize_1.DataTypes.UUID,
34
+ allowNull: true,
12
35
  references: {
13
- model: 'Event',
36
+ model: 'Set',
14
37
  key: 'event_id'
15
38
  }
16
39
  },
40
+ spike_id: {
41
+ type: sequelize_1.DataTypes.UUID,
42
+ allowNull: true,
43
+ references: {
44
+ model: 'Spike',
45
+ key: 'event_id'
46
+ }
47
+ },
48
+ event_id: {
49
+ type: sequelize_1.DataTypes.UUID,
50
+ allowNull: false,
51
+ primaryKey: true
52
+ },
17
53
  trait_id: {
18
54
  type: sequelize_1.DataTypes.UUID,
19
55
  allowNull: false,
20
- primaryKey: true,
21
56
  references: {
22
57
  model: 'Trait',
23
58
  key: 'trait_id'
@@ -31,10 +66,7 @@ class EventTraitModel extends sequelize_1.Model {
31
66
  indexes: [{
32
67
  name: 'eventtrait_pk',
33
68
  unique: true,
34
- fields: [
35
- { name: 'event_id' },
36
- { name: 'trait_id' },
37
- ]
69
+ fields: [{ name: 'event_id' }]
38
70
  }]
39
71
  });
40
72
  }
@@ -1,6 +1,6 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
3
+ import { PlayerId, PlayerModel, RallyId, RallyModel } from '.';
4
4
  export interface EventAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -27,16 +27,5 @@ 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;
41
30
  static initModel(sequelize: Sequelize.Sequelize): typeof EventModel;
42
31
  }
@@ -30,6 +30,7 @@ export declare class ReceptionModel extends Model<ReceptionAttributes, Reception
30
30
  player_id: string;
31
31
  modifier: number;
32
32
  score: number;
33
+ EventTraits: EventTraitModel[];
33
34
  player: PlayerModel;
34
35
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
36
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -49,7 +50,6 @@ export declare class ReceptionModel extends Model<ReceptionAttributes, Reception
49
50
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
50
51
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
51
52
  countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
52
- EventTraits: EventTraitModel[];
53
53
  getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
54
54
  setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
55
55
  addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
@@ -30,6 +30,7 @@ export declare class ServeModel extends Model<ServeAttributes, ServeCreationAttr
30
30
  modifier: number;
31
31
  score: number;
32
32
  type: ServeType;
33
+ EventTraits: EventTraitModel[];
33
34
  player: PlayerModel;
34
35
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
36
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -49,7 +50,6 @@ export declare class ServeModel extends Model<ServeAttributes, ServeCreationAttr
49
50
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
50
51
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
51
52
  countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
52
- EventTraits: EventTraitModel[];
53
53
  getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
54
54
  setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
55
55
  addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
@@ -30,6 +30,7 @@ export declare class SetModel extends Model<SetAttributes, SetCreationAttributes
30
30
  player_id: string;
31
31
  modifier: number;
32
32
  score: number;
33
+ EventTraits: EventTraitModel[];
33
34
  player: PlayerModel;
34
35
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
36
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -49,7 +50,6 @@ export declare class SetModel extends Model<SetAttributes, SetCreationAttributes
49
50
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
50
51
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
51
52
  countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
52
- EventTraits: EventTraitModel[];
53
53
  getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
54
54
  setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
55
55
  addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
@@ -30,6 +30,7 @@ export declare class SpikeModel extends Model<SpikeAttributes, SpikeCreationAttr
30
30
  player_id: string;
31
31
  modifier: number;
32
32
  score: number;
33
+ EventTraits: EventTraitModel[];
33
34
  player: PlayerModel;
34
35
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
36
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -49,7 +50,6 @@ export declare class SpikeModel extends Model<SpikeAttributes, SpikeCreationAttr
49
50
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
50
51
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
51
52
  countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
52
- EventTraits: EventTraitModel[];
53
53
  getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
54
54
  setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
55
55
  addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
@@ -1,6 +1,6 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { EventId, EventModel, EventTraitId, EventTraitModel, PlayerId, PlayerModel, PlayerTraitId, PlayerTraitModel } from '.';
3
+ import { EventTraitId, EventTraitModel, PlayerId, PlayerModel, PlayerTraitId, PlayerTraitModel } from '.';
4
4
  export interface TraitAttributes {
5
5
  trait_id: string;
6
6
  name: string;
@@ -22,17 +22,6 @@ export declare class TraitModel extends Model<TraitAttributes, TraitCreationAttr
22
22
  threshold: number;
23
23
  weight: number;
24
24
  general_stat: GeneralStatType;
25
- Events: EventModel[];
26
- getEvents: Sequelize.BelongsToManyGetAssociationsMixin<EventModel>;
27
- setEvents: Sequelize.BelongsToManySetAssociationsMixin<EventModel, EventId>;
28
- addEvent: Sequelize.BelongsToManyAddAssociationMixin<EventModel, EventId>;
29
- addEvents: Sequelize.BelongsToManyAddAssociationsMixin<EventModel, EventId>;
30
- createEvent: Sequelize.BelongsToManyCreateAssociationMixin<EventModel>;
31
- removeEvent: Sequelize.BelongsToManyRemoveAssociationMixin<EventModel, EventId>;
32
- removeEvents: Sequelize.BelongsToManyRemoveAssociationsMixin<EventModel, EventId>;
33
- hasEvent: Sequelize.BelongsToManyHasAssociationMixin<EventModel, EventId>;
34
- hasEvents: Sequelize.BelongsToManyHasAssociationsMixin<EventModel, EventId>;
35
- countEvents: Sequelize.BelongsToManyCountAssociationsMixin;
36
25
  EventTraits: EventTraitModel[];
37
26
  getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
38
27
  setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
@@ -42,6 +42,11 @@ function transformFromBlockType(type) {
42
42
  return service_1.BlockTypeEnum[type];
43
43
  }
44
44
  function transformToAttributes(event, rallyId) {
45
+ const eventTraits = event.activeTraits.map(trait => ({
46
+ block_id: event.id,
47
+ trait_id: trait.id,
48
+ event_id: event.id
49
+ }));
45
50
  return {
46
51
  event_id: event.id,
47
52
  player_id: event.player.id,
@@ -55,7 +60,8 @@ function transformToAttributes(event, rallyId) {
55
60
  event_type: (0, _1.transformFromEventType)(event.eventType),
56
61
  blocker_1: event.blockers[0]?.id,
57
62
  blocker_2: event.blockers[1]?.id,
58
- blocker_3: event.blockers[2]?.id
63
+ blocker_3: event.blockers[2]?.id,
64
+ EventTraits: eventTraits
59
65
  };
60
66
  }
61
67
  exports.transformFromBlock = transformToAttributes;
@@ -71,7 +77,7 @@ function transformToObject(model) {
71
77
  order: model.order,
72
78
  score: model.score,
73
79
  blockers: [],
74
- activeTraits: []
80
+ activeTraits: model.Traits.map(_1.transformToTrait)
75
81
  });
76
82
  if (model.Blocker_1 != null)
77
83
  block.blockers.push((0, _1.transformToPlayer)(model.Blocker_1));
@@ -2,6 +2,6 @@ import { Reception } from '../../service';
2
2
  import { ReceptionAttributes, ReceptionModel } from '../models';
3
3
  import { APIReception } from '../../api';
4
4
  declare function transformToAttributes(event: Reception, rallyId: string): ReceptionAttributes;
5
- declare function transformToObject(event: ReceptionModel): Reception;
5
+ declare function transformToObject(reception: ReceptionModel): Reception;
6
6
  declare function transformToAPIObject(event: ReceptionModel): APIReception;
7
7
  export { transformToObject as transformToReception, transformToAPIObject as transformToAPIReception, transformToAttributes as transformFromReception };
@@ -40,6 +40,11 @@ function transformFromReceptionType(type) {
40
40
  return service_1.ReceptionTypeEnum[type];
41
41
  }
42
42
  function transformToAttributes(event, rallyId) {
43
+ const eventTraits = event.activeTraits.map(trait => ({
44
+ event_id: event.id,
45
+ reception_id: event.id,
46
+ trait_id: trait.id
47
+ }));
43
48
  return {
44
49
  event_id: event.id,
45
50
  player_id: event.player.id,
@@ -50,22 +55,23 @@ function transformToAttributes(event, rallyId) {
50
55
  target: (0, _1.transformFromCourtTarget)(event.target),
51
56
  failure: transformToReceptionFailure(event.failure),
52
57
  type: transformToReceptionType(event.type),
53
- event_type: (0, _1.transformFromEventType)(event.eventType)
58
+ event_type: (0, _1.transformFromEventType)(event.eventType),
59
+ EventTraits: eventTraits
54
60
  };
55
61
  }
56
62
  exports.transformFromReception = transformToAttributes;
57
- function transformToObject(event) {
63
+ function transformToObject(reception) {
58
64
  return new service_1.Reception({
59
- id: event.event_id,
60
- eventType: (0, _1.transformToEventType)(event.event_type),
61
- failure: transformFromReceptionFailure(event.failure),
62
- type: transformFromReceptionType(event.type),
63
- player: (0, _1.transformToPlayer)(event.player),
64
- target: (0, _1.transformToCourtTarget)(event.target),
65
- modifier: event.modifier,
66
- order: event.order,
67
- score: event.score,
68
- activeTraits: []
65
+ id: reception.event_id,
66
+ eventType: (0, _1.transformToEventType)(reception.event_type),
67
+ failure: transformFromReceptionFailure(reception.failure),
68
+ type: transformFromReceptionType(reception.type),
69
+ player: (0, _1.transformToPlayer)(reception.player),
70
+ target: (0, _1.transformToCourtTarget)(reception.target),
71
+ modifier: reception.modifier,
72
+ order: reception.order,
73
+ score: reception.score,
74
+ activeTraits: reception.Traits.map(_1.transformToTrait)
69
75
  });
70
76
  }
71
77
  exports.transformToReception = transformToObject;
@@ -42,6 +42,11 @@ function transformFromServeType(type) {
42
42
  return service_1.ServeTypeEnum[type];
43
43
  }
44
44
  function transformToAttributes(event, rallyId) {
45
+ const eventTraits = event.activeTraits.map(trait => ({
46
+ event_id: event.id,
47
+ serve_id: event.id,
48
+ trait_id: trait.id
49
+ }));
45
50
  return {
46
51
  event_id: event.id,
47
52
  player_id: event.player.id,
@@ -52,7 +57,8 @@ function transformToAttributes(event, rallyId) {
52
57
  target: (0, _1.transformFromCourtTarget)(event.target),
53
58
  failure: transformToServeFailure(event.failure),
54
59
  type: transformToServeType(event.type),
55
- event_type: (0, _1.transformFromEventType)(event.eventType)
60
+ event_type: (0, _1.transformFromEventType)(event.eventType),
61
+ EventTraits: eventTraits
56
62
  };
57
63
  }
58
64
  exports.transformFromServe = transformToAttributes;
@@ -67,7 +73,7 @@ function transformToObject(serve) {
67
73
  modifier: serve.modifier,
68
74
  order: serve.order,
69
75
  score: serve.score,
70
- activeTraits: []
76
+ activeTraits: serve.Traits.map(_1.transformToTrait)
71
77
  });
72
78
  }
73
79
  exports.transformToServe = transformToObject;
@@ -40,6 +40,11 @@ function transformFromSetType(type) {
40
40
  return service_1.SetTypeEnum[type];
41
41
  }
42
42
  function transformToAttributes(event, rallyId) {
43
+ const eventTraits = event.activeTraits.map(trait => ({
44
+ event_id: event.id,
45
+ set_id: event.id,
46
+ trait_id: trait.id
47
+ }));
43
48
  return {
44
49
  event_id: event.id,
45
50
  player_id: event.player.id,
@@ -50,7 +55,8 @@ function transformToAttributes(event, rallyId) {
50
55
  target: (0, _1.transformFromCourtTarget)(event.target),
51
56
  failure: transformToSetFailure(event.failure),
52
57
  type: transformToSetType(event.type),
53
- event_type: (0, _1.transformFromEventType)(event.eventType)
58
+ event_type: (0, _1.transformFromEventType)(event.eventType),
59
+ EventTraits: eventTraits
54
60
  };
55
61
  }
56
62
  exports.transformFromSet = transformToAttributes;
@@ -65,7 +71,7 @@ function transformToObject(set) {
65
71
  modifier: set.modifier,
66
72
  order: set.order,
67
73
  score: set.score,
68
- activeTraits: []
74
+ activeTraits: set.Traits.map(_1.transformToTrait)
69
75
  });
70
76
  }
71
77
  exports.transformToSet = transformToObject;
@@ -44,6 +44,11 @@ function transformFromSpikeType(type) {
44
44
  return service_1.SpikeTypeEnum[type];
45
45
  }
46
46
  function transformToAttributes(event, rallyId) {
47
+ const eventTraits = event.activeTraits.map(trait => ({
48
+ event_id: event.id,
49
+ spike_id: event.id,
50
+ trait_id: trait.id
51
+ }));
47
52
  return {
48
53
  event_id: event.id,
49
54
  player_id: event.player.id,
@@ -54,7 +59,8 @@ function transformToAttributes(event, rallyId) {
54
59
  target: (0, _1.transformFromCourtTarget)(event.target),
55
60
  failure: transformToSpikeFailure(event.failure),
56
61
  type: transformToSpikeType(event.type),
57
- event_type: (0, _1.transformFromEventType)(event.eventType)
62
+ event_type: (0, _1.transformFromEventType)(event.eventType),
63
+ EventTraits: eventTraits
58
64
  };
59
65
  }
60
66
  exports.transformFromSpike = transformToAttributes;
@@ -69,7 +75,7 @@ function transformToObject(spike) {
69
75
  modifier: spike.modifier,
70
76
  order: spike.order,
71
77
  score: spike.score,
72
- activeTraits: []
78
+ activeTraits: spike.Traits.map(_1.transformToTrait)
73
79
  });
74
80
  }
75
81
  exports.transformToSpike = transformToObject;
@@ -44,13 +44,7 @@ export function initModels(sequelize) {
44
44
  Block.belongsTo(Player, { as: 'Blocker_3', foreignKey: 'blocker_3' });
45
45
  Block.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
46
46
  Block.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
47
- Block.belongsToMany(Trait, {
48
- as: 'Traits',
49
- through: EventTrait,
50
- foreignKey: 'event_id',
51
- otherKey: 'trait_id'
52
- });
53
- Block.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
47
+ Block.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'block_id' });
54
48
  Coach.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
55
49
  Coach.hasMany(Team, { as: 'Teams', foreignKey: 'coach_id' });
56
50
  Country.hasMany(Coach, { as: 'Coaches', foreignKey: 'country_id' });
@@ -59,13 +53,12 @@ export function initModels(sequelize) {
59
53
  Country.hasMany(Team, { as: 'Teams', foreignKey: 'country_id' });
60
54
  Event.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
61
55
  Event.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
62
- Event.belongsToMany(Trait, {
63
- as: 'Traits',
64
- through: EventTrait,
65
- foreignKey: 'event_id',
66
- otherKey: 'trait_id'
67
- });
68
- EventTrait.belongsTo(Trait, { as: 'trait', foreignKey: 'trait_id' });
56
+ EventTrait.belongsTo(Block, { as: 'Block', foreignKey: 'block_id' });
57
+ EventTrait.belongsTo(Reception, { as: 'Reception', foreignKey: 'reception_id' });
58
+ EventTrait.belongsTo(Serve, { as: 'Serve', foreignKey: 'serve_id' });
59
+ EventTrait.belongsTo(Set, { as: 'Set', foreignKey: 'set_id' });
60
+ EventTrait.belongsTo(Spike, { as: 'Spike', foreignKey: 'spike_id' });
61
+ EventTrait.belongsTo(Trait, { as: 'Trait', foreignKey: 'trait_id' });
69
62
  Iteration.hasMany(Season, { as: 'Seasons', foreignKey: 'iteration' });
70
63
  Iteration.hasOne(Tournament, { as: 'Tournament', foreignKey: 'iteration' });
71
64
  League.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
@@ -167,13 +160,7 @@ export function initModels(sequelize) {
167
160
  RallyPosition.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
168
161
  Reception.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
169
162
  Reception.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
170
- Reception.belongsToMany(Trait, {
171
- as: 'Traits',
172
- through: EventTrait,
173
- foreignKey: 'event_id',
174
- otherKey: 'trait_id'
175
- });
176
- Reception.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
163
+ Reception.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'reception_id' });
177
164
  Score.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
178
165
  Score.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
179
166
  Score.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
@@ -194,31 +181,13 @@ export function initModels(sequelize) {
194
181
  SeasonTeams.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
195
182
  Serve.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
196
183
  Serve.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
197
- Serve.belongsToMany(Trait, {
198
- as: 'Traits',
199
- through: EventTrait,
200
- foreignKey: 'event_id',
201
- otherKey: 'trait_id'
202
- });
203
- Serve.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
184
+ Serve.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'serve_id' });
204
185
  Set.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
205
186
  Set.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
206
- Set.belongsToMany(Trait, {
207
- as: 'Traits',
208
- through: EventTrait,
209
- foreignKey: 'event_id',
210
- otherKey: 'trait_id'
211
- });
212
- Set.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
187
+ Set.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'set_id' });
213
188
  Spike.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
214
189
  Spike.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
215
- Spike.belongsToMany(Trait, {
216
- as: 'Traits',
217
- through: EventTrait,
218
- foreignKey: 'event_id',
219
- otherKey: 'trait_id'
220
- });
221
- Spike.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
190
+ Spike.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'spike_id' });
222
191
  Substitution.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
223
192
  Substitution.belongsTo(Player, { as: 'playerOut', foreignKey: 'player_out' });
224
193
  Substitution.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
@@ -268,12 +237,6 @@ export function initModels(sequelize) {
268
237
  TournamentMatch.belongsTo(Tournament, { as: 'tournament', foreignKey: 'tournament_id' });
269
238
  TournamentTeams.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
270
239
  TournamentTeams.belongsTo(Tournament, { as: 'tournament', foreignKey: 'tournament_id' });
271
- Trait.belongsToMany(Event, {
272
- as: 'Events',
273
- through: EventTrait,
274
- foreignKey: 'trait_id',
275
- otherKey: 'event_id'
276
- });
277
240
  Trait.belongsToMany(Player, {
278
241
  as: 'Players',
279
242
  through: PlayerTrait,
@@ -37,6 +37,7 @@ export declare class BlockModel extends Model<BlockAttributes, BlockCreationAttr
37
37
  blocker_3?: string;
38
38
  modifier: number;
39
39
  score: number;
40
+ EventTraits: EventTraitModel[];
40
41
  player: PlayerModel;
41
42
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
42
43
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -68,7 +69,6 @@ export declare class BlockModel extends Model<BlockAttributes, BlockCreationAttr
68
69
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
69
70
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
70
71
  countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
71
- EventTraits: EventTraitModel[];
72
72
  getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
73
73
  setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
74
74
  addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
@@ -1,21 +1,48 @@
1
1
  import * as Sequelize from 'sequelize';
2
- import { Model } from 'sequelize';
3
- import type { EventId, EventModel, TraitId, TraitModel } from '.';
2
+ import { Model, Optional } from 'sequelize';
3
+ import type { BlockId, BlockModel, ReceptionId, ReceptionModel, ServeId, ServeModel, SetId, SetModel, SpikeId, SpikeModel, TraitId, TraitModel } from '.';
4
4
  export interface EventTraitAttributes {
5
+ block_id?: string;
6
+ reception_id?: string;
7
+ serve_id?: string;
8
+ set_id?: string;
9
+ spike_id?: string;
5
10
  event_id: string;
6
11
  trait_id: string;
7
12
  }
8
- export type EventTraitPk = 'event_id' | 'trait_id';
13
+ export type EventTraitPk = 'event_id';
9
14
  export type EventTraitId = EventTraitModel[EventTraitPk];
10
- export type EventTraitCreationAttributes = EventTraitAttributes;
15
+ export type EventTraitOptionalAttributes = 'block_id' | 'reception_id' | 'serve_id' | 'set_id' | 'spike_id';
16
+ export type EventTraitCreationAttributes = Optional<EventTraitAttributes, EventTraitOptionalAttributes>;
11
17
  export declare class EventTraitModel extends Model<EventTraitAttributes, EventTraitCreationAttributes> implements EventTraitAttributes {
18
+ block_id?: string;
19
+ reception_id?: string;
20
+ serve_id?: string;
21
+ set_id?: string;
22
+ spike_id?: string;
12
23
  event_id: string;
13
24
  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;
25
+ Block: BlockModel;
26
+ getBlock: Sequelize.BelongsToGetAssociationMixin<BlockModel>;
27
+ setBlock: Sequelize.BelongsToSetAssociationMixin<BlockModel, BlockId>;
28
+ createBlock: Sequelize.BelongsToCreateAssociationMixin<BlockModel>;
29
+ Reception: ReceptionModel;
30
+ getReception: Sequelize.BelongsToGetAssociationMixin<ReceptionModel>;
31
+ setReception: Sequelize.BelongsToSetAssociationMixin<ReceptionModel, ReceptionId>;
32
+ createReception: Sequelize.BelongsToCreateAssociationMixin<ReceptionModel>;
33
+ Serve: ServeModel;
34
+ getServe: Sequelize.BelongsToGetAssociationMixin<ServeModel>;
35
+ setServe: Sequelize.BelongsToSetAssociationMixin<ServeModel, ServeId>;
36
+ createServe: Sequelize.BelongsToCreateAssociationMixin<ServeModel>;
37
+ Set: SetModel;
38
+ getSet: Sequelize.BelongsToGetAssociationMixin<SetModel>;
39
+ setSet: Sequelize.BelongsToSetAssociationMixin<SetModel, SetId>;
40
+ createSet: Sequelize.BelongsToCreateAssociationMixin<SetModel>;
41
+ Spike: SpikeModel;
42
+ getSpike: Sequelize.BelongsToGetAssociationMixin<SpikeModel>;
43
+ setSpike: Sequelize.BelongsToSetAssociationMixin<SpikeModel, SpikeId>;
44
+ createSpike: Sequelize.BelongsToCreateAssociationMixin<SpikeModel>;
45
+ Trait: TraitModel;
19
46
  getTrait: Sequelize.BelongsToGetAssociationMixin<TraitModel>;
20
47
  setTrait: Sequelize.BelongsToSetAssociationMixin<TraitModel, TraitId>;
21
48
  createTrait: Sequelize.BelongsToCreateAssociationMixin<TraitModel>;
@@ -2,19 +2,54 @@ import { DataTypes, Model } from 'sequelize';
2
2
  export class EventTraitModel extends Model {
3
3
  static initModel(sequelize) {
4
4
  return EventTraitModel.init({
5
- event_id: {
5
+ block_id: {
6
6
  type: DataTypes.UUID,
7
- allowNull: false,
8
- primaryKey: true,
7
+ allowNull: true,
8
+ references: {
9
+ model: 'Block',
10
+ key: 'event_id'
11
+ }
12
+ },
13
+ reception_id: {
14
+ type: DataTypes.UUID,
15
+ allowNull: true,
16
+ references: {
17
+ model: 'Reception',
18
+ key: 'event_id'
19
+ }
20
+ },
21
+ serve_id: {
22
+ type: DataTypes.UUID,
23
+ allowNull: true,
24
+ references: {
25
+ model: 'Serve',
26
+ key: 'event_id'
27
+ }
28
+ },
29
+ set_id: {
30
+ type: DataTypes.UUID,
31
+ allowNull: true,
9
32
  references: {
10
- model: 'Event',
33
+ model: 'Set',
11
34
  key: 'event_id'
12
35
  }
13
36
  },
37
+ spike_id: {
38
+ type: DataTypes.UUID,
39
+ allowNull: true,
40
+ references: {
41
+ model: 'Spike',
42
+ key: 'event_id'
43
+ }
44
+ },
45
+ event_id: {
46
+ type: DataTypes.UUID,
47
+ allowNull: false,
48
+ primaryKey: true
49
+ },
14
50
  trait_id: {
15
51
  type: DataTypes.UUID,
16
52
  allowNull: false,
17
- primaryKey: true,
18
53
  references: {
19
54
  model: 'Trait',
20
55
  key: 'trait_id'
@@ -28,10 +63,7 @@ export class EventTraitModel extends Model {
28
63
  indexes: [{
29
64
  name: 'eventtrait_pk',
30
65
  unique: true,
31
- fields: [
32
- { name: 'event_id' },
33
- { name: 'trait_id' },
34
- ]
66
+ fields: [{ name: 'event_id' }]
35
67
  }]
36
68
  });
37
69
  }
@@ -1,6 +1,6 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
3
+ import { PlayerId, PlayerModel, RallyId, RallyModel } from '.';
4
4
  export interface EventAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -27,16 +27,5 @@ 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;
41
30
  static initModel(sequelize: Sequelize.Sequelize): typeof EventModel;
42
31
  }
@@ -30,6 +30,7 @@ export declare class ReceptionModel extends Model<ReceptionAttributes, Reception
30
30
  player_id: string;
31
31
  modifier: number;
32
32
  score: number;
33
+ EventTraits: EventTraitModel[];
33
34
  player: PlayerModel;
34
35
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
36
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -49,7 +50,6 @@ export declare class ReceptionModel extends Model<ReceptionAttributes, Reception
49
50
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
50
51
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
51
52
  countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
52
- EventTraits: EventTraitModel[];
53
53
  getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
54
54
  setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
55
55
  addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
@@ -30,6 +30,7 @@ export declare class ServeModel extends Model<ServeAttributes, ServeCreationAttr
30
30
  modifier: number;
31
31
  score: number;
32
32
  type: ServeType;
33
+ EventTraits: EventTraitModel[];
33
34
  player: PlayerModel;
34
35
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
36
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -49,7 +50,6 @@ export declare class ServeModel extends Model<ServeAttributes, ServeCreationAttr
49
50
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
50
51
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
51
52
  countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
52
- EventTraits: EventTraitModel[];
53
53
  getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
54
54
  setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
55
55
  addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
@@ -30,6 +30,7 @@ export declare class SetModel extends Model<SetAttributes, SetCreationAttributes
30
30
  player_id: string;
31
31
  modifier: number;
32
32
  score: number;
33
+ EventTraits: EventTraitModel[];
33
34
  player: PlayerModel;
34
35
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
36
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -49,7 +50,6 @@ export declare class SetModel extends Model<SetAttributes, SetCreationAttributes
49
50
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
50
51
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
51
52
  countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
52
- EventTraits: EventTraitModel[];
53
53
  getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
54
54
  setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
55
55
  addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
@@ -30,6 +30,7 @@ export declare class SpikeModel extends Model<SpikeAttributes, SpikeCreationAttr
30
30
  player_id: string;
31
31
  modifier: number;
32
32
  score: number;
33
+ EventTraits: EventTraitModel[];
33
34
  player: PlayerModel;
34
35
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
36
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -49,7 +50,6 @@ export declare class SpikeModel extends Model<SpikeAttributes, SpikeCreationAttr
49
50
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
50
51
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
51
52
  countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
52
- EventTraits: EventTraitModel[];
53
53
  getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
54
54
  setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
55
55
  addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
@@ -1,6 +1,6 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { EventId, EventModel, EventTraitId, EventTraitModel, PlayerId, PlayerModel, PlayerTraitId, PlayerTraitModel } from '.';
3
+ import { EventTraitId, EventTraitModel, PlayerId, PlayerModel, PlayerTraitId, PlayerTraitModel } from '.';
4
4
  export interface TraitAttributes {
5
5
  trait_id: string;
6
6
  name: string;
@@ -22,17 +22,6 @@ export declare class TraitModel extends Model<TraitAttributes, TraitCreationAttr
22
22
  threshold: number;
23
23
  weight: number;
24
24
  general_stat: GeneralStatType;
25
- Events: EventModel[];
26
- getEvents: Sequelize.BelongsToManyGetAssociationsMixin<EventModel>;
27
- setEvents: Sequelize.BelongsToManySetAssociationsMixin<EventModel, EventId>;
28
- addEvent: Sequelize.BelongsToManyAddAssociationMixin<EventModel, EventId>;
29
- addEvents: Sequelize.BelongsToManyAddAssociationsMixin<EventModel, EventId>;
30
- createEvent: Sequelize.BelongsToManyCreateAssociationMixin<EventModel>;
31
- removeEvent: Sequelize.BelongsToManyRemoveAssociationMixin<EventModel, EventId>;
32
- removeEvents: Sequelize.BelongsToManyRemoveAssociationsMixin<EventModel, EventId>;
33
- hasEvent: Sequelize.BelongsToManyHasAssociationMixin<EventModel, EventId>;
34
- hasEvents: Sequelize.BelongsToManyHasAssociationsMixin<EventModel, EventId>;
35
- countEvents: Sequelize.BelongsToManyCountAssociationsMixin;
36
25
  EventTraits: EventTraitModel[];
37
26
  getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
38
27
  setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
@@ -1,5 +1,5 @@
1
1
  import { Block, BlockFailureEnum, BlockTypeEnum } from '../../service';
2
- import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
2
+ import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer, transformToTrait } from '.';
3
3
  function transformToBlockFailure(failure) {
4
4
  switch (failure) {
5
5
  case BlockFailureEnum.NO_FAILURE:
@@ -39,6 +39,11 @@ function transformFromBlockType(type) {
39
39
  return BlockTypeEnum[type];
40
40
  }
41
41
  function transformToAttributes(event, rallyId) {
42
+ const eventTraits = event.activeTraits.map(trait => ({
43
+ block_id: event.id,
44
+ trait_id: trait.id,
45
+ event_id: event.id
46
+ }));
42
47
  return {
43
48
  event_id: event.id,
44
49
  player_id: event.player.id,
@@ -52,7 +57,8 @@ function transformToAttributes(event, rallyId) {
52
57
  event_type: transformFromEventType(event.eventType),
53
58
  blocker_1: event.blockers[0]?.id,
54
59
  blocker_2: event.blockers[1]?.id,
55
- blocker_3: event.blockers[2]?.id
60
+ blocker_3: event.blockers[2]?.id,
61
+ EventTraits: eventTraits
56
62
  };
57
63
  }
58
64
  function transformToObject(model) {
@@ -67,7 +73,7 @@ function transformToObject(model) {
67
73
  order: model.order,
68
74
  score: model.score,
69
75
  blockers: [],
70
- activeTraits: []
76
+ activeTraits: model.Traits.map(transformToTrait)
71
77
  });
72
78
  if (model.Blocker_1 != null)
73
79
  block.blockers.push(transformToPlayer(model.Blocker_1));
@@ -2,6 +2,6 @@ import { Reception } from '../../service';
2
2
  import { ReceptionAttributes, ReceptionModel } from '../models';
3
3
  import { APIReception } from '../../api';
4
4
  declare function transformToAttributes(event: Reception, rallyId: string): ReceptionAttributes;
5
- declare function transformToObject(event: ReceptionModel): Reception;
5
+ declare function transformToObject(reception: ReceptionModel): Reception;
6
6
  declare function transformToAPIObject(event: ReceptionModel): APIReception;
7
7
  export { transformToObject as transformToReception, transformToAPIObject as transformToAPIReception, transformToAttributes as transformFromReception };
@@ -1,5 +1,5 @@
1
1
  import { Reception, ReceptionFailureEnum, ReceptionTypeEnum } from '../../service';
2
- import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
2
+ import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer, transformToTrait } from '.';
3
3
  function transformToReceptionFailure(failure) {
4
4
  switch (failure) {
5
5
  case ReceptionFailureEnum.NO_FAILURE:
@@ -37,6 +37,11 @@ function transformFromReceptionType(type) {
37
37
  return ReceptionTypeEnum[type];
38
38
  }
39
39
  function transformToAttributes(event, rallyId) {
40
+ const eventTraits = event.activeTraits.map(trait => ({
41
+ event_id: event.id,
42
+ reception_id: event.id,
43
+ trait_id: trait.id
44
+ }));
40
45
  return {
41
46
  event_id: event.id,
42
47
  player_id: event.player.id,
@@ -47,21 +52,22 @@ function transformToAttributes(event, rallyId) {
47
52
  target: transformFromCourtTarget(event.target),
48
53
  failure: transformToReceptionFailure(event.failure),
49
54
  type: transformToReceptionType(event.type),
50
- event_type: transformFromEventType(event.eventType)
55
+ event_type: transformFromEventType(event.eventType),
56
+ EventTraits: eventTraits
51
57
  };
52
58
  }
53
- function transformToObject(event) {
59
+ function transformToObject(reception) {
54
60
  return new Reception({
55
- id: event.event_id,
56
- eventType: transformToEventType(event.event_type),
57
- failure: transformFromReceptionFailure(event.failure),
58
- type: transformFromReceptionType(event.type),
59
- player: transformToPlayer(event.player),
60
- target: transformToCourtTarget(event.target),
61
- modifier: event.modifier,
62
- order: event.order,
63
- score: event.score,
64
- activeTraits: []
61
+ id: reception.event_id,
62
+ eventType: transformToEventType(reception.event_type),
63
+ failure: transformFromReceptionFailure(reception.failure),
64
+ type: transformFromReceptionType(reception.type),
65
+ player: transformToPlayer(reception.player),
66
+ target: transformToCourtTarget(reception.target),
67
+ modifier: reception.modifier,
68
+ order: reception.order,
69
+ score: reception.score,
70
+ activeTraits: reception.Traits.map(transformToTrait)
65
71
  });
66
72
  }
67
73
  function transformToAPIObject(event) {
@@ -1,5 +1,5 @@
1
1
  import { Serve, ServeFailureEnum, ServeTypeEnum } from '../../service';
2
- import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
2
+ import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer, transformToTrait } from '.';
3
3
  function transformToServeFailure(failure) {
4
4
  switch (failure) {
5
5
  case ServeFailureEnum.NO_FAILURE:
@@ -39,6 +39,11 @@ function transformFromServeType(type) {
39
39
  return ServeTypeEnum[type];
40
40
  }
41
41
  function transformToAttributes(event, rallyId) {
42
+ const eventTraits = event.activeTraits.map(trait => ({
43
+ event_id: event.id,
44
+ serve_id: event.id,
45
+ trait_id: trait.id
46
+ }));
42
47
  return {
43
48
  event_id: event.id,
44
49
  player_id: event.player.id,
@@ -49,7 +54,8 @@ function transformToAttributes(event, rallyId) {
49
54
  target: transformFromCourtTarget(event.target),
50
55
  failure: transformToServeFailure(event.failure),
51
56
  type: transformToServeType(event.type),
52
- event_type: transformFromEventType(event.eventType)
57
+ event_type: transformFromEventType(event.eventType),
58
+ EventTraits: eventTraits
53
59
  };
54
60
  }
55
61
  function transformToObject(serve) {
@@ -63,7 +69,7 @@ function transformToObject(serve) {
63
69
  modifier: serve.modifier,
64
70
  order: serve.order,
65
71
  score: serve.score,
66
- activeTraits: []
72
+ activeTraits: serve.Traits.map(transformToTrait)
67
73
  });
68
74
  }
69
75
  function transformToAPIObject(event) {
@@ -1,5 +1,5 @@
1
1
  import { Set, SetFailureEnum, SetTypeEnum } from '../../service';
2
- import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
2
+ import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer, transformToTrait } from '.';
3
3
  function transformToSetFailure(failure) {
4
4
  switch (failure) {
5
5
  case SetFailureEnum.NO_FAILURE:
@@ -37,6 +37,11 @@ function transformFromSetType(type) {
37
37
  return SetTypeEnum[type];
38
38
  }
39
39
  function transformToAttributes(event, rallyId) {
40
+ const eventTraits = event.activeTraits.map(trait => ({
41
+ event_id: event.id,
42
+ set_id: event.id,
43
+ trait_id: trait.id
44
+ }));
40
45
  return {
41
46
  event_id: event.id,
42
47
  player_id: event.player.id,
@@ -47,7 +52,8 @@ function transformToAttributes(event, rallyId) {
47
52
  target: transformFromCourtTarget(event.target),
48
53
  failure: transformToSetFailure(event.failure),
49
54
  type: transformToSetType(event.type),
50
- event_type: transformFromEventType(event.eventType)
55
+ event_type: transformFromEventType(event.eventType),
56
+ EventTraits: eventTraits
51
57
  };
52
58
  }
53
59
  function transformToObject(set) {
@@ -61,7 +67,7 @@ function transformToObject(set) {
61
67
  modifier: set.modifier,
62
68
  order: set.order,
63
69
  score: set.score,
64
- activeTraits: []
70
+ activeTraits: set.Traits.map(transformToTrait)
65
71
  });
66
72
  }
67
73
  function transformToAPIObject(event) {
@@ -1,5 +1,5 @@
1
1
  import { Spike, SpikeFailureEnum, SpikeTypeEnum } from '../../service';
2
- import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
2
+ import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer, transformToTrait } from '.';
3
3
  function transformToSpikeFailure(failure) {
4
4
  switch (failure) {
5
5
  case SpikeFailureEnum.NO_FAILURE:
@@ -41,6 +41,11 @@ function transformFromSpikeType(type) {
41
41
  return SpikeTypeEnum[type];
42
42
  }
43
43
  function transformToAttributes(event, rallyId) {
44
+ const eventTraits = event.activeTraits.map(trait => ({
45
+ event_id: event.id,
46
+ spike_id: event.id,
47
+ trait_id: trait.id
48
+ }));
44
49
  return {
45
50
  event_id: event.id,
46
51
  player_id: event.player.id,
@@ -51,7 +56,8 @@ function transformToAttributes(event, rallyId) {
51
56
  target: transformFromCourtTarget(event.target),
52
57
  failure: transformToSpikeFailure(event.failure),
53
58
  type: transformToSpikeType(event.type),
54
- event_type: transformFromEventType(event.eventType)
59
+ event_type: transformFromEventType(event.eventType),
60
+ EventTraits: eventTraits
55
61
  };
56
62
  }
57
63
  function transformToObject(spike) {
@@ -65,7 +71,7 @@ function transformToObject(spike) {
65
71
  modifier: spike.modifier,
66
72
  order: spike.order,
67
73
  score: spike.score,
68
- activeTraits: []
74
+ activeTraits: spike.Traits.map(transformToTrait)
69
75
  });
70
76
  }
71
77
  function transformToAPIObject(event) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "volleyballsimtypes",
3
- "version": "0.0.85",
3
+ "version": "0.0.87",
4
4
  "description": "vbsim types",
5
5
  "main": "./dist/cjs/src/index.js",
6
6
  "module": "./dist/esm/src/index.js",