@earbug/db-models 0.0.41 → 0.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/AppUser.d.ts +36 -0
  2. package/dist/CanonAlbum.d.ts +24 -0
  3. package/dist/CanonArtist.d.ts +24 -0
  4. package/dist/CanonGenre.d.ts +12 -0
  5. package/dist/CanonTrack.d.ts +24 -0
  6. package/dist/GuestUser.d.ts +22 -3
  7. package/dist/GuestUser.js +24 -9
  8. package/dist/JukeboxSession.d.ts +12 -0
  9. package/dist/PlatformAlbum.d.ts +36 -0
  10. package/dist/PlatformArtist.d.ts +36 -0
  11. package/dist/PlatformTrack.d.ts +36 -0
  12. package/dist/PlatformUserPlaylist.d.ts +12 -0
  13. package/dist/RadioShow.d.ts +12 -0
  14. package/dist/RadioShowMedia.d.ts +12 -0
  15. package/dist/UserAbuseReports.d.ts +70 -0
  16. package/dist/UserAbuseReports.js +182 -0
  17. package/dist/UserComments.d.ts +12 -0
  18. package/dist/UserMessages.d.ts +12 -0
  19. package/dist/Versus.d.ts +182 -0
  20. package/dist/Versus.js +251 -0
  21. package/dist/VersusAccessType.d.ts +26 -0
  22. package/dist/VersusAccessType.js +42 -0
  23. package/dist/VersusCoCreator.d.ts +40 -0
  24. package/dist/VersusCoCreator.js +117 -0
  25. package/dist/VersusCreatorScope.d.ts +26 -0
  26. package/dist/VersusCreatorScope.js +42 -0
  27. package/dist/VersusEndMode.d.ts +26 -0
  28. package/dist/VersusEndMode.js +42 -0
  29. package/dist/VersusEndTimerDuration.d.ts +28 -0
  30. package/dist/VersusEndTimerDuration.js +55 -0
  31. package/dist/VersusEndVoteThreshold.d.ts +26 -0
  32. package/dist/VersusEndVoteThreshold.js +43 -0
  33. package/dist/VersusEntityKind.d.ts +38 -0
  34. package/dist/VersusEntityKind.js +42 -0
  35. package/dist/VersusOption.d.ts +79 -0
  36. package/dist/VersusOption.js +167 -0
  37. package/dist/VersusPublishIssue.d.ts +52 -0
  38. package/dist/VersusPublishIssue.js +116 -0
  39. package/dist/VersusQuestion.d.ts +45 -0
  40. package/dist/VersusQuestion.js +102 -0
  41. package/dist/VersusQuestionVariableType.d.ts +26 -0
  42. package/dist/VersusQuestionVariableType.js +42 -0
  43. package/dist/VersusVotingListType.d.ts +26 -0
  44. package/dist/VersusVotingListType.js +42 -0
  45. package/dist/VersusVotingMode.d.ts +26 -0
  46. package/dist/VersusVotingMode.js +42 -0
  47. package/dist/init-models.d.ts +47 -2
  48. package/dist/init-models.js +144 -1
  49. package/models/AppUser.ts +39 -0
  50. package/models/CanonAlbum.ts +26 -0
  51. package/models/CanonArtist.ts +26 -0
  52. package/models/CanonGenre.ts +13 -0
  53. package/models/CanonTrack.ts +26 -0
  54. package/models/GuestUser.ts +48 -12
  55. package/models/JukeboxSession.ts +13 -0
  56. package/models/PlatformAlbum.ts +39 -0
  57. package/models/PlatformArtist.ts +39 -0
  58. package/models/PlatformTrack.ts +39 -0
  59. package/models/PlatformUserPlaylist.ts +13 -0
  60. package/models/RadioShow.ts +13 -0
  61. package/models/RadioShowMedia.ts +13 -0
  62. package/models/UserAbuseReports.ts +232 -0
  63. package/models/UserComments.ts +13 -0
  64. package/models/UserMessages.ts +13 -0
  65. package/models/Versus.ts +425 -0
  66. package/models/VersusAccessType.ts +66 -0
  67. package/models/VersusCoCreator.ts +133 -0
  68. package/models/VersusCreatorScope.ts +66 -0
  69. package/models/VersusEndMode.ts +66 -0
  70. package/models/VersusEndTimerDuration.ts +81 -0
  71. package/models/VersusEndVoteThreshold.ts +67 -0
  72. package/models/VersusEntityKind.ts +79 -0
  73. package/models/VersusOption.ts +227 -0
  74. package/models/VersusPublishIssue.ts +146 -0
  75. package/models/VersusQuestion.ts +123 -0
  76. package/models/VersusQuestionVariableType.ts +66 -0
  77. package/models/VersusVotingListType.ts +66 -0
  78. package/models/VersusVotingMode.ts +66 -0
  79. package/models/init-models.ts +187 -0
  80. package/package.json +1 -1
@@ -0,0 +1,66 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { Versus, VersusId } from './Versus';
4
+
5
+ export interface VersusCreatorScopeAttributes {
6
+ id: number;
7
+ description: string;
8
+ }
9
+
10
+ export type VersusCreatorScopePk = "id";
11
+ export type VersusCreatorScopeId = VersusCreatorScope[VersusCreatorScopePk];
12
+ export type VersusCreatorScopeCreationAttributes = VersusCreatorScopeAttributes;
13
+
14
+ export class VersusCreatorScope extends Model<VersusCreatorScopeAttributes, VersusCreatorScopeCreationAttributes> implements VersusCreatorScopeAttributes {
15
+ id!: number;
16
+ description!: string;
17
+
18
+ // VersusCreatorScope hasMany Versus via versusCreatorScopeId
19
+ versus!: Versus[];
20
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
21
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
22
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
23
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
24
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
25
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
26
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
27
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
28
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
29
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
30
+
31
+ static initModel(sequelize: Sequelize.Sequelize): typeof VersusCreatorScope {
32
+ return VersusCreatorScope.init({
33
+ id: {
34
+ type: DataTypes.SMALLINT,
35
+ allowNull: false,
36
+ primaryKey: true
37
+ },
38
+ description: {
39
+ type: DataTypes.STRING(64),
40
+ allowNull: false,
41
+ unique: "versus_creator_scope_description_unique"
42
+ }
43
+ }, {
44
+ sequelize,
45
+ tableName: 'versus_creator_scope',
46
+ schema: 'eb',
47
+ timestamps: false,
48
+ indexes: [
49
+ {
50
+ name: "versus_creator_scope_description_unique",
51
+ unique: true,
52
+ fields: [
53
+ { name: "description" },
54
+ ]
55
+ },
56
+ {
57
+ name: "versus_creator_scope_pkey",
58
+ unique: true,
59
+ fields: [
60
+ { name: "id" },
61
+ ]
62
+ },
63
+ ]
64
+ });
65
+ }
66
+ }
@@ -0,0 +1,66 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { Versus, VersusId } from './Versus';
4
+
5
+ export interface VersusEndModeAttributes {
6
+ id: number;
7
+ description: string;
8
+ }
9
+
10
+ export type VersusEndModePk = "id";
11
+ export type VersusEndModeId = VersusEndMode[VersusEndModePk];
12
+ export type VersusEndModeCreationAttributes = VersusEndModeAttributes;
13
+
14
+ export class VersusEndMode extends Model<VersusEndModeAttributes, VersusEndModeCreationAttributes> implements VersusEndModeAttributes {
15
+ id!: number;
16
+ description!: string;
17
+
18
+ // VersusEndMode hasMany Versus via versusEndModeId
19
+ versus!: Versus[];
20
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
21
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
22
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
23
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
24
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
25
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
26
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
27
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
28
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
29
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
30
+
31
+ static initModel(sequelize: Sequelize.Sequelize): typeof VersusEndMode {
32
+ return VersusEndMode.init({
33
+ id: {
34
+ type: DataTypes.SMALLINT,
35
+ allowNull: false,
36
+ primaryKey: true
37
+ },
38
+ description: {
39
+ type: DataTypes.STRING(64),
40
+ allowNull: false,
41
+ unique: "versus_end_mode_description_unique"
42
+ }
43
+ }, {
44
+ sequelize,
45
+ tableName: 'versus_end_mode',
46
+ schema: 'eb',
47
+ timestamps: false,
48
+ indexes: [
49
+ {
50
+ name: "versus_end_mode_description_unique",
51
+ unique: true,
52
+ fields: [
53
+ { name: "description" },
54
+ ]
55
+ },
56
+ {
57
+ name: "versus_end_mode_pkey",
58
+ unique: true,
59
+ fields: [
60
+ { name: "id" },
61
+ ]
62
+ },
63
+ ]
64
+ });
65
+ }
66
+ }
@@ -0,0 +1,81 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { Versus, VersusId } from './Versus';
4
+
5
+ export interface VersusEndTimerDurationAttributes {
6
+ id: number;
7
+ description: string;
8
+ durationHours: number;
9
+ }
10
+
11
+ export type VersusEndTimerDurationPk = "id";
12
+ export type VersusEndTimerDurationId = VersusEndTimerDuration[VersusEndTimerDurationPk];
13
+ export type VersusEndTimerDurationCreationAttributes = VersusEndTimerDurationAttributes;
14
+
15
+ export class VersusEndTimerDuration extends Model<VersusEndTimerDurationAttributes, VersusEndTimerDurationCreationAttributes> implements VersusEndTimerDurationAttributes {
16
+ id!: number;
17
+ description!: string;
18
+ durationHours!: number;
19
+
20
+ // VersusEndTimerDuration hasMany Versus via versusEndTimerDurationId
21
+ versus!: Versus[];
22
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
23
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
24
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
25
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
26
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
27
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
28
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
29
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
30
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
31
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
32
+
33
+ static initModel(sequelize: Sequelize.Sequelize): typeof VersusEndTimerDuration {
34
+ return VersusEndTimerDuration.init({
35
+ id: {
36
+ type: DataTypes.SMALLINT,
37
+ allowNull: false,
38
+ primaryKey: true
39
+ },
40
+ description: {
41
+ type: DataTypes.STRING(64),
42
+ allowNull: false,
43
+ unique: "versus_end_timer_duration_description_unique"
44
+ },
45
+ durationHours: {
46
+ type: DataTypes.INTEGER,
47
+ allowNull: false,
48
+ unique: "versus_end_timer_duration_duration_hours_unique",
49
+ field: 'duration_hours'
50
+ }
51
+ }, {
52
+ sequelize,
53
+ tableName: 'versus_end_timer_duration',
54
+ schema: 'eb',
55
+ timestamps: false,
56
+ indexes: [
57
+ {
58
+ name: "versus_end_timer_duration_description_unique",
59
+ unique: true,
60
+ fields: [
61
+ { name: "description" },
62
+ ]
63
+ },
64
+ {
65
+ name: "versus_end_timer_duration_duration_hours_unique",
66
+ unique: true,
67
+ fields: [
68
+ { name: "duration_hours" },
69
+ ]
70
+ },
71
+ {
72
+ name: "versus_end_timer_duration_pkey",
73
+ unique: true,
74
+ fields: [
75
+ { name: "id" },
76
+ ]
77
+ },
78
+ ]
79
+ });
80
+ }
81
+ }
@@ -0,0 +1,67 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { Versus, VersusId } from './Versus';
4
+
5
+ export interface VersusEndVoteThresholdAttributes {
6
+ id: number;
7
+ voteCount: number;
8
+ }
9
+
10
+ export type VersusEndVoteThresholdPk = "id";
11
+ export type VersusEndVoteThresholdId = VersusEndVoteThreshold[VersusEndVoteThresholdPk];
12
+ export type VersusEndVoteThresholdCreationAttributes = VersusEndVoteThresholdAttributes;
13
+
14
+ export class VersusEndVoteThreshold extends Model<VersusEndVoteThresholdAttributes, VersusEndVoteThresholdCreationAttributes> implements VersusEndVoteThresholdAttributes {
15
+ id!: number;
16
+ voteCount!: number;
17
+
18
+ // VersusEndVoteThreshold hasMany Versus via versusEndVoteThresholdId
19
+ versus!: Versus[];
20
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
21
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
22
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
23
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
24
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
25
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
26
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
27
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
28
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
29
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
30
+
31
+ static initModel(sequelize: Sequelize.Sequelize): typeof VersusEndVoteThreshold {
32
+ return VersusEndVoteThreshold.init({
33
+ id: {
34
+ type: DataTypes.SMALLINT,
35
+ allowNull: false,
36
+ primaryKey: true
37
+ },
38
+ voteCount: {
39
+ type: DataTypes.INTEGER,
40
+ allowNull: false,
41
+ unique: "versus_end_vote_threshold_vote_count_unique",
42
+ field: 'vote_count'
43
+ }
44
+ }, {
45
+ sequelize,
46
+ tableName: 'versus_end_vote_threshold',
47
+ schema: 'eb',
48
+ timestamps: false,
49
+ indexes: [
50
+ {
51
+ name: "versus_end_vote_threshold_pkey",
52
+ unique: true,
53
+ fields: [
54
+ { name: "id" },
55
+ ]
56
+ },
57
+ {
58
+ name: "versus_end_vote_threshold_vote_count_unique",
59
+ unique: true,
60
+ fields: [
61
+ { name: "vote_count" },
62
+ ]
63
+ },
64
+ ]
65
+ });
66
+ }
67
+ }
@@ -0,0 +1,79 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { VersusOption, VersusOptionId } from './VersusOption';
4
+ import type { VersusPublishIssue, VersusPublishIssueId } from './VersusPublishIssue';
5
+
6
+ export interface VersusEntityKindAttributes {
7
+ id: number;
8
+ description: string;
9
+ }
10
+
11
+ export type VersusEntityKindPk = "id";
12
+ export type VersusEntityKindId = VersusEntityKind[VersusEntityKindPk];
13
+ export type VersusEntityKindCreationAttributes = VersusEntityKindAttributes;
14
+
15
+ export class VersusEntityKind extends Model<VersusEntityKindAttributes, VersusEntityKindCreationAttributes> implements VersusEntityKindAttributes {
16
+ id!: number;
17
+ description!: string;
18
+
19
+ // VersusEntityKind hasMany VersusOption via entityKindId
20
+ versusOptions!: VersusOption[];
21
+ getVersusOptions!: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
22
+ setVersusOptions!: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
23
+ addVersusOption!: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
24
+ addVersusOptions!: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
25
+ createVersusOption!: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
26
+ removeVersusOption!: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
27
+ removeVersusOptions!: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
28
+ hasVersusOption!: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
29
+ hasVersusOptions!: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
30
+ countVersusOptions!: Sequelize.HasManyCountAssociationsMixin;
31
+ // VersusEntityKind hasMany VersusPublishIssue via entityKindId
32
+ versusPublishIssues!: VersusPublishIssue[];
33
+ getVersusPublishIssues!: Sequelize.HasManyGetAssociationsMixin<VersusPublishIssue>;
34
+ setVersusPublishIssues!: Sequelize.HasManySetAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
35
+ addVersusPublishIssue!: Sequelize.HasManyAddAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
36
+ addVersusPublishIssues!: Sequelize.HasManyAddAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
37
+ createVersusPublishIssue!: Sequelize.HasManyCreateAssociationMixin<VersusPublishIssue>;
38
+ removeVersusPublishIssue!: Sequelize.HasManyRemoveAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
39
+ removeVersusPublishIssues!: Sequelize.HasManyRemoveAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
40
+ hasVersusPublishIssue!: Sequelize.HasManyHasAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
41
+ hasVersusPublishIssues!: Sequelize.HasManyHasAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
42
+ countVersusPublishIssues!: Sequelize.HasManyCountAssociationsMixin;
43
+
44
+ static initModel(sequelize: Sequelize.Sequelize): typeof VersusEntityKind {
45
+ return VersusEntityKind.init({
46
+ id: {
47
+ type: DataTypes.SMALLINT,
48
+ allowNull: false,
49
+ primaryKey: true
50
+ },
51
+ description: {
52
+ type: DataTypes.STRING(32),
53
+ allowNull: false,
54
+ unique: "versus_entity_kind_description_unique"
55
+ }
56
+ }, {
57
+ sequelize,
58
+ tableName: 'versus_entity_kind',
59
+ schema: 'eb',
60
+ timestamps: false,
61
+ indexes: [
62
+ {
63
+ name: "versus_entity_kind_description_unique",
64
+ unique: true,
65
+ fields: [
66
+ { name: "description" },
67
+ ]
68
+ },
69
+ {
70
+ name: "versus_entity_kind_pkey",
71
+ unique: true,
72
+ fields: [
73
+ { name: "id" },
74
+ ]
75
+ },
76
+ ]
77
+ });
78
+ }
79
+ }
@@ -0,0 +1,227 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonAlbum, CanonAlbumId } from './CanonAlbum';
4
+ import type { CanonArtist, CanonArtistId } from './CanonArtist';
5
+ import type { CanonTrack, CanonTrackId } from './CanonTrack';
6
+ import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
7
+ import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
8
+ import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
9
+ import type { Versus, VersusId } from './Versus';
10
+ import type { VersusEntityKind, VersusEntityKindId } from './VersusEntityKind';
11
+
12
+ export interface VersusOptionAttributes {
13
+ versusId: string;
14
+ entityKindId: number;
15
+ sortOrder: number;
16
+ canonTrackId?: string;
17
+ platformTrackId?: string;
18
+ canonAlbumId?: string;
19
+ platformAlbumId?: string;
20
+ canonArtistId?: string;
21
+ platformArtistId?: string;
22
+ voteScore?: number;
23
+ resultsScore?: number;
24
+ id: string;
25
+ createdAt: Date;
26
+ updatedAt: Date;
27
+ }
28
+
29
+ export type VersusOptionPk = "id";
30
+ export type VersusOptionId = VersusOption[VersusOptionPk];
31
+ export type VersusOptionOptionalAttributes = "canonTrackId" | "platformTrackId" | "canonAlbumId" | "platformAlbumId" | "canonArtistId" | "platformArtistId" | "voteScore" | "resultsScore" | "id" | "createdAt" | "updatedAt";
32
+ export type VersusOptionCreationAttributes = Optional<VersusOptionAttributes, VersusOptionOptionalAttributes>;
33
+
34
+ export class VersusOption extends Model<VersusOptionAttributes, VersusOptionCreationAttributes> implements VersusOptionAttributes {
35
+ versusId!: string;
36
+ entityKindId!: number;
37
+ sortOrder!: number;
38
+ canonTrackId?: string;
39
+ platformTrackId?: string;
40
+ canonAlbumId?: string;
41
+ platformAlbumId?: string;
42
+ canonArtistId?: string;
43
+ platformArtistId?: string;
44
+ voteScore?: number;
45
+ resultsScore?: number;
46
+ id!: string;
47
+ createdAt!: Date;
48
+ updatedAt!: Date;
49
+
50
+ // VersusOption belongsTo CanonAlbum via canonAlbumId
51
+ canonAlbum!: CanonAlbum;
52
+ getCanonAlbum!: Sequelize.BelongsToGetAssociationMixin<CanonAlbum>;
53
+ setCanonAlbum!: Sequelize.BelongsToSetAssociationMixin<CanonAlbum, CanonAlbumId>;
54
+ createCanonAlbum!: Sequelize.BelongsToCreateAssociationMixin<CanonAlbum>;
55
+ // VersusOption belongsTo CanonArtist via canonArtistId
56
+ canonArtist!: CanonArtist;
57
+ getCanonArtist!: Sequelize.BelongsToGetAssociationMixin<CanonArtist>;
58
+ setCanonArtist!: Sequelize.BelongsToSetAssociationMixin<CanonArtist, CanonArtistId>;
59
+ createCanonArtist!: Sequelize.BelongsToCreateAssociationMixin<CanonArtist>;
60
+ // VersusOption belongsTo CanonTrack via canonTrackId
61
+ canonTrack!: CanonTrack;
62
+ getCanonTrack!: Sequelize.BelongsToGetAssociationMixin<CanonTrack>;
63
+ setCanonTrack!: Sequelize.BelongsToSetAssociationMixin<CanonTrack, CanonTrackId>;
64
+ createCanonTrack!: Sequelize.BelongsToCreateAssociationMixin<CanonTrack>;
65
+ // VersusOption belongsTo PlatformAlbum via platformAlbumId
66
+ platformAlbum!: PlatformAlbum;
67
+ getPlatformAlbum!: Sequelize.BelongsToGetAssociationMixin<PlatformAlbum>;
68
+ setPlatformAlbum!: Sequelize.BelongsToSetAssociationMixin<PlatformAlbum, PlatformAlbumId>;
69
+ createPlatformAlbum!: Sequelize.BelongsToCreateAssociationMixin<PlatformAlbum>;
70
+ // VersusOption belongsTo PlatformArtist via platformArtistId
71
+ platformArtist!: PlatformArtist;
72
+ getPlatformArtist!: Sequelize.BelongsToGetAssociationMixin<PlatformArtist>;
73
+ setPlatformArtist!: Sequelize.BelongsToSetAssociationMixin<PlatformArtist, PlatformArtistId>;
74
+ createPlatformArtist!: Sequelize.BelongsToCreateAssociationMixin<PlatformArtist>;
75
+ // VersusOption belongsTo PlatformTrack via platformTrackId
76
+ platformTrack!: PlatformTrack;
77
+ getPlatformTrack!: Sequelize.BelongsToGetAssociationMixin<PlatformTrack>;
78
+ setPlatformTrack!: Sequelize.BelongsToSetAssociationMixin<PlatformTrack, PlatformTrackId>;
79
+ createPlatformTrack!: Sequelize.BelongsToCreateAssociationMixin<PlatformTrack>;
80
+ // VersusOption belongsTo Versus via versusId
81
+ versu!: Versus;
82
+ getVersu!: Sequelize.BelongsToGetAssociationMixin<Versus>;
83
+ setVersu!: Sequelize.BelongsToSetAssociationMixin<Versus, VersusId>;
84
+ createVersu!: Sequelize.BelongsToCreateAssociationMixin<Versus>;
85
+ // VersusOption belongsTo VersusEntityKind via entityKindId
86
+ entityKind!: VersusEntityKind;
87
+ getEntityKind!: Sequelize.BelongsToGetAssociationMixin<VersusEntityKind>;
88
+ setEntityKind!: Sequelize.BelongsToSetAssociationMixin<VersusEntityKind, VersusEntityKindId>;
89
+ createEntityKind!: Sequelize.BelongsToCreateAssociationMixin<VersusEntityKind>;
90
+
91
+ static initModel(sequelize: Sequelize.Sequelize): typeof VersusOption {
92
+ return VersusOption.init({
93
+ versusId: {
94
+ type: DataTypes.UUID,
95
+ allowNull: false,
96
+ references: {
97
+ model: 'versus',
98
+ key: 'id'
99
+ },
100
+ field: 'versus_id'
101
+ },
102
+ entityKindId: {
103
+ type: DataTypes.SMALLINT,
104
+ allowNull: false,
105
+ references: {
106
+ model: 'versus_entity_kind',
107
+ key: 'id'
108
+ },
109
+ field: 'entity_kind_id'
110
+ },
111
+ sortOrder: {
112
+ type: DataTypes.INTEGER,
113
+ allowNull: false,
114
+ field: 'sort_order'
115
+ },
116
+ canonTrackId: {
117
+ type: DataTypes.UUID,
118
+ allowNull: true,
119
+ references: {
120
+ model: 'canon_track',
121
+ key: 'id'
122
+ },
123
+ field: 'canon_track_id'
124
+ },
125
+ platformTrackId: {
126
+ type: DataTypes.UUID,
127
+ allowNull: true,
128
+ references: {
129
+ model: 'platform_track',
130
+ key: 'id'
131
+ },
132
+ field: 'platform_track_id'
133
+ },
134
+ canonAlbumId: {
135
+ type: DataTypes.UUID,
136
+ allowNull: true,
137
+ references: {
138
+ model: 'canon_album',
139
+ key: 'id'
140
+ },
141
+ field: 'canon_album_id'
142
+ },
143
+ platformAlbumId: {
144
+ type: DataTypes.UUID,
145
+ allowNull: true,
146
+ references: {
147
+ model: 'platform_album',
148
+ key: 'id'
149
+ },
150
+ field: 'platform_album_id'
151
+ },
152
+ canonArtistId: {
153
+ type: DataTypes.UUID,
154
+ allowNull: true,
155
+ references: {
156
+ model: 'canon_artist',
157
+ key: 'id'
158
+ },
159
+ field: 'canon_artist_id'
160
+ },
161
+ platformArtistId: {
162
+ type: DataTypes.UUID,
163
+ allowNull: true,
164
+ references: {
165
+ model: 'platform_artist',
166
+ key: 'id'
167
+ },
168
+ field: 'platform_artist_id'
169
+ },
170
+ voteScore: {
171
+ type: DataTypes.INTEGER,
172
+ allowNull: true,
173
+ field: 'vote_score'
174
+ },
175
+ resultsScore: {
176
+ type: DataTypes.SMALLINT,
177
+ allowNull: true,
178
+ field: 'results_score'
179
+ },
180
+ id: {
181
+ type: DataTypes.UUID,
182
+ allowNull: false,
183
+ defaultValue: DataTypes.UUIDV4,
184
+ primaryKey: true
185
+ },
186
+ createdAt: {
187
+ type: DataTypes.DATE,
188
+ allowNull: false,
189
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
190
+ field: 'created_at'
191
+ },
192
+ updatedAt: {
193
+ type: DataTypes.DATE,
194
+ allowNull: false,
195
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
196
+ field: 'updated_at'
197
+ }
198
+ }, {
199
+ sequelize,
200
+ tableName: 'versus_option',
201
+ schema: 'eb',
202
+ timestamps: false,
203
+ indexes: [
204
+ {
205
+ name: "idx_versus_option_versus",
206
+ fields: [
207
+ { name: "versus_id" },
208
+ ]
209
+ },
210
+ {
211
+ name: "idx_versus_option_versus_sort",
212
+ fields: [
213
+ { name: "versus_id" },
214
+ { name: "sort_order" },
215
+ ]
216
+ },
217
+ {
218
+ name: "versus_option_pkey",
219
+ unique: true,
220
+ fields: [
221
+ { name: "id" },
222
+ ]
223
+ },
224
+ ]
225
+ });
226
+ }
227
+ }