volleyballsimtypes 0.0.139 → 0.0.140
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/esm/data/index.d.ts +3 -0
- package/dist/esm/data/index.js +3 -0
- package/dist/esm/data/init-models.d.ts +2 -0
- package/dist/esm/data/init-models.js +194 -0
- package/dist/esm/data/models/coach.d.ts +40 -0
- package/dist/esm/data/models/coach.js +51 -0
- package/dist/esm/data/models/competition-champion.d.ts +23 -0
- package/dist/esm/data/models/competition-champion.js +34 -0
- package/dist/esm/data/models/competition-match.d.ts +29 -0
- package/dist/esm/data/models/competition-match.js +42 -0
- package/dist/esm/data/models/competition-teams.d.ts +23 -0
- package/dist/esm/data/models/competition-teams.js +38 -0
- package/dist/esm/data/models/competition.d.ts +67 -0
- package/dist/esm/data/models/competition.js +34 -0
- package/dist/esm/data/models/country.d.ts +61 -0
- package/dist/esm/data/models/country.js +30 -0
- package/dist/esm/data/models/draft-pick.d.ts +31 -0
- package/dist/esm/data/models/draft-pick.js +46 -0
- package/dist/esm/data/models/draft.d.ts +29 -0
- package/dist/esm/data/models/draft.js +30 -0
- package/dist/esm/data/models/index.d.ts +24 -0
- package/dist/esm/data/models/index.js +24 -0
- package/dist/esm/data/models/iteration.d.ts +26 -0
- package/dist/esm/data/models/iteration.js +26 -0
- package/dist/esm/data/models/league-season.d.ts +23 -0
- package/dist/esm/data/models/league-season.js +34 -0
- package/dist/esm/data/models/league.d.ts +44 -0
- package/dist/esm/data/models/league.js +34 -0
- package/dist/esm/data/models/match-rating.d.ts +27 -0
- package/dist/esm/data/models/match-rating.js +48 -0
- package/dist/esm/data/models/match-set-stats.d.ts +58 -0
- package/dist/esm/data/models/match-set-stats.js +123 -0
- package/dist/esm/data/models/match-set.d.ts +85 -0
- package/dist/esm/data/models/match-set.js +47 -0
- package/dist/esm/data/models/match.d.ts +67 -0
- package/dist/esm/data/models/match.js +47 -0
- package/dist/esm/data/models/performance-stats.d.ts +40 -0
- package/dist/esm/data/models/performance-stats.js +81 -0
- package/dist/esm/data/models/player-team.d.ts +28 -0
- package/dist/esm/data/models/player-team.js +48 -0
- package/dist/esm/data/models/player-trait.d.ts +23 -0
- package/dist/esm/data/models/player-trait.js +38 -0
- package/dist/esm/data/models/player.d.ts +124 -0
- package/dist/esm/data/models/player.js +42 -0
- package/dist/esm/data/models/rally.d.ts +29 -0
- package/dist/esm/data/models/rally.js +46 -0
- package/dist/esm/data/models/set-position.d.ts +29 -0
- package/dist/esm/data/models/set-position.js +46 -0
- package/dist/esm/data/models/team.d.ts +162 -0
- package/dist/esm/data/models/team.js +59 -0
- package/dist/esm/data/models/trait.d.ts +37 -0
- package/dist/esm/data/models/trait.js +26 -0
- package/dist/esm/data/models/user.d.ts +22 -0
- package/dist/esm/data/models/user.js +53 -0
- package/dist/esm/data/transformers/coach.d.ts +5 -0
- package/dist/esm/data/transformers/coach.js +25 -0
- package/dist/esm/data/transformers/country.d.ts +5 -0
- package/dist/esm/data/transformers/country.js +16 -0
- package/dist/esm/data/transformers/court-position.d.ts +5 -0
- package/dist/esm/data/transformers/court-position.js +27 -0
- package/dist/esm/data/transformers/draft-pick.d.ts +5 -0
- package/dist/esm/data/transformers/draft-pick.js +18 -0
- package/dist/esm/data/transformers/draft.d.ts +5 -0
- package/dist/esm/data/transformers/draft.js +20 -0
- package/dist/esm/data/transformers/formation.d.ts +5 -0
- package/dist/esm/data/transformers/formation.js +8 -0
- package/dist/esm/data/transformers/index.d.ts +25 -0
- package/dist/esm/data/transformers/index.js +25 -0
- package/dist/esm/data/transformers/iteration.d.ts +5 -0
- package/dist/esm/data/transformers/iteration.js +14 -0
- package/dist/esm/data/transformers/league.d.ts +5 -0
- package/dist/esm/data/transformers/league.js +28 -0
- package/dist/esm/data/transformers/match-rating.d.ts +4 -0
- package/dist/esm/data/transformers/match-rating.js +13 -0
- package/dist/esm/data/transformers/match-set-stats.d.ts +5 -0
- package/dist/esm/data/transformers/match-set-stats.js +57 -0
- package/dist/esm/data/transformers/match-set.d.ts +5 -0
- package/dist/esm/data/transformers/match-set.js +44 -0
- package/dist/esm/data/transformers/match.d.ts +5 -0
- package/dist/esm/data/transformers/match.js +27 -0
- package/dist/esm/data/transformers/performance-stats.d.ts +5 -0
- package/dist/esm/data/transformers/performance-stats.js +33 -0
- package/dist/esm/data/transformers/player-team.d.ts +3 -0
- package/dist/esm/data/transformers/player-team.js +9 -0
- package/dist/esm/data/transformers/player.d.ts +5 -0
- package/dist/esm/data/transformers/player.js +26 -0
- package/dist/esm/data/transformers/rally.d.ts +5 -0
- package/dist/esm/data/transformers/rally.js +23 -0
- package/dist/esm/data/transformers/role.d.ts +5 -0
- package/dist/esm/data/transformers/role.js +23 -0
- package/dist/esm/data/transformers/season-match.d.ts +4 -0
- package/dist/esm/data/transformers/season-match.js +13 -0
- package/dist/esm/data/transformers/season.d.ts +5 -0
- package/dist/esm/data/transformers/season.js +39 -0
- package/dist/esm/data/transformers/set-position.d.ts +5 -0
- package/dist/esm/data/transformers/set-position.js +16 -0
- package/dist/esm/data/transformers/stage.d.ts +5 -0
- package/dist/esm/data/transformers/stage.js +21 -0
- package/dist/esm/data/transformers/team.d.ts +5 -0
- package/dist/esm/data/transformers/team.js +28 -0
- package/dist/esm/data/transformers/tournament-match.d.ts +5 -0
- package/dist/esm/data/transformers/tournament-match.js +19 -0
- package/dist/esm/data/transformers/tournament.d.ts +5 -0
- package/dist/esm/data/transformers/tournament.js +33 -0
- package/dist/esm/data/transformers/trait.d.ts +5 -0
- package/dist/esm/data/transformers/trait.js +15 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/service/coach/coach.d.ts +19 -0
- package/dist/esm/service/coach/coach.js +11 -0
- package/dist/esm/service/coach/formation.d.ts +31 -0
- package/dist/esm/service/coach/formation.js +122 -0
- package/dist/esm/service/coach/index.d.ts +2 -0
- package/dist/esm/service/coach/index.js +2 -0
- package/dist/esm/service/competition/index.d.ts +11 -0
- package/dist/esm/service/competition/index.js +12 -0
- package/dist/esm/service/competition/iteration.d.ts +10 -0
- package/dist/esm/service/competition/iteration.js +8 -0
- package/dist/esm/service/competition/league.d.ts +16 -0
- package/dist/esm/service/competition/league.js +8 -0
- package/dist/esm/service/competition/season.d.ts +23 -0
- package/dist/esm/service/competition/season.js +27 -0
- package/dist/esm/service/competition/stage.d.ts +11 -0
- package/dist/esm/service/competition/stage.js +24 -0
- package/dist/esm/service/competition/standing.d.ts +28 -0
- package/dist/esm/service/competition/standing.js +76 -0
- package/dist/esm/service/competition/tournament-match.d.ts +14 -0
- package/dist/esm/service/competition/tournament-match.js +9 -0
- package/dist/esm/service/competition/tournament.d.ts +20 -0
- package/dist/esm/service/competition/tournament.js +18 -0
- package/dist/esm/service/country/country.d.ts +17 -0
- package/dist/esm/service/country/country.js +18 -0
- package/dist/esm/service/country/index.d.ts +1 -0
- package/dist/esm/service/country/index.js +1 -0
- package/dist/esm/service/draft/draft-pick.d.ts +14 -0
- package/dist/esm/service/draft/draft-pick.js +7 -0
- package/dist/esm/service/draft/draft.d.ts +15 -0
- package/dist/esm/service/draft/draft.js +8 -0
- package/dist/esm/service/draft/index.d.ts +2 -0
- package/dist/esm/service/draft/index.js +2 -0
- package/dist/esm/service/event/index.d.ts +1 -0
- package/dist/esm/service/event/index.js +1 -0
- package/dist/esm/service/event/rally-event.d.ts +20 -0
- package/dist/esm/service/event/rally-event.js +16 -0
- package/dist/esm/service/index.d.ts +9 -0
- package/dist/esm/service/index.js +9 -0
- package/dist/esm/service/match/court-position.d.ts +21 -0
- package/dist/esm/service/match/court-position.js +53 -0
- package/dist/esm/service/match/court-target-enum.d.ts +21 -0
- package/dist/esm/service/match/court-target-enum.js +54 -0
- package/dist/esm/service/match/index.d.ts +7 -0
- package/dist/esm/service/match/index.js +7 -0
- package/dist/esm/service/match/match-rating.d.ts +35 -0
- package/dist/esm/service/match/match-rating.js +61 -0
- package/dist/esm/service/match/match-set.d.ts +65 -0
- package/dist/esm/service/match/match-set.js +56 -0
- package/dist/esm/service/match/match-team.d.ts +7 -0
- package/dist/esm/service/match/match-team.js +17 -0
- package/dist/esm/service/match/match.d.ts +36 -0
- package/dist/esm/service/match/match.js +57 -0
- package/dist/esm/service/match/rally.d.ts +22 -0
- package/dist/esm/service/match/rally.js +13 -0
- package/dist/esm/service/player/index.d.ts +5 -0
- package/dist/esm/service/player/index.js +5 -0
- package/dist/esm/service/player/performance-stats.d.ts +30 -0
- package/dist/esm/service/player/performance-stats.js +34 -0
- package/dist/esm/service/player/player.d.ts +46 -0
- package/dist/esm/service/player/player.js +84 -0
- package/dist/esm/service/player/role.d.ts +17 -0
- package/dist/esm/service/player/role.js +42 -0
- package/dist/esm/service/player/stats.d.ts +11 -0
- package/dist/esm/service/player/stats.js +25 -0
- package/dist/esm/service/player/trait.d.ts +21 -0
- package/dist/esm/service/player/trait.js +108 -0
- package/dist/esm/service/team/index.d.ts +1 -0
- package/dist/esm/service/team/index.js +1 -0
- package/dist/esm/service/team/team.d.ts +31 -0
- package/dist/esm/service/team/team.js +32 -0
- package/dist/esm/service/utils/index.d.ts +2 -0
- package/dist/esm/service/utils/index.js +2 -0
- package/dist/esm/service/utils/object-utils.d.ts +1 -0
- package/dist/esm/service/utils/object-utils.js +1 -0
- package/dist/esm/service/utils/string-utils.d.ts +2 -0
- package/dist/esm/service/utils/string-utils.js +11 -0
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DataTypes, Model } from 'sequelize';
|
|
2
|
+
export class CountryModel extends Model {
|
|
3
|
+
static initModel(sequelize) {
|
|
4
|
+
return CountryModel.init({
|
|
5
|
+
country_id: {
|
|
6
|
+
type: DataTypes.UUID,
|
|
7
|
+
allowNull: false,
|
|
8
|
+
primaryKey: true
|
|
9
|
+
},
|
|
10
|
+
name: {
|
|
11
|
+
type: DataTypes.STRING,
|
|
12
|
+
allowNull: false
|
|
13
|
+
},
|
|
14
|
+
short_name: {
|
|
15
|
+
type: DataTypes.STRING,
|
|
16
|
+
allowNull: false
|
|
17
|
+
}
|
|
18
|
+
}, {
|
|
19
|
+
sequelize,
|
|
20
|
+
tableName: 'Country',
|
|
21
|
+
schema: 'public',
|
|
22
|
+
timestamps: false,
|
|
23
|
+
indexes: [{
|
|
24
|
+
name: 'Country_pk',
|
|
25
|
+
unique: true,
|
|
26
|
+
fields: [{ name: 'country_id' }]
|
|
27
|
+
}]
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { Model } from 'sequelize';
|
|
3
|
+
import type { DraftId, DraftModel, PlayerId, PlayerModel, TeamId, TeamModel } from '.';
|
|
4
|
+
export interface DraftPickAttributes {
|
|
5
|
+
draft_id: string;
|
|
6
|
+
team_id: string;
|
|
7
|
+
priority: number;
|
|
8
|
+
player_id: string;
|
|
9
|
+
}
|
|
10
|
+
export type DraftPickPk = 'player_id';
|
|
11
|
+
export type DraftPickId = DraftPickModel[DraftPickPk];
|
|
12
|
+
export type DraftPickCreationAttributes = DraftPickAttributes;
|
|
13
|
+
export declare class DraftPickModel extends Model<DraftPickAttributes, DraftPickCreationAttributes> implements DraftPickAttributes {
|
|
14
|
+
draft_id: string;
|
|
15
|
+
team_id: string;
|
|
16
|
+
priority: number;
|
|
17
|
+
player_id: string;
|
|
18
|
+
draft: DraftModel;
|
|
19
|
+
getDraft: Sequelize.BelongsToGetAssociationMixin<DraftModel>;
|
|
20
|
+
setDraft: Sequelize.BelongsToSetAssociationMixin<DraftModel, DraftId>;
|
|
21
|
+
createDraft: Sequelize.BelongsToCreateAssociationMixin<DraftModel>;
|
|
22
|
+
player: PlayerModel;
|
|
23
|
+
getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
|
|
24
|
+
setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
|
|
25
|
+
createPlayer: Sequelize.BelongsToCreateAssociationMixin<PlayerModel>;
|
|
26
|
+
team: TeamModel;
|
|
27
|
+
getTeam: Sequelize.BelongsToGetAssociationMixin<TeamModel>;
|
|
28
|
+
setTeam: Sequelize.BelongsToSetAssociationMixin<TeamModel, TeamId>;
|
|
29
|
+
createTeam: Sequelize.BelongsToCreateAssociationMixin<TeamModel>;
|
|
30
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof DraftPickModel;
|
|
31
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { DataTypes, Model } from 'sequelize';
|
|
2
|
+
export class DraftPickModel extends Model {
|
|
3
|
+
static initModel(sequelize) {
|
|
4
|
+
return DraftPickModel.init({
|
|
5
|
+
draft_id: {
|
|
6
|
+
type: DataTypes.UUID,
|
|
7
|
+
allowNull: false,
|
|
8
|
+
references: {
|
|
9
|
+
model: 'Draft',
|
|
10
|
+
key: 'draft_id'
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
team_id: {
|
|
14
|
+
type: DataTypes.UUID,
|
|
15
|
+
allowNull: false,
|
|
16
|
+
references: {
|
|
17
|
+
model: 'Team',
|
|
18
|
+
key: 'team_id'
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
priority: {
|
|
22
|
+
type: DataTypes.INTEGER,
|
|
23
|
+
allowNull: false
|
|
24
|
+
},
|
|
25
|
+
player_id: {
|
|
26
|
+
type: DataTypes.UUID,
|
|
27
|
+
allowNull: false,
|
|
28
|
+
primaryKey: true,
|
|
29
|
+
references: {
|
|
30
|
+
model: 'Player',
|
|
31
|
+
key: 'player_id'
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}, {
|
|
35
|
+
sequelize,
|
|
36
|
+
tableName: 'DraftPick',
|
|
37
|
+
schema: 'public',
|
|
38
|
+
timestamps: false,
|
|
39
|
+
indexes: [{
|
|
40
|
+
name: 'DraftPick_pk',
|
|
41
|
+
unique: true,
|
|
42
|
+
fields: [{ name: 'player_id' }]
|
|
43
|
+
}]
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { Model } from 'sequelize';
|
|
3
|
+
import { DraftPickAttributes, DraftPickId, DraftPickModel } from '.';
|
|
4
|
+
export interface DraftAttributes {
|
|
5
|
+
draft_id: string;
|
|
6
|
+
start_date: Date;
|
|
7
|
+
end_date: Date;
|
|
8
|
+
DraftPicks?: DraftPickAttributes[];
|
|
9
|
+
}
|
|
10
|
+
export type DraftPk = 'draft_id';
|
|
11
|
+
export type DraftId = DraftModel[DraftPk];
|
|
12
|
+
export type DraftCreationAttributes = DraftAttributes;
|
|
13
|
+
export declare class DraftModel extends Model<DraftAttributes, DraftCreationAttributes> implements DraftAttributes {
|
|
14
|
+
draft_id: string;
|
|
15
|
+
start_date: Date;
|
|
16
|
+
end_date: Date;
|
|
17
|
+
DraftPicks: DraftPickModel[];
|
|
18
|
+
getDraftPicks: Sequelize.HasManyGetAssociationsMixin<DraftPickModel>;
|
|
19
|
+
setDraftPicks: Sequelize.HasManySetAssociationsMixin<DraftPickModel, DraftPickId>;
|
|
20
|
+
addDraftPick: Sequelize.HasManyAddAssociationMixin<DraftPickModel, DraftPickId>;
|
|
21
|
+
addDraftPicks: Sequelize.HasManyAddAssociationsMixin<DraftPickModel, DraftPickId>;
|
|
22
|
+
createDraftPick: Sequelize.HasManyCreateAssociationMixin<DraftPickModel>;
|
|
23
|
+
removeDraftPick: Sequelize.HasManyRemoveAssociationMixin<DraftPickModel, DraftPickId>;
|
|
24
|
+
removeDraftPicks: Sequelize.HasManyRemoveAssociationsMixin<DraftPickModel, DraftPickId>;
|
|
25
|
+
hasDraftPick: Sequelize.HasManyHasAssociationMixin<DraftPickModel, DraftPickId>;
|
|
26
|
+
hasDraftPicks: Sequelize.HasManyHasAssociationsMixin<DraftPickModel, DraftPickId>;
|
|
27
|
+
countDraftPicks: Sequelize.HasManyCountAssociationsMixin;
|
|
28
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof DraftModel;
|
|
29
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DataTypes, Model } from 'sequelize';
|
|
2
|
+
export class DraftModel extends Model {
|
|
3
|
+
static initModel(sequelize) {
|
|
4
|
+
return DraftModel.init({
|
|
5
|
+
draft_id: {
|
|
6
|
+
type: DataTypes.UUID,
|
|
7
|
+
allowNull: false,
|
|
8
|
+
primaryKey: true
|
|
9
|
+
},
|
|
10
|
+
start_date: {
|
|
11
|
+
type: DataTypes.DATEONLY,
|
|
12
|
+
allowNull: false
|
|
13
|
+
},
|
|
14
|
+
end_date: {
|
|
15
|
+
type: DataTypes.DATEONLY,
|
|
16
|
+
allowNull: false
|
|
17
|
+
}
|
|
18
|
+
}, {
|
|
19
|
+
sequelize,
|
|
20
|
+
tableName: 'Draft',
|
|
21
|
+
schema: 'public',
|
|
22
|
+
timestamps: false,
|
|
23
|
+
indexes: [{
|
|
24
|
+
name: 'Draft_pk',
|
|
25
|
+
unique: true,
|
|
26
|
+
fields: [{ name: 'draft_id' }]
|
|
27
|
+
}]
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export * from './coach';
|
|
2
|
+
export * from './competition';
|
|
3
|
+
export * from './competition-champion';
|
|
4
|
+
export * from './competition-match';
|
|
5
|
+
export * from './competition-teams';
|
|
6
|
+
export * from './country';
|
|
7
|
+
export * from './draft';
|
|
8
|
+
export * from './draft-pick';
|
|
9
|
+
export * from './iteration';
|
|
10
|
+
export * from './league';
|
|
11
|
+
export * from './league-season';
|
|
12
|
+
export * from './match';
|
|
13
|
+
export * from './match-rating';
|
|
14
|
+
export * from './match-set';
|
|
15
|
+
export * from './match-set-stats';
|
|
16
|
+
export * from './performance-stats';
|
|
17
|
+
export * from './player';
|
|
18
|
+
export * from './player-team';
|
|
19
|
+
export * from './player-trait';
|
|
20
|
+
export * from './rally';
|
|
21
|
+
export * from './set-position';
|
|
22
|
+
export * from './team';
|
|
23
|
+
export * from './trait';
|
|
24
|
+
export * from './user';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export * from './coach';
|
|
2
|
+
export * from './competition';
|
|
3
|
+
export * from './competition-champion';
|
|
4
|
+
export * from './competition-match';
|
|
5
|
+
export * from './competition-teams';
|
|
6
|
+
export * from './country';
|
|
7
|
+
export * from './draft';
|
|
8
|
+
export * from './draft-pick';
|
|
9
|
+
export * from './iteration';
|
|
10
|
+
export * from './league';
|
|
11
|
+
export * from './league-season';
|
|
12
|
+
export * from './match';
|
|
13
|
+
export * from './match-rating';
|
|
14
|
+
export * from './match-set';
|
|
15
|
+
export * from './match-set-stats';
|
|
16
|
+
export * from './performance-stats';
|
|
17
|
+
export * from './player';
|
|
18
|
+
export * from './player-team';
|
|
19
|
+
export * from './player-trait';
|
|
20
|
+
export * from './rally';
|
|
21
|
+
export * from './set-position';
|
|
22
|
+
export * from './team';
|
|
23
|
+
export * from './trait';
|
|
24
|
+
export * from './user';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { Model } from 'sequelize';
|
|
3
|
+
import { CompetitionId, CompetitionModel } from '.';
|
|
4
|
+
export interface IterationAttributes {
|
|
5
|
+
iteration_id: number;
|
|
6
|
+
start_date: Date;
|
|
7
|
+
}
|
|
8
|
+
export type IterationPk = 'iteration_id';
|
|
9
|
+
export type IterationId = IterationModel[IterationPk];
|
|
10
|
+
export type IterationCreationAttributes = IterationAttributes;
|
|
11
|
+
export declare class IterationModel extends Model<IterationAttributes, IterationCreationAttributes> implements IterationAttributes {
|
|
12
|
+
iteration_id: number;
|
|
13
|
+
start_date: Date;
|
|
14
|
+
Competitions: CompetitionModel[];
|
|
15
|
+
getCompetitions: Sequelize.HasManyGetAssociationsMixin<CompetitionModel>;
|
|
16
|
+
setCompetitions: Sequelize.HasManySetAssociationsMixin<CompetitionModel, CompetitionId>;
|
|
17
|
+
addCompetition: Sequelize.HasManyAddAssociationMixin<CompetitionModel, CompetitionId>;
|
|
18
|
+
addCompetitions: Sequelize.HasManyAddAssociationsMixin<CompetitionModel, CompetitionId>;
|
|
19
|
+
createCompetition: Sequelize.HasManyCreateAssociationMixin<CompetitionModel>;
|
|
20
|
+
removeCompetition: Sequelize.HasManyRemoveAssociationMixin<CompetitionModel, CompetitionId>;
|
|
21
|
+
removeCompetitions: Sequelize.HasManyRemoveAssociationsMixin<CompetitionModel, CompetitionId>;
|
|
22
|
+
hasCompetition: Sequelize.HasManyHasAssociationMixin<CompetitionModel, CompetitionId>;
|
|
23
|
+
hasCompetitions: Sequelize.HasManyHasAssociationsMixin<CompetitionModel, CompetitionId>;
|
|
24
|
+
countCompetitions: Sequelize.HasManyCountAssociationsMixin;
|
|
25
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof IterationModel;
|
|
26
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { DataTypes, Model } from 'sequelize';
|
|
2
|
+
export class IterationModel extends Model {
|
|
3
|
+
static initModel(sequelize) {
|
|
4
|
+
return IterationModel.init({
|
|
5
|
+
iteration_id: {
|
|
6
|
+
type: DataTypes.INTEGER,
|
|
7
|
+
allowNull: false,
|
|
8
|
+
primaryKey: true
|
|
9
|
+
},
|
|
10
|
+
start_date: {
|
|
11
|
+
type: DataTypes.DATEONLY,
|
|
12
|
+
allowNull: false
|
|
13
|
+
}
|
|
14
|
+
}, {
|
|
15
|
+
sequelize,
|
|
16
|
+
tableName: 'Iteration',
|
|
17
|
+
schema: 'public',
|
|
18
|
+
timestamps: false,
|
|
19
|
+
indexes: [{
|
|
20
|
+
name: 'Iteration_pk',
|
|
21
|
+
unique: true,
|
|
22
|
+
fields: [{ name: 'iteration_id' }]
|
|
23
|
+
}]
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { Model } from 'sequelize';
|
|
3
|
+
import { CompetitionId, CompetitionModel, LeagueId, LeagueModel } from '.';
|
|
4
|
+
export interface LeagueSeasonAttributes {
|
|
5
|
+
league_id: string;
|
|
6
|
+
competition_id: string;
|
|
7
|
+
}
|
|
8
|
+
export type LeagueSeasonPk = 'competition_id';
|
|
9
|
+
export type LeagueSeasonId = LeagueSeasonModel[LeagueSeasonPk];
|
|
10
|
+
export type LeagueSeasonCreationAttributes = LeagueSeasonAttributes;
|
|
11
|
+
export declare class LeagueSeasonModel extends Model<LeagueSeasonAttributes, LeagueSeasonCreationAttributes> implements LeagueSeasonAttributes {
|
|
12
|
+
league_id: string;
|
|
13
|
+
competition_id: string;
|
|
14
|
+
competition: CompetitionModel;
|
|
15
|
+
getCompetition: Sequelize.BelongsToGetAssociationMixin<CompetitionModel>;
|
|
16
|
+
setCompetition: Sequelize.BelongsToSetAssociationMixin<CompetitionModel, CompetitionId>;
|
|
17
|
+
createCompetition: Sequelize.BelongsToCreateAssociationMixin<CompetitionModel>;
|
|
18
|
+
league: LeagueModel;
|
|
19
|
+
getLeague: Sequelize.BelongsToGetAssociationMixin<LeagueModel>;
|
|
20
|
+
setLeague: Sequelize.BelongsToSetAssociationMixin<LeagueModel, LeagueId>;
|
|
21
|
+
createLeague: Sequelize.BelongsToCreateAssociationMixin<LeagueModel>;
|
|
22
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof LeagueSeasonModel;
|
|
23
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DataTypes, Model } from 'sequelize';
|
|
2
|
+
export class LeagueSeasonModel extends Model {
|
|
3
|
+
static initModel(sequelize) {
|
|
4
|
+
return LeagueSeasonModel.init({
|
|
5
|
+
league_id: {
|
|
6
|
+
type: DataTypes.UUID,
|
|
7
|
+
allowNull: false,
|
|
8
|
+
references: {
|
|
9
|
+
model: 'League',
|
|
10
|
+
key: 'league_id'
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
competition_id: {
|
|
14
|
+
type: DataTypes.UUID,
|
|
15
|
+
allowNull: false,
|
|
16
|
+
primaryKey: true,
|
|
17
|
+
references: {
|
|
18
|
+
model: 'Competition',
|
|
19
|
+
key: 'competition_id'
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}, {
|
|
23
|
+
sequelize,
|
|
24
|
+
tableName: 'LeagueSeason',
|
|
25
|
+
schema: 'public',
|
|
26
|
+
timestamps: false,
|
|
27
|
+
indexes: [{
|
|
28
|
+
name: 'leagueseason_pk',
|
|
29
|
+
unique: true,
|
|
30
|
+
fields: [{ name: 'competition_id' }]
|
|
31
|
+
}]
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { Model } from 'sequelize';
|
|
3
|
+
import { CountryId, CountryModel, LeagueSeasonAttributes, LeagueSeasonId, LeagueSeasonModel, TeamId, TeamModel } from '.';
|
|
4
|
+
export interface LeagueAttributes {
|
|
5
|
+
league_id: string;
|
|
6
|
+
country_id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
LeagueSeasons?: LeagueSeasonAttributes[];
|
|
9
|
+
}
|
|
10
|
+
export type LeaguePk = 'league_id';
|
|
11
|
+
export type LeagueId = LeagueModel[LeaguePk];
|
|
12
|
+
export type LeagueCreationAttributes = LeagueAttributes;
|
|
13
|
+
export declare class LeagueModel extends Model<LeagueAttributes, LeagueCreationAttributes> implements LeagueAttributes {
|
|
14
|
+
league_id: string;
|
|
15
|
+
country_id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
country: CountryModel;
|
|
18
|
+
getCountry: Sequelize.BelongsToGetAssociationMixin<CountryModel>;
|
|
19
|
+
setCountry: Sequelize.BelongsToSetAssociationMixin<CountryModel, CountryId>;
|
|
20
|
+
createCountry: Sequelize.BelongsToCreateAssociationMixin<CountryModel>;
|
|
21
|
+
LeagueSeasons: LeagueSeasonModel[];
|
|
22
|
+
getLeagueSeasons: Sequelize.HasManyGetAssociationsMixin<LeagueSeasonModel>;
|
|
23
|
+
setLeagueSeasons: Sequelize.HasManySetAssociationsMixin<LeagueSeasonModel, LeagueSeasonId>;
|
|
24
|
+
addLeagueSeason: Sequelize.HasManyAddAssociationMixin<LeagueSeasonModel, LeagueSeasonId>;
|
|
25
|
+
addLeagueSeasons: Sequelize.HasManyAddAssociationsMixin<LeagueSeasonModel, LeagueSeasonId>;
|
|
26
|
+
createLeagueSeason: Sequelize.HasManyCreateAssociationMixin<LeagueSeasonModel>;
|
|
27
|
+
removeLeagueSeason: Sequelize.HasManyRemoveAssociationMixin<LeagueSeasonModel, LeagueSeasonId>;
|
|
28
|
+
removeLeagueSeasons: Sequelize.HasManyRemoveAssociationsMixin<LeagueSeasonModel, LeagueSeasonId>;
|
|
29
|
+
hasLeagueSeason: Sequelize.HasManyHasAssociationMixin<LeagueSeasonModel, LeagueSeasonId>;
|
|
30
|
+
hasLeagueSeasons: Sequelize.HasManyHasAssociationsMixin<LeagueSeasonModel, LeagueSeasonId>;
|
|
31
|
+
countLeagueSeasons: Sequelize.HasManyCountAssociationsMixin;
|
|
32
|
+
Teams: TeamModel[];
|
|
33
|
+
getTeams: Sequelize.HasManyGetAssociationsMixin<TeamModel>;
|
|
34
|
+
setTeams: Sequelize.HasManySetAssociationsMixin<TeamModel, TeamId>;
|
|
35
|
+
addTeam: Sequelize.HasManyAddAssociationMixin<TeamModel, TeamId>;
|
|
36
|
+
addTeams: Sequelize.HasManyAddAssociationsMixin<TeamModel, TeamId>;
|
|
37
|
+
createTeam: Sequelize.HasManyCreateAssociationMixin<TeamModel>;
|
|
38
|
+
removeTeam: Sequelize.HasManyRemoveAssociationMixin<TeamModel, TeamId>;
|
|
39
|
+
removeTeams: Sequelize.HasManyRemoveAssociationsMixin<TeamModel, TeamId>;
|
|
40
|
+
hasTeam: Sequelize.HasManyHasAssociationMixin<TeamModel, TeamId>;
|
|
41
|
+
hasTeams: Sequelize.HasManyHasAssociationsMixin<TeamModel, TeamId>;
|
|
42
|
+
countTeams: Sequelize.HasManyCountAssociationsMixin;
|
|
43
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof LeagueModel;
|
|
44
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { DataTypes, Model } from 'sequelize';
|
|
2
|
+
export class LeagueModel extends Model {
|
|
3
|
+
static initModel(sequelize) {
|
|
4
|
+
return LeagueModel.init({
|
|
5
|
+
league_id: {
|
|
6
|
+
type: DataTypes.UUID,
|
|
7
|
+
allowNull: false,
|
|
8
|
+
primaryKey: true
|
|
9
|
+
},
|
|
10
|
+
country_id: {
|
|
11
|
+
type: DataTypes.UUID,
|
|
12
|
+
allowNull: false,
|
|
13
|
+
references: {
|
|
14
|
+
model: 'Country',
|
|
15
|
+
key: 'country_id'
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
name: {
|
|
19
|
+
type: DataTypes.STRING,
|
|
20
|
+
allowNull: false
|
|
21
|
+
}
|
|
22
|
+
}, {
|
|
23
|
+
sequelize,
|
|
24
|
+
tableName: 'League',
|
|
25
|
+
schema: 'public',
|
|
26
|
+
timestamps: false,
|
|
27
|
+
indexes: [{
|
|
28
|
+
name: 'League_pk',
|
|
29
|
+
unique: true,
|
|
30
|
+
fields: [{ name: 'league_id' }]
|
|
31
|
+
}]
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { Model } from 'sequelize';
|
|
3
|
+
import { MatchId, MatchModel, TeamId, TeamModel } from '.';
|
|
4
|
+
export interface MatchRatingAttributes {
|
|
5
|
+
match_id: string;
|
|
6
|
+
team_id: string;
|
|
7
|
+
p: number;
|
|
8
|
+
dR: number;
|
|
9
|
+
}
|
|
10
|
+
export type MatchRatingPk = 'match_id' | 'team_id';
|
|
11
|
+
export type MatchRatingId = MatchRatingModel[MatchRatingPk];
|
|
12
|
+
export type MatchRatingCreationAttributes = MatchRatingAttributes;
|
|
13
|
+
export declare class MatchRatingModel extends Model<MatchRatingAttributes, MatchRatingCreationAttributes> implements MatchRatingAttributes {
|
|
14
|
+
match_id: string;
|
|
15
|
+
team_id: string;
|
|
16
|
+
p: number;
|
|
17
|
+
dR: number;
|
|
18
|
+
match: MatchModel;
|
|
19
|
+
getMatch: Sequelize.BelongsToGetAssociationMixin<MatchModel>;
|
|
20
|
+
setMatch: Sequelize.BelongsToSetAssociationMixin<MatchModel, MatchId>;
|
|
21
|
+
createMatch: Sequelize.BelongsToCreateAssociationMixin<MatchModel>;
|
|
22
|
+
team: TeamModel;
|
|
23
|
+
getTeam: Sequelize.BelongsToGetAssociationMixin<TeamModel>;
|
|
24
|
+
setTeam: Sequelize.BelongsToSetAssociationMixin<TeamModel, TeamId>;
|
|
25
|
+
createTeam: Sequelize.BelongsToCreateAssociationMixin<TeamModel>;
|
|
26
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof MatchRatingModel;
|
|
27
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { DataTypes, Model } from 'sequelize';
|
|
2
|
+
export class MatchRatingModel extends Model {
|
|
3
|
+
static initModel(sequelize) {
|
|
4
|
+
return MatchRatingModel.init({
|
|
5
|
+
match_id: {
|
|
6
|
+
type: DataTypes.UUID,
|
|
7
|
+
allowNull: false,
|
|
8
|
+
primaryKey: true,
|
|
9
|
+
references: {
|
|
10
|
+
model: 'Match',
|
|
11
|
+
key: 'match_id'
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
team_id: {
|
|
15
|
+
type: DataTypes.UUID,
|
|
16
|
+
allowNull: false,
|
|
17
|
+
primaryKey: true,
|
|
18
|
+
references: {
|
|
19
|
+
model: 'Team',
|
|
20
|
+
key: 'team_id'
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
p: {
|
|
24
|
+
type: DataTypes.REAL,
|
|
25
|
+
allowNull: false,
|
|
26
|
+
comment: 'Probability of winning'
|
|
27
|
+
},
|
|
28
|
+
dR: {
|
|
29
|
+
type: DataTypes.REAL,
|
|
30
|
+
allowNull: false,
|
|
31
|
+
comment: 'variance on rating: K * (S - p)'
|
|
32
|
+
}
|
|
33
|
+
}, {
|
|
34
|
+
sequelize,
|
|
35
|
+
tableName: 'MatchRating',
|
|
36
|
+
schema: 'public',
|
|
37
|
+
timestamps: false,
|
|
38
|
+
indexes: [{
|
|
39
|
+
name: 'MatchRating_pk',
|
|
40
|
+
unique: true,
|
|
41
|
+
fields: [
|
|
42
|
+
{ name: 'match_id' },
|
|
43
|
+
{ name: 'team_id' }
|
|
44
|
+
]
|
|
45
|
+
}]
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { Model, Optional } from 'sequelize';
|
|
3
|
+
import { MatchSetId, MatchSetModel, PlayerId, PlayerModel } from '.';
|
|
4
|
+
export interface MatchSetStatsAttributes {
|
|
5
|
+
player_id: string;
|
|
6
|
+
match_set_id: string;
|
|
7
|
+
aces: number;
|
|
8
|
+
attempts: number;
|
|
9
|
+
contacts: number;
|
|
10
|
+
rallies_played: number;
|
|
11
|
+
serve_success: number;
|
|
12
|
+
serve_error: number;
|
|
13
|
+
reception_success: number;
|
|
14
|
+
reception_error: number;
|
|
15
|
+
set_success: number;
|
|
16
|
+
set_error: number;
|
|
17
|
+
attack_success: number;
|
|
18
|
+
attack_error: number;
|
|
19
|
+
block_success: number;
|
|
20
|
+
block_error: number;
|
|
21
|
+
kills: number;
|
|
22
|
+
kill_blocks: number;
|
|
23
|
+
assists: number;
|
|
24
|
+
}
|
|
25
|
+
export type MatchSetStatsPk = 'player_id' | 'match_set_id';
|
|
26
|
+
export type MatchSetStatsId = MatchSetStatsModel[MatchSetStatsPk];
|
|
27
|
+
export type MatchSetStatsOptionalAttributes = 'aces' | 'attempts' | 'contacts' | 'rallies_played' | 'serve_success' | 'serve_error' | 'reception_success' | 'reception_error' | 'set_success' | 'set_error' | 'attack_success' | 'attack_error' | 'block_success' | 'block_error' | 'kills' | 'kill_blocks' | 'assists';
|
|
28
|
+
export type MatchSetStatsCreationAttributes = Optional<MatchSetStatsAttributes, MatchSetStatsOptionalAttributes>;
|
|
29
|
+
export declare class MatchSetStatsModel extends Model<MatchSetStatsAttributes, MatchSetStatsCreationAttributes> implements MatchSetStatsAttributes {
|
|
30
|
+
player_id: string;
|
|
31
|
+
match_set_id: string;
|
|
32
|
+
aces: number;
|
|
33
|
+
attempts: number;
|
|
34
|
+
contacts: number;
|
|
35
|
+
rallies_played: number;
|
|
36
|
+
serve_success: number;
|
|
37
|
+
serve_error: number;
|
|
38
|
+
reception_success: number;
|
|
39
|
+
reception_error: number;
|
|
40
|
+
set_success: number;
|
|
41
|
+
set_error: number;
|
|
42
|
+
attack_success: number;
|
|
43
|
+
attack_error: number;
|
|
44
|
+
block_success: number;
|
|
45
|
+
block_error: number;
|
|
46
|
+
kills: number;
|
|
47
|
+
kill_blocks: number;
|
|
48
|
+
assists: number;
|
|
49
|
+
matchSet: MatchSetModel;
|
|
50
|
+
getMatchSet: Sequelize.BelongsToGetAssociationMixin<MatchSetModel>;
|
|
51
|
+
setMatchSet: Sequelize.BelongsToSetAssociationMixin<MatchSetModel, MatchSetId>;
|
|
52
|
+
createMatchSet: Sequelize.BelongsToCreateAssociationMixin<MatchSetModel>;
|
|
53
|
+
player: PlayerModel;
|
|
54
|
+
getPlayer: Sequelize.BelongsToGetAssociationMixin<PlayerModel>;
|
|
55
|
+
setPlayer: Sequelize.BelongsToSetAssociationMixin<PlayerModel, PlayerId>;
|
|
56
|
+
createPlayer: Sequelize.BelongsToCreateAssociationMixin<PlayerModel>;
|
|
57
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof MatchSetStatsModel;
|
|
58
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { DataTypes, Model } from 'sequelize';
|
|
2
|
+
export class MatchSetStatsModel extends Model {
|
|
3
|
+
static initModel(sequelize) {
|
|
4
|
+
return MatchSetStatsModel.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
|
+
match_set_id: {
|
|
15
|
+
type: DataTypes.UUID,
|
|
16
|
+
allowNull: false,
|
|
17
|
+
primaryKey: true,
|
|
18
|
+
references: {
|
|
19
|
+
model: 'MatchSet',
|
|
20
|
+
key: 'match_set_id'
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
aces: {
|
|
24
|
+
type: DataTypes.INTEGER,
|
|
25
|
+
allowNull: false,
|
|
26
|
+
defaultValue: 0
|
|
27
|
+
},
|
|
28
|
+
attempts: {
|
|
29
|
+
type: DataTypes.INTEGER,
|
|
30
|
+
allowNull: false,
|
|
31
|
+
defaultValue: 0
|
|
32
|
+
},
|
|
33
|
+
contacts: {
|
|
34
|
+
type: DataTypes.INTEGER,
|
|
35
|
+
allowNull: false,
|
|
36
|
+
defaultValue: 0
|
|
37
|
+
},
|
|
38
|
+
rallies_played: {
|
|
39
|
+
type: DataTypes.INTEGER,
|
|
40
|
+
allowNull: false,
|
|
41
|
+
defaultValue: 0
|
|
42
|
+
},
|
|
43
|
+
serve_success: {
|
|
44
|
+
type: DataTypes.INTEGER,
|
|
45
|
+
allowNull: false,
|
|
46
|
+
defaultValue: 0
|
|
47
|
+
},
|
|
48
|
+
serve_error: {
|
|
49
|
+
type: DataTypes.INTEGER,
|
|
50
|
+
allowNull: false,
|
|
51
|
+
defaultValue: 0
|
|
52
|
+
},
|
|
53
|
+
reception_success: {
|
|
54
|
+
type: DataTypes.INTEGER,
|
|
55
|
+
allowNull: false,
|
|
56
|
+
defaultValue: 0
|
|
57
|
+
},
|
|
58
|
+
reception_error: {
|
|
59
|
+
type: DataTypes.INTEGER,
|
|
60
|
+
allowNull: false,
|
|
61
|
+
defaultValue: 0
|
|
62
|
+
},
|
|
63
|
+
set_success: {
|
|
64
|
+
type: DataTypes.INTEGER,
|
|
65
|
+
allowNull: false,
|
|
66
|
+
defaultValue: 0
|
|
67
|
+
},
|
|
68
|
+
set_error: {
|
|
69
|
+
type: DataTypes.INTEGER,
|
|
70
|
+
allowNull: false,
|
|
71
|
+
defaultValue: 0
|
|
72
|
+
},
|
|
73
|
+
attack_success: {
|
|
74
|
+
type: DataTypes.INTEGER,
|
|
75
|
+
allowNull: false,
|
|
76
|
+
defaultValue: 0
|
|
77
|
+
},
|
|
78
|
+
attack_error: {
|
|
79
|
+
type: DataTypes.INTEGER,
|
|
80
|
+
allowNull: false,
|
|
81
|
+
defaultValue: 0
|
|
82
|
+
},
|
|
83
|
+
block_success: {
|
|
84
|
+
type: DataTypes.INTEGER,
|
|
85
|
+
allowNull: false,
|
|
86
|
+
defaultValue: 0
|
|
87
|
+
},
|
|
88
|
+
block_error: {
|
|
89
|
+
type: DataTypes.INTEGER,
|
|
90
|
+
allowNull: false,
|
|
91
|
+
defaultValue: 0
|
|
92
|
+
},
|
|
93
|
+
kills: {
|
|
94
|
+
type: DataTypes.INTEGER,
|
|
95
|
+
allowNull: false,
|
|
96
|
+
defaultValue: 0
|
|
97
|
+
},
|
|
98
|
+
kill_blocks: {
|
|
99
|
+
type: DataTypes.INTEGER,
|
|
100
|
+
allowNull: false,
|
|
101
|
+
defaultValue: 0
|
|
102
|
+
},
|
|
103
|
+
assists: {
|
|
104
|
+
type: DataTypes.INTEGER,
|
|
105
|
+
allowNull: false,
|
|
106
|
+
defaultValue: 0
|
|
107
|
+
}
|
|
108
|
+
}, {
|
|
109
|
+
sequelize,
|
|
110
|
+
tableName: 'MatchSetStats',
|
|
111
|
+
schema: 'public',
|
|
112
|
+
timestamps: false,
|
|
113
|
+
indexes: [{
|
|
114
|
+
name: 'MatchSetStats_pk',
|
|
115
|
+
unique: true,
|
|
116
|
+
fields: [
|
|
117
|
+
{ name: 'player_id' },
|
|
118
|
+
{ name: 'match_set_id' }
|
|
119
|
+
]
|
|
120
|
+
}]
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|