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.
- package/dist/cjs/src/api/player.d.ts +2 -7
- package/dist/cjs/src/api/player.js +0 -10
- package/dist/cjs/src/data/init-models.js +61 -0
- package/dist/cjs/src/data/models/block.d.ts +12 -2
- package/dist/cjs/src/data/models/event-trait.d.ts +23 -0
- package/dist/cjs/src/data/models/event-trait.js +42 -0
- package/dist/cjs/src/data/models/event.d.ts +12 -1
- package/dist/cjs/src/data/models/index.d.ts +3 -0
- package/dist/cjs/src/data/models/index.js +3 -0
- package/dist/cjs/src/data/models/match.d.ts +1 -1
- package/dist/cjs/src/data/models/player-trait.d.ts +23 -0
- package/dist/cjs/src/data/models/player-trait.js +42 -0
- package/dist/cjs/src/data/models/player.d.ts +14 -7
- package/dist/cjs/src/data/models/player.js +0 -4
- package/dist/cjs/src/data/models/reception.d.ts +12 -2
- package/dist/cjs/src/data/models/season-match.d.ts +1 -1
- package/dist/cjs/src/data/models/season.d.ts +3 -3
- package/dist/cjs/src/data/models/serve.d.ts +12 -2
- package/dist/cjs/src/data/models/set.d.ts +12 -2
- package/dist/cjs/src/data/models/spike.d.ts +12 -2
- package/dist/cjs/src/data/models/team.d.ts +1 -1
- package/dist/cjs/src/data/models/tournament.d.ts +1 -1
- package/dist/cjs/src/data/models/trait.d.ts +70 -0
- package/dist/cjs/src/data/models/trait.js +50 -0
- package/dist/cjs/src/data/transformers/player.js +2 -3
- package/dist/cjs/src/data/transformers/trait.d.ts +5 -5
- package/dist/cjs/src/data/transformers/trait.js +18 -26
- package/dist/cjs/src/service/match/match-set.d.ts +1 -1
- package/dist/cjs/src/service/match/rally.d.ts +1 -1
- package/dist/cjs/src/service/player/trait.d.ts +2 -3
- package/dist/cjs/src/service/player/trait.js +10 -12
- package/dist/cjs/src/service/team/team.d.ts +1 -1
- package/dist/esm/src/api/player.d.ts +2 -7
- package/dist/esm/src/api/player.js +1 -9
- package/dist/esm/src/data/init-models.js +62 -1
- package/dist/esm/src/data/models/block.d.ts +12 -2
- package/dist/esm/src/data/models/event-trait.d.ts +23 -0
- package/dist/esm/src/data/models/event-trait.js +38 -0
- package/dist/esm/src/data/models/event.d.ts +12 -1
- package/dist/esm/src/data/models/index.d.ts +3 -0
- package/dist/esm/src/data/models/index.js +3 -0
- package/dist/esm/src/data/models/match.d.ts +1 -1
- package/dist/esm/src/data/models/player-trait.d.ts +23 -0
- package/dist/esm/src/data/models/player-trait.js +38 -0
- package/dist/esm/src/data/models/player.d.ts +14 -7
- package/dist/esm/src/data/models/player.js +0 -4
- package/dist/esm/src/data/models/reception.d.ts +12 -2
- package/dist/esm/src/data/models/season-match.d.ts +1 -1
- package/dist/esm/src/data/models/season.d.ts +3 -3
- package/dist/esm/src/data/models/serve.d.ts +12 -2
- package/dist/esm/src/data/models/set.d.ts +12 -2
- package/dist/esm/src/data/models/spike.d.ts +12 -2
- package/dist/esm/src/data/models/team.d.ts +1 -1
- package/dist/esm/src/data/models/tournament.d.ts +1 -1
- package/dist/esm/src/data/models/trait.d.ts +70 -0
- package/dist/esm/src/data/models/trait.js +46 -0
- package/dist/esm/src/data/transformers/player.js +3 -4
- package/dist/esm/src/data/transformers/trait.d.ts +5 -5
- package/dist/esm/src/data/transformers/trait.js +15 -23
- package/dist/esm/src/service/match/match-set.d.ts +1 -1
- package/dist/esm/src/service/match/rally.d.ts +1 -1
- package/dist/esm/src/service/player/trait.d.ts +2 -3
- package/dist/esm/src/service/player/trait.js +10 -12
- package/dist/esm/src/service/team/team.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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,
|
|
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,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TraitModel = void 0;
|
|
4
|
+
const sequelize_1 = require("sequelize");
|
|
5
|
+
class TraitModel extends sequelize_1.Model {
|
|
6
|
+
static initModel(sequelize) {
|
|
7
|
+
return TraitModel.init({
|
|
8
|
+
trait_id: {
|
|
9
|
+
type: sequelize_1.DataTypes.UUID,
|
|
10
|
+
allowNull: false,
|
|
11
|
+
primaryKey: true
|
|
12
|
+
},
|
|
13
|
+
name: {
|
|
14
|
+
type: sequelize_1.DataTypes.STRING,
|
|
15
|
+
allowNull: false
|
|
16
|
+
},
|
|
17
|
+
modifier: {
|
|
18
|
+
type: sequelize_1.DataTypes.REAL,
|
|
19
|
+
allowNull: false
|
|
20
|
+
},
|
|
21
|
+
chance: {
|
|
22
|
+
type: sequelize_1.DataTypes.REAL,
|
|
23
|
+
allowNull: false
|
|
24
|
+
},
|
|
25
|
+
threshold: {
|
|
26
|
+
type: sequelize_1.DataTypes.INTEGER,
|
|
27
|
+
allowNull: false
|
|
28
|
+
},
|
|
29
|
+
weight: {
|
|
30
|
+
type: sequelize_1.DataTypes.INTEGER,
|
|
31
|
+
allowNull: false
|
|
32
|
+
},
|
|
33
|
+
general_stat: {
|
|
34
|
+
type: sequelize_1.DataTypes.ENUM('Attack', 'Defense', 'Physical', 'Serve'),
|
|
35
|
+
allowNull: false
|
|
36
|
+
}
|
|
37
|
+
}, {
|
|
38
|
+
sequelize,
|
|
39
|
+
tableName: 'Trait',
|
|
40
|
+
schema: 'public',
|
|
41
|
+
timestamps: false,
|
|
42
|
+
indexes: [{
|
|
43
|
+
name: 'trait_pk',
|
|
44
|
+
unique: true,
|
|
45
|
+
fields: [{ name: 'trait_id' }]
|
|
46
|
+
}]
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.TraitModel = TraitModel;
|
|
@@ -9,7 +9,6 @@ function transformToAttributes(player) {
|
|
|
9
9
|
country_id: player.country.id,
|
|
10
10
|
first_name: player.name.first,
|
|
11
11
|
last_name: player.name.last,
|
|
12
|
-
traits: player.traits.map(_1.transformFromTrait),
|
|
13
12
|
roles: player.roles.map(_1.transformFromRole),
|
|
14
13
|
PerformanceStat: (0, _1.transformFromPerformanceStats)(player)
|
|
15
14
|
};
|
|
@@ -24,7 +23,7 @@ function transformToObject(model) {
|
|
|
24
23
|
},
|
|
25
24
|
country: (0, _1.transformToCountry)(model.country),
|
|
26
25
|
roles: model.roles.map(_1.transformToRole),
|
|
27
|
-
traits: model.
|
|
26
|
+
traits: model.Traits.map(_1.transformToTrait),
|
|
28
27
|
stats: (0, _1.transformToPerformanceStats)(model.PerformanceStat)
|
|
29
28
|
});
|
|
30
29
|
}
|
|
@@ -44,7 +43,7 @@ function transformToAPIObject(model) {
|
|
|
44
43
|
},
|
|
45
44
|
country: (0, _1.transformToCountry)(model.country),
|
|
46
45
|
roles: model.roles.map(_1.transformToRole),
|
|
47
|
-
traits: model.
|
|
46
|
+
traits: model.Traits.map(_1.transformToAPITrait),
|
|
48
47
|
generalStats,
|
|
49
48
|
gameStats
|
|
50
49
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Trait } from '../../service';
|
|
2
|
+
import { TraitAttributes, TraitModel } from '../models';
|
|
2
3
|
import { APITrait } from '../../api';
|
|
3
|
-
|
|
4
|
-
declare function
|
|
5
|
-
declare function
|
|
6
|
-
|
|
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 };
|
|
@@ -1,32 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.transformFromTrait = exports.transformToAPITrait = exports.transformToTrait = void 0;
|
|
4
4
|
const service_1 = require("../../service");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return 'METEOR_SERVE';
|
|
16
|
-
case 'Vigorous':
|
|
17
|
-
return 'VIGOROUS';
|
|
18
|
-
case 'Guardian':
|
|
19
|
-
return 'GUARDIAN';
|
|
20
|
-
default:
|
|
21
|
-
throw new Error('UNKNOWN_TRAIT');
|
|
22
|
-
}
|
|
5
|
+
function transformToAttributes(trait) {
|
|
6
|
+
return {
|
|
7
|
+
trait_id: trait.id,
|
|
8
|
+
name: trait.name,
|
|
9
|
+
modifier: trait.modifier,
|
|
10
|
+
chance: trait.chance,
|
|
11
|
+
weight: trait.weight,
|
|
12
|
+
threshold: trait.statThreshold,
|
|
13
|
+
general_stat: trait.stat
|
|
14
|
+
};
|
|
23
15
|
}
|
|
24
|
-
exports.transformFromTrait =
|
|
25
|
-
function
|
|
26
|
-
return
|
|
16
|
+
exports.transformFromTrait = transformToAttributes;
|
|
17
|
+
function transformToAPIObject(model) {
|
|
18
|
+
return { name: model.name };
|
|
27
19
|
}
|
|
28
|
-
exports.
|
|
29
|
-
function
|
|
30
|
-
return
|
|
20
|
+
exports.transformToAPITrait = transformToAPIObject;
|
|
21
|
+
function transformToObject(model) {
|
|
22
|
+
return service_1.Trait.getTraits().find(trait => trait.id === model.trait_id);
|
|
31
23
|
}
|
|
32
|
-
exports.
|
|
24
|
+
exports.transformToTrait = transformToObject;
|
|
@@ -50,8 +50,8 @@ export declare class MatchSet {
|
|
|
50
50
|
private readonly scoreThreshold;
|
|
51
51
|
private homeScore;
|
|
52
52
|
private awayScore;
|
|
53
|
-
constructor({ id, order, isTieBreak, homeLibero, awayLibero, stats, rallies, homeScore, awayScore }: MatchSetOpts);
|
|
54
53
|
private _state;
|
|
54
|
+
constructor({ id, order, isTieBreak, homeLibero, awayLibero, stats, rallies, homeScore, awayScore }: MatchSetOpts);
|
|
55
55
|
get state(): MatchSetState;
|
|
56
56
|
getHomeScore(): number;
|
|
57
57
|
getAwayScore(): number;
|
|
@@ -30,8 +30,8 @@ export declare class Rally {
|
|
|
30
30
|
readonly homePlayerPosition: PlayerPosition[];
|
|
31
31
|
readonly awayPlayerPosition: PlayerPosition[];
|
|
32
32
|
readonly order: number;
|
|
33
|
-
constructor({ id, order, servingTeam, homePlayerPosition, awayPlayerPosition, events }: RallyOpts);
|
|
34
33
|
private _state;
|
|
34
|
+
constructor({ id, order, servingTeam, homePlayerPosition, awayPlayerPosition, events }: RallyOpts);
|
|
35
35
|
get state(): RallyState;
|
|
36
36
|
get score(): Score | undefined;
|
|
37
37
|
isOver(): boolean;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Role } from './role';
|
|
2
1
|
import { GeneralStat } from './stats';
|
|
3
2
|
import { PerformanceStats } from './performance-stats';
|
|
4
3
|
export declare class Trait {
|
|
@@ -8,8 +7,8 @@ export declare class Trait {
|
|
|
8
7
|
static readonly METEOR_SERVE: Trait;
|
|
9
8
|
static readonly VIGOROUS: Trait;
|
|
10
9
|
static readonly GUARDIAN: Trait;
|
|
10
|
+
readonly id: string;
|
|
11
11
|
readonly name: string;
|
|
12
|
-
readonly roles: Role[];
|
|
13
12
|
readonly modifier: number;
|
|
14
13
|
readonly chance: number;
|
|
15
14
|
readonly statThreshold: number;
|
|
@@ -17,5 +16,5 @@ export declare class Trait {
|
|
|
17
16
|
readonly weight: number;
|
|
18
17
|
private constructor();
|
|
19
18
|
static getTraits(): Trait[];
|
|
20
|
-
static assignTraits(
|
|
19
|
+
static assignTraits(performanceStats: PerformanceStats): Trait[];
|
|
21
20
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Trait = void 0;
|
|
4
|
-
const role_1 = require("./role");
|
|
5
4
|
const stats_1 = require("./stats");
|
|
6
5
|
class Trait {
|
|
7
|
-
constructor({
|
|
6
|
+
constructor({ id, name, modifier, chance, statThreshold, stat, weight }) {
|
|
7
|
+
this.id = id;
|
|
8
8
|
this.name = name;
|
|
9
|
-
this.roles = roles;
|
|
10
9
|
this.modifier = modifier;
|
|
11
10
|
this.chance = chance;
|
|
12
11
|
this.statThreshold = statThreshold;
|
|
@@ -16,10 +15,9 @@ class Trait {
|
|
|
16
15
|
static getTraits() {
|
|
17
16
|
return [Trait.GUARDIAN, Trait.MARKSMAN, Trait.METEOR_SERVE, Trait.VIGOROUS, Trait.MOVING_WALL, Trait.MASTER_MIND];
|
|
18
17
|
}
|
|
19
|
-
static assignTraits(
|
|
18
|
+
static assignTraits(performanceStats) {
|
|
20
19
|
const qualifiedTraits = this.getTraits().filter(trait => {
|
|
21
|
-
return
|
|
22
|
-
stats_1.GeneralStat.calculateScore(performanceStats, trait.stat) >= trait.statThreshold;
|
|
20
|
+
return stats_1.GeneralStat.calculateScore(performanceStats, trait.stat) >= trait.statThreshold;
|
|
23
21
|
});
|
|
24
22
|
const random = Math.random();
|
|
25
23
|
let traitCount;
|
|
@@ -44,8 +42,8 @@ exports.Trait = Trait;
|
|
|
44
42
|
// A Setter gets a bonus to their score and the receiving attacker gets a bonus as well.
|
|
45
43
|
// Stacks with attacker bonus
|
|
46
44
|
Trait.MASTER_MIND = new Trait({
|
|
45
|
+
id: '0117a315-a743-43e3-9ec2-ad5cf700ef08',
|
|
47
46
|
name: 'Master Mind',
|
|
48
|
-
roles: [role_1.Role.SETTER],
|
|
49
47
|
modifier: 1.25,
|
|
50
48
|
chance: 0.2,
|
|
51
49
|
statThreshold: 80,
|
|
@@ -54,8 +52,8 @@ Trait.MASTER_MIND = new Trait({
|
|
|
54
52
|
});
|
|
55
53
|
// Will always participate in blocking regardless of chance and adds
|
|
56
54
|
Trait.MOVING_WALL = new Trait({
|
|
55
|
+
id: '304c53f6-5e7a-44d3-9625-f10d8109421a',
|
|
57
56
|
name: 'Moving Wall',
|
|
58
|
-
roles: [role_1.Role.MIDDLE_BLOCKER, role_1.Role.DEFENSIVE_SPECIALIST],
|
|
59
57
|
modifier: 1.1,
|
|
60
58
|
chance: 1,
|
|
61
59
|
statThreshold: 75,
|
|
@@ -64,8 +62,8 @@ Trait.MOVING_WALL = new Trait({
|
|
|
64
62
|
});
|
|
65
63
|
// On attack, will always pick the worst receiver and adds a 10% to score
|
|
66
64
|
Trait.MARKSMAN = new Trait({
|
|
65
|
+
id: 'ace3458e-69ab-487c-a9c0-d656f705d8dd',
|
|
67
66
|
name: 'Marksman',
|
|
68
|
-
roles: [role_1.Role.OUTSIDE_HITTER, role_1.Role.OPPOSITE_HITTER, role_1.Role.SETTER],
|
|
69
67
|
modifier: 1.1,
|
|
70
68
|
chance: 0.3,
|
|
71
69
|
statThreshold: 75,
|
|
@@ -74,8 +72,8 @@ Trait.MARKSMAN = new Trait({
|
|
|
74
72
|
});
|
|
75
73
|
// Increases the score of the serve by 25% when serve type is Jumping.
|
|
76
74
|
Trait.METEOR_SERVE = new Trait({
|
|
75
|
+
id: 'c929a79d-5866-40d6-bbd6-b0b67a929c4c',
|
|
77
76
|
name: 'Meteor Serve',
|
|
78
|
-
roles: [],
|
|
79
77
|
modifier: 1.25,
|
|
80
78
|
chance: 0.1,
|
|
81
79
|
statThreshold: 75,
|
|
@@ -84,8 +82,8 @@ Trait.METEOR_SERVE = new Trait({
|
|
|
84
82
|
});
|
|
85
83
|
// Has a 50% chance of taking an action without decreasing energy.
|
|
86
84
|
Trait.VIGOROUS = new Trait({
|
|
85
|
+
id: 'f9599b87-b3b2-49ce-8224-470f6fe6ed64',
|
|
87
86
|
name: 'Vigorous',
|
|
88
|
-
roles: [],
|
|
89
87
|
modifier: 1,
|
|
90
88
|
statThreshold: 60,
|
|
91
89
|
chance: 0.5,
|
|
@@ -94,8 +92,8 @@ Trait.VIGOROUS = new Trait({
|
|
|
94
92
|
});
|
|
95
93
|
// Takes place of the receiver and increases reception score by 25%, guaranteeing success. Can only trigger in back-row.
|
|
96
94
|
Trait.GUARDIAN = new Trait({
|
|
95
|
+
id: 'c3291953-9256-4559-b5a9-955ccb8f9a6f',
|
|
97
96
|
name: 'Guardian',
|
|
98
|
-
roles: [role_1.Role.DEFENSIVE_SPECIALIST, role_1.Role.LIBERO],
|
|
99
97
|
chance: 0.25,
|
|
100
98
|
statThreshold: 75,
|
|
101
99
|
modifier: 1.25,
|
|
@@ -20,8 +20,8 @@ export declare class Team {
|
|
|
20
20
|
readonly coach?: Coach;
|
|
21
21
|
readonly league?: League;
|
|
22
22
|
readonly country?: Country;
|
|
23
|
-
constructor({ id, rating, name, shortName, country, roster, coach, league }: TeamOpts);
|
|
24
23
|
private _rating;
|
|
24
|
+
constructor({ id, rating, name, shortName, country, roster, coach, league }: TeamOpts);
|
|
25
25
|
get rating(): number;
|
|
26
26
|
set rating(value: number);
|
|
27
27
|
isPlayerInRoster(player: Player): boolean;
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import { Country, Name, Role, Stat } from '../service';
|
|
2
2
|
import { APISetStatistics } from './';
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
MOVING_WALL = "Moving Wall",
|
|
6
|
-
MARKSMAN = "Marksman",
|
|
7
|
-
METEOR_SERVE = "Meteor Serve",
|
|
8
|
-
VIGOROUS = "Vigorous",
|
|
9
|
-
GUARDIAN = "Guardian"
|
|
3
|
+
export interface APITrait {
|
|
4
|
+
readonly name: string;
|
|
10
5
|
}
|
|
11
6
|
export interface APIPlayer {
|
|
12
7
|
readonly id: string;
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
(function (APITrait) {
|
|
3
|
-
APITrait["MASTER_MIND"] = "Master Mind";
|
|
4
|
-
APITrait["MOVING_WALL"] = "Moving Wall";
|
|
5
|
-
APITrait["MARKSMAN"] = "Marksman";
|
|
6
|
-
APITrait["METEOR_SERVE"] = "Meteor Serve";
|
|
7
|
-
APITrait["VIGOROUS"] = "Vigorous";
|
|
8
|
-
APITrait["GUARDIAN"] = "Guardian";
|
|
9
|
-
})(APITrait || (APITrait = {}));
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BlockModel, CoachModel, CountryModel, DraftModel, DraftPickModel, EventModel, IterationModel, LeagueModel, LiberoReplacementModel, MatchModel, MatchRatingModel, MatchSetModel, MatchSetStatsModel, PerformanceStatsModel, PlayerModel, PlayerTeamModel, RallyModel, RallyPositionModel, ReceptionModel, ScoreModel, SeasonMatchModel, SeasonModel, SeasonTeamsModel, ServeModel, SetModel, SpikeModel, SubstitutionModel, TeamModel, TournamentMatchModel, TournamentModel, TournamentTeamsModel, UserModel } from './models';
|
|
1
|
+
import { BlockModel, CoachModel, CountryModel, DraftModel, DraftPickModel, EventModel, EventTraitModel, IterationModel, LeagueModel, LiberoReplacementModel, MatchModel, MatchRatingModel, MatchSetModel, MatchSetStatsModel, PerformanceStatsModel, PlayerModel, PlayerTeamModel, PlayerTraitModel, RallyModel, RallyPositionModel, ReceptionModel, ScoreModel, SeasonMatchModel, SeasonModel, SeasonTeamsModel, ServeModel, SetModel, SpikeModel, SubstitutionModel, TeamModel, TournamentMatchModel, TournamentModel, TournamentTeamsModel, TraitModel, UserModel } from './models';
|
|
2
2
|
export function initModels(sequelize) {
|
|
3
3
|
const Block = BlockModel.initModel(sequelize);
|
|
4
4
|
const Coach = CoachModel.initModel(sequelize);
|
|
@@ -6,6 +6,7 @@ export function initModels(sequelize) {
|
|
|
6
6
|
const Draft = DraftModel.initModel(sequelize);
|
|
7
7
|
const DraftPick = DraftPickModel.initModel(sequelize);
|
|
8
8
|
const Event = EventModel.initModel(sequelize);
|
|
9
|
+
const EventTrait = EventTraitModel.initModel(sequelize);
|
|
9
10
|
const Iteration = IterationModel.initModel(sequelize);
|
|
10
11
|
const League = LeagueModel.initModel(sequelize);
|
|
11
12
|
const LiberoReplacement = LiberoReplacementModel.initModel(sequelize);
|
|
@@ -16,6 +17,7 @@ export function initModels(sequelize) {
|
|
|
16
17
|
const PerformanceStats = PerformanceStatsModel.initModel(sequelize);
|
|
17
18
|
const Player = PlayerModel.initModel(sequelize);
|
|
18
19
|
const PlayerTeam = PlayerTeamModel.initModel(sequelize);
|
|
20
|
+
const PlayerTrait = PlayerTraitModel.initModel(sequelize);
|
|
19
21
|
const Rally = RallyModel.initModel(sequelize);
|
|
20
22
|
const RallyPosition = RallyPositionModel.initModel(sequelize);
|
|
21
23
|
const Reception = ReceptionModel.initModel(sequelize);
|
|
@@ -31,6 +33,7 @@ export function initModels(sequelize) {
|
|
|
31
33
|
const Tournament = TournamentModel.initModel(sequelize);
|
|
32
34
|
const TournamentMatch = TournamentMatchModel.initModel(sequelize);
|
|
33
35
|
const TournamentTeams = TournamentTeamsModel.initModel(sequelize);
|
|
36
|
+
const Trait = TraitModel.initModel(sequelize);
|
|
34
37
|
const User = UserModel.initModel(sequelize);
|
|
35
38
|
Draft.hasMany(DraftPick, { as: 'DraftPicks', foreignKey: 'draft_id' });
|
|
36
39
|
DraftPick.belongsTo(Draft, { as: 'draft', foreignKey: 'draft_id' });
|
|
@@ -41,6 +44,12 @@ export function initModels(sequelize) {
|
|
|
41
44
|
Block.belongsTo(Player, { as: 'Blocker_3', foreignKey: 'blocker_3' });
|
|
42
45
|
Block.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
|
|
43
46
|
Block.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
|
|
47
|
+
Block.belongsToMany(Trait, {
|
|
48
|
+
as: 'Traits',
|
|
49
|
+
through: EventTrait,
|
|
50
|
+
foreignKey: 'event_id',
|
|
51
|
+
otherKey: 'trait_id'
|
|
52
|
+
});
|
|
44
53
|
Coach.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
|
|
45
54
|
Coach.hasMany(Team, { as: 'Teams', foreignKey: 'coach_id' });
|
|
46
55
|
Country.hasMany(Coach, { as: 'Coaches', foreignKey: 'country_id' });
|
|
@@ -49,6 +58,13 @@ export function initModels(sequelize) {
|
|
|
49
58
|
Country.hasMany(Team, { as: 'Teams', foreignKey: 'country_id' });
|
|
50
59
|
Event.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
|
|
51
60
|
Event.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
|
|
61
|
+
Event.belongsToMany(Trait, {
|
|
62
|
+
as: 'Traits',
|
|
63
|
+
through: EventTrait,
|
|
64
|
+
foreignKey: 'event_id',
|
|
65
|
+
otherKey: 'trait_id'
|
|
66
|
+
});
|
|
67
|
+
EventTrait.belongsTo(Trait, { as: 'trait', foreignKey: 'trait_id' });
|
|
52
68
|
Iteration.hasMany(Season, { as: 'Seasons', foreignKey: 'iteration' });
|
|
53
69
|
Iteration.hasOne(Tournament, { as: 'Tournament', foreignKey: 'iteration' });
|
|
54
70
|
League.belongsTo(Country, { as: 'country', foreignKey: 'country_id' });
|
|
@@ -119,8 +135,15 @@ export function initModels(sequelize) {
|
|
|
119
135
|
foreignKey: 'player_id',
|
|
120
136
|
otherKey: 'rally_id'
|
|
121
137
|
});
|
|
138
|
+
Player.belongsToMany(Trait, {
|
|
139
|
+
as: 'Traits',
|
|
140
|
+
through: PlayerTrait,
|
|
141
|
+
foreignKey: 'player_id',
|
|
142
|
+
otherKey: 'trait_id'
|
|
143
|
+
});
|
|
122
144
|
PlayerTeam.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
|
|
123
145
|
PlayerTeam.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
|
|
146
|
+
PlayerTrait.belongsTo(Trait, { as: 'trait', foreignKey: 'trait_id' });
|
|
124
147
|
Rally.belongsTo(MatchSet, { as: 'match_set', foreignKey: 'match_set_id' });
|
|
125
148
|
Rally.belongsTo(Team, { as: 'servingTeam', foreignKey: 'serving_team' });
|
|
126
149
|
Rally.hasMany(Block, { as: 'Blocks', foreignKey: 'rally_id' });
|
|
@@ -143,6 +166,12 @@ export function initModels(sequelize) {
|
|
|
143
166
|
RallyPosition.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
|
|
144
167
|
Reception.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
|
|
145
168
|
Reception.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
|
|
169
|
+
Reception.belongsToMany(Trait, {
|
|
170
|
+
as: 'Traits',
|
|
171
|
+
through: EventTrait,
|
|
172
|
+
foreignKey: 'event_id',
|
|
173
|
+
otherKey: 'trait_id'
|
|
174
|
+
});
|
|
146
175
|
Score.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
|
|
147
176
|
Score.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
|
|
148
177
|
Score.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
|
|
@@ -163,10 +192,28 @@ export function initModels(sequelize) {
|
|
|
163
192
|
SeasonTeams.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
|
|
164
193
|
Serve.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
|
|
165
194
|
Serve.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
|
|
195
|
+
Serve.belongsToMany(Trait, {
|
|
196
|
+
as: 'Traits',
|
|
197
|
+
through: EventTrait,
|
|
198
|
+
foreignKey: 'event_id',
|
|
199
|
+
otherKey: 'trait_id'
|
|
200
|
+
});
|
|
166
201
|
Set.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
|
|
167
202
|
Set.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
|
|
203
|
+
Set.belongsToMany(Trait, {
|
|
204
|
+
as: 'Traits',
|
|
205
|
+
through: EventTrait,
|
|
206
|
+
foreignKey: 'event_id',
|
|
207
|
+
otherKey: 'trait_id'
|
|
208
|
+
});
|
|
168
209
|
Spike.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
|
|
169
210
|
Spike.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
|
|
211
|
+
Spike.belongsToMany(Trait, {
|
|
212
|
+
as: 'Traits',
|
|
213
|
+
through: EventTrait,
|
|
214
|
+
foreignKey: 'event_id',
|
|
215
|
+
otherKey: 'trait_id'
|
|
216
|
+
});
|
|
170
217
|
Substitution.belongsTo(Player, { as: 'player', foreignKey: 'player_id' });
|
|
171
218
|
Substitution.belongsTo(Player, { as: 'playerOut', foreignKey: 'player_out' });
|
|
172
219
|
Substitution.belongsTo(Rally, { as: 'rally', foreignKey: 'rally_id' });
|
|
@@ -216,6 +263,20 @@ export function initModels(sequelize) {
|
|
|
216
263
|
TournamentMatch.belongsTo(Tournament, { as: 'tournament', foreignKey: 'tournament_id' });
|
|
217
264
|
TournamentTeams.belongsTo(Team, { as: 'team', foreignKey: 'team_id' });
|
|
218
265
|
TournamentTeams.belongsTo(Tournament, { as: 'tournament', foreignKey: 'tournament_id' });
|
|
266
|
+
Trait.belongsToMany(Event, {
|
|
267
|
+
as: 'Events',
|
|
268
|
+
through: EventTrait,
|
|
269
|
+
foreignKey: 'trait_id',
|
|
270
|
+
otherKey: 'event_id'
|
|
271
|
+
});
|
|
272
|
+
Trait.belongsToMany(Player, {
|
|
273
|
+
as: 'Players',
|
|
274
|
+
through: PlayerTrait,
|
|
275
|
+
foreignKey: 'trait_id',
|
|
276
|
+
otherKey: 'player_id'
|
|
277
|
+
});
|
|
278
|
+
Trait.hasMany(PlayerTrait, { as: 'PlayerTraits', foreignKey: 'trait_id' });
|
|
279
|
+
Trait.hasMany(EventTrait, { as: 'EventTraits', foreignKey: 'trait_id' });
|
|
219
280
|
return {
|
|
220
281
|
Block,
|
|
221
282
|
Coach,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model, Optional } from 'sequelize';
|
|
3
|
-
import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel,
|
|
3
|
+
import { CourtTarget, EventType, PlayerId, PlayerModel, RallyId, RallyModel, TraitId, TraitModel } from '.';
|
|
4
4
|
export interface BlockAttributes {
|
|
5
5
|
event_id: string;
|
|
6
6
|
rally_id: string;
|
|
@@ -36,7 +36,6 @@ export declare class BlockModel extends Model<BlockAttributes, BlockCreationAttr
|
|
|
36
36
|
blocker_3?: string;
|
|
37
37
|
modifier: number;
|
|
38
38
|
score: number;
|
|
39
|
-
active_traits: TraitType[];
|
|
40
39
|
player: PlayerModel;
|
|
41
40
|
getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
|
|
42
41
|
setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
|
|
@@ -57,5 +56,16 @@ export declare class BlockModel extends Model<BlockAttributes, BlockCreationAttr
|
|
|
57
56
|
getRally: Sequelize.BelongsToGetAssociationMixin<RallyModel>;
|
|
58
57
|
setRally: Sequelize.BelongsToSetAssociationMixin<RallyModel, RallyId>;
|
|
59
58
|
createRally: Sequelize.BelongsToCreateAssociationMixin<RallyModel>;
|
|
59
|
+
Traits: TraitModel[];
|
|
60
|
+
getTraits: Sequelize.BelongsToManyGetAssociationsMixin<TraitModel>;
|
|
61
|
+
setTraits: Sequelize.BelongsToManySetAssociationsMixin<TraitModel, TraitId>;
|
|
62
|
+
addTrait: Sequelize.BelongsToManyAddAssociationMixin<TraitModel, TraitId>;
|
|
63
|
+
addTraits: Sequelize.BelongsToManyAddAssociationsMixin<TraitModel, TraitId>;
|
|
64
|
+
createTrait: Sequelize.BelongsToManyCreateAssociationMixin<TraitModel>;
|
|
65
|
+
removeTrait: Sequelize.BelongsToManyRemoveAssociationMixin<TraitModel, TraitId>;
|
|
66
|
+
removeTraits: Sequelize.BelongsToManyRemoveAssociationsMixin<TraitModel, TraitId>;
|
|
67
|
+
hasTrait: Sequelize.BelongsToManyHasAssociationMixin<TraitModel, TraitId>;
|
|
68
|
+
hasTraits: Sequelize.BelongsToManyHasAssociationsMixin<TraitModel, TraitId>;
|
|
69
|
+
countTraits: Sequelize.BelongsToManyCountAssociationsMixin;
|
|
60
70
|
static initModel(sequelize: Sequelize.Sequelize): typeof BlockModel;
|
|
61
71
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { Model } from 'sequelize';
|
|
3
|
+
import type { EventId, EventModel, TraitId, TraitModel } from '.';
|
|
4
|
+
export interface EventTraitAttributes {
|
|
5
|
+
event_id: string;
|
|
6
|
+
trait_id: string;
|
|
7
|
+
}
|
|
8
|
+
export type EventTraitPk = 'event_id' | 'trait_id';
|
|
9
|
+
export type EventTraitId = EventTraitModel[EventTraitPk];
|
|
10
|
+
export type EventTraitCreationAttributes = EventTraitAttributes;
|
|
11
|
+
export declare class EventTraitModel extends Model<EventTraitAttributes, EventTraitCreationAttributes> implements EventTraitAttributes {
|
|
12
|
+
event_id: string;
|
|
13
|
+
trait_id: string;
|
|
14
|
+
event: EventModel;
|
|
15
|
+
getEvent: Sequelize.BelongsToGetAssociationMixin<EventModel>;
|
|
16
|
+
setEvent: Sequelize.BelongsToSetAssociationMixin<EventModel, EventId>;
|
|
17
|
+
createEvent: Sequelize.BelongsToCreateAssociationMixin<EventModel>;
|
|
18
|
+
trait: TraitModel;
|
|
19
|
+
getTrait: Sequelize.BelongsToGetAssociationMixin<TraitModel>;
|
|
20
|
+
setTrait: Sequelize.BelongsToSetAssociationMixin<TraitModel, TraitId>;
|
|
21
|
+
createTrait: Sequelize.BelongsToCreateAssociationMixin<TraitModel>;
|
|
22
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof EventTraitModel;
|
|
23
|
+
}
|