volleyballsimtypes 0.0.76 → 0.0.78
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.
- package/dist/cjs/src/data/index.d.ts +1 -2
- package/dist/cjs/src/data/index.js +2 -34
- package/dist/cjs/src/data/models/block.d.ts +3 -1
- package/dist/cjs/src/data/models/block.js +8 -7
- package/dist/cjs/src/data/models/event.d.ts +1 -1
- package/dist/cjs/src/data/models/event.js +3 -7
- package/dist/cjs/src/data/models/index.d.ts +32 -62
- package/dist/cjs/src/data/models/index.js +46 -65
- package/dist/cjs/src/data/models/iteration.d.ts +1 -1
- package/dist/cjs/src/data/models/iteration.js +2 -2
- package/dist/cjs/src/data/models/reception.d.ts +3 -1
- package/dist/cjs/src/data/models/reception.js +8 -7
- package/dist/cjs/src/data/models/serve.d.ts +3 -1
- package/dist/cjs/src/data/models/serve.js +8 -7
- package/dist/cjs/src/data/models/set.d.ts +3 -1
- package/dist/cjs/src/data/models/set.js +8 -7
- package/dist/cjs/src/data/models/spike.d.ts +3 -1
- package/dist/cjs/src/data/models/spike.js +8 -7
- package/dist/cjs/src/data/transformers/block.js +4 -2
- package/dist/cjs/src/data/transformers/reception.js +4 -2
- package/dist/cjs/src/data/transformers/serve.js +4 -2
- package/dist/cjs/src/data/transformers/set.js +4 -2
- package/dist/cjs/src/data/transformers/spike.js +4 -2
- package/dist/cjs/src/index.d.ts +1 -2
- package/dist/cjs/src/index.js +1 -124
- package/dist/cjs/src/service/event/__stubs__/index.js +2 -1
- package/dist/cjs/src/service/event/block.d.ts +1 -1
- package/dist/cjs/src/service/event/block.js +2 -2
- package/dist/cjs/src/service/event/block.test.js +10 -5
- package/dist/cjs/src/service/event/in-play-event.d.ts +4 -2
- package/dist/cjs/src/service/event/in-play-event.js +6 -5
- package/dist/cjs/src/service/event/libero-replacement.d.ts +1 -1
- package/dist/cjs/src/service/event/libero-replacement.js +2 -2
- package/dist/cjs/src/service/event/reception.d.ts +1 -1
- package/dist/cjs/src/service/event/reception.js +2 -2
- package/dist/cjs/src/service/event/reception.test.js +4 -2
- package/dist/cjs/src/service/event/serve.d.ts +1 -1
- package/dist/cjs/src/service/event/serve.js +2 -2
- package/dist/cjs/src/service/event/serve.test.js +4 -2
- package/dist/cjs/src/service/event/set.d.ts +1 -1
- package/dist/cjs/src/service/event/set.js +2 -2
- package/dist/cjs/src/service/event/set.test.js +4 -2
- package/dist/cjs/src/service/event/spike.d.ts +1 -1
- package/dist/cjs/src/service/event/spike.js +2 -2
- package/dist/cjs/src/service/event/spike.test.js +6 -3
- package/dist/cjs/src/service/player/role.d.ts +1 -1
- package/dist/cjs/src/service/team/team.d.ts +3 -3
- package/dist/cjs/src/service/team/team.js +6 -6
- package/dist/esm/src/data/index.d.ts +1 -2
- package/dist/esm/src/data/index.js +1 -1
- package/dist/esm/src/data/models/block.d.ts +3 -1
- package/dist/esm/src/data/models/block.js +8 -7
- package/dist/esm/src/data/models/event.d.ts +1 -1
- package/dist/esm/src/data/models/event.js +3 -7
- package/dist/esm/src/data/models/index.d.ts +32 -62
- package/dist/esm/src/data/models/index.js +32 -32
- package/dist/esm/src/data/models/iteration.d.ts +1 -1
- package/dist/esm/src/data/models/iteration.js +2 -2
- package/dist/esm/src/data/models/reception.d.ts +3 -1
- package/dist/esm/src/data/models/reception.js +8 -7
- package/dist/esm/src/data/models/serve.d.ts +3 -1
- package/dist/esm/src/data/models/serve.js +8 -7
- package/dist/esm/src/data/models/set.d.ts +3 -1
- package/dist/esm/src/data/models/set.js +8 -7
- package/dist/esm/src/data/models/spike.d.ts +3 -1
- package/dist/esm/src/data/models/spike.js +8 -7
- package/dist/esm/src/data/transformers/block.js +5 -3
- package/dist/esm/src/data/transformers/reception.js +5 -3
- package/dist/esm/src/data/transformers/serve.js +5 -3
- package/dist/esm/src/data/transformers/set.js +5 -3
- package/dist/esm/src/data/transformers/spike.js +5 -3
- package/dist/esm/src/index.d.ts +1 -2
- package/dist/esm/src/index.js +1 -1
- package/dist/esm/src/service/event/__stubs__/index.js +2 -1
- package/dist/esm/src/service/event/block.d.ts +1 -1
- package/dist/esm/src/service/event/block.js +2 -2
- package/dist/esm/src/service/event/block.test.js +10 -5
- package/dist/esm/src/service/event/in-play-event.d.ts +4 -2
- package/dist/esm/src/service/event/in-play-event.js +6 -5
- package/dist/esm/src/service/event/libero-replacement.d.ts +1 -1
- package/dist/esm/src/service/event/libero-replacement.js +3 -3
- package/dist/esm/src/service/event/reception.d.ts +1 -1
- package/dist/esm/src/service/event/reception.js +2 -2
- package/dist/esm/src/service/event/reception.test.js +4 -2
- package/dist/esm/src/service/event/serve.d.ts +1 -1
- package/dist/esm/src/service/event/serve.js +2 -2
- package/dist/esm/src/service/event/serve.test.js +4 -2
- package/dist/esm/src/service/event/set.d.ts +1 -1
- package/dist/esm/src/service/event/set.js +2 -2
- package/dist/esm/src/service/event/set.test.js +4 -2
- package/dist/esm/src/service/event/spike.d.ts +1 -1
- package/dist/esm/src/service/event/spike.js +2 -2
- package/dist/esm/src/service/event/spike.test.js +6 -3
- package/dist/esm/src/service/player/role.d.ts +1 -1
- package/dist/esm/src/service/team/team.d.ts +3 -3
- package/dist/esm/src/service/team/team.js +6 -6
- package/package.json +1 -1
|
@@ -15,18 +15,18 @@ class Team {
|
|
|
15
15
|
this.country = country;
|
|
16
16
|
this.league = league;
|
|
17
17
|
}
|
|
18
|
-
isPlayerInRoster(player) {
|
|
19
|
-
return this.roster.some(p => p.id === player.id);
|
|
20
|
-
}
|
|
21
|
-
toString() {
|
|
22
|
-
return `${this.name} [${this.shortName}] (${this.country?.name}) ELO=${this._rating}`;
|
|
23
|
-
}
|
|
24
18
|
get rating() {
|
|
25
19
|
return this._rating;
|
|
26
20
|
}
|
|
27
21
|
set rating(value) {
|
|
28
22
|
this._rating = value;
|
|
29
23
|
}
|
|
24
|
+
isPlayerInRoster(player) {
|
|
25
|
+
return this.roster.some(p => p.id === player.id);
|
|
26
|
+
}
|
|
27
|
+
toString() {
|
|
28
|
+
return `${this.name} [${this.shortName}] (${this.country?.name}) ELO=${this._rating}`;
|
|
29
|
+
}
|
|
30
30
|
updateRating(ratingChange) {
|
|
31
31
|
if (Math.abs(ratingChange) > match_1.MatchRating.K)
|
|
32
32
|
throw new Error(`INVALID RATING CHANGE: ${ratingChange}`);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
export { UserAttributes, UserModel, MatchRatingModel, MatchRatingAttributes, DraftModel, DraftAttributes, DraftPickAttributes, DraftPickModel, PlayerTeamModel, PlayerTeamAttributes, BlockAttributes, BlockModel, BlockOptionalAttributes, CoachAttributes, CoachModel, CoachOptionalAttributes, CountryAttributes, CountryModel, EventAttributes, EventModel, LeagueAttributes, LeagueModel, LiberoReplacementAttributes, LiberoReplacementModel, MatchAttributes, MatchModel, MatchSetAttributes, MatchSetModel, MatchSetOptionalAttributes, MatchSetStatsAttributes, MatchSetStatsModel, MatchSetStatsOptionalAttributes, PerformanceStatsAttributes, PerformanceStatsModel, PerformanceStatsOptionalAttributes, PlayerAttributes, PlayerModel, RallyAttributes, RallyModel, RallyPositionAttributes, RallyPositionModel, ReceptionAttributes, ReceptionModel, ScoreAttributes, ScoreModel, SeasonAttributes, SeasonMatchAttributes, SeasonMatchModel, SeasonModel, SeasonTeamsAttributes, SeasonTeamsModel, ServeAttributes, ServeModel, SetAttributes, SetModel, SpikeAttributes, SpikeModel, SubstitutionAttributes, SubstitutionModel, TeamAttributes, TeamModel, TournamentAttributes, TournamentMatchAttributes, TournamentMatchModel, TournamentModel, TournamentOptionalAttributes, TournamentTeamsAttributes, TournamentTeamsModel, IterationModel, IterationAttributes } from './models';
|
|
1
|
+
export * from './models';
|
|
3
2
|
export * from './transformers';
|
|
4
3
|
export { initModels } from './init-models';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from './models';
|
|
2
2
|
export * from './transformers';
|
|
3
3
|
export { initModels } from './init-models';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model, Optional } from 'sequelize';
|
|
3
|
-
import
|
|
3
|
+
import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitType } 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
|
+
active_traits: TraitType[];
|
|
18
19
|
}
|
|
19
20
|
export type BlockType = 'NO_BLOCKER' | 'SINGLE' | 'DOUBLE' | 'TRIPLE';
|
|
20
21
|
export type BlockFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'OUT_OF_BOUNDS' | 'WIPE' | 'TOOL';
|
|
@@ -36,6 +37,7 @@ export declare class BlockModel extends Model<BlockAttributes, BlockCreationAttr
|
|
|
36
37
|
blocker_3?: string;
|
|
37
38
|
modifier: number;
|
|
38
39
|
score: number;
|
|
40
|
+
active_traits: TraitType[];
|
|
39
41
|
player: PlayerModel;
|
|
40
42
|
getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
|
|
41
43
|
setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
|
|
@@ -74,21 +74,22 @@ export class BlockModel extends Model {
|
|
|
74
74
|
score: {
|
|
75
75
|
type: DataTypes.REAL,
|
|
76
76
|
allowNull: false
|
|
77
|
+
},
|
|
78
|
+
active_traits: {
|
|
79
|
+
type: DataTypes.ARRAY(DataTypes.ENUM('MARKSMAN', 'MOVING_WALL', 'MASTER_MIND', 'METEOR_SERVE', 'VIGOROUS', 'GUARDIAN')),
|
|
80
|
+
allowNull: false,
|
|
81
|
+
defaultValue: [[]]
|
|
77
82
|
}
|
|
78
83
|
}, {
|
|
79
84
|
sequelize,
|
|
80
85
|
tableName: 'Block',
|
|
81
86
|
schema: 'public',
|
|
82
87
|
timestamps: false,
|
|
83
|
-
indexes: [
|
|
84
|
-
{
|
|
88
|
+
indexes: [{
|
|
85
89
|
name: 'Block_pk',
|
|
86
90
|
unique: true,
|
|
87
|
-
fields: [
|
|
88
|
-
|
|
89
|
-
]
|
|
90
|
-
}
|
|
91
|
-
]
|
|
91
|
+
fields: [{ name: 'event_id' }]
|
|
92
|
+
}]
|
|
92
93
|
});
|
|
93
94
|
}
|
|
94
95
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model } from 'sequelize';
|
|
3
|
-
import
|
|
3
|
+
import { PlayerId, PlayerModel, RallyId, RallyModel } from '.';
|
|
4
4
|
export interface EventAttributes {
|
|
5
5
|
event_id: string;
|
|
6
6
|
rally_id: string;
|
|
@@ -36,15 +36,11 @@ export class EventModel extends Model {
|
|
|
36
36
|
tableName: 'Event',
|
|
37
37
|
schema: 'public',
|
|
38
38
|
timestamps: false,
|
|
39
|
-
indexes: [
|
|
40
|
-
{
|
|
39
|
+
indexes: [{
|
|
41
40
|
name: 'Event_pk',
|
|
42
41
|
unique: true,
|
|
43
|
-
fields: [
|
|
44
|
-
|
|
45
|
-
]
|
|
46
|
-
}
|
|
47
|
-
]
|
|
42
|
+
fields: [{ name: 'event_id' }]
|
|
43
|
+
}]
|
|
48
44
|
});
|
|
49
45
|
}
|
|
50
46
|
}
|
|
@@ -1,62 +1,32 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
export
|
|
21
|
-
export
|
|
22
|
-
export
|
|
23
|
-
export
|
|
24
|
-
export
|
|
25
|
-
export
|
|
26
|
-
export
|
|
27
|
-
export
|
|
28
|
-
export
|
|
29
|
-
export
|
|
30
|
-
export
|
|
31
|
-
export
|
|
32
|
-
export
|
|
33
|
-
export type { ReceptionCreationAttributes, ReceptionFailure, ReceptionId, ReceptionPk, ReceptionType } from './reception';
|
|
34
|
-
export { ReceptionAttributes, ReceptionModel } from './reception';
|
|
35
|
-
export type { ScoreCreationAttributes, ScoreId, ScorePk } from './score';
|
|
36
|
-
export { ScoreAttributes, ScoreModel } from './score';
|
|
37
|
-
export type { SeasonCreationAttributes, SeasonId, SeasonPk } from './season';
|
|
38
|
-
export { SeasonAttributes, SeasonModel } from './season';
|
|
39
|
-
export type { SeasonTeamsCreationAttributes, SeasonTeamsId, SeasonTeamsPk } from './season-teams';
|
|
40
|
-
export { SeasonTeamsAttributes, SeasonTeamsModel } from './season-teams';
|
|
41
|
-
export type { SeasonMatchCreationAttributes, SeasonMatchId, SeasonMatchPk } from './season-match';
|
|
42
|
-
export { SeasonMatchAttributes, SeasonMatchModel } from './season-match';
|
|
43
|
-
export type { ServeCreationAttributes, ServeFailure, ServeId, ServePk, ServeType } from './serve';
|
|
44
|
-
export { ServeAttributes, ServeModel } from './serve';
|
|
45
|
-
export type { SetCreationAttributes, SetFailure, SetId, SetPk, SetType } from './set';
|
|
46
|
-
export { SetAttributes, SetModel } from './set';
|
|
47
|
-
export type { SpikeCreationAttributes, SpikeFailure, SpikeId, SpikePk, SpikeType } from './spike';
|
|
48
|
-
export { SpikeAttributes, SpikeModel } from './spike';
|
|
49
|
-
export type { SubstitutionCreationAttributes, SubstitutionId, SubstitutionPk } from './substitution';
|
|
50
|
-
export { SubstitutionAttributes, SubstitutionModel } from './substitution';
|
|
51
|
-
export type { TeamCreationAttributes, TeamId, TeamPk } from './team';
|
|
52
|
-
export { TeamAttributes, TeamModel } from './team';
|
|
53
|
-
export type { TournamentCreationAttributes, TournamentId, TournamentOptionalAttributes, TournamentPk } from './tournament';
|
|
54
|
-
export { TournamentAttributes, TournamentModel } from './tournament';
|
|
55
|
-
export type { TournamentMatchCreationAttributes, TournamentMatchId, TournamentMatchPk, TournamentStage } from './tournament-match';
|
|
56
|
-
export { TournamentMatchAttributes, TournamentMatchModel } from './tournament-match';
|
|
57
|
-
export type { TournamentTeamsCreationAttributes, TournamentTeamsId, TournamentTeamsPk } from './tournament-teams';
|
|
58
|
-
export { TournamentTeamsAttributes, TournamentTeamsModel } from './tournament-teams';
|
|
59
|
-
export type { MatchRatingCreationAttributes, MatchRatingId, MatchRatingPk } from './match-rating';
|
|
60
|
-
export { MatchRatingAttributes, MatchRatingModel } from './match-rating';
|
|
61
|
-
export type { UserCreationAttributes, UserId, UserOptionalAttributes, UserPk, UserRole } from './user';
|
|
62
|
-
export { UserAttributes, UserModel } from './user';
|
|
1
|
+
export * from './block';
|
|
2
|
+
export * from './coach';
|
|
3
|
+
export * from './country';
|
|
4
|
+
export * from './draft';
|
|
5
|
+
export * from './draft-pick';
|
|
6
|
+
export * from './event';
|
|
7
|
+
export * from './iteration';
|
|
8
|
+
export * from './league';
|
|
9
|
+
export * from './libero-replacement';
|
|
10
|
+
export * from './match';
|
|
11
|
+
export * from './match-rating';
|
|
12
|
+
export * from './match-set';
|
|
13
|
+
export * from './match-set-stats';
|
|
14
|
+
export * from './performance-stats';
|
|
15
|
+
export * from './player';
|
|
16
|
+
export * from './player-team';
|
|
17
|
+
export * from './rally';
|
|
18
|
+
export * from './rally-position';
|
|
19
|
+
export * from './reception';
|
|
20
|
+
export * from './score';
|
|
21
|
+
export * from './season';
|
|
22
|
+
export * from './season-match';
|
|
23
|
+
export * from './season-teams';
|
|
24
|
+
export * from './serve';
|
|
25
|
+
export * from './set';
|
|
26
|
+
export * from './spike';
|
|
27
|
+
export * from './substitution';
|
|
28
|
+
export * from './team';
|
|
29
|
+
export * from './tournament';
|
|
30
|
+
export * from './tournament-match';
|
|
31
|
+
export * from './tournament-teams';
|
|
32
|
+
export * from './user';
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export
|
|
15
|
-
export
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
export
|
|
21
|
-
export
|
|
22
|
-
export
|
|
23
|
-
export
|
|
24
|
-
export
|
|
25
|
-
export
|
|
26
|
-
export
|
|
27
|
-
export
|
|
28
|
-
export
|
|
29
|
-
export
|
|
30
|
-
export
|
|
31
|
-
export
|
|
32
|
-
export
|
|
1
|
+
export * from './block';
|
|
2
|
+
export * from './coach';
|
|
3
|
+
export * from './country';
|
|
4
|
+
export * from './draft';
|
|
5
|
+
export * from './draft-pick';
|
|
6
|
+
export * from './event';
|
|
7
|
+
export * from './iteration';
|
|
8
|
+
export * from './league';
|
|
9
|
+
export * from './libero-replacement';
|
|
10
|
+
export * from './match';
|
|
11
|
+
export * from './match-rating';
|
|
12
|
+
export * from './match-set';
|
|
13
|
+
export * from './match-set-stats';
|
|
14
|
+
export * from './performance-stats';
|
|
15
|
+
export * from './player';
|
|
16
|
+
export * from './player-team';
|
|
17
|
+
export * from './rally';
|
|
18
|
+
export * from './rally-position';
|
|
19
|
+
export * from './reception';
|
|
20
|
+
export * from './score';
|
|
21
|
+
export * from './season';
|
|
22
|
+
export * from './season-match';
|
|
23
|
+
export * from './season-teams';
|
|
24
|
+
export * from './serve';
|
|
25
|
+
export * from './set';
|
|
26
|
+
export * from './spike';
|
|
27
|
+
export * from './substitution';
|
|
28
|
+
export * from './team';
|
|
29
|
+
export * from './tournament';
|
|
30
|
+
export * from './tournament-match';
|
|
31
|
+
export * from './tournament-teams';
|
|
32
|
+
export * from './user';
|
|
@@ -5,7 +5,7 @@ export interface IterationAttributes {
|
|
|
5
5
|
iteration_id: number;
|
|
6
6
|
start_date: Date;
|
|
7
7
|
}
|
|
8
|
-
export type IterationPk =
|
|
8
|
+
export type IterationPk = 'iteration_id';
|
|
9
9
|
export type IterationId = IterationModel[IterationPk];
|
|
10
10
|
export type IterationCreationAttributes = IterationAttributes;
|
|
11
11
|
export declare class IterationModel extends Model<IterationAttributes, IterationCreationAttributes> implements IterationAttributes {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model } from 'sequelize';
|
|
3
|
-
import
|
|
3
|
+
import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitType } 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
|
+
active_traits: TraitType[];
|
|
15
16
|
}
|
|
16
17
|
export type ReceptionFailure = 'NO_FAILURE' | 'FAULT' | 'MISS' | 'OUT_OF_BOUNDS' | 'BAD_PASS';
|
|
17
18
|
export type ReceptionType = 'DIG' | 'OVERHAND' | 'ONE_HAND' | 'OTHER_BODY_PART';
|
|
@@ -29,6 +30,7 @@ export declare class ReceptionModel extends Model<ReceptionAttributes, Reception
|
|
|
29
30
|
player_id: string;
|
|
30
31
|
modifier: number;
|
|
31
32
|
score: number;
|
|
33
|
+
active_traits: TraitType[];
|
|
32
34
|
player: PlayerModel;
|
|
33
35
|
getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
|
|
34
36
|
setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
|
|
@@ -50,21 +50,22 @@ export class ReceptionModel extends Model {
|
|
|
50
50
|
score: {
|
|
51
51
|
type: DataTypes.REAL,
|
|
52
52
|
allowNull: false
|
|
53
|
+
},
|
|
54
|
+
active_traits: {
|
|
55
|
+
type: DataTypes.ARRAY(DataTypes.ENUM('MARKSMAN', 'MOVING_WALL', 'MASTER_MIND', 'METEOR_SERVE', 'VIGOROUS', 'GUARDIAN')),
|
|
56
|
+
allowNull: false,
|
|
57
|
+
defaultValue: [[]]
|
|
53
58
|
}
|
|
54
59
|
}, {
|
|
55
60
|
sequelize,
|
|
56
61
|
tableName: 'Reception',
|
|
57
62
|
schema: 'public',
|
|
58
63
|
timestamps: false,
|
|
59
|
-
indexes: [
|
|
60
|
-
{
|
|
64
|
+
indexes: [{
|
|
61
65
|
name: 'Reception_pk',
|
|
62
66
|
unique: true,
|
|
63
|
-
fields: [
|
|
64
|
-
|
|
65
|
-
]
|
|
66
|
-
}
|
|
67
|
-
]
|
|
67
|
+
fields: [{ name: 'event_id' }]
|
|
68
|
+
}]
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
71
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model } from 'sequelize';
|
|
3
|
-
import
|
|
3
|
+
import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitType } 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
|
+
active_traits: TraitType[];
|
|
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';
|
|
@@ -29,6 +30,7 @@ export declare class ServeModel extends Model<ServeAttributes, ServeCreationAttr
|
|
|
29
30
|
modifier: number;
|
|
30
31
|
score: number;
|
|
31
32
|
type: ServeType;
|
|
33
|
+
active_traits: TraitType[];
|
|
32
34
|
player: PlayerModel;
|
|
33
35
|
getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
|
|
34
36
|
setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
|
|
@@ -50,21 +50,22 @@ export class ServeModel extends Model {
|
|
|
50
50
|
type: {
|
|
51
51
|
type: DataTypes.ENUM('UNDERHAND', 'OVERHAND_TOPSPIN', 'OVERHAND_FLOAT', 'JUMP_TOPSPIN', 'JUMP_FLOAT'),
|
|
52
52
|
allowNull: false
|
|
53
|
+
},
|
|
54
|
+
active_traits: {
|
|
55
|
+
type: DataTypes.ARRAY(DataTypes.ENUM('MARKSMAN', 'MOVING_WALL', 'MASTER_MIND', 'METEOR_SERVE', 'VIGOROUS', 'GUARDIAN')),
|
|
56
|
+
allowNull: false,
|
|
57
|
+
defaultValue: [[]]
|
|
53
58
|
}
|
|
54
59
|
}, {
|
|
55
60
|
sequelize,
|
|
56
61
|
tableName: 'Serve',
|
|
57
62
|
schema: 'public',
|
|
58
63
|
timestamps: false,
|
|
59
|
-
indexes: [
|
|
60
|
-
{
|
|
64
|
+
indexes: [{
|
|
61
65
|
name: 'Serve_pk',
|
|
62
66
|
unique: true,
|
|
63
|
-
fields: [
|
|
64
|
-
|
|
65
|
-
]
|
|
66
|
-
}
|
|
67
|
-
]
|
|
67
|
+
fields: [{ name: 'event_id' }]
|
|
68
|
+
}]
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
71
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model } from 'sequelize';
|
|
3
|
-
import
|
|
3
|
+
import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitType } 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
|
+
active_traits: TraitType[];
|
|
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';
|
|
@@ -29,6 +30,7 @@ export declare class SetModel extends Model<SetAttributes, SetCreationAttributes
|
|
|
29
30
|
player_id: string;
|
|
30
31
|
modifier: number;
|
|
31
32
|
score: number;
|
|
33
|
+
active_traits: TraitType[];
|
|
32
34
|
player: PlayerModel;
|
|
33
35
|
getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
|
|
34
36
|
setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
|
|
@@ -50,21 +50,22 @@ export class SetModel extends Model {
|
|
|
50
50
|
score: {
|
|
51
51
|
type: DataTypes.REAL,
|
|
52
52
|
allowNull: false
|
|
53
|
+
},
|
|
54
|
+
active_traits: {
|
|
55
|
+
type: DataTypes.ARRAY(DataTypes.ENUM('MARKSMAN', 'MOVING_WALL', 'MASTER_MIND', 'METEOR_SERVE', 'VIGOROUS', 'GUARDIAN')),
|
|
56
|
+
allowNull: false,
|
|
57
|
+
defaultValue: [[]]
|
|
53
58
|
}
|
|
54
59
|
}, {
|
|
55
60
|
sequelize,
|
|
56
61
|
tableName: 'Set',
|
|
57
62
|
schema: 'public',
|
|
58
63
|
timestamps: false,
|
|
59
|
-
indexes: [
|
|
60
|
-
{
|
|
64
|
+
indexes: [{
|
|
61
65
|
name: 'Set_pk',
|
|
62
66
|
unique: true,
|
|
63
|
-
fields: [
|
|
64
|
-
|
|
65
|
-
]
|
|
66
|
-
}
|
|
67
|
-
]
|
|
67
|
+
fields: [{ name: 'event_id' }]
|
|
68
|
+
}]
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
71
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model } from 'sequelize';
|
|
3
|
-
import
|
|
3
|
+
import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitType } 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
|
+
active_traits: TraitType[];
|
|
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';
|
|
@@ -29,6 +30,7 @@ export declare class SpikeModel extends Model<SpikeAttributes, SpikeCreationAttr
|
|
|
29
30
|
player_id: string;
|
|
30
31
|
modifier: number;
|
|
31
32
|
score: number;
|
|
33
|
+
active_traits: TraitType[];
|
|
32
34
|
player: PlayerModel;
|
|
33
35
|
getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
|
|
34
36
|
setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
|
|
@@ -50,21 +50,22 @@ export class SpikeModel extends Model {
|
|
|
50
50
|
score: {
|
|
51
51
|
type: DataTypes.REAL,
|
|
52
52
|
allowNull: false
|
|
53
|
+
},
|
|
54
|
+
active_traits: {
|
|
55
|
+
type: DataTypes.ARRAY(DataTypes.ENUM('MARKSMAN', 'MOVING_WALL', 'MASTER_MIND', 'METEOR_SERVE', 'VIGOROUS', 'GUARDIAN')),
|
|
56
|
+
allowNull: false,
|
|
57
|
+
defaultValue: [[]]
|
|
53
58
|
}
|
|
54
59
|
}, {
|
|
55
60
|
sequelize,
|
|
56
61
|
tableName: 'Spike',
|
|
57
62
|
schema: 'public',
|
|
58
63
|
timestamps: false,
|
|
59
|
-
indexes: [
|
|
60
|
-
{
|
|
64
|
+
indexes: [{
|
|
61
65
|
name: 'Spike_pk',
|
|
62
66
|
unique: true,
|
|
63
|
-
fields: [
|
|
64
|
-
|
|
65
|
-
]
|
|
66
|
-
}
|
|
67
|
-
]
|
|
67
|
+
fields: [{ name: 'event_id' }]
|
|
68
|
+
}]
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
71
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Block, BlockFailureEnum, BlockTypeEnum } from '../../service';
|
|
2
|
-
import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
|
|
2
|
+
import { transformFromCourtTarget, transformFromEventType, transformFromTrait, transformToCourtTarget, transformToEventType, transformToPlayer, transformToTrait } from '.';
|
|
3
3
|
function transformToBlockFailure(failure) {
|
|
4
4
|
switch (failure) {
|
|
5
5
|
case BlockFailureEnum.NO_FAILURE:
|
|
@@ -52,7 +52,8 @@ function transformToAttributes(event, rallyId) {
|
|
|
52
52
|
event_type: transformFromEventType(event.eventType),
|
|
53
53
|
blocker_1: event.blockers[0]?.id,
|
|
54
54
|
blocker_2: event.blockers[1]?.id,
|
|
55
|
-
blocker_3: event.blockers[2]?.id
|
|
55
|
+
blocker_3: event.blockers[2]?.id,
|
|
56
|
+
active_traits: event.activeTraits.map(transformFromTrait)
|
|
56
57
|
};
|
|
57
58
|
}
|
|
58
59
|
function transformToObject(model) {
|
|
@@ -66,7 +67,8 @@ function transformToObject(model) {
|
|
|
66
67
|
modifier: model.modifier,
|
|
67
68
|
order: model.order,
|
|
68
69
|
score: model.score,
|
|
69
|
-
blockers: []
|
|
70
|
+
blockers: [],
|
|
71
|
+
activeTraits: model.active_traits.map(transformToTrait)
|
|
70
72
|
});
|
|
71
73
|
if (model.Blocker_1 != null)
|
|
72
74
|
block.blockers.push(transformToPlayer(model.Blocker_1));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Reception, ReceptionFailureEnum, ReceptionTypeEnum } from '../../service';
|
|
2
|
-
import { transformFromCourtTarget, transformFromEventType, transformToCourtTarget, transformToEventType, transformToPlayer } from '.';
|
|
2
|
+
import { transformFromCourtTarget, transformFromEventType, transformFromTrait, transformToCourtTarget, transformToEventType, transformToPlayer, transformToTrait } from '.';
|
|
3
3
|
function transformToReceptionFailure(failure) {
|
|
4
4
|
switch (failure) {
|
|
5
5
|
case ReceptionFailureEnum.NO_FAILURE:
|
|
@@ -47,7 +47,8 @@ function transformToAttributes(event, rallyId) {
|
|
|
47
47
|
target: transformFromCourtTarget(event.target),
|
|
48
48
|
failure: transformToReceptionFailure(event.failure),
|
|
49
49
|
type: transformToReceptionType(event.type),
|
|
50
|
-
event_type: transformFromEventType(event.eventType)
|
|
50
|
+
event_type: transformFromEventType(event.eventType),
|
|
51
|
+
active_traits: event.activeTraits.map(transformFromTrait)
|
|
51
52
|
};
|
|
52
53
|
}
|
|
53
54
|
function transformToObject(event) {
|
|
@@ -60,7 +61,8 @@ function transformToObject(event) {
|
|
|
60
61
|
target: transformToCourtTarget(event.target),
|
|
61
62
|
modifier: event.modifier,
|
|
62
63
|
order: event.order,
|
|
63
|
-
score: event.score
|
|
64
|
+
score: event.score,
|
|
65
|
+
activeTraits: event.active_traits.map(transformToTrait)
|
|
64
66
|
});
|
|
65
67
|
}
|
|
66
68
|
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, transformFromTrait, transformToCourtTarget, transformToEventType, transformToPlayer, transformToTrait } from '.';
|
|
3
3
|
function transformToServeFailure(failure) {
|
|
4
4
|
switch (failure) {
|
|
5
5
|
case ServeFailureEnum.NO_FAILURE:
|
|
@@ -49,7 +49,8 @@ function transformToAttributes(event, rallyId) {
|
|
|
49
49
|
target: transformFromCourtTarget(event.target),
|
|
50
50
|
failure: transformToServeFailure(event.failure),
|
|
51
51
|
type: transformToServeType(event.type),
|
|
52
|
-
event_type: transformFromEventType(event.eventType)
|
|
52
|
+
event_type: transformFromEventType(event.eventType),
|
|
53
|
+
active_traits: event.activeTraits.map(transformFromTrait)
|
|
53
54
|
};
|
|
54
55
|
}
|
|
55
56
|
function transformToObject(serve) {
|
|
@@ -62,7 +63,8 @@ function transformToObject(serve) {
|
|
|
62
63
|
target: transformToCourtTarget(serve.target),
|
|
63
64
|
modifier: serve.modifier,
|
|
64
65
|
order: serve.order,
|
|
65
|
-
score: serve.score
|
|
66
|
+
score: serve.score,
|
|
67
|
+
activeTraits: serve.active_traits.map(transformToTrait)
|
|
66
68
|
});
|
|
67
69
|
}
|
|
68
70
|
function transformToAPIObject(event) {
|