volleyballsimtypes 0.0.84 → 0.0.86

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.
@@ -53,6 +53,7 @@ function initModels(sequelize) {
53
53
  foreignKey: 'event_id',
54
54
  otherKey: 'trait_id'
55
55
  });
56
+ Block.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
56
57
  Coach.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
57
58
  Coach.hasMany(Team, { as: 'Teams', foreignKey: 'coach_id' });
58
59
  Country.hasMany(Coach, { as: 'Coaches', foreignKey: 'country_id' });
@@ -175,6 +176,7 @@ function initModels(sequelize) {
175
176
  foreignKey: 'event_id',
176
177
  otherKey: 'trait_id'
177
178
  });
179
+ Reception.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
178
180
  Score.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
179
181
  Score.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
180
182
  Score.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
@@ -201,6 +203,7 @@ function initModels(sequelize) {
201
203
  foreignKey: 'event_id',
202
204
  otherKey: 'trait_id'
203
205
  });
206
+ Serve.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
204
207
  Set.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
205
208
  Set.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
206
209
  Set.belongsToMany(Trait, {
@@ -209,6 +212,7 @@ function initModels(sequelize) {
209
212
  foreignKey: 'event_id',
210
213
  otherKey: 'trait_id'
211
214
  });
215
+ Set.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
212
216
  Spike.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
213
217
  Spike.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
214
218
  Spike.belongsToMany(Trait, {
@@ -217,6 +221,7 @@ function initModels(sequelize) {
217
221
  foreignKey: 'event_id',
218
222
  otherKey: 'trait_id'
219
223
  });
224
+ Spike.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
220
225
  Substitution.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
221
226
  Substitution.belongsTo(Player, { as: 'playerOut', foreignKey: 'player_out' });
222
227
  Substitution.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
@@ -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, TraitId, TraitModel } 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';
@@ -67,5 +68,16 @@ export declare class BlockModel extends Model<BlockAttributes, BlockCreationAttr
67
68
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
68
69
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
69
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;
70
82
  static initModel(sequelize: Sequelize.Sequelize): typeof BlockModel;
71
83
  }
@@ -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, TraitId, TraitModel } 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';
@@ -48,5 +49,16 @@ export declare class ReceptionModel extends Model<ReceptionAttributes, Reception
48
49
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
49
50
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
50
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;
51
63
  static initModel(sequelize: Sequelize.Sequelize): typeof ReceptionModel;
52
64
  }
@@ -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, TraitId, TraitModel } from '.';
3
+ import { CourtTarget, EventTraitAttributes, EventTraitId, EventTraitModel, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface ServeAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -12,6 +12,7 @@ export interface ServeAttributes {
12
12
  modifier: number;
13
13
  score: number;
14
14
  type: ServeType;
15
+ EventTraits?: EventTraitAttributes[];
15
16
  }
16
17
  export type ServeFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'NET' | 'OUT_OF_BOUNDS';
17
18
  export type ServeType = 'UNDERHAND' | 'OVERHAND_TOPSPIN' | 'OVERHAND_FLOAT' | 'JUMP_TOPSPIN' | 'JUMP_FLOAT';
@@ -48,5 +49,16 @@ export declare class ServeModel extends Model<ServeAttributes, ServeCreationAttr
48
49
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
49
50
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
50
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;
51
63
  static initModel(sequelize: Sequelize.Sequelize): typeof ServeModel;
52
64
  }
@@ -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, TraitId, TraitModel } from '.';
3
+ import { CourtTarget, EventTraitAttributes, EventTraitId, EventTraitModel, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface SetAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -12,6 +12,7 @@ export interface SetAttributes {
12
12
  player_id: string;
13
13
  modifier: number;
14
14
  score: number;
15
+ EventTraits?: EventTraitAttributes[];
15
16
  }
16
17
  export type SetFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'OUT_OF_BOUNDS' | 'BAD_PASS';
17
18
  export type SetType = 'OVERHAND' | 'UNDERHAND' | 'SPIKE' | 'DUMP';
@@ -48,5 +49,16 @@ export declare class SetModel extends Model<SetAttributes, SetCreationAttributes
48
49
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
49
50
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
50
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;
51
63
  static initModel(sequelize: Sequelize.Sequelize): typeof SetModel;
52
64
  }
@@ -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, TraitId, TraitModel } from '.';
3
+ import { CourtTarget, EventTraitAttributes, EventTraitId, EventTraitModel, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface SpikeAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -12,6 +12,7 @@ export interface SpikeAttributes {
12
12
  player_id: string;
13
13
  modifier: number;
14
14
  score: number;
15
+ EventTraits?: EventTraitAttributes[];
15
16
  }
16
17
  export type SpikeType = 'CROSS_SHOT' | 'LINE_SHOT' | 'TOOL_SHOT' | 'TIP' | 'DOWN_BALL' | 'OVERHAND';
17
18
  export type SpikeFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'OUT_OF_BOUNDS' | 'NET';
@@ -48,5 +49,16 @@ export declare class SpikeModel extends Model<SpikeAttributes, SpikeCreationAttr
48
49
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
49
50
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
50
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;
51
63
  static initModel(sequelize: Sequelize.Sequelize): typeof SpikeModel;
52
64
  }
@@ -42,6 +42,10 @@ 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
+ event_id: event.id,
47
+ trait_id: trait.id
48
+ }));
45
49
  return {
46
50
  event_id: event.id,
47
51
  player_id: event.player.id,
@@ -55,7 +59,8 @@ function transformToAttributes(event, rallyId) {
55
59
  event_type: (0, _1.transformFromEventType)(event.eventType),
56
60
  blocker_1: event.blockers[0]?.id,
57
61
  blocker_2: event.blockers[1]?.id,
58
- blocker_3: event.blockers[2]?.id
62
+ blocker_3: event.blockers[2]?.id,
63
+ EventTraits: eventTraits
59
64
  };
60
65
  }
61
66
  exports.transformFromBlock = transformToAttributes;
@@ -71,7 +76,7 @@ function transformToObject(model) {
71
76
  order: model.order,
72
77
  score: model.score,
73
78
  blockers: [],
74
- activeTraits: []
79
+ activeTraits: model.Traits.map(_1.transformToTrait)
75
80
  });
76
81
  if (model.Blocker_1 != null)
77
82
  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,10 @@ 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
+ trait_id: trait.id
46
+ }));
43
47
  return {
44
48
  event_id: event.id,
45
49
  player_id: event.player.id,
@@ -50,22 +54,23 @@ function transformToAttributes(event, rallyId) {
50
54
  target: (0, _1.transformFromCourtTarget)(event.target),
51
55
  failure: transformToReceptionFailure(event.failure),
52
56
  type: transformToReceptionType(event.type),
53
- event_type: (0, _1.transformFromEventType)(event.eventType)
57
+ event_type: (0, _1.transformFromEventType)(event.eventType),
58
+ EventTraits: eventTraits
54
59
  };
55
60
  }
56
61
  exports.transformFromReception = transformToAttributes;
57
- function transformToObject(event) {
62
+ function transformToObject(reception) {
58
63
  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: []
64
+ id: reception.event_id,
65
+ eventType: (0, _1.transformToEventType)(reception.event_type),
66
+ failure: transformFromReceptionFailure(reception.failure),
67
+ type: transformFromReceptionType(reception.type),
68
+ player: (0, _1.transformToPlayer)(reception.player),
69
+ target: (0, _1.transformToCourtTarget)(reception.target),
70
+ modifier: reception.modifier,
71
+ order: reception.order,
72
+ score: reception.score,
73
+ activeTraits: reception.Traits.map(_1.transformToTrait)
69
74
  });
70
75
  }
71
76
  exports.transformToReception = transformToObject;
@@ -42,6 +42,10 @@ 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
+ trait_id: trait.id
48
+ }));
45
49
  return {
46
50
  event_id: event.id,
47
51
  player_id: event.player.id,
@@ -52,7 +56,8 @@ function transformToAttributes(event, rallyId) {
52
56
  target: (0, _1.transformFromCourtTarget)(event.target),
53
57
  failure: transformToServeFailure(event.failure),
54
58
  type: transformToServeType(event.type),
55
- event_type: (0, _1.transformFromEventType)(event.eventType)
59
+ event_type: (0, _1.transformFromEventType)(event.eventType),
60
+ EventTraits: eventTraits
56
61
  };
57
62
  }
58
63
  exports.transformFromServe = transformToAttributes;
@@ -67,7 +72,7 @@ function transformToObject(serve) {
67
72
  modifier: serve.modifier,
68
73
  order: serve.order,
69
74
  score: serve.score,
70
- activeTraits: []
75
+ activeTraits: serve.Traits.map(_1.transformToTrait)
71
76
  });
72
77
  }
73
78
  exports.transformToServe = transformToObject;
@@ -40,6 +40,10 @@ 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
+ trait_id: trait.id
46
+ }));
43
47
  return {
44
48
  event_id: event.id,
45
49
  player_id: event.player.id,
@@ -50,7 +54,8 @@ function transformToAttributes(event, rallyId) {
50
54
  target: (0, _1.transformFromCourtTarget)(event.target),
51
55
  failure: transformToSetFailure(event.failure),
52
56
  type: transformToSetType(event.type),
53
- event_type: (0, _1.transformFromEventType)(event.eventType)
57
+ event_type: (0, _1.transformFromEventType)(event.eventType),
58
+ EventTraits: eventTraits
54
59
  };
55
60
  }
56
61
  exports.transformFromSet = transformToAttributes;
@@ -65,7 +70,7 @@ function transformToObject(set) {
65
70
  modifier: set.modifier,
66
71
  order: set.order,
67
72
  score: set.score,
68
- activeTraits: []
73
+ activeTraits: set.Traits.map(_1.transformToTrait)
69
74
  });
70
75
  }
71
76
  exports.transformToSet = transformToObject;
@@ -44,6 +44,10 @@ 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
+ trait_id: trait.id
50
+ }));
47
51
  return {
48
52
  event_id: event.id,
49
53
  player_id: event.player.id,
@@ -54,7 +58,8 @@ function transformToAttributes(event, rallyId) {
54
58
  target: (0, _1.transformFromCourtTarget)(event.target),
55
59
  failure: transformToSpikeFailure(event.failure),
56
60
  type: transformToSpikeType(event.type),
57
- event_type: (0, _1.transformFromEventType)(event.eventType)
61
+ event_type: (0, _1.transformFromEventType)(event.eventType),
62
+ EventTraits: eventTraits
58
63
  };
59
64
  }
60
65
  exports.transformFromSpike = transformToAttributes;
@@ -69,7 +74,7 @@ function transformToObject(spike) {
69
74
  modifier: spike.modifier,
70
75
  order: spike.order,
71
76
  score: spike.score,
72
- activeTraits: []
77
+ activeTraits: spike.Traits.map(_1.transformToTrait)
73
78
  });
74
79
  }
75
80
  exports.transformToSpike = transformToObject;
@@ -50,6 +50,7 @@ export function initModels(sequelize) {
50
50
  foreignKey: 'event_id',
51
51
  otherKey: 'trait_id'
52
52
  });
53
+ Block.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
53
54
  Coach.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
54
55
  Coach.hasMany(Team, { as: 'Teams', foreignKey: 'coach_id' });
55
56
  Country.hasMany(Coach, { as: 'Coaches', foreignKey: 'country_id' });
@@ -172,6 +173,7 @@ export function initModels(sequelize) {
172
173
  foreignKey: 'event_id',
173
174
  otherKey: 'trait_id'
174
175
  });
176
+ Reception.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
175
177
  Score.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
176
178
  Score.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
177
179
  Score.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
@@ -198,6 +200,7 @@ export function initModels(sequelize) {
198
200
  foreignKey: 'event_id',
199
201
  otherKey: 'trait_id'
200
202
  });
203
+ Serve.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
201
204
  Set.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
202
205
  Set.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
203
206
  Set.belongsToMany(Trait, {
@@ -206,6 +209,7 @@ export function initModels(sequelize) {
206
209
  foreignKey: 'event_id',
207
210
  otherKey: 'trait_id'
208
211
  });
212
+ Set.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
209
213
  Spike.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
210
214
  Spike.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
211
215
  Spike.belongsToMany(Trait, {
@@ -214,6 +218,7 @@ export function initModels(sequelize) {
214
218
  foreignKey: 'event_id',
215
219
  otherKey: 'trait_id'
216
220
  });
221
+ Spike.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'event_id' });
217
222
  Substitution.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
218
223
  Substitution.belongsTo(Player, { as: 'playerOut', foreignKey: 'player_out' });
219
224
  Substitution.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
@@ -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, TraitId, TraitModel } 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';
@@ -67,5 +68,16 @@ export declare class BlockModel extends Model<BlockAttributes, BlockCreationAttr
67
68
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
68
69
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
69
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;
70
82
  static initModel(sequelize: Sequelize.Sequelize): typeof BlockModel;
71
83
  }
@@ -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, TraitId, TraitModel } 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';
@@ -48,5 +49,16 @@ export declare class ReceptionModel extends Model<ReceptionAttributes, Reception
48
49
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
49
50
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
50
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;
51
63
  static initModel(sequelize: Sequelize.Sequelize): typeof ReceptionModel;
52
64
  }
@@ -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, TraitId, TraitModel } from '.';
3
+ import { CourtTarget, EventTraitAttributes, EventTraitId, EventTraitModel, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface ServeAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -12,6 +12,7 @@ export interface ServeAttributes {
12
12
  modifier: number;
13
13
  score: number;
14
14
  type: ServeType;
15
+ EventTraits?: EventTraitAttributes[];
15
16
  }
16
17
  export type ServeFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'NET' | 'OUT_OF_BOUNDS';
17
18
  export type ServeType = 'UNDERHAND' | 'OVERHAND_TOPSPIN' | 'OVERHAND_FLOAT' | 'JUMP_TOPSPIN' | 'JUMP_FLOAT';
@@ -48,5 +49,16 @@ export declare class ServeModel extends Model<ServeAttributes, ServeCreationAttr
48
49
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
49
50
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
50
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;
51
63
  static initModel(sequelize: Sequelize.Sequelize): typeof ServeModel;
52
64
  }
@@ -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, TraitId, TraitModel } from '.';
3
+ import { CourtTarget, EventTraitAttributes, EventTraitId, EventTraitModel, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface SetAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -12,6 +12,7 @@ export interface SetAttributes {
12
12
  player_id: string;
13
13
  modifier: number;
14
14
  score: number;
15
+ EventTraits?: EventTraitAttributes[];
15
16
  }
16
17
  export type SetFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'OUT_OF_BOUNDS' | 'BAD_PASS';
17
18
  export type SetType = 'OVERHAND' | 'UNDERHAND' | 'SPIKE' | 'DUMP';
@@ -48,5 +49,16 @@ export declare class SetModel extends Model<SetAttributes, SetCreationAttributes
48
49
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
49
50
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
50
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;
51
63
  static initModel(sequelize: Sequelize.Sequelize): typeof SetModel;
52
64
  }
@@ -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, TraitId, TraitModel } from '.';
3
+ import { CourtTarget, EventTraitAttributes, EventTraitId, EventTraitModel, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface SpikeAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -12,6 +12,7 @@ export interface SpikeAttributes {
12
12
  player_id: string;
13
13
  modifier: number;
14
14
  score: number;
15
+ EventTraits?: EventTraitAttributes[];
15
16
  }
16
17
  export type SpikeType = 'CROSS_SHOT' | 'LINE_SHOT' | 'TOOL_SHOT' | 'TIP' | 'DOWN_BALL' | 'OVERHAND';
17
18
  export type SpikeFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'OUT_OF_BOUNDS' | 'NET';
@@ -48,5 +49,16 @@ export declare class SpikeModel extends Model<SpikeAttributes, SpikeCreationAttr
48
49
  hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
49
50
  hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
50
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;
51
63
  static initModel(sequelize: Sequelize.Sequelize): typeof SpikeModel;
52
64
  }
@@ -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,10 @@ function transformFromBlockType(type) {
39
39
  return BlockTypeEnum[type];
40
40
  }
41
41
  function transformToAttributes(event, rallyId) {
42
+ const eventTraits = event.activeTraits.map(trait => ({
43
+ event_id: event.id,
44
+ trait_id: trait.id
45
+ }));
42
46
  return {
43
47
  event_id: event.id,
44
48
  player_id: event.player.id,
@@ -52,7 +56,8 @@ function transformToAttributes(event, rallyId) {
52
56
  event_type: transformFromEventType(event.eventType),
53
57
  blocker_1: event.blockers[0]?.id,
54
58
  blocker_2: event.blockers[1]?.id,
55
- blocker_3: event.blockers[2]?.id
59
+ blocker_3: event.blockers[2]?.id,
60
+ EventTraits: eventTraits
56
61
  };
57
62
  }
58
63
  function transformToObject(model) {
@@ -67,7 +72,7 @@ function transformToObject(model) {
67
72
  order: model.order,
68
73
  score: model.score,
69
74
  blockers: [],
70
- activeTraits: []
75
+ activeTraits: model.Traits.map(transformToTrait)
71
76
  });
72
77
  if (model.Blocker_1 != null)
73
78
  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,10 @@ 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
+ trait_id: trait.id
43
+ }));
40
44
  return {
41
45
  event_id: event.id,
42
46
  player_id: event.player.id,
@@ -47,21 +51,22 @@ function transformToAttributes(event, rallyId) {
47
51
  target: transformFromCourtTarget(event.target),
48
52
  failure: transformToReceptionFailure(event.failure),
49
53
  type: transformToReceptionType(event.type),
50
- event_type: transformFromEventType(event.eventType)
54
+ event_type: transformFromEventType(event.eventType),
55
+ EventTraits: eventTraits
51
56
  };
52
57
  }
53
- function transformToObject(event) {
58
+ function transformToObject(reception) {
54
59
  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: []
60
+ id: reception.event_id,
61
+ eventType: transformToEventType(reception.event_type),
62
+ failure: transformFromReceptionFailure(reception.failure),
63
+ type: transformFromReceptionType(reception.type),
64
+ player: transformToPlayer(reception.player),
65
+ target: transformToCourtTarget(reception.target),
66
+ modifier: reception.modifier,
67
+ order: reception.order,
68
+ score: reception.score,
69
+ activeTraits: reception.Traits.map(transformToTrait)
65
70
  });
66
71
  }
67
72
  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,10 @@ 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
+ trait_id: trait.id
45
+ }));
42
46
  return {
43
47
  event_id: event.id,
44
48
  player_id: event.player.id,
@@ -49,7 +53,8 @@ function transformToAttributes(event, rallyId) {
49
53
  target: transformFromCourtTarget(event.target),
50
54
  failure: transformToServeFailure(event.failure),
51
55
  type: transformToServeType(event.type),
52
- event_type: transformFromEventType(event.eventType)
56
+ event_type: transformFromEventType(event.eventType),
57
+ EventTraits: eventTraits
53
58
  };
54
59
  }
55
60
  function transformToObject(serve) {
@@ -63,7 +68,7 @@ function transformToObject(serve) {
63
68
  modifier: serve.modifier,
64
69
  order: serve.order,
65
70
  score: serve.score,
66
- activeTraits: []
71
+ activeTraits: serve.Traits.map(transformToTrait)
67
72
  });
68
73
  }
69
74
  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,10 @@ 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
+ trait_id: trait.id
43
+ }));
40
44
  return {
41
45
  event_id: event.id,
42
46
  player_id: event.player.id,
@@ -47,7 +51,8 @@ function transformToAttributes(event, rallyId) {
47
51
  target: transformFromCourtTarget(event.target),
48
52
  failure: transformToSetFailure(event.failure),
49
53
  type: transformToSetType(event.type),
50
- event_type: transformFromEventType(event.eventType)
54
+ event_type: transformFromEventType(event.eventType),
55
+ EventTraits: eventTraits
51
56
  };
52
57
  }
53
58
  function transformToObject(set) {
@@ -61,7 +66,7 @@ function transformToObject(set) {
61
66
  modifier: set.modifier,
62
67
  order: set.order,
63
68
  score: set.score,
64
- activeTraits: []
69
+ activeTraits: set.Traits.map(transformToTrait)
65
70
  });
66
71
  }
67
72
  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,10 @@ 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
+ trait_id: trait.id
47
+ }));
44
48
  return {
45
49
  event_id: event.id,
46
50
  player_id: event.player.id,
@@ -51,7 +55,8 @@ function transformToAttributes(event, rallyId) {
51
55
  target: transformFromCourtTarget(event.target),
52
56
  failure: transformToSpikeFailure(event.failure),
53
57
  type: transformToSpikeType(event.type),
54
- event_type: transformFromEventType(event.eventType)
58
+ event_type: transformFromEventType(event.eventType),
59
+ EventTraits: eventTraits
55
60
  };
56
61
  }
57
62
  function transformToObject(spike) {
@@ -65,7 +70,7 @@ function transformToObject(spike) {
65
70
  modifier: spike.modifier,
66
71
  order: spike.order,
67
72
  score: spike.score,
68
- activeTraits: []
73
+ activeTraits: spike.Traits.map(transformToTrait)
69
74
  });
70
75
  }
71
76
  function transformToAPIObject(event) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "volleyballsimtypes",
3
- "version": "0.0.84",
3
+ "version": "0.0.86",
4
4
  "description": "vbsim types",
5
5
  "main": "./dist/cjs/src/index.js",
6
6
  "module": "./dist/esm/src/index.js",