@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
@@ -1,6 +1,7 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { DataTypes, Model, Optional } from 'sequelize';
3
3
  import type { AppUser, AppUserId } from './AppUser';
4
+ import type { UserAbuseReports, UserAbuseReportsId } from './UserAbuseReports';
4
5
 
5
6
  export interface UserMessagesAttributes {
6
7
  senderId: string;
@@ -44,6 +45,18 @@ export class UserMessages extends Model<UserMessagesAttributes, UserMessagesCrea
44
45
  getSender!: Sequelize.BelongsToGetAssociationMixin<AppUser>;
45
46
  setSender!: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
46
47
  createSender!: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
48
+ // UserMessages hasMany UserAbuseReports via directMessageId
49
+ userAbuseReports!: UserAbuseReports[];
50
+ getUserAbuseReports!: Sequelize.HasManyGetAssociationsMixin<UserAbuseReports>;
51
+ setUserAbuseReports!: Sequelize.HasManySetAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
52
+ addUserAbuseReport!: Sequelize.HasManyAddAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
53
+ addUserAbuseReports!: Sequelize.HasManyAddAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
54
+ createUserAbuseReport!: Sequelize.HasManyCreateAssociationMixin<UserAbuseReports>;
55
+ removeUserAbuseReport!: Sequelize.HasManyRemoveAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
56
+ removeUserAbuseReports!: Sequelize.HasManyRemoveAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
57
+ hasUserAbuseReport!: Sequelize.HasManyHasAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
58
+ hasUserAbuseReports!: Sequelize.HasManyHasAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
59
+ countUserAbuseReports!: Sequelize.HasManyCountAssociationsMixin;
47
60
  // UserMessages belongsTo UserMessages via replyMessageId
48
61
  replyMessage!: UserMessages;
49
62
  getReplyMessage!: Sequelize.BelongsToGetAssociationMixin<UserMessages>;
@@ -0,0 +1,425 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { AppUser, AppUserId } from './AppUser';
4
+ import type { CanonAlbum, CanonAlbumId } from './CanonAlbum';
5
+ import type { CanonArtist, CanonArtistId } from './CanonArtist';
6
+ import type { CanonGenre, CanonGenreId } from './CanonGenre';
7
+ import type { CanonTrack, CanonTrackId } from './CanonTrack';
8
+ import type { GuestUser, GuestUserId } from './GuestUser';
9
+ import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
10
+ import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
11
+ import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
12
+ import type { VersusAccessType, VersusAccessTypeId } from './VersusAccessType';
13
+ import type { VersusCoCreator, VersusCoCreatorId } from './VersusCoCreator';
14
+ import type { VersusCreatorScope, VersusCreatorScopeId } from './VersusCreatorScope';
15
+ import type { VersusEndMode, VersusEndModeId } from './VersusEndMode';
16
+ import type { VersusEndTimerDuration, VersusEndTimerDurationId } from './VersusEndTimerDuration';
17
+ import type { VersusEndVoteThreshold, VersusEndVoteThresholdId } from './VersusEndVoteThreshold';
18
+ import type { VersusOption, VersusOptionId } from './VersusOption';
19
+ import type { VersusPublishIssue, VersusPublishIssueId } from './VersusPublishIssue';
20
+ import type { VersusQuestion, VersusQuestionId } from './VersusQuestion';
21
+ import type { VersusVotingMode, VersusVotingModeId } from './VersusVotingMode';
22
+
23
+ export interface VersusAttributes {
24
+ versusQuestionId: string;
25
+ canonTrackId?: string;
26
+ platformTrackId?: string;
27
+ canonAlbumId?: string;
28
+ platformAlbumId?: string;
29
+ canonArtistId?: string;
30
+ platformArtistId?: string;
31
+ canonGenreId?: string;
32
+ themeText?: string;
33
+ versusAccessTypeId: number;
34
+ versusCreatorScopeId: number;
35
+ versusVotingModeId: number;
36
+ versusEndModeId: number;
37
+ versusEndVoteThresholdId?: number;
38
+ versusEndTimerDurationId?: number;
39
+ startsAt?: Date;
40
+ endsAt?: Date;
41
+ creatorUserId: string;
42
+ publishedAt?: Date;
43
+ id: string;
44
+ publishRequested: boolean;
45
+ deleted: boolean;
46
+ createdAt: Date;
47
+ updatedAt: Date;
48
+ }
49
+
50
+ export type VersusPk = "id";
51
+ export type VersusId = Versus[VersusPk];
52
+ export type VersusOptionalAttributes = "canonTrackId" | "platformTrackId" | "canonAlbumId" | "platformAlbumId" | "canonArtistId" | "platformArtistId" | "canonGenreId" | "themeText" | "versusEndVoteThresholdId" | "versusEndTimerDurationId" | "startsAt" | "endsAt" | "publishedAt" | "id" | "createdAt" | "updatedAt";
53
+ export type VersusCreationAttributes = Optional<VersusAttributes, VersusOptionalAttributes>;
54
+
55
+ export class Versus extends Model<VersusAttributes, VersusCreationAttributes> implements VersusAttributes {
56
+ versusQuestionId!: string;
57
+ canonTrackId?: string;
58
+ platformTrackId?: string;
59
+ canonAlbumId?: string;
60
+ platformAlbumId?: string;
61
+ canonArtistId?: string;
62
+ platformArtistId?: string;
63
+ canonGenreId?: string;
64
+ themeText?: string;
65
+ versusAccessTypeId!: number;
66
+ versusCreatorScopeId!: number;
67
+ versusVotingModeId!: number;
68
+ versusEndModeId!: number;
69
+ versusEndVoteThresholdId?: number;
70
+ versusEndTimerDurationId?: number;
71
+ startsAt?: Date;
72
+ endsAt?: Date;
73
+ creatorUserId!: string;
74
+ publishedAt?: Date;
75
+ id!: string;
76
+ publishRequested!: boolean;
77
+ deleted!: boolean;
78
+ createdAt!: Date;
79
+ updatedAt!: Date;
80
+
81
+ // Versus belongsTo AppUser via creatorUserId
82
+ creatorUser!: AppUser;
83
+ getCreatorUser!: Sequelize.BelongsToGetAssociationMixin<AppUser>;
84
+ setCreatorUser!: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
85
+ createCreatorUser!: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
86
+ // Versus belongsTo CanonAlbum via canonAlbumId
87
+ canonAlbum!: CanonAlbum;
88
+ getCanonAlbum!: Sequelize.BelongsToGetAssociationMixin<CanonAlbum>;
89
+ setCanonAlbum!: Sequelize.BelongsToSetAssociationMixin<CanonAlbum, CanonAlbumId>;
90
+ createCanonAlbum!: Sequelize.BelongsToCreateAssociationMixin<CanonAlbum>;
91
+ // Versus belongsTo CanonArtist via canonArtistId
92
+ canonArtist!: CanonArtist;
93
+ getCanonArtist!: Sequelize.BelongsToGetAssociationMixin<CanonArtist>;
94
+ setCanonArtist!: Sequelize.BelongsToSetAssociationMixin<CanonArtist, CanonArtistId>;
95
+ createCanonArtist!: Sequelize.BelongsToCreateAssociationMixin<CanonArtist>;
96
+ // Versus belongsTo CanonGenre via canonGenreId
97
+ canonGenre!: CanonGenre;
98
+ getCanonGenre!: Sequelize.BelongsToGetAssociationMixin<CanonGenre>;
99
+ setCanonGenre!: Sequelize.BelongsToSetAssociationMixin<CanonGenre, CanonGenreId>;
100
+ createCanonGenre!: Sequelize.BelongsToCreateAssociationMixin<CanonGenre>;
101
+ // Versus belongsTo CanonTrack via canonTrackId
102
+ canonTrack!: CanonTrack;
103
+ getCanonTrack!: Sequelize.BelongsToGetAssociationMixin<CanonTrack>;
104
+ setCanonTrack!: Sequelize.BelongsToSetAssociationMixin<CanonTrack, CanonTrackId>;
105
+ createCanonTrack!: Sequelize.BelongsToCreateAssociationMixin<CanonTrack>;
106
+ // Versus belongsTo PlatformAlbum via platformAlbumId
107
+ platformAlbum!: PlatformAlbum;
108
+ getPlatformAlbum!: Sequelize.BelongsToGetAssociationMixin<PlatformAlbum>;
109
+ setPlatformAlbum!: Sequelize.BelongsToSetAssociationMixin<PlatformAlbum, PlatformAlbumId>;
110
+ createPlatformAlbum!: Sequelize.BelongsToCreateAssociationMixin<PlatformAlbum>;
111
+ // Versus belongsTo PlatformArtist via platformArtistId
112
+ platformArtist!: PlatformArtist;
113
+ getPlatformArtist!: Sequelize.BelongsToGetAssociationMixin<PlatformArtist>;
114
+ setPlatformArtist!: Sequelize.BelongsToSetAssociationMixin<PlatformArtist, PlatformArtistId>;
115
+ createPlatformArtist!: Sequelize.BelongsToCreateAssociationMixin<PlatformArtist>;
116
+ // Versus belongsTo PlatformTrack via platformTrackId
117
+ platformTrack!: PlatformTrack;
118
+ getPlatformTrack!: Sequelize.BelongsToGetAssociationMixin<PlatformTrack>;
119
+ setPlatformTrack!: Sequelize.BelongsToSetAssociationMixin<PlatformTrack, PlatformTrackId>;
120
+ createPlatformTrack!: Sequelize.BelongsToCreateAssociationMixin<PlatformTrack>;
121
+ // Versus hasMany GuestUser via versusId
122
+ guestUsers!: GuestUser[];
123
+ getGuestUsers!: Sequelize.HasManyGetAssociationsMixin<GuestUser>;
124
+ setGuestUsers!: Sequelize.HasManySetAssociationsMixin<GuestUser, GuestUserId>;
125
+ addGuestUser!: Sequelize.HasManyAddAssociationMixin<GuestUser, GuestUserId>;
126
+ addGuestUsers!: Sequelize.HasManyAddAssociationsMixin<GuestUser, GuestUserId>;
127
+ createGuestUser!: Sequelize.HasManyCreateAssociationMixin<GuestUser>;
128
+ removeGuestUser!: Sequelize.HasManyRemoveAssociationMixin<GuestUser, GuestUserId>;
129
+ removeGuestUsers!: Sequelize.HasManyRemoveAssociationsMixin<GuestUser, GuestUserId>;
130
+ hasGuestUser!: Sequelize.HasManyHasAssociationMixin<GuestUser, GuestUserId>;
131
+ hasGuestUsers!: Sequelize.HasManyHasAssociationsMixin<GuestUser, GuestUserId>;
132
+ countGuestUsers!: Sequelize.HasManyCountAssociationsMixin;
133
+ // Versus hasMany VersusCoCreator via versusId
134
+ versusCoCreators!: VersusCoCreator[];
135
+ getVersusCoCreators!: Sequelize.HasManyGetAssociationsMixin<VersusCoCreator>;
136
+ setVersusCoCreators!: Sequelize.HasManySetAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
137
+ addVersusCoCreator!: Sequelize.HasManyAddAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
138
+ addVersusCoCreators!: Sequelize.HasManyAddAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
139
+ createVersusCoCreator!: Sequelize.HasManyCreateAssociationMixin<VersusCoCreator>;
140
+ removeVersusCoCreator!: Sequelize.HasManyRemoveAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
141
+ removeVersusCoCreators!: Sequelize.HasManyRemoveAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
142
+ hasVersusCoCreator!: Sequelize.HasManyHasAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
143
+ hasVersusCoCreators!: Sequelize.HasManyHasAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
144
+ countVersusCoCreators!: Sequelize.HasManyCountAssociationsMixin;
145
+ // Versus hasMany VersusOption via versusId
146
+ versusOptions!: VersusOption[];
147
+ getVersusOptions!: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
148
+ setVersusOptions!: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
149
+ addVersusOption!: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
150
+ addVersusOptions!: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
151
+ createVersusOption!: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
152
+ removeVersusOption!: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
153
+ removeVersusOptions!: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
154
+ hasVersusOption!: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
155
+ hasVersusOptions!: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
156
+ countVersusOptions!: Sequelize.HasManyCountAssociationsMixin;
157
+ // Versus hasMany VersusPublishIssue via versusId
158
+ versusPublishIssues!: VersusPublishIssue[];
159
+ getVersusPublishIssues!: Sequelize.HasManyGetAssociationsMixin<VersusPublishIssue>;
160
+ setVersusPublishIssues!: Sequelize.HasManySetAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
161
+ addVersusPublishIssue!: Sequelize.HasManyAddAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
162
+ addVersusPublishIssues!: Sequelize.HasManyAddAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
163
+ createVersusPublishIssue!: Sequelize.HasManyCreateAssociationMixin<VersusPublishIssue>;
164
+ removeVersusPublishIssue!: Sequelize.HasManyRemoveAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
165
+ removeVersusPublishIssues!: Sequelize.HasManyRemoveAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
166
+ hasVersusPublishIssue!: Sequelize.HasManyHasAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
167
+ hasVersusPublishIssues!: Sequelize.HasManyHasAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
168
+ countVersusPublishIssues!: Sequelize.HasManyCountAssociationsMixin;
169
+ // Versus belongsTo VersusAccessType via versusAccessTypeId
170
+ versusAccessType!: VersusAccessType;
171
+ getVersusAccessType!: Sequelize.BelongsToGetAssociationMixin<VersusAccessType>;
172
+ setVersusAccessType!: Sequelize.BelongsToSetAssociationMixin<VersusAccessType, VersusAccessTypeId>;
173
+ createVersusAccessType!: Sequelize.BelongsToCreateAssociationMixin<VersusAccessType>;
174
+ // Versus belongsTo VersusCreatorScope via versusCreatorScopeId
175
+ versusCreatorScope!: VersusCreatorScope;
176
+ getVersusCreatorScope!: Sequelize.BelongsToGetAssociationMixin<VersusCreatorScope>;
177
+ setVersusCreatorScope!: Sequelize.BelongsToSetAssociationMixin<VersusCreatorScope, VersusCreatorScopeId>;
178
+ createVersusCreatorScope!: Sequelize.BelongsToCreateAssociationMixin<VersusCreatorScope>;
179
+ // Versus belongsTo VersusEndMode via versusEndModeId
180
+ versusEndMode!: VersusEndMode;
181
+ getVersusEndMode!: Sequelize.BelongsToGetAssociationMixin<VersusEndMode>;
182
+ setVersusEndMode!: Sequelize.BelongsToSetAssociationMixin<VersusEndMode, VersusEndModeId>;
183
+ createVersusEndMode!: Sequelize.BelongsToCreateAssociationMixin<VersusEndMode>;
184
+ // Versus belongsTo VersusEndTimerDuration via versusEndTimerDurationId
185
+ versusEndTimerDuration!: VersusEndTimerDuration;
186
+ getVersusEndTimerDuration!: Sequelize.BelongsToGetAssociationMixin<VersusEndTimerDuration>;
187
+ setVersusEndTimerDuration!: Sequelize.BelongsToSetAssociationMixin<VersusEndTimerDuration, VersusEndTimerDurationId>;
188
+ createVersusEndTimerDuration!: Sequelize.BelongsToCreateAssociationMixin<VersusEndTimerDuration>;
189
+ // Versus belongsTo VersusEndVoteThreshold via versusEndVoteThresholdId
190
+ versusEndVoteThreshold!: VersusEndVoteThreshold;
191
+ getVersusEndVoteThreshold!: Sequelize.BelongsToGetAssociationMixin<VersusEndVoteThreshold>;
192
+ setVersusEndVoteThreshold!: Sequelize.BelongsToSetAssociationMixin<VersusEndVoteThreshold, VersusEndVoteThresholdId>;
193
+ createVersusEndVoteThreshold!: Sequelize.BelongsToCreateAssociationMixin<VersusEndVoteThreshold>;
194
+ // Versus belongsTo VersusQuestion via versusQuestionId
195
+ versusQuestion!: VersusQuestion;
196
+ getVersusQuestion!: Sequelize.BelongsToGetAssociationMixin<VersusQuestion>;
197
+ setVersusQuestion!: Sequelize.BelongsToSetAssociationMixin<VersusQuestion, VersusQuestionId>;
198
+ createVersusQuestion!: Sequelize.BelongsToCreateAssociationMixin<VersusQuestion>;
199
+ // Versus belongsTo VersusVotingMode via versusVotingModeId
200
+ versusVotingMode!: VersusVotingMode;
201
+ getVersusVotingMode!: Sequelize.BelongsToGetAssociationMixin<VersusVotingMode>;
202
+ setVersusVotingMode!: Sequelize.BelongsToSetAssociationMixin<VersusVotingMode, VersusVotingModeId>;
203
+ createVersusVotingMode!: Sequelize.BelongsToCreateAssociationMixin<VersusVotingMode>;
204
+
205
+ static initModel(sequelize: Sequelize.Sequelize): typeof Versus {
206
+ return Versus.init({
207
+ versusQuestionId: {
208
+ type: DataTypes.UUID,
209
+ allowNull: false,
210
+ references: {
211
+ model: 'versus_question',
212
+ key: 'id'
213
+ },
214
+ field: 'versus_question_id'
215
+ },
216
+ canonTrackId: {
217
+ type: DataTypes.UUID,
218
+ allowNull: true,
219
+ references: {
220
+ model: 'canon_track',
221
+ key: 'id'
222
+ },
223
+ field: 'canon_track_id'
224
+ },
225
+ platformTrackId: {
226
+ type: DataTypes.UUID,
227
+ allowNull: true,
228
+ references: {
229
+ model: 'platform_track',
230
+ key: 'id'
231
+ },
232
+ field: 'platform_track_id'
233
+ },
234
+ canonAlbumId: {
235
+ type: DataTypes.UUID,
236
+ allowNull: true,
237
+ references: {
238
+ model: 'canon_album',
239
+ key: 'id'
240
+ },
241
+ field: 'canon_album_id'
242
+ },
243
+ platformAlbumId: {
244
+ type: DataTypes.UUID,
245
+ allowNull: true,
246
+ references: {
247
+ model: 'platform_album',
248
+ key: 'id'
249
+ },
250
+ field: 'platform_album_id'
251
+ },
252
+ canonArtistId: {
253
+ type: DataTypes.UUID,
254
+ allowNull: true,
255
+ references: {
256
+ model: 'canon_artist',
257
+ key: 'id'
258
+ },
259
+ field: 'canon_artist_id'
260
+ },
261
+ platformArtistId: {
262
+ type: DataTypes.UUID,
263
+ allowNull: true,
264
+ references: {
265
+ model: 'platform_artist',
266
+ key: 'id'
267
+ },
268
+ field: 'platform_artist_id'
269
+ },
270
+ canonGenreId: {
271
+ type: DataTypes.UUID,
272
+ allowNull: true,
273
+ references: {
274
+ model: 'canon_genre',
275
+ key: 'id'
276
+ },
277
+ field: 'canon_genre_id'
278
+ },
279
+ themeText: {
280
+ type: DataTypes.STRING(100),
281
+ allowNull: true,
282
+ field: 'theme_text'
283
+ },
284
+ versusAccessTypeId: {
285
+ type: DataTypes.SMALLINT,
286
+ allowNull: false,
287
+ references: {
288
+ model: 'versus_access_type',
289
+ key: 'id'
290
+ },
291
+ field: 'versus_access_type_id'
292
+ },
293
+ versusCreatorScopeId: {
294
+ type: DataTypes.SMALLINT,
295
+ allowNull: false,
296
+ references: {
297
+ model: 'versus_creator_scope',
298
+ key: 'id'
299
+ },
300
+ field: 'versus_creator_scope_id'
301
+ },
302
+ versusVotingModeId: {
303
+ type: DataTypes.SMALLINT,
304
+ allowNull: false,
305
+ references: {
306
+ model: 'versus_voting_mode',
307
+ key: 'id'
308
+ },
309
+ field: 'versus_voting_mode_id'
310
+ },
311
+ versusEndModeId: {
312
+ type: DataTypes.SMALLINT,
313
+ allowNull: false,
314
+ references: {
315
+ model: 'versus_end_mode',
316
+ key: 'id'
317
+ },
318
+ field: 'versus_end_mode_id'
319
+ },
320
+ versusEndVoteThresholdId: {
321
+ type: DataTypes.SMALLINT,
322
+ allowNull: true,
323
+ references: {
324
+ model: 'versus_end_vote_threshold',
325
+ key: 'id'
326
+ },
327
+ field: 'versus_end_vote_threshold_id'
328
+ },
329
+ versusEndTimerDurationId: {
330
+ type: DataTypes.SMALLINT,
331
+ allowNull: true,
332
+ references: {
333
+ model: 'versus_end_timer_duration',
334
+ key: 'id'
335
+ },
336
+ field: 'versus_end_timer_duration_id'
337
+ },
338
+ startsAt: {
339
+ type: DataTypes.DATE,
340
+ allowNull: true,
341
+ field: 'starts_at'
342
+ },
343
+ endsAt: {
344
+ type: DataTypes.DATE,
345
+ allowNull: true,
346
+ field: 'ends_at'
347
+ },
348
+ creatorUserId: {
349
+ type: DataTypes.UUID,
350
+ allowNull: false,
351
+ references: {
352
+ model: 'app_user',
353
+ key: 'id'
354
+ },
355
+ field: 'creator_user_id'
356
+ },
357
+ publishedAt: {
358
+ type: DataTypes.DATE,
359
+ allowNull: true,
360
+ field: 'published_at'
361
+ },
362
+ id: {
363
+ type: DataTypes.UUID,
364
+ allowNull: false,
365
+ defaultValue: DataTypes.UUIDV4,
366
+ primaryKey: true
367
+ },
368
+ publishRequested: {
369
+ type: DataTypes.BOOLEAN,
370
+ allowNull: false,
371
+ defaultValue: false,
372
+ field: 'publish_requested'
373
+ },
374
+ deleted: {
375
+ type: DataTypes.BOOLEAN,
376
+ allowNull: false,
377
+ defaultValue: false
378
+ },
379
+ createdAt: {
380
+ type: DataTypes.DATE,
381
+ allowNull: false,
382
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
383
+ field: 'created_at'
384
+ },
385
+ updatedAt: {
386
+ type: DataTypes.DATE,
387
+ allowNull: false,
388
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
389
+ field: 'updated_at'
390
+ }
391
+ }, {
392
+ sequelize,
393
+ tableName: 'versus',
394
+ schema: 'eb',
395
+ timestamps: false,
396
+ indexes: [
397
+ {
398
+ name: "idx_versus_creator_user",
399
+ fields: [
400
+ { name: "creator_user_id" },
401
+ ]
402
+ },
403
+ {
404
+ name: "idx_versus_deleted",
405
+ fields: [
406
+ { name: "deleted" },
407
+ ]
408
+ },
409
+ {
410
+ name: "idx_versus_question",
411
+ fields: [
412
+ { name: "versus_question_id" },
413
+ ]
414
+ },
415
+ {
416
+ name: "versus_pkey",
417
+ unique: true,
418
+ fields: [
419
+ { name: "id" },
420
+ ]
421
+ },
422
+ ]
423
+ });
424
+ }
425
+ }
@@ -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 VersusAccessTypeAttributes {
6
+ id: number;
7
+ description: string;
8
+ }
9
+
10
+ export type VersusAccessTypePk = "id";
11
+ export type VersusAccessTypeId = VersusAccessType[VersusAccessTypePk];
12
+ export type VersusAccessTypeCreationAttributes = VersusAccessTypeAttributes;
13
+
14
+ export class VersusAccessType extends Model<VersusAccessTypeAttributes, VersusAccessTypeCreationAttributes> implements VersusAccessTypeAttributes {
15
+ id!: number;
16
+ description!: string;
17
+
18
+ // VersusAccessType hasMany Versus via versusAccessTypeId
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 VersusAccessType {
32
+ return VersusAccessType.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_access_type_description_unique"
42
+ }
43
+ }, {
44
+ sequelize,
45
+ tableName: 'versus_access_type',
46
+ schema: 'eb',
47
+ timestamps: false,
48
+ indexes: [
49
+ {
50
+ name: "versus_access_type_description_unique",
51
+ unique: true,
52
+ fields: [
53
+ { name: "description" },
54
+ ]
55
+ },
56
+ {
57
+ name: "versus_access_type_pkey",
58
+ unique: true,
59
+ fields: [
60
+ { name: "id" },
61
+ ]
62
+ },
63
+ ]
64
+ });
65
+ }
66
+ }
@@ -0,0 +1,133 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { AppUser, AppUserId } from './AppUser';
4
+ import type { GuestUser, GuestUserId } from './GuestUser';
5
+ import type { Versus, VersusId } from './Versus';
6
+
7
+ export interface VersusCoCreatorAttributes {
8
+ versusId: string;
9
+ appUserId?: string;
10
+ guestUserId?: string;
11
+ invitedEmail?: string;
12
+ id: string;
13
+ createdAt: Date;
14
+ updatedAt: Date;
15
+ }
16
+
17
+ export type VersusCoCreatorPk = "id";
18
+ export type VersusCoCreatorId = VersusCoCreator[VersusCoCreatorPk];
19
+ export type VersusCoCreatorOptionalAttributes = "appUserId" | "guestUserId" | "invitedEmail" | "id" | "createdAt" | "updatedAt";
20
+ export type VersusCoCreatorCreationAttributes = Optional<VersusCoCreatorAttributes, VersusCoCreatorOptionalAttributes>;
21
+
22
+ export class VersusCoCreator extends Model<VersusCoCreatorAttributes, VersusCoCreatorCreationAttributes> implements VersusCoCreatorAttributes {
23
+ versusId!: string;
24
+ appUserId?: string;
25
+ guestUserId?: string;
26
+ invitedEmail?: string;
27
+ id!: string;
28
+ createdAt!: Date;
29
+ updatedAt!: Date;
30
+
31
+ // VersusCoCreator belongsTo AppUser via appUserId
32
+ appUser!: AppUser;
33
+ getAppUser!: Sequelize.BelongsToGetAssociationMixin<AppUser>;
34
+ setAppUser!: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
35
+ createAppUser!: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
36
+ // VersusCoCreator belongsTo GuestUser via guestUserId
37
+ guestUser!: GuestUser;
38
+ getGuestUser!: Sequelize.BelongsToGetAssociationMixin<GuestUser>;
39
+ setGuestUser!: Sequelize.BelongsToSetAssociationMixin<GuestUser, GuestUserId>;
40
+ createGuestUser!: Sequelize.BelongsToCreateAssociationMixin<GuestUser>;
41
+ // VersusCoCreator belongsTo Versus via versusId
42
+ versu!: Versus;
43
+ getVersu!: Sequelize.BelongsToGetAssociationMixin<Versus>;
44
+ setVersu!: Sequelize.BelongsToSetAssociationMixin<Versus, VersusId>;
45
+ createVersu!: Sequelize.BelongsToCreateAssociationMixin<Versus>;
46
+
47
+ static initModel(sequelize: Sequelize.Sequelize): typeof VersusCoCreator {
48
+ return VersusCoCreator.init({
49
+ versusId: {
50
+ type: DataTypes.UUID,
51
+ allowNull: false,
52
+ references: {
53
+ model: 'versus',
54
+ key: 'id'
55
+ },
56
+ field: 'versus_id'
57
+ },
58
+ appUserId: {
59
+ type: DataTypes.UUID,
60
+ allowNull: true,
61
+ references: {
62
+ model: 'app_user',
63
+ key: 'id'
64
+ },
65
+ field: 'app_user_id'
66
+ },
67
+ guestUserId: {
68
+ type: DataTypes.UUID,
69
+ allowNull: true,
70
+ references: {
71
+ model: 'guest_user',
72
+ key: 'id'
73
+ },
74
+ field: 'guest_user_id'
75
+ },
76
+ invitedEmail: {
77
+ type: DataTypes.TEXT,
78
+ allowNull: true,
79
+ field: 'invited_email'
80
+ },
81
+ id: {
82
+ type: DataTypes.UUID,
83
+ allowNull: false,
84
+ defaultValue: DataTypes.UUIDV4,
85
+ primaryKey: true
86
+ },
87
+ createdAt: {
88
+ type: DataTypes.DATE,
89
+ allowNull: false,
90
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
91
+ field: 'created_at'
92
+ },
93
+ updatedAt: {
94
+ type: DataTypes.DATE,
95
+ allowNull: false,
96
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
97
+ field: 'updated_at'
98
+ }
99
+ }, {
100
+ sequelize,
101
+ tableName: 'versus_co_creator',
102
+ schema: 'eb',
103
+ timestamps: false,
104
+ indexes: [
105
+ {
106
+ name: "idx_versus_co_creator_app_user",
107
+ fields: [
108
+ { name: "app_user_id" },
109
+ ]
110
+ },
111
+ {
112
+ name: "idx_versus_co_creator_guest_user",
113
+ fields: [
114
+ { name: "guest_user_id" },
115
+ ]
116
+ },
117
+ {
118
+ name: "idx_versus_co_creator_versus",
119
+ fields: [
120
+ { name: "versus_id" },
121
+ ]
122
+ },
123
+ {
124
+ name: "versus_co_creator_pkey",
125
+ unique: true,
126
+ fields: [
127
+ { name: "id" },
128
+ ]
129
+ },
130
+ ]
131
+ });
132
+ }
133
+ }