volleyballsimtypes 0.0.83 → 0.0.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/cjs/src/api/player.d.ts +2 -7
  2. package/dist/cjs/src/api/player.js +0 -10
  3. package/dist/cjs/src/data/init-models.js +61 -0
  4. package/dist/cjs/src/data/models/block.d.ts +12 -2
  5. package/dist/cjs/src/data/models/event-trait.d.ts +23 -0
  6. package/dist/cjs/src/data/models/event-trait.js +42 -0
  7. package/dist/cjs/src/data/models/event.d.ts +12 -1
  8. package/dist/cjs/src/data/models/index.d.ts +3 -0
  9. package/dist/cjs/src/data/models/index.js +3 -0
  10. package/dist/cjs/src/data/models/match.d.ts +1 -1
  11. package/dist/cjs/src/data/models/player-trait.d.ts +23 -0
  12. package/dist/cjs/src/data/models/player-trait.js +42 -0
  13. package/dist/cjs/src/data/models/player.d.ts +14 -7
  14. package/dist/cjs/src/data/models/player.js +0 -4
  15. package/dist/cjs/src/data/models/reception.d.ts +12 -2
  16. package/dist/cjs/src/data/models/season-match.d.ts +1 -1
  17. package/dist/cjs/src/data/models/season.d.ts +3 -3
  18. package/dist/cjs/src/data/models/serve.d.ts +12 -2
  19. package/dist/cjs/src/data/models/set.d.ts +12 -2
  20. package/dist/cjs/src/data/models/spike.d.ts +12 -2
  21. package/dist/cjs/src/data/models/team.d.ts +1 -1
  22. package/dist/cjs/src/data/models/tournament.d.ts +1 -1
  23. package/dist/cjs/src/data/models/trait.d.ts +70 -0
  24. package/dist/cjs/src/data/models/trait.js +50 -0
  25. package/dist/cjs/src/data/transformers/player.js +2 -3
  26. package/dist/cjs/src/data/transformers/trait.d.ts +5 -5
  27. package/dist/cjs/src/data/transformers/trait.js +18 -26
  28. package/dist/cjs/src/service/match/match-set.d.ts +1 -1
  29. package/dist/cjs/src/service/match/rally.d.ts +1 -1
  30. package/dist/cjs/src/service/player/trait.d.ts +2 -3
  31. package/dist/cjs/src/service/player/trait.js +10 -12
  32. package/dist/cjs/src/service/team/team.d.ts +1 -1
  33. package/dist/esm/src/api/player.d.ts +2 -7
  34. package/dist/esm/src/api/player.js +1 -9
  35. package/dist/esm/src/data/init-models.js +62 -1
  36. package/dist/esm/src/data/models/block.d.ts +12 -2
  37. package/dist/esm/src/data/models/event-trait.d.ts +23 -0
  38. package/dist/esm/src/data/models/event-trait.js +38 -0
  39. package/dist/esm/src/data/models/event.d.ts +12 -1
  40. package/dist/esm/src/data/models/index.d.ts +3 -0
  41. package/dist/esm/src/data/models/index.js +3 -0
  42. package/dist/esm/src/data/models/match.d.ts +1 -1
  43. package/dist/esm/src/data/models/player-trait.d.ts +23 -0
  44. package/dist/esm/src/data/models/player-trait.js +38 -0
  45. package/dist/esm/src/data/models/player.d.ts +14 -7
  46. package/dist/esm/src/data/models/player.js +0 -4
  47. package/dist/esm/src/data/models/reception.d.ts +12 -2
  48. package/dist/esm/src/data/models/season-match.d.ts +1 -1
  49. package/dist/esm/src/data/models/season.d.ts +3 -3
  50. package/dist/esm/src/data/models/serve.d.ts +12 -2
  51. package/dist/esm/src/data/models/set.d.ts +12 -2
  52. package/dist/esm/src/data/models/spike.d.ts +12 -2
  53. package/dist/esm/src/data/models/team.d.ts +1 -1
  54. package/dist/esm/src/data/models/tournament.d.ts +1 -1
  55. package/dist/esm/src/data/models/trait.d.ts +70 -0
  56. package/dist/esm/src/data/models/trait.js +46 -0
  57. package/dist/esm/src/data/transformers/player.js +3 -4
  58. package/dist/esm/src/data/transformers/trait.d.ts +5 -5
  59. package/dist/esm/src/data/transformers/trait.js +15 -23
  60. package/dist/esm/src/service/match/match-set.d.ts +1 -1
  61. package/dist/esm/src/service/match/rally.d.ts +1 -1
  62. package/dist/esm/src/service/player/trait.d.ts +2 -3
  63. package/dist/esm/src/service/player/trait.js +10 -12
  64. package/dist/esm/src/service/team/team.d.ts +1 -1
  65. package/package.json +1 -1
@@ -0,0 +1,38 @@
1
+ import { DataTypes, Model } from 'sequelize';
2
+ export class EventTraitModel extends Model {
3
+ static initModel(sequelize) {
4
+ return EventTraitModel.init({
5
+ event_id: {
6
+ type: DataTypes.UUID,
7
+ allowNull: false,
8
+ primaryKey: true,
9
+ references: {
10
+ model: 'Event',
11
+ key: 'event_id'
12
+ }
13
+ },
14
+ trait_id: {
15
+ type: DataTypes.UUID,
16
+ allowNull: false,
17
+ primaryKey: true,
18
+ references: {
19
+ model: 'Trait',
20
+ key: 'trait_id'
21
+ }
22
+ }
23
+ }, {
24
+ sequelize,
25
+ tableName: 'EventTrait',
26
+ schema: 'public',
27
+ timestamps: false,
28
+ indexes: [{
29
+ name: 'eventtrait_pk',
30
+ unique: true,
31
+ fields: [
32
+ { name: 'event_id' },
33
+ { name: 'trait_id' },
34
+ ]
35
+ }]
36
+ });
37
+ }
38
+ }
@@ -1,6 +1,6 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { PlayerId, PlayerModel, RallyId, RallyModel } from '.';
3
+ import { PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface EventAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -27,5 +27,16 @@ export declare class EventModel extends Model<EventAttributes, EventCreationAttr
27
27
  getRally: Sequelize.BelongsToGetAssociationMixin<RallyModel>;
28
28
  setRally: Sequelize.BelongsToSetAssociationMixin<RallyModel, RallyId>;
29
29
  createRally: Sequelize.BelongsToCreateAssociationMixin<RallyModel>;
30
+ Traits: TraitModel[];
31
+ getTraits: Sequelize.BelongsToManyGetAssociationsMixin<TraitModel>;
32
+ setTraits: Sequelize.BelongsToManySetAssociationsMixin<TraitModel, TraitId>;
33
+ addTrait: Sequelize.BelongsToManyAddAssociationMixin<TraitModel, TraitId>;
34
+ addTraits: Sequelize.BelongsToManyAddAssociationsMixin<TraitModel, TraitId>;
35
+ createTrait: Sequelize.BelongsToManyCreateAssociationMixin<TraitModel>;
36
+ removeTrait: Sequelize.BelongsToManyRemoveAssociationMixin<TraitModel, TraitId>;
37
+ removeTraits: Sequelize.BelongsToManyRemoveAssociationsMixin<TraitModel, TraitId>;
38
+ hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
39
+ hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
40
+ countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
30
41
  static initModel(sequelize: Sequelize.Sequelize): typeof EventModel;
31
42
  }
@@ -4,6 +4,7 @@ export * from './country';
4
4
  export * from './draft';
5
5
  export * from './draft-pick';
6
6
  export * from './event';
7
+ export * from './event-trait';
7
8
  export * from './iteration';
8
9
  export * from './league';
9
10
  export * from './libero-replacement';
@@ -14,6 +15,7 @@ export * from './match-set-stats';
14
15
  export * from './performance-stats';
15
16
  export * from './player';
16
17
  export * from './player-team';
18
+ export * from './player-trait';
17
19
  export * from './rally';
18
20
  export * from './rally-position';
19
21
  export * from './reception';
@@ -30,3 +32,4 @@ export * from './tournament';
30
32
  export * from './tournament-match';
31
33
  export * from './tournament-teams';
32
34
  export * from './user';
35
+ export * from './trait';
@@ -4,6 +4,7 @@ export * from './country';
4
4
  export * from './draft';
5
5
  export * from './draft-pick';
6
6
  export * from './event';
7
+ export * from './event-trait';
7
8
  export * from './iteration';
8
9
  export * from './league';
9
10
  export * from './libero-replacement';
@@ -14,6 +15,7 @@ export * from './match-set-stats';
14
15
  export * from './performance-stats';
15
16
  export * from './player';
16
17
  export * from './player-team';
18
+ export * from './player-trait';
17
19
  export * from './rally';
18
20
  export * from './rally-position';
19
21
  export * from './reception';
@@ -30,3 +32,4 @@ export * from './tournament';
30
32
  export * from './tournament-match';
31
33
  export * from './tournament-teams';
32
34
  export * from './user';
35
+ export * from './trait';
@@ -19,6 +19,7 @@ export declare class MatchModel extends Model<MatchAttributes, MatchCreationAttr
19
19
  away_team: string;
20
20
  scheduled_date: Date;
21
21
  is_simulated: boolean;
22
+ MatchSets: MatchSetModel[];
22
23
  MatchRatings: MatchRatingModel[];
23
24
  getMatchRatings: Sequelize.HasManyGetAssociationsMixin<MatchRatingModel>;
24
25
  setMatchRatings: Sequelize.HasManySetAssociationsMixin<MatchRatingModel, MatchRatingId>;
@@ -30,7 +31,6 @@ export declare class MatchModel extends Model<MatchAttributes, MatchCreationAttr
30
31
  hasMatchRating: Sequelize.HasManyHasAssociationMixin<MatchRatingModel, MatchRatingId>;
31
32
  hasMatchRatings: Sequelize.HasManyHasAssociationsMixin<MatchRatingModel, MatchRatingId>;
32
33
  countMatchRatings: Sequelize.HasManyCountAssociationsMixin;
33
- MatchSets: MatchSetModel[];
34
34
  getMatchSets: Sequelize.HasManyGetAssociationsMixin<MatchSetModel>;
35
35
  setMatchSets: Sequelize.HasManySetAssociationsMixin<MatchSetModel, MatchSetId>;
36
36
  addMatchSet: Sequelize.HasManyAddAssociationMixin<MatchSetModel, MatchSetId>;
@@ -0,0 +1,23 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import type { PlayerId, PlayerModel, TraitId, TraitModel } from '.';
4
+ export interface PlayerTraitAttributes {
5
+ player_id: string;
6
+ trait_id: string;
7
+ }
8
+ export type PlayerTraitPk = 'player_id' | 'trait_id';
9
+ export type PlayerTraitId = PlayerTraitModel[PlayerTraitPk];
10
+ export type PlayerTraitCreationAttributes = PlayerTraitAttributes;
11
+ export declare class PlayerTraitModel extends Model<PlayerTraitAttributes, PlayerTraitCreationAttributes> implements PlayerTraitAttributes {
12
+ player_id: string;
13
+ trait_id: string;
14
+ player: PlayerModel;
15
+ getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
16
+ setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
17
+ createPlayer: Sequelize.BelongsToCreateAssociationMixin<PlayerModel>;
18
+ trait: TraitModel;
19
+ getTrait: Sequelize.BelongsToGetAssociationMixin<TraitModel>;
20
+ setTrait: Sequelize.BelongsToSetAssociationMixin<TraitModel, TraitId>;
21
+ createTrait: Sequelize.BelongsToCreateAssociationMixin<TraitModel>;
22
+ static initModel(sequelize: Sequelize.Sequelize): typeof PlayerTraitModel;
23
+ }
@@ -0,0 +1,38 @@
1
+ import { DataTypes, Model } from 'sequelize';
2
+ export class PlayerTraitModel extends Model {
3
+ static initModel(sequelize) {
4
+ return PlayerTraitModel.init({
5
+ player_id: {
6
+ type: DataTypes.UUID,
7
+ allowNull: false,
8
+ primaryKey: true,
9
+ references: {
10
+ model: 'Player',
11
+ key: 'player_id'
12
+ }
13
+ },
14
+ trait_id: {
15
+ type: DataTypes.UUID,
16
+ allowNull: false,
17
+ primaryKey: true,
18
+ references: {
19
+ model: 'Trait',
20
+ key: 'trait_id'
21
+ }
22
+ }
23
+ }, {
24
+ sequelize,
25
+ tableName: 'PlayerTrait',
26
+ schema: 'public',
27
+ timestamps: false,
28
+ indexes: [{
29
+ name: 'playertrait_pk',
30
+ unique: true,
31
+ fields: [
32
+ { name: 'trait_id' },
33
+ { name: 'player_id' },
34
+ ]
35
+ }]
36
+ });
37
+ }
38
+ }
@@ -1,19 +1,16 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import type { BlockId, CountryId, DraftPickId, EventId, LiberoReplacementId, MatchSetId, MatchSetStatsId, PerformanceStatsId, PlayerTeamId, RallyId, RallyPositionId, ReceptionId, ScoreId, ServeId, SetId, SpikeId, SubstitutionId } from '.';
4
- import { BlockModel, CountryModel, DraftPickModel, EventModel, LiberoReplacementModel, MatchSetModel, MatchSetStatsAttributes, MatchSetStatsModel, PerformanceStatsAttributes, PerformanceStatsModel, PlayerTeamModel, RallyModel, RallyPositionModel, ReceptionModel, ScoreModel, ServeModel, SetModel, SpikeModel, SubstitutionModel } from '.';
3
+ import { BlockId, BlockModel, CountryId, CountryModel, DraftPickId, DraftPickModel, EventId, EventModel, LiberoReplacementId, LiberoReplacementModel, MatchSetId, MatchSetModel, MatchSetStatsAttributes, MatchSetStatsId, MatchSetStatsModel, PerformanceStatsAttributes, PerformanceStatsId, PerformanceStatsModel, PlayerTeamId, PlayerTeamModel, RallyId, RallyModel, RallyPositionId, RallyPositionModel, ReceptionId, ReceptionModel, ScoreId, ScoreModel, ServeId, ServeModel, SetId, SetModel, SpikeId, SpikeModel, SubstitutionId, SubstitutionModel, TraitId, TraitModel } from '.';
5
4
  export interface PlayerAttributes {
6
5
  player_id: string;
7
6
  roles: RoleType[];
8
7
  first_name: string;
9
8
  last_name: string;
10
9
  country_id: string;
11
- traits: TraitType[];
12
10
  PerformanceStat?: PerformanceStatsAttributes;
13
11
  MatchSetStats?: MatchSetStatsAttributes[];
14
12
  }
15
13
  export type RoleType = 'SETTER' | 'LIBERO' | 'OUTSIDE_HITTER' | 'OPPOSITE_HITTER' | 'MIDDLE_BLOCKER' | 'DEFENSIVE_SPECIALIST';
16
- export type TraitType = 'MARKSMAN' | 'MOVING_WALL' | 'MASTER_MIND' | 'METEOR_SERVE' | 'VIGOROUS' | 'GUARDIAN';
17
14
  export type PlayerPk = 'player_id';
18
15
  export type PlayerId = PlayerModel[PlayerPk];
19
16
  export type PlayerCreationAttributes = PlayerAttributes;
@@ -23,7 +20,8 @@ export declare class PlayerModel extends Model<PlayerAttributes, PlayerCreationA
23
20
  first_name: string;
24
21
  last_name: string;
25
22
  country_id: string;
26
- traits: TraitType[];
23
+ PerformanceStat: PerformanceStatsModel;
24
+ MatchSetStats: MatchSetStatsModel[];
27
25
  country: CountryModel;
28
26
  getCountry: Sequelize.BelongsToGetAssociationMixin<CountryModel>;
29
27
  setCountry: Sequelize.BelongsToSetAssociationMixin<CountryModel, CountryId>;
@@ -142,7 +140,6 @@ export declare class PlayerModel extends Model<PlayerAttributes, PlayerCreationA
142
140
  hasMatchSet: Sequelize.BelongsToManyHasAssociationMixin<MatchSetModel, MatchSetId>;
143
141
  hasMatchSets: Sequelize.BelongsToManyHasAssociationsMixin<MatchSetModel, MatchSetId>;
144
142
  countMatchSets: Sequelize.BelongsToManyCountAssociationsMixin;
145
- MatchSetStats: MatchSetStatsModel[];
146
143
  getMatchSetStats: Sequelize.HasManyGetAssociationsMixin<MatchSetStatsModel>;
147
144
  setMatchSetStats: Sequelize.HasManySetAssociationsMixin<MatchSetStatsModel, MatchSetStatsId>;
148
145
  addMatchSetStat: Sequelize.HasManyAddAssociationMixin<MatchSetStatsModel, MatchSetStatsId>;
@@ -153,7 +150,6 @@ export declare class PlayerModel extends Model<PlayerAttributes, PlayerCreationA
153
150
  hasMatchSetStat: Sequelize.HasManyHasAssociationMixin<MatchSetStatsModel, MatchSetStatsId>;
154
151
  hasMatchSetStats: Sequelize.HasManyHasAssociationsMixin<MatchSetStatsModel, MatchSetStatsId>;
155
152
  countMatchSetStats: Sequelize.HasManyCountAssociationsMixin;
156
- PerformanceStat: PerformanceStatsModel;
157
153
  getPerformanceStat: Sequelize.HasOneGetAssociationMixin<PerformanceStatsModel>;
158
154
  setPerformanceStat: Sequelize.HasOneSetAssociationMixin<PerformanceStatsModel, PerformanceStatsId>;
159
155
  createPerformanceStat: Sequelize.HasOneCreateAssociationMixin<PerformanceStatsModel>;
@@ -260,5 +256,16 @@ export declare class PlayerModel extends Model<PlayerAttributes, PlayerCreationA
260
256
  hasInSubstitution: Sequelize.HasManyHasAssociationMixin<SubstitutionModel, SubstitutionId>;
261
257
  hasInSubstitutions: Sequelize.HasManyHasAssociationsMixin<SubstitutionModel, SubstitutionId>;
262
258
  countInSubstitutions: Sequelize.HasManyCountAssociationsMixin;
259
+ Traits: TraitModel[];
260
+ getTraits: Sequelize.BelongsToManyGetAssociationsMixin<TraitModel>;
261
+ setTraits: Sequelize.BelongsToManySetAssociationsMixin<TraitModel, TraitId>;
262
+ addTrait: Sequelize.BelongsToManyAddAssociationMixin<TraitModel, TraitId>;
263
+ addTraits: Sequelize.BelongsToManyAddAssociationsMixin<TraitModel, TraitId>;
264
+ createTrait: Sequelize.BelongsToManyCreateAssociationMixin<TraitModel>;
265
+ removeTrait: Sequelize.BelongsToManyRemoveAssociationMixin<TraitModel, TraitId>;
266
+ removeTraits: Sequelize.BelongsToManyRemoveAssociationsMixin<TraitModel, TraitId>;
267
+ hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
268
+ hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
269
+ countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
263
270
  static initModel(sequelize: Sequelize.Sequelize): typeof PlayerModel;
264
271
  }
@@ -26,10 +26,6 @@ export class PlayerModel extends Model {
26
26
  model: 'Country',
27
27
  key: 'country_id'
28
28
  }
29
- },
30
- traits: {
31
- type: DataTypes.ARRAY(DataTypes.ENUM('MARKSMAN', 'MOVING_WALL', 'MASTER_MIND', 'METEOR_SERVE', 'VIGOROUS', 'GUARDIAN')),
32
- allowNull: false
33
29
  }
34
30
  }, {
35
31
  sequelize,
@@ -1,6 +1,6 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitType } from '.';
3
+ import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface ReceptionAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -29,7 +29,6 @@ export declare class ReceptionModel extends Model<ReceptionAttributes, Reception
29
29
  player_id: string;
30
30
  modifier: number;
31
31
  score: number;
32
- active_traits: TraitType[];
33
32
  player: PlayerModel;
34
33
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
34
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -38,5 +37,16 @@ export declare class ReceptionModel extends Model<ReceptionAttributes, Reception
38
37
  getRally: Sequelize.BelongsToGetAssociationMixin<RallyModel>;
39
38
  setRally: Sequelize.BelongsToSetAssociationMixin<RallyModel, RallyId>;
40
39
  createRally: Sequelize.BelongsToCreateAssociationMixin<RallyModel>;
40
+ Traits: TraitModel[];
41
+ getTraits: Sequelize.BelongsToManyGetAssociationsMixin<TraitModel>;
42
+ setTraits: Sequelize.BelongsToManySetAssociationsMixin<TraitModel, TraitId>;
43
+ addTrait: Sequelize.BelongsToManyAddAssociationMixin<TraitModel, TraitId>;
44
+ addTraits: Sequelize.BelongsToManyAddAssociationsMixin<TraitModel, TraitId>;
45
+ createTrait: Sequelize.BelongsToManyCreateAssociationMixin<TraitModel>;
46
+ removeTrait: Sequelize.BelongsToManyRemoveAssociationMixin<TraitModel, TraitId>;
47
+ removeTraits: Sequelize.BelongsToManyRemoveAssociationsMixin<TraitModel, TraitId>;
48
+ hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
49
+ hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
50
+ countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
41
51
  static initModel(sequelize: Sequelize.Sequelize): typeof ReceptionModel;
42
52
  }
@@ -13,11 +13,11 @@ export type SeasonMatchCreationAttributes = SeasonMatchAttributes;
13
13
  export declare class SeasonMatchModel extends Model<SeasonMatchAttributes, SeasonMatchCreationAttributes> implements SeasonMatchAttributes {
14
14
  season_id: string;
15
15
  match_id: string;
16
+ match: MatchModel;
16
17
  season: SeasonModel;
17
18
  getSeason: Sequelize.BelongsToGetAssociationMixin<SeasonModel>;
18
19
  setSeason: Sequelize.BelongsToSetAssociationMixin<SeasonModel, SeasonId>;
19
20
  createSeason: Sequelize.BelongsToCreateAssociationMixin<SeasonModel>;
20
- match: MatchModel;
21
21
  getMatch: Sequelize.BelongsToGetAssociationMixin<MatchModel>;
22
22
  setMatch: Sequelize.BelongsToSetAssociationMixin<MatchModel, MatchId>;
23
23
  createMatch: Sequelize.BelongsToCreateAssociationMixin<MatchModel>;
@@ -18,11 +18,13 @@ export declare class SeasonModel extends Model<SeasonAttributes, SeasonCreationA
18
18
  season_id: string;
19
19
  iteration: number;
20
20
  league_id: string;
21
+ seasonTeams: TeamModel[];
22
+ SeasonMatches: SeasonMatchModel[];
23
+ league: LeagueModel;
21
24
  Iteration: IterationModel;
22
25
  getIteration: Sequelize.BelongsToGetAssociationMixin<IterationModel>;
23
26
  setIteration: Sequelize.BelongsToSetAssociationMixin<IterationModel, IterationId>;
24
27
  createIteration: Sequelize.BelongsToCreateAssociationMixin<IterationModel>;
25
- league: LeagueModel;
26
28
  getLeague: Sequelize.BelongsToGetAssociationMixin<LeagueModel>;
27
29
  setLeague: Sequelize.BelongsToSetAssociationMixin<LeagueModel, LeagueId>;
28
30
  createLeague: Sequelize.BelongsToCreateAssociationMixin<LeagueModel>;
@@ -37,7 +39,6 @@ export declare class SeasonModel extends Model<SeasonAttributes, SeasonCreationA
37
39
  hasSeasonTeam: Sequelize.HasManyHasAssociationMixin<SeasonTeamsModel, SeasonTeamsId>;
38
40
  hasSeasonTeams: Sequelize.HasManyHasAssociationsMixin<SeasonTeamsModel, SeasonTeamsId>;
39
41
  countSeasonTeams: Sequelize.HasManyCountAssociationsMixin;
40
- seasonTeams: TeamModel[];
41
42
  getseasonTeams: Sequelize.BelongsToManyGetAssociationsMixin<TeamModel>;
42
43
  setseasonTeams: Sequelize.BelongsToManySetAssociationsMixin<TeamModel, TeamId>;
43
44
  addTeam_id_Team: Sequelize.BelongsToManyAddAssociationMixin<TeamModel, TeamId>;
@@ -48,7 +49,6 @@ export declare class SeasonModel extends Model<SeasonAttributes, SeasonCreationA
48
49
  hasTeam_id_Team: Sequelize.BelongsToManyHasAssociationMixin<TeamModel, TeamId>;
49
50
  hasseasonTeams: Sequelize.BelongsToManyHasAssociationsMixin<TeamModel, TeamId>;
50
51
  countseasonTeams: Sequelize.BelongsToManyCountAssociationsMixin;
51
- SeasonMatches: SeasonMatchModel[];
52
52
  getSeasonMatches: Sequelize.HasManyGetAssociationsMixin<SeasonMatchModel>;
53
53
  setSeasonMatches: Sequelize.HasManySetAssociationsMixin<SeasonMatchModel, SeasonMatchId>;
54
54
  addSeasonMatch: Sequelize.HasManyAddAssociationMixin<SeasonMatchModel, SeasonMatchId>;
@@ -1,6 +1,6 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitType } from '.';
3
+ import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface ServeAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -29,7 +29,6 @@ export declare class ServeModel extends Model<ServeAttributes, ServeCreationAttr
29
29
  modifier: number;
30
30
  score: number;
31
31
  type: ServeType;
32
- active_traits: TraitType[];
33
32
  player: PlayerModel;
34
33
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
34
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -38,5 +37,16 @@ export declare class ServeModel extends Model<ServeAttributes, ServeCreationAttr
38
37
  getRally: Sequelize.BelongsToGetAssociationMixin<RallyModel>;
39
38
  setRally: Sequelize.BelongsToSetAssociationMixin<RallyModel, RallyId>;
40
39
  createRally: Sequelize.BelongsToCreateAssociationMixin<RallyModel>;
40
+ Traits: TraitModel[];
41
+ getTraits: Sequelize.BelongsToManyGetAssociationsMixin<TraitModel>;
42
+ setTraits: Sequelize.BelongsToManySetAssociationsMixin<TraitModel, TraitId>;
43
+ addTrait: Sequelize.BelongsToManyAddAssociationMixin<TraitModel, TraitId>;
44
+ addTraits: Sequelize.BelongsToManyAddAssociationsMixin<TraitModel, TraitId>;
45
+ createTrait: Sequelize.BelongsToManyCreateAssociationMixin<TraitModel>;
46
+ removeTrait: Sequelize.BelongsToManyRemoveAssociationMixin<TraitModel, TraitId>;
47
+ removeTraits: Sequelize.BelongsToManyRemoveAssociationsMixin<TraitModel, TraitId>;
48
+ hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
49
+ hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
50
+ countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
41
51
  static initModel(sequelize: Sequelize.Sequelize): typeof ServeModel;
42
52
  }
@@ -1,6 +1,6 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitType } from '.';
3
+ import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface SetAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -29,7 +29,6 @@ export declare class SetModel extends Model<SetAttributes, SetCreationAttributes
29
29
  player_id: string;
30
30
  modifier: number;
31
31
  score: number;
32
- active_traits: TraitType[];
33
32
  player: PlayerModel;
34
33
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
34
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -38,5 +37,16 @@ export declare class SetModel extends Model<SetAttributes, SetCreationAttributes
38
37
  getRally: Sequelize.BelongsToGetAssociationMixin<RallyModel>;
39
38
  setRally: Sequelize.BelongsToSetAssociationMixin<RallyModel, RallyId>;
40
39
  createRally: Sequelize.BelongsToCreateAssociationMixin<RallyModel>;
40
+ Traits: TraitModel[];
41
+ getTraits: Sequelize.BelongsToManyGetAssociationsMixin<TraitModel>;
42
+ setTraits: Sequelize.BelongsToManySetAssociationsMixin<TraitModel, TraitId>;
43
+ addTrait: Sequelize.BelongsToManyAddAssociationMixin<TraitModel, TraitId>;
44
+ addTraits: Sequelize.BelongsToManyAddAssociationsMixin<TraitModel, TraitId>;
45
+ createTrait: Sequelize.BelongsToManyCreateAssociationMixin<TraitModel>;
46
+ removeTrait: Sequelize.BelongsToManyRemoveAssociationMixin<TraitModel, TraitId>;
47
+ removeTraits: Sequelize.BelongsToManyRemoveAssociationsMixin<TraitModel, TraitId>;
48
+ hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
49
+ hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
50
+ countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
41
51
  static initModel(sequelize: Sequelize.Sequelize): typeof SetModel;
42
52
  }
@@ -1,6 +1,6 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
- import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitType } from '.';
3
+ import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
4
4
  export interface SpikeAttributes {
5
5
  event_id: string;
6
6
  rally_id: string;
@@ -29,7 +29,6 @@ export declare class SpikeModel extends Model<SpikeAttributes, SpikeCreationAttr
29
29
  player_id: string;
30
30
  modifier: number;
31
31
  score: number;
32
- active_traits: TraitType[];
33
32
  player: PlayerModel;
34
33
  getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
35
34
  setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
@@ -38,5 +37,16 @@ export declare class SpikeModel extends Model<SpikeAttributes, SpikeCreationAttr
38
37
  getRally: Sequelize.BelongsToGetAssociationMixin<RallyModel>;
39
38
  setRally: Sequelize.BelongsToSetAssociationMixin<RallyModel, RallyId>;
40
39
  createRally: Sequelize.BelongsToCreateAssociationMixin<RallyModel>;
40
+ Traits: TraitModel[];
41
+ getTraits: Sequelize.BelongsToManyGetAssociationsMixin<TraitModel>;
42
+ setTraits: Sequelize.BelongsToManySetAssociationsMixin<TraitModel, TraitId>;
43
+ addTrait: Sequelize.BelongsToManyAddAssociationMixin<TraitModel, TraitId>;
44
+ addTraits: Sequelize.BelongsToManyAddAssociationsMixin<TraitModel, TraitId>;
45
+ createTrait: Sequelize.BelongsToManyCreateAssociationMixin<TraitModel>;
46
+ removeTrait: Sequelize.BelongsToManyRemoveAssociationMixin<TraitModel, TraitId>;
47
+ removeTraits: Sequelize.BelongsToManyRemoveAssociationsMixin<TraitModel, TraitId>;
48
+ hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
49
+ hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
50
+ countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
41
51
  static initModel(sequelize: Sequelize.Sequelize): typeof SpikeModel;
42
52
  }
@@ -26,6 +26,7 @@ export declare class TeamModel extends Model<TeamAttributes, TeamCreationAttribu
26
26
  league_id: string;
27
27
  country_id: string;
28
28
  coach: CoachModel;
29
+ league: LeagueModel;
29
30
  getCoach: Sequelize.BelongsToGetAssociationMixin<CoachModel>;
30
31
  setCoach: Sequelize.BelongsToSetAssociationMixin<CoachModel, CoachId>;
31
32
  createCoach: Sequelize.BelongsToCreateAssociationMixin<CoachModel>;
@@ -33,7 +34,6 @@ export declare class TeamModel extends Model<TeamAttributes, TeamCreationAttribu
33
34
  getCountry: Sequelize.BelongsToGetAssociationMixin<CountryModel>;
34
35
  setCountry: Sequelize.BelongsToSetAssociationMixin<CountryModel, CountryId>;
35
36
  createCountry: Sequelize.BelongsToCreateAssociationMixin<CountryModel>;
36
- league: LeagueModel;
37
37
  getLeague: Sequelize.BelongsToGetAssociationMixin<LeagueModel>;
38
38
  setLeague: Sequelize.BelongsToSetAssociationMixin<LeagueModel, LeagueId>;
39
39
  createLeague: Sequelize.BelongsToCreateAssociationMixin<LeagueModel>;
@@ -17,6 +17,7 @@ export declare class TournamentModel extends Model<TournamentAttributes, Tournam
17
17
  tournament_id: string;
18
18
  iteration: number;
19
19
  champion?: string;
20
+ TournamentMatches: TournamentMatchModel[];
20
21
  tournamentTeams: TeamModel[];
21
22
  Iteration: IterationModel;
22
23
  getIteration: Sequelize.BelongsToGetAssociationMixin<IterationModel>;
@@ -26,7 +27,6 @@ export declare class TournamentModel extends Model<TournamentAttributes, Tournam
26
27
  getChampion: Sequelize.BelongsToGetAssociationMixin<TeamModel>;
27
28
  setChampion: Sequelize.BelongsToSetAssociationMixin<TeamModel, TeamId>;
28
29
  createChampion: Sequelize.BelongsToCreateAssociationMixin<TeamModel>;
29
- TournamentMatches: TournamentMatchModel[];
30
30
  getTournamentMatches: Sequelize.HasManyGetAssociationsMixin<TournamentMatchModel>;
31
31
  setTournamentMatches: Sequelize.HasManySetAssociationsMixin<TournamentMatchModel, TournamentMatchId>;
32
32
  addTournamentMatch: Sequelize.HasManyAddAssociationMixin<TournamentMatchModel, TournamentMatchId>;
@@ -0,0 +1,70 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import { EventId, EventModel, EventTraitId, EventTraitModel, PlayerId, PlayerModel, PlayerTraitId, PlayerTraitModel } from '.';
4
+ export interface TraitAttributes {
5
+ trait_id: string;
6
+ name: string;
7
+ modifier: number;
8
+ chance: number;
9
+ threshold: number;
10
+ weight: number;
11
+ general_stat: GeneralStatType;
12
+ }
13
+ export type TraitPk = 'trait_id';
14
+ export type TraitId = TraitModel[TraitPk];
15
+ export type TraitCreationAttributes = TraitAttributes;
16
+ export type GeneralStatType = 'Attack' | 'Defense' | 'Physical' | 'Serve';
17
+ export declare class TraitModel extends Model<TraitAttributes, TraitCreationAttributes> implements TraitAttributes {
18
+ trait_id: string;
19
+ name: string;
20
+ modifier: number;
21
+ chance: number;
22
+ threshold: number;
23
+ weight: number;
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
+ EventTraits: EventTraitModel[];
37
+ getEventTraits: Sequelize.HasManyGetAssociationsMixin<EventTraitModel>;
38
+ setEventTraits: Sequelize.HasManySetAssociationsMixin<EventTraitModel, EventTraitId>;
39
+ addEventTrait: Sequelize.HasManyAddAssociationMixin<EventTraitModel, EventTraitId>;
40
+ addEventTraits: Sequelize.HasManyAddAssociationsMixin<EventTraitModel, EventTraitId>;
41
+ createEventTrait: Sequelize.HasManyCreateAssociationMixin<EventTraitModel>;
42
+ removeEventTrait: Sequelize.HasManyRemoveAssociationMixin<EventTraitModel, EventTraitId>;
43
+ removeEventTraits: Sequelize.HasManyRemoveAssociationsMixin<EventTraitModel, EventTraitId>;
44
+ hasEventTrait: Sequelize.HasManyHasAssociationMixin<EventTraitModel, EventTraitId>;
45
+ hasEventTraits: Sequelize.HasManyHasAssociationsMixin<EventTraitModel, EventTraitId>;
46
+ countEventTraits: Sequelize.HasManyCountAssociationsMixin;
47
+ Players: PlayerModel[];
48
+ getPlayers: Sequelize.BelongsToManyGetAssociationsMixin<PlayerModel>;
49
+ setPlayers: Sequelize.BelongsToManySetAssociationsMixin<PlayerModel, PlayerId>;
50
+ addPlayer: Sequelize.BelongsToManyAddAssociationMixin<PlayerModel, PlayerId>;
51
+ addPlayers: Sequelize.BelongsToManyAddAssociationsMixin<PlayerModel, PlayerId>;
52
+ createPlayer: Sequelize.BelongsToManyCreateAssociationMixin<PlayerModel>;
53
+ removePlayer: Sequelize.BelongsToManyRemoveAssociationMixin<PlayerModel, PlayerId>;
54
+ removePlayers: Sequelize.BelongsToManyRemoveAssociationsMixin<PlayerModel, PlayerId>;
55
+ hasPlayer: Sequelize.BelongsToManyHasAssociationMixin<PlayerModel, PlayerId>;
56
+ hasPlayers: Sequelize.BelongsToManyHasAssociationsMixin<PlayerModel, PlayerId>;
57
+ countPlayers: Sequelize.BelongsToManyCountAssociationsMixin;
58
+ PlayerTraits: PlayerTraitModel[];
59
+ getPlayerTraits: Sequelize.HasManyGetAssociationsMixin<PlayerTraitModel>;
60
+ setPlayerTraits: Sequelize.HasManySetAssociationsMixin<PlayerTraitModel, PlayerTraitId>;
61
+ addPlayerTrait: Sequelize.HasManyAddAssociationMixin<PlayerTraitModel, PlayerTraitId>;
62
+ addPlayerTraits: Sequelize.HasManyAddAssociationsMixin<PlayerTraitModel, PlayerTraitId>;
63
+ createPlayerTrait: Sequelize.HasManyCreateAssociationMixin<PlayerTraitModel>;
64
+ removePlayerTrait: Sequelize.HasManyRemoveAssociationMixin<PlayerTraitModel, PlayerTraitId>;
65
+ removePlayerTraits: Sequelize.HasManyRemoveAssociationsMixin<PlayerTraitModel, PlayerTraitId>;
66
+ hasPlayerTrait: Sequelize.HasManyHasAssociationMixin<PlayerTraitModel, PlayerTraitId>;
67
+ hasPlayerTraits: Sequelize.HasManyHasAssociationsMixin<PlayerTraitModel, PlayerTraitId>;
68
+ countPlayerTraits: Sequelize.HasManyCountAssociationsMixin;
69
+ static initModel(sequelize: Sequelize.Sequelize): typeof TraitModel;
70
+ }
@@ -0,0 +1,46 @@
1
+ import { DataTypes, Model } from 'sequelize';
2
+ export class TraitModel extends Model {
3
+ static initModel(sequelize) {
4
+ return TraitModel.init({
5
+ trait_id: {
6
+ type: DataTypes.UUID,
7
+ allowNull: false,
8
+ primaryKey: true
9
+ },
10
+ name: {
11
+ type: DataTypes.STRING,
12
+ allowNull: false
13
+ },
14
+ modifier: {
15
+ type: DataTypes.REAL,
16
+ allowNull: false
17
+ },
18
+ chance: {
19
+ type: DataTypes.REAL,
20
+ allowNull: false
21
+ },
22
+ threshold: {
23
+ type: DataTypes.INTEGER,
24
+ allowNull: false
25
+ },
26
+ weight: {
27
+ type: DataTypes.INTEGER,
28
+ allowNull: false
29
+ },
30
+ general_stat: {
31
+ type: DataTypes.ENUM('Attack', 'Defense', 'Physical', 'Serve'),
32
+ allowNull: false
33
+ }
34
+ }, {
35
+ sequelize,
36
+ tableName: 'Trait',
37
+ schema: 'public',
38
+ timestamps: false,
39
+ indexes: [{
40
+ name: 'trait_pk',
41
+ unique: true,
42
+ fields: [{ name: 'trait_id' }]
43
+ }]
44
+ });
45
+ }
46
+ }
@@ -1,12 +1,11 @@
1
1
  import { GeneralStat, Player } from '../../service';
2
- import { transformFromPerformanceStats, transformFromRole, transformFromTrait, transformToAPIMatchSetStats, transformToAPITrait, transformToCountry, transformToPerformanceStats, transformToRole, transformToTrait } from '.';
2
+ import { transformFromPerformanceStats, transformFromRole, transformToAPIMatchSetStats, transformToAPITrait, transformToCountry, transformToPerformanceStats, transformToRole, transformToTrait } from '.';
3
3
  function transformToAttributes(player) {
4
4
  return {
5
5
  player_id: player.id,
6
6
  country_id: player.country.id,
7
7
  first_name: player.name.first,
8
8
  last_name: player.name.last,
9
- traits: player.traits.map(transformFromTrait),
10
9
  roles: player.roles.map(transformFromRole),
11
10
  PerformanceStat: transformFromPerformanceStats(player)
12
11
  };
@@ -20,7 +19,7 @@ function transformToObject(model) {
20
19
  },
21
20
  country: transformToCountry(model.country),
22
21
  roles: model.roles.map(transformToRole),
23
- traits: model.traits.map(transformToTrait),
22
+ traits: model.Traits.map(transformToTrait),
24
23
  stats: transformToPerformanceStats(model.PerformanceStat)
25
24
  });
26
25
  }
@@ -39,7 +38,7 @@ function transformToAPIObject(model) {
39
38
  },
40
39
  country: transformToCountry(model.country),
41
40
  roles: model.roles.map(transformToRole),
42
- traits: model.traits.map(transformToAPITrait),
41
+ traits: model.Traits.map(transformToAPITrait),
43
42
  generalStats,
44
43
  gameStats
45
44
  };
@@ -1,7 +1,7 @@
1
1
  import { Trait } from '../../service';
2
+ import { TraitAttributes, TraitModel } from '../models';
2
3
  import { APITrait } from '../../api';
3
- import { TraitType } from '../models';
4
- declare function transformToType(trait: Trait): TraitType;
5
- declare function transformFromType(trait: TraitType): Trait;
6
- declare function transformToEnum(trait: TraitType): APITrait;
7
- export { transformToType as transformFromTrait, transformFromType as transformToTrait, transformToEnum as transformToAPITrait };
4
+ declare function transformToAttributes(trait: Trait): TraitAttributes;
5
+ declare function transformToAPIObject(model: TraitModel): APITrait;
6
+ declare function transformToObject(model: TraitModel): Trait;
7
+ export { transformToObject as transformToTrait, transformToAPIObject as transformToAPITrait, transformToAttributes as transformFromTrait };