@earbug/db-models 0.0.15 → 0.0.17
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/.github/workflows/publish.yaml +54 -0
- package/.nvmrc +1 -1
- package/dist/AppUser.d.ts +24 -0
- package/dist/CanonArtist.d.ts +43 -1
- package/dist/CanonArtist.js +18 -2
- package/dist/GuestUser.d.ts +42 -0
- package/dist/GuestUser.js +91 -0
- package/dist/JukeboxQueueEntry.d.ts +19 -5
- package/dist/JukeboxQueueEntry.js +36 -18
- package/dist/JukeboxSession.d.ts +36 -0
- package/dist/MerchItem.d.ts +50 -0
- package/dist/MerchItem.js +120 -0
- package/dist/MerchOrchestration.d.ts +42 -0
- package/dist/MerchOrchestration.js +104 -0
- package/dist/MerchPlatform.d.ts +45 -0
- package/dist/MerchPlatform.js +75 -0
- package/dist/MerchType.d.ts +43 -0
- package/dist/MerchType.js +71 -0
- package/dist/NewsArticle.js +5 -5
- package/dist/NewsPlatform.js +2 -2
- package/dist/PlatformTrack.d.ts +12 -0
- package/dist/PlatformUserPlaylist.d.ts +24 -0
- package/dist/RadioShow.d.ts +24 -0
- package/dist/RadioShow.js +6 -0
- package/dist/RadioShowGenres.d.ts +3 -1
- package/dist/RadioShowGenres.js +24 -0
- package/dist/UserComments.d.ts +55 -0
- package/dist/UserComments.js +151 -0
- package/dist/UserLikes.d.ts +45 -0
- package/dist/UserLikes.js +151 -0
- package/dist/init-models.d.ts +23 -2
- package/dist/init-models.js +66 -2
- package/models/AppUser.ts +26 -0
- package/models/CanonArtist.ts +64 -3
- package/models/GuestUser.ts +108 -0
- package/models/JukeboxQueueEntry.ts +57 -23
- package/models/JukeboxSession.ts +39 -0
- package/models/MerchItem.ts +146 -0
- package/models/MerchOrchestration.ts +122 -0
- package/models/MerchPlatform.ts +95 -0
- package/models/MerchType.ts +89 -0
- package/models/NewsArticle.ts +5 -6
- package/models/NewsPlatform.ts +2 -3
- package/models/PlatformTrack.ts +13 -0
- package/models/PlatformUserPlaylist.ts +26 -0
- package/models/RadioShow.ts +32 -0
- package/models/RadioShowGenres.ts +27 -1
- package/models/UserComments.ts +184 -0
- package/models/UserLikes.ts +173 -0
- package/models/init-models.ts +85 -0
- package/package.json +1 -1
package/dist/init-models.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.UserContacts = exports.UnmatchedArtist = exports.UnmatchedAlbum = exports.TrackDeletionReason = exports.State = exports.RadioShowPublishRequests = exports.RadioShowPlacement = exports.RadioShowMedia = exports.RadioShowGenres = exports.RadioShow = exports.PlaybackStatusType = exports.PlaybackStatus = exports.PlatformUserPlaylistTrack = exports.PlatformUserPlaylist = exports.PlatformUserAlbumTrack = exports.PlatformUserAlbum = exports.PlatformTrackGenreRelation = exports.PlatformTrack = exports.PlatformGenre = exports.PlatformArtistTrackRelation = exports.PlatformArtistGenreRelation = exports.PlatformArtistAlbumRelation = exports.PlatformArtist = exports.PlatformAlbumTrackRelation = exports.PlatformAlbumGenreRelation = exports.PlatformAlbum = exports.Platform = exports.PauseStatusType = exports.NotificationType = void 0;
|
|
3
|
+
exports.MetricsDaily = exports.MerchType = exports.MerchPlatform = exports.MerchOrchestration = exports.MerchItem = exports.KnexMigrationsLock = exports.KnexMigrations = exports.JukeboxUserType = exports.JukeboxUser = exports.JukeboxType = exports.JukeboxTerminationCondition = exports.JukeboxStatus = exports.JukeboxSession = exports.JukeboxQueueMode = exports.JukeboxQueueEntry = exports.JukeboxInvite = exports.JukeboxCanonGenreRelation = exports.JukeboxAccessType = exports.GuestUser = exports.ExternalReference = exports.ConfigParam = exports.CanonTrack = exports.CanonToPlatformTrackRelation = exports.CanonToPlatformGenreRelation = exports.CanonToPlatformArtistRelation = exports.CanonToPlatformAlbumRelation = exports.CanonMemberExternalReferenceRelation = exports.CanonMember = exports.CanonLabelExternalReferenceRelation = exports.CanonLabel = exports.CanonGenreExternalReferenceRelation = exports.CanonGenre = exports.CanonArtistTrackRelation = exports.CanonArtistMemberRelation = exports.CanonArtistImageHarvested = exports.CanonArtistGenreRelation = exports.CanonArtistExternalReferenceRelation = exports.CanonArtistAlbumRelation = exports.CanonArtist = exports.CanonAlbumTrackRelation = exports.CanonAlbumLabelRelation = exports.CanonAlbumImageHarvested = exports.CanonAlbumGenreRelation = exports.CanonAlbumExternalReferenceRelation = exports.CanonAlbum = exports.AppUserPlatformRelation = exports.AppUserFollowRelation = exports.AppUserDevice = exports.AppUser = exports.AccessControlPreference = void 0;
|
|
4
|
+
exports.UserLikes = exports.UserContacts = exports.UserComments = exports.UnmatchedArtist = exports.UnmatchedAlbum = exports.TrackDeletionReason = exports.State = exports.RadioShowPublishRequests = exports.RadioShowPlacement = exports.RadioShowMedia = exports.RadioShowGenres = exports.RadioShow = exports.PlaybackStatusType = exports.PlaybackStatus = exports.PlatformUserPlaylistTrack = exports.PlatformUserPlaylist = exports.PlatformUserAlbumTrack = exports.PlatformUserAlbum = exports.PlatformTrackGenreRelation = exports.PlatformTrack = exports.PlatformGenre = exports.PlatformArtistTrackRelation = exports.PlatformArtistGenreRelation = exports.PlatformArtistAlbumRelation = exports.PlatformArtist = exports.PlatformAlbumTrackRelation = exports.PlatformAlbumGenreRelation = exports.PlatformAlbum = exports.Platform = exports.PauseStatusType = exports.NotificationType = exports.Notification = exports.NewsSite = exports.NewsPlatform = exports.NewsArticle = exports.MetricsEvent = void 0;
|
|
5
5
|
exports.initModels = initModels;
|
|
6
6
|
const AccessControlPreference_1 = require("./AccessControlPreference");
|
|
7
7
|
Object.defineProperty(exports, "AccessControlPreference", { enumerable: true, get: function () { return AccessControlPreference_1.AccessControlPreference; } });
|
|
@@ -65,6 +65,8 @@ const ConfigParam_1 = require("./ConfigParam");
|
|
|
65
65
|
Object.defineProperty(exports, "ConfigParam", { enumerable: true, get: function () { return ConfigParam_1.ConfigParam; } });
|
|
66
66
|
const ExternalReference_1 = require("./ExternalReference");
|
|
67
67
|
Object.defineProperty(exports, "ExternalReference", { enumerable: true, get: function () { return ExternalReference_1.ExternalReference; } });
|
|
68
|
+
const GuestUser_1 = require("./GuestUser");
|
|
69
|
+
Object.defineProperty(exports, "GuestUser", { enumerable: true, get: function () { return GuestUser_1.GuestUser; } });
|
|
68
70
|
const JukeboxAccessType_1 = require("./JukeboxAccessType");
|
|
69
71
|
Object.defineProperty(exports, "JukeboxAccessType", { enumerable: true, get: function () { return JukeboxAccessType_1.JukeboxAccessType; } });
|
|
70
72
|
const JukeboxCanonGenreRelation_1 = require("./JukeboxCanonGenreRelation");
|
|
@@ -91,6 +93,14 @@ const KnexMigrations_1 = require("./KnexMigrations");
|
|
|
91
93
|
Object.defineProperty(exports, "KnexMigrations", { enumerable: true, get: function () { return KnexMigrations_1.KnexMigrations; } });
|
|
92
94
|
const KnexMigrationsLock_1 = require("./KnexMigrationsLock");
|
|
93
95
|
Object.defineProperty(exports, "KnexMigrationsLock", { enumerable: true, get: function () { return KnexMigrationsLock_1.KnexMigrationsLock; } });
|
|
96
|
+
const MerchItem_1 = require("./MerchItem");
|
|
97
|
+
Object.defineProperty(exports, "MerchItem", { enumerable: true, get: function () { return MerchItem_1.MerchItem; } });
|
|
98
|
+
const MerchOrchestration_1 = require("./MerchOrchestration");
|
|
99
|
+
Object.defineProperty(exports, "MerchOrchestration", { enumerable: true, get: function () { return MerchOrchestration_1.MerchOrchestration; } });
|
|
100
|
+
const MerchPlatform_1 = require("./MerchPlatform");
|
|
101
|
+
Object.defineProperty(exports, "MerchPlatform", { enumerable: true, get: function () { return MerchPlatform_1.MerchPlatform; } });
|
|
102
|
+
const MerchType_1 = require("./MerchType");
|
|
103
|
+
Object.defineProperty(exports, "MerchType", { enumerable: true, get: function () { return MerchType_1.MerchType; } });
|
|
94
104
|
const MetricsDaily_1 = require("./MetricsDaily");
|
|
95
105
|
Object.defineProperty(exports, "MetricsDaily", { enumerable: true, get: function () { return MetricsDaily_1.MetricsDaily; } });
|
|
96
106
|
const MetricsEvent_1 = require("./MetricsEvent");
|
|
@@ -159,8 +169,12 @@ const UnmatchedAlbum_1 = require("./UnmatchedAlbum");
|
|
|
159
169
|
Object.defineProperty(exports, "UnmatchedAlbum", { enumerable: true, get: function () { return UnmatchedAlbum_1.UnmatchedAlbum; } });
|
|
160
170
|
const UnmatchedArtist_1 = require("./UnmatchedArtist");
|
|
161
171
|
Object.defineProperty(exports, "UnmatchedArtist", { enumerable: true, get: function () { return UnmatchedArtist_1.UnmatchedArtist; } });
|
|
172
|
+
const UserComments_1 = require("./UserComments");
|
|
173
|
+
Object.defineProperty(exports, "UserComments", { enumerable: true, get: function () { return UserComments_1.UserComments; } });
|
|
162
174
|
const UserContacts_1 = require("./UserContacts");
|
|
163
175
|
Object.defineProperty(exports, "UserContacts", { enumerable: true, get: function () { return UserContacts_1.UserContacts; } });
|
|
176
|
+
const UserLikes_1 = require("./UserLikes");
|
|
177
|
+
Object.defineProperty(exports, "UserLikes", { enumerable: true, get: function () { return UserLikes_1.UserLikes; } });
|
|
164
178
|
function initModels(sequelize) {
|
|
165
179
|
const AccessControlPreference = AccessControlPreference_1.AccessControlPreference.initModel(sequelize);
|
|
166
180
|
const AppUser = AppUser_1.AppUser.initModel(sequelize);
|
|
@@ -193,6 +207,7 @@ function initModels(sequelize) {
|
|
|
193
207
|
const CanonTrack = CanonTrack_1.CanonTrack.initModel(sequelize);
|
|
194
208
|
const ConfigParam = ConfigParam_1.ConfigParam.initModel(sequelize);
|
|
195
209
|
const ExternalReference = ExternalReference_1.ExternalReference.initModel(sequelize);
|
|
210
|
+
const GuestUser = GuestUser_1.GuestUser.initModel(sequelize);
|
|
196
211
|
const JukeboxAccessType = JukeboxAccessType_1.JukeboxAccessType.initModel(sequelize);
|
|
197
212
|
const JukeboxCanonGenreRelation = JukeboxCanonGenreRelation_1.JukeboxCanonGenreRelation.initModel(sequelize);
|
|
198
213
|
const JukeboxInvite = JukeboxInvite_1.JukeboxInvite.initModel(sequelize);
|
|
@@ -206,6 +221,10 @@ function initModels(sequelize) {
|
|
|
206
221
|
const JukeboxUserType = JukeboxUserType_1.JukeboxUserType.initModel(sequelize);
|
|
207
222
|
const KnexMigrations = KnexMigrations_1.KnexMigrations.initModel(sequelize);
|
|
208
223
|
const KnexMigrationsLock = KnexMigrationsLock_1.KnexMigrationsLock.initModel(sequelize);
|
|
224
|
+
const MerchItem = MerchItem_1.MerchItem.initModel(sequelize);
|
|
225
|
+
const MerchOrchestration = MerchOrchestration_1.MerchOrchestration.initModel(sequelize);
|
|
226
|
+
const MerchPlatform = MerchPlatform_1.MerchPlatform.initModel(sequelize);
|
|
227
|
+
const MerchType = MerchType_1.MerchType.initModel(sequelize);
|
|
209
228
|
const MetricsDaily = MetricsDaily_1.MetricsDaily.initModel(sequelize);
|
|
210
229
|
const MetricsEvent = MetricsEvent_1.MetricsEvent.initModel(sequelize);
|
|
211
230
|
const NewsArticle = NewsArticle_1.NewsArticle.initModel(sequelize);
|
|
@@ -240,7 +259,9 @@ function initModels(sequelize) {
|
|
|
240
259
|
const TrackDeletionReason = TrackDeletionReason_1.TrackDeletionReason.initModel(sequelize);
|
|
241
260
|
const UnmatchedAlbum = UnmatchedAlbum_1.UnmatchedAlbum.initModel(sequelize);
|
|
242
261
|
const UnmatchedArtist = UnmatchedArtist_1.UnmatchedArtist.initModel(sequelize);
|
|
262
|
+
const UserComments = UserComments_1.UserComments.initModel(sequelize);
|
|
243
263
|
const UserContacts = UserContacts_1.UserContacts.initModel(sequelize);
|
|
264
|
+
const UserLikes = UserLikes_1.UserLikes.initModel(sequelize);
|
|
244
265
|
CanonAlbum.belongsToMany(CanonTrack, { as: 'canonTrackIdCanonTracks', through: CanonAlbumTrackRelation, foreignKey: "canonAlbumId", otherKey: "canonTrackId" });
|
|
245
266
|
CanonAlbum.belongsToMany(ExternalReference, { as: 'externalReferenceIdExternalReferences', through: CanonAlbumExternalReferenceRelation, foreignKey: "canonAlbumId", otherKey: "externalReferenceId" });
|
|
246
267
|
CanonAlbum.belongsToMany(PlatformAlbum, { as: 'platformAlbumIdPlatformAlbums', through: CanonToPlatformAlbumRelation, foreignKey: "canonAlbumId", otherKey: "platformAlbumId" });
|
|
@@ -311,8 +332,12 @@ function initModels(sequelize) {
|
|
|
311
332
|
AppUser.hasMany(PlatformUserPlaylist, { as: "platformUserPlaylists", foreignKey: "appUserId" });
|
|
312
333
|
RadioShow.belongsTo(AppUser, { as: "creatorUser", foreignKey: "creatorUserId" });
|
|
313
334
|
AppUser.hasMany(RadioShow, { as: "radioShows", foreignKey: "creatorUserId" });
|
|
335
|
+
UserComments.belongsTo(AppUser, { as: "appUser", foreignKey: "appUserId" });
|
|
336
|
+
AppUser.hasMany(UserComments, { as: "userComments", foreignKey: "appUserId" });
|
|
314
337
|
UserContacts.belongsTo(AppUser, { as: "appUser", foreignKey: "appUserId" });
|
|
315
338
|
AppUser.hasMany(UserContacts, { as: "userContacts", foreignKey: "appUserId" });
|
|
339
|
+
UserLikes.belongsTo(AppUser, { as: "appUser", foreignKey: "appUserId" });
|
|
340
|
+
AppUser.hasMany(UserLikes, { as: "userLikes", foreignKey: "appUserId" });
|
|
316
341
|
CanonAlbumExternalReferenceRelation.belongsTo(CanonAlbum, { as: "canonAlbum", foreignKey: "canonAlbumId" });
|
|
317
342
|
CanonAlbum.hasMany(CanonAlbumExternalReferenceRelation, { as: "canonAlbumExternalReferenceRelations", foreignKey: "canonAlbumId" });
|
|
318
343
|
CanonAlbumImageHarvested.belongsTo(CanonAlbum, { as: "canonAlbum", foreignKey: "canonAlbumId" });
|
|
@@ -329,6 +354,10 @@ function initModels(sequelize) {
|
|
|
329
354
|
CanonArtist.hasMany(CanonArtistTrackRelation, { as: "canonArtistTrackRelations", foreignKey: "canonArtistId" });
|
|
330
355
|
CanonToPlatformArtistRelation.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
|
|
331
356
|
CanonArtist.hasMany(CanonToPlatformArtistRelation, { as: "canonToPlatformArtistRelations", foreignKey: "canonArtistId" });
|
|
357
|
+
MerchItem.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
|
|
358
|
+
CanonArtist.hasMany(MerchItem, { as: "merchItems", foreignKey: "canonArtistId" });
|
|
359
|
+
MerchOrchestration.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
|
|
360
|
+
CanonArtist.hasMany(MerchOrchestration, { as: "merchOrchestrations", foreignKey: "canonArtistId" });
|
|
332
361
|
NewsArticle.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
|
|
333
362
|
CanonArtist.hasMany(NewsArticle, { as: "newsArticles", foreignKey: "canonArtistId" });
|
|
334
363
|
CanonAlbumGenreRelation.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId" });
|
|
@@ -371,12 +400,16 @@ function initModels(sequelize) {
|
|
|
371
400
|
ExternalReference.hasMany(CanonLabelExternalReferenceRelation, { as: "canonLabelExternalReferenceRelations", foreignKey: "externalReferenceId" });
|
|
372
401
|
CanonMemberExternalReferenceRelation.belongsTo(ExternalReference, { as: "externalReference", foreignKey: "externalReferenceId" });
|
|
373
402
|
ExternalReference.hasMany(CanonMemberExternalReferenceRelation, { as: "canonMemberExternalReferenceRelations", foreignKey: "externalReferenceId" });
|
|
403
|
+
JukeboxQueueEntry.belongsTo(GuestUser, { as: "trackAddedGuestUser", foreignKey: "trackAddedGuestUserId" });
|
|
404
|
+
GuestUser.hasMany(JukeboxQueueEntry, { as: "jukeboxQueueEntries", foreignKey: "trackAddedGuestUserId" });
|
|
374
405
|
JukeboxSession.belongsTo(JukeboxAccessType, { as: "accessType", foreignKey: "accessTypeId" });
|
|
375
406
|
JukeboxAccessType.hasMany(JukeboxSession, { as: "jukeboxSessions", foreignKey: "accessTypeId" });
|
|
376
407
|
JukeboxUser.belongsTo(JukeboxQueueEntry, { as: "pausedQueueEntry", foreignKey: "pausedQueueEntryId" });
|
|
377
408
|
JukeboxQueueEntry.hasMany(JukeboxUser, { as: "jukeboxUsers", foreignKey: "pausedQueueEntryId" });
|
|
378
409
|
JukeboxSession.belongsTo(JukeboxQueueMode, { as: "jukeboxQueueMode", foreignKey: "jukeboxQueueModeId" });
|
|
379
410
|
JukeboxQueueMode.hasMany(JukeboxSession, { as: "jukeboxSessions", foreignKey: "jukeboxQueueModeId" });
|
|
411
|
+
GuestUser.belongsTo(JukeboxSession, { as: "jukeboxSession", foreignKey: "jukeboxSessionId" });
|
|
412
|
+
JukeboxSession.hasMany(GuestUser, { as: "guestUsers", foreignKey: "jukeboxSessionId" });
|
|
380
413
|
JukeboxCanonGenreRelation.belongsTo(JukeboxSession, { as: "jukeboxSession", foreignKey: "jukeboxSessionId" });
|
|
381
414
|
JukeboxSession.hasMany(JukeboxCanonGenreRelation, { as: "jukeboxCanonGenreRelations", foreignKey: "jukeboxSessionId" });
|
|
382
415
|
JukeboxInvite.belongsTo(JukeboxSession, { as: "jukeboxSession", foreignKey: "jukeboxSessionId" });
|
|
@@ -387,6 +420,10 @@ function initModels(sequelize) {
|
|
|
387
420
|
JukeboxSession.hasMany(JukeboxUser, { as: "jukeboxUsers", foreignKey: "jukeboxSessionId" });
|
|
388
421
|
Notification.belongsTo(JukeboxSession, { as: "jukeboxSession", foreignKey: "jukeboxSessionId" });
|
|
389
422
|
JukeboxSession.hasMany(Notification, { as: "notifications", foreignKey: "jukeboxSessionId" });
|
|
423
|
+
UserComments.belongsTo(JukeboxSession, { as: "jukebox", foreignKey: "jukeboxId" });
|
|
424
|
+
JukeboxSession.hasMany(UserComments, { as: "userComments", foreignKey: "jukeboxId" });
|
|
425
|
+
UserLikes.belongsTo(JukeboxSession, { as: "jukebox", foreignKey: "jukeboxId" });
|
|
426
|
+
JukeboxSession.hasMany(UserLikes, { as: "userLikes", foreignKey: "jukeboxId" });
|
|
390
427
|
JukeboxSession.belongsTo(JukeboxStatus, { as: "jukeboxStatus", foreignKey: "jukeboxStatusId" });
|
|
391
428
|
JukeboxStatus.hasMany(JukeboxSession, { as: "jukeboxSessions", foreignKey: "jukeboxStatusId" });
|
|
392
429
|
JukeboxSession.belongsTo(JukeboxTerminationCondition, { as: "terminationCondition", foreignKey: "terminationConditionId" });
|
|
@@ -395,6 +432,14 @@ function initModels(sequelize) {
|
|
|
395
432
|
JukeboxType.hasMany(JukeboxSession, { as: "jukeboxSessions", foreignKey: "typeId" });
|
|
396
433
|
JukeboxUser.belongsTo(JukeboxUserType, { as: "jukeboxUserType", foreignKey: "jukeboxUserTypeId" });
|
|
397
434
|
JukeboxUserType.hasMany(JukeboxUser, { as: "jukeboxUsers", foreignKey: "jukeboxUserTypeId" });
|
|
435
|
+
MerchItem.belongsTo(MerchPlatform, { as: "merchPlatform", foreignKey: "merchPlatformId" });
|
|
436
|
+
MerchPlatform.hasMany(MerchItem, { as: "merchItems", foreignKey: "merchPlatformId" });
|
|
437
|
+
MerchOrchestration.belongsTo(MerchPlatform, { as: "merchPlatform", foreignKey: "merchPlatformId" });
|
|
438
|
+
MerchPlatform.hasMany(MerchOrchestration, { as: "merchOrchestrations", foreignKey: "merchPlatformId" });
|
|
439
|
+
MerchItem.belongsTo(MerchType, { as: "merchType", foreignKey: "merchTypeId" });
|
|
440
|
+
MerchType.hasMany(MerchItem, { as: "merchItems", foreignKey: "merchTypeId" });
|
|
441
|
+
MerchOrchestration.belongsTo(MerchType, { as: "merchType", foreignKey: "merchTypeId" });
|
|
442
|
+
MerchType.hasMany(MerchOrchestration, { as: "merchOrchestrations", foreignKey: "merchTypeId" });
|
|
398
443
|
NewsArticle.belongsTo(NewsPlatform, { as: "newsPlatform", foreignKey: "newsPlatformId" });
|
|
399
444
|
NewsPlatform.hasMany(NewsArticle, { as: "newsArticles", foreignKey: "newsPlatformId" });
|
|
400
445
|
Notification.belongsTo(NotificationType, { as: "notificationType", foreignKey: "notificationTypeId" });
|
|
@@ -461,6 +506,8 @@ function initModels(sequelize) {
|
|
|
461
506
|
PlatformGenre.hasMany(PlatformTrackGenreRelation, { as: "platformTrackGenreRelations", foreignKey: "platformGenreId" });
|
|
462
507
|
CanonToPlatformTrackRelation.belongsTo(PlatformTrack, { as: "platformTrack", foreignKey: "platformTrackId" });
|
|
463
508
|
PlatformTrack.hasMany(CanonToPlatformTrackRelation, { as: "canonToPlatformTrackRelations", foreignKey: "platformTrackId" });
|
|
509
|
+
JukeboxQueueEntry.belongsTo(PlatformTrack, { as: "platformTrack", foreignKey: "platformTrackId" });
|
|
510
|
+
PlatformTrack.hasMany(JukeboxQueueEntry, { as: "jukeboxQueueEntries", foreignKey: "platformTrackId" });
|
|
464
511
|
PlatformAlbumTrackRelation.belongsTo(PlatformTrack, { as: "platformTrack", foreignKey: "platformTrackId" });
|
|
465
512
|
PlatformTrack.hasMany(PlatformAlbumTrackRelation, { as: "platformAlbumTrackRelations", foreignKey: "platformTrackId" });
|
|
466
513
|
PlatformArtistTrackRelation.belongsTo(PlatformTrack, { as: "platformTrack", foreignKey: "platformTrackId" });
|
|
@@ -475,6 +522,10 @@ function initModels(sequelize) {
|
|
|
475
522
|
PlatformUserAlbum.hasMany(PlatformUserAlbumTrack, { as: "platformUserAlbumTracks", foreignKey: "platformUserAlbumId" });
|
|
476
523
|
PlatformUserPlaylistTrack.belongsTo(PlatformUserPlaylist, { as: "platformUserPlaylist", foreignKey: "platformUserPlaylistId" });
|
|
477
524
|
PlatformUserPlaylist.hasMany(PlatformUserPlaylistTrack, { as: "platformUserPlaylistTracks", foreignKey: "platformUserPlaylistId" });
|
|
525
|
+
UserComments.belongsTo(PlatformUserPlaylist, { as: "playlist", foreignKey: "playlistId" });
|
|
526
|
+
PlatformUserPlaylist.hasMany(UserComments, { as: "userComments", foreignKey: "playlistId" });
|
|
527
|
+
UserLikes.belongsTo(PlatformUserPlaylist, { as: "playlist", foreignKey: "playlistId" });
|
|
528
|
+
PlatformUserPlaylist.hasMany(UserLikes, { as: "userLikes", foreignKey: "playlistId" });
|
|
478
529
|
JukeboxQueueEntry.belongsTo(PlaybackStatusType, { as: "playbackStatusType", foreignKey: "playbackStatusTypeId" });
|
|
479
530
|
PlaybackStatusType.hasMany(JukeboxQueueEntry, { as: "jukeboxQueueEntries", foreignKey: "playbackStatusTypeId" });
|
|
480
531
|
RadioShowGenres.belongsTo(RadioShow, { as: "radioShow", foreignKey: "radioShowId" });
|
|
@@ -485,6 +536,10 @@ function initModels(sequelize) {
|
|
|
485
536
|
RadioShow.hasMany(RadioShowPlacement, { as: "radioShowPlacements", foreignKey: "radioShowId" });
|
|
486
537
|
RadioShowPublishRequests.belongsTo(RadioShow, { as: "radioShow", foreignKey: "radioShowId" });
|
|
487
538
|
RadioShow.hasMany(RadioShowPublishRequests, { as: "radioShowPublishRequests", foreignKey: "radioShowId" });
|
|
539
|
+
UserComments.belongsTo(RadioShow, { as: "radioShow", foreignKey: "radioShowId" });
|
|
540
|
+
RadioShow.hasMany(UserComments, { as: "userComments", foreignKey: "radioShowId" });
|
|
541
|
+
UserLikes.belongsTo(RadioShow, { as: "radioShow", foreignKey: "radioShowId" });
|
|
542
|
+
RadioShow.hasMany(UserLikes, { as: "userLikes", foreignKey: "radioShowId" });
|
|
488
543
|
AppUser.belongsTo(State, { as: "state", foreignKey: "stateId" });
|
|
489
544
|
State.hasMany(AppUser, { as: "appUsers", foreignKey: "stateId" });
|
|
490
545
|
PlatformUserPlaylist.belongsTo(State, { as: "state", foreignKey: "stateId" });
|
|
@@ -493,6 +548,8 @@ function initModels(sequelize) {
|
|
|
493
548
|
State.hasMany(PlatformUserPlaylistTrack, { as: "platformUserPlaylistTracks", foreignKey: "stateId" });
|
|
494
549
|
JukeboxQueueEntry.belongsTo(TrackDeletionReason, { as: "trackDeletionReason", foreignKey: "trackDeletionReasonId" });
|
|
495
550
|
TrackDeletionReason.hasMany(JukeboxQueueEntry, { as: "jukeboxQueueEntries", foreignKey: "trackDeletionReasonId" });
|
|
551
|
+
UserComments.belongsTo(UserComments, { as: "replyComment", foreignKey: "replyCommentId" });
|
|
552
|
+
UserComments.hasMany(UserComments, { as: "userComments", foreignKey: "replyCommentId" });
|
|
496
553
|
return {
|
|
497
554
|
AccessControlPreference: AccessControlPreference,
|
|
498
555
|
AppUser: AppUser,
|
|
@@ -525,6 +582,7 @@ function initModels(sequelize) {
|
|
|
525
582
|
CanonTrack: CanonTrack,
|
|
526
583
|
ConfigParam: ConfigParam,
|
|
527
584
|
ExternalReference: ExternalReference,
|
|
585
|
+
GuestUser: GuestUser,
|
|
528
586
|
JukeboxAccessType: JukeboxAccessType,
|
|
529
587
|
JukeboxCanonGenreRelation: JukeboxCanonGenreRelation,
|
|
530
588
|
JukeboxInvite: JukeboxInvite,
|
|
@@ -538,6 +596,10 @@ function initModels(sequelize) {
|
|
|
538
596
|
JukeboxUserType: JukeboxUserType,
|
|
539
597
|
KnexMigrations: KnexMigrations,
|
|
540
598
|
KnexMigrationsLock: KnexMigrationsLock,
|
|
599
|
+
MerchItem: MerchItem,
|
|
600
|
+
MerchOrchestration: MerchOrchestration,
|
|
601
|
+
MerchPlatform: MerchPlatform,
|
|
602
|
+
MerchType: MerchType,
|
|
541
603
|
MetricsDaily: MetricsDaily,
|
|
542
604
|
MetricsEvent: MetricsEvent,
|
|
543
605
|
NewsArticle: NewsArticle,
|
|
@@ -572,6 +634,8 @@ function initModels(sequelize) {
|
|
|
572
634
|
TrackDeletionReason: TrackDeletionReason,
|
|
573
635
|
UnmatchedAlbum: UnmatchedAlbum,
|
|
574
636
|
UnmatchedArtist: UnmatchedArtist,
|
|
637
|
+
UserComments: UserComments,
|
|
575
638
|
UserContacts: UserContacts,
|
|
639
|
+
UserLikes: UserLikes,
|
|
576
640
|
};
|
|
577
641
|
}
|
package/models/AppUser.ts
CHANGED
|
@@ -11,7 +11,9 @@ import type { PlatformUserAlbum, PlatformUserAlbumId } from './PlatformUserAlbum
|
|
|
11
11
|
import type { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUserPlaylist';
|
|
12
12
|
import type { RadioShow, RadioShowId } from './RadioShow';
|
|
13
13
|
import type { State, StateId } from './State';
|
|
14
|
+
import type { UserComments, UserCommentsId } from './UserComments';
|
|
14
15
|
import type { UserContacts, UserContactsId } from './UserContacts';
|
|
16
|
+
import type { UserLikes, UserLikesId } from './UserLikes';
|
|
15
17
|
|
|
16
18
|
export interface AppUserAttributes {
|
|
17
19
|
email: string;
|
|
@@ -196,6 +198,18 @@ export class AppUser extends Model<AppUserAttributes, AppUserCreationAttributes>
|
|
|
196
198
|
hasRadioShow!: Sequelize.HasManyHasAssociationMixin<RadioShow, RadioShowId>;
|
|
197
199
|
hasRadioShows!: Sequelize.HasManyHasAssociationsMixin<RadioShow, RadioShowId>;
|
|
198
200
|
countRadioShows!: Sequelize.HasManyCountAssociationsMixin;
|
|
201
|
+
// AppUser hasMany UserComments via appUserId
|
|
202
|
+
userComments!: UserComments[];
|
|
203
|
+
getUserComments!: Sequelize.HasManyGetAssociationsMixin<UserComments>;
|
|
204
|
+
setUserComments!: Sequelize.HasManySetAssociationsMixin<UserComments, UserCommentsId>;
|
|
205
|
+
addUserComment!: Sequelize.HasManyAddAssociationMixin<UserComments, UserCommentsId>;
|
|
206
|
+
addUserComments!: Sequelize.HasManyAddAssociationsMixin<UserComments, UserCommentsId>;
|
|
207
|
+
createUserComment!: Sequelize.HasManyCreateAssociationMixin<UserComments>;
|
|
208
|
+
removeUserComment!: Sequelize.HasManyRemoveAssociationMixin<UserComments, UserCommentsId>;
|
|
209
|
+
removeUserComments!: Sequelize.HasManyRemoveAssociationsMixin<UserComments, UserCommentsId>;
|
|
210
|
+
hasUserComment!: Sequelize.HasManyHasAssociationMixin<UserComments, UserCommentsId>;
|
|
211
|
+
hasUserComments!: Sequelize.HasManyHasAssociationsMixin<UserComments, UserCommentsId>;
|
|
212
|
+
countUserComments!: Sequelize.HasManyCountAssociationsMixin;
|
|
199
213
|
// AppUser hasMany UserContacts via appUserId
|
|
200
214
|
userContacts!: UserContacts[];
|
|
201
215
|
getUserContacts!: Sequelize.HasManyGetAssociationsMixin<UserContacts>;
|
|
@@ -208,6 +222,18 @@ export class AppUser extends Model<AppUserAttributes, AppUserCreationAttributes>
|
|
|
208
222
|
hasUserContact!: Sequelize.HasManyHasAssociationMixin<UserContacts, UserContactsId>;
|
|
209
223
|
hasUserContacts!: Sequelize.HasManyHasAssociationsMixin<UserContacts, UserContactsId>;
|
|
210
224
|
countUserContacts!: Sequelize.HasManyCountAssociationsMixin;
|
|
225
|
+
// AppUser hasMany UserLikes via appUserId
|
|
226
|
+
userLikes!: UserLikes[];
|
|
227
|
+
getUserLikes!: Sequelize.HasManyGetAssociationsMixin<UserLikes>;
|
|
228
|
+
setUserLikes!: Sequelize.HasManySetAssociationsMixin<UserLikes, UserLikesId>;
|
|
229
|
+
addUserLike!: Sequelize.HasManyAddAssociationMixin<UserLikes, UserLikesId>;
|
|
230
|
+
addUserLikes!: Sequelize.HasManyAddAssociationsMixin<UserLikes, UserLikesId>;
|
|
231
|
+
createUserLike!: Sequelize.HasManyCreateAssociationMixin<UserLikes>;
|
|
232
|
+
removeUserLike!: Sequelize.HasManyRemoveAssociationMixin<UserLikes, UserLikesId>;
|
|
233
|
+
removeUserLikes!: Sequelize.HasManyRemoveAssociationsMixin<UserLikes, UserLikesId>;
|
|
234
|
+
hasUserLike!: Sequelize.HasManyHasAssociationMixin<UserLikes, UserLikesId>;
|
|
235
|
+
hasUserLikes!: Sequelize.HasManyHasAssociationsMixin<UserLikes, UserLikesId>;
|
|
236
|
+
countUserLikes!: Sequelize.HasManyCountAssociationsMixin;
|
|
211
237
|
// AppUser belongsTo State via stateId
|
|
212
238
|
state!: State;
|
|
213
239
|
getState!: Sequelize.BelongsToGetAssociationMixin<State>;
|
package/models/CanonArtist.ts
CHANGED
|
@@ -5,6 +5,9 @@ import type { CanonArtistImageHarvested, CanonArtistImageHarvestedId } from './C
|
|
|
5
5
|
import type { CanonArtistTrackRelation, CanonArtistTrackRelationId } from './CanonArtistTrackRelation';
|
|
6
6
|
import type { CanonToPlatformArtistRelation, CanonToPlatformArtistRelationId } from './CanonToPlatformArtistRelation';
|
|
7
7
|
import type { CanonTrack, CanonTrackId } from './CanonTrack';
|
|
8
|
+
import type { MerchItem, MerchItemId } from './MerchItem';
|
|
9
|
+
import type { MerchOrchestration, MerchOrchestrationId } from './MerchOrchestration';
|
|
10
|
+
import type { NewsArticle, NewsArticleId } from './NewsArticle';
|
|
8
11
|
import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
|
|
9
12
|
import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
|
|
10
13
|
|
|
@@ -21,11 +24,14 @@ export interface CanonArtistAttributes {
|
|
|
21
24
|
lastImageHarvestAttempt?: Date;
|
|
22
25
|
merchHarvestDay?: number;
|
|
23
26
|
newsHarvestDay?: number;
|
|
27
|
+
harvestPopularity?: number;
|
|
28
|
+
lastGenreHarvestAttempt?: Date;
|
|
29
|
+
genreHarvestCount: number;
|
|
24
30
|
}
|
|
25
31
|
|
|
26
32
|
export type CanonArtistPk = "id";
|
|
27
33
|
export type CanonArtistId = CanonArtist[CanonArtistPk];
|
|
28
|
-
export type CanonArtistOptionalAttributes = "description" | "id" | "createDate" | "updateDate" | "hasThumbnailPhoto" | "images" | "lastImageHarvestAttempt" | "merchHarvestDay" | "newsHarvestDay";
|
|
34
|
+
export type CanonArtistOptionalAttributes = "description" | "id" | "createDate" | "updateDate" | "hasThumbnailPhoto" | "images" | "lastImageHarvestAttempt" | "merchHarvestDay" | "newsHarvestDay" | "harvestPopularity" | "lastGenreHarvestAttempt" | "genreHarvestCount";
|
|
29
35
|
export type CanonArtistCreationAttributes = Optional<CanonArtistAttributes, CanonArtistOptionalAttributes>;
|
|
30
36
|
|
|
31
37
|
export class CanonArtist extends Model<CanonArtistAttributes, CanonArtistCreationAttributes> implements CanonArtistAttributes {
|
|
@@ -41,6 +47,9 @@ export class CanonArtist extends Model<CanonArtistAttributes, CanonArtistCreatio
|
|
|
41
47
|
lastImageHarvestAttempt?: Date;
|
|
42
48
|
merchHarvestDay?: number;
|
|
43
49
|
newsHarvestDay?: number;
|
|
50
|
+
harvestPopularity?: number;
|
|
51
|
+
lastGenreHarvestAttempt?: Date;
|
|
52
|
+
genreHarvestCount!: number;
|
|
44
53
|
|
|
45
54
|
// CanonArtist hasMany CanonArtistAlbumRelation via canonArtistId
|
|
46
55
|
canonArtistAlbumRelations!: CanonArtistAlbumRelation[];
|
|
@@ -102,6 +111,42 @@ export class CanonArtist extends Model<CanonArtistAttributes, CanonArtistCreatio
|
|
|
102
111
|
hasCanonTrackIdCanonTrackCanonArtistTrackRelation!: Sequelize.BelongsToManyHasAssociationMixin<CanonTrack, CanonTrackId>;
|
|
103
112
|
hasCanonTrackIdCanonTrackCanonArtistTrackRelations!: Sequelize.BelongsToManyHasAssociationsMixin<CanonTrack, CanonTrackId>;
|
|
104
113
|
countCanonTrackIdCanonTrackCanonArtistTrackRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
|
|
114
|
+
// CanonArtist hasMany MerchItem via canonArtistId
|
|
115
|
+
merchItems!: MerchItem[];
|
|
116
|
+
getMerchItems!: Sequelize.HasManyGetAssociationsMixin<MerchItem>;
|
|
117
|
+
setMerchItems!: Sequelize.HasManySetAssociationsMixin<MerchItem, MerchItemId>;
|
|
118
|
+
addMerchItem!: Sequelize.HasManyAddAssociationMixin<MerchItem, MerchItemId>;
|
|
119
|
+
addMerchItems!: Sequelize.HasManyAddAssociationsMixin<MerchItem, MerchItemId>;
|
|
120
|
+
createMerchItem!: Sequelize.HasManyCreateAssociationMixin<MerchItem>;
|
|
121
|
+
removeMerchItem!: Sequelize.HasManyRemoveAssociationMixin<MerchItem, MerchItemId>;
|
|
122
|
+
removeMerchItems!: Sequelize.HasManyRemoveAssociationsMixin<MerchItem, MerchItemId>;
|
|
123
|
+
hasMerchItem!: Sequelize.HasManyHasAssociationMixin<MerchItem, MerchItemId>;
|
|
124
|
+
hasMerchItems!: Sequelize.HasManyHasAssociationsMixin<MerchItem, MerchItemId>;
|
|
125
|
+
countMerchItems!: Sequelize.HasManyCountAssociationsMixin;
|
|
126
|
+
// CanonArtist hasMany MerchOrchestration via canonArtistId
|
|
127
|
+
merchOrchestrations!: MerchOrchestration[];
|
|
128
|
+
getMerchOrchestrations!: Sequelize.HasManyGetAssociationsMixin<MerchOrchestration>;
|
|
129
|
+
setMerchOrchestrations!: Sequelize.HasManySetAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
130
|
+
addMerchOrchestration!: Sequelize.HasManyAddAssociationMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
131
|
+
addMerchOrchestrations!: Sequelize.HasManyAddAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
132
|
+
createMerchOrchestration!: Sequelize.HasManyCreateAssociationMixin<MerchOrchestration>;
|
|
133
|
+
removeMerchOrchestration!: Sequelize.HasManyRemoveAssociationMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
134
|
+
removeMerchOrchestrations!: Sequelize.HasManyRemoveAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
135
|
+
hasMerchOrchestration!: Sequelize.HasManyHasAssociationMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
136
|
+
hasMerchOrchestrations!: Sequelize.HasManyHasAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
137
|
+
countMerchOrchestrations!: Sequelize.HasManyCountAssociationsMixin;
|
|
138
|
+
// CanonArtist hasMany NewsArticle via canonArtistId
|
|
139
|
+
newsArticles!: NewsArticle[];
|
|
140
|
+
getNewsArticles!: Sequelize.HasManyGetAssociationsMixin<NewsArticle>;
|
|
141
|
+
setNewsArticles!: Sequelize.HasManySetAssociationsMixin<NewsArticle, NewsArticleId>;
|
|
142
|
+
addNewsArticle!: Sequelize.HasManyAddAssociationMixin<NewsArticle, NewsArticleId>;
|
|
143
|
+
addNewsArticles!: Sequelize.HasManyAddAssociationsMixin<NewsArticle, NewsArticleId>;
|
|
144
|
+
createNewsArticle!: Sequelize.HasManyCreateAssociationMixin<NewsArticle>;
|
|
145
|
+
removeNewsArticle!: Sequelize.HasManyRemoveAssociationMixin<NewsArticle, NewsArticleId>;
|
|
146
|
+
removeNewsArticles!: Sequelize.HasManyRemoveAssociationsMixin<NewsArticle, NewsArticleId>;
|
|
147
|
+
hasNewsArticle!: Sequelize.HasManyHasAssociationMixin<NewsArticle, NewsArticleId>;
|
|
148
|
+
hasNewsArticles!: Sequelize.HasManyHasAssociationsMixin<NewsArticle, NewsArticleId>;
|
|
149
|
+
countNewsArticles!: Sequelize.HasManyCountAssociationsMixin;
|
|
105
150
|
// CanonArtist belongsToMany PlatformAlbum via canonArtistId and canonAlbumId
|
|
106
151
|
canonAlbumIdPlatformAlbumCanonArtistAlbumRelations!: PlatformAlbum[];
|
|
107
152
|
getCanonAlbumIdPlatformAlbumCanonArtistAlbumRelations!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformAlbum>;
|
|
@@ -182,14 +227,30 @@ export class CanonArtist extends Model<CanonArtistAttributes, CanonArtistCreatio
|
|
|
182
227
|
field: 'last_image_harvest_attempt'
|
|
183
228
|
},
|
|
184
229
|
merchHarvestDay: {
|
|
185
|
-
type: DataTypes.
|
|
230
|
+
type: DataTypes.SMALLINT,
|
|
186
231
|
allowNull: true,
|
|
187
232
|
field: 'merch_harvest_day'
|
|
188
233
|
},
|
|
189
234
|
newsHarvestDay: {
|
|
190
|
-
type: DataTypes.
|
|
235
|
+
type: DataTypes.SMALLINT,
|
|
191
236
|
allowNull: true,
|
|
192
237
|
field: 'news_harvest_day'
|
|
238
|
+
},
|
|
239
|
+
harvestPopularity: {
|
|
240
|
+
type: DataTypes.INTEGER,
|
|
241
|
+
allowNull: true,
|
|
242
|
+
field: 'harvest_popularity'
|
|
243
|
+
},
|
|
244
|
+
lastGenreHarvestAttempt: {
|
|
245
|
+
type: DataTypes.DATE,
|
|
246
|
+
allowNull: true,
|
|
247
|
+
field: 'last_genre_harvest_attempt'
|
|
248
|
+
},
|
|
249
|
+
genreHarvestCount: {
|
|
250
|
+
type: DataTypes.INTEGER,
|
|
251
|
+
allowNull: false,
|
|
252
|
+
defaultValue: 0,
|
|
253
|
+
field: 'genre_harvest_count'
|
|
193
254
|
}
|
|
194
255
|
}, {
|
|
195
256
|
sequelize,
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { DataTypes, Model, Optional } from 'sequelize';
|
|
3
|
+
import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
|
|
4
|
+
import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
|
|
5
|
+
|
|
6
|
+
export interface GuestUserAttributes {
|
|
7
|
+
firstName: string;
|
|
8
|
+
lastName?: string;
|
|
9
|
+
jukeboxSessionId: string;
|
|
10
|
+
ipAddress?: string;
|
|
11
|
+
id: string;
|
|
12
|
+
createDate: Date;
|
|
13
|
+
updateDate: Date;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type GuestUserPk = "id";
|
|
17
|
+
export type GuestUserId = GuestUser[GuestUserPk];
|
|
18
|
+
export type GuestUserOptionalAttributes = "lastName" | "ipAddress" | "id" | "createDate" | "updateDate";
|
|
19
|
+
export type GuestUserCreationAttributes = Optional<GuestUserAttributes, GuestUserOptionalAttributes>;
|
|
20
|
+
|
|
21
|
+
export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttributes> implements GuestUserAttributes {
|
|
22
|
+
firstName!: string;
|
|
23
|
+
lastName?: string;
|
|
24
|
+
jukeboxSessionId!: string;
|
|
25
|
+
ipAddress?: string;
|
|
26
|
+
id!: string;
|
|
27
|
+
createDate!: Date;
|
|
28
|
+
updateDate!: Date;
|
|
29
|
+
|
|
30
|
+
// GuestUser hasMany JukeboxQueueEntry via trackAddedGuestUserId
|
|
31
|
+
jukeboxQueueEntries!: JukeboxQueueEntry[];
|
|
32
|
+
getJukeboxQueueEntries!: Sequelize.HasManyGetAssociationsMixin<JukeboxQueueEntry>;
|
|
33
|
+
setJukeboxQueueEntries!: Sequelize.HasManySetAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
34
|
+
addJukeboxQueueEntry!: Sequelize.HasManyAddAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
35
|
+
addJukeboxQueueEntries!: Sequelize.HasManyAddAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
36
|
+
createJukeboxQueueEntry!: Sequelize.HasManyCreateAssociationMixin<JukeboxQueueEntry>;
|
|
37
|
+
removeJukeboxQueueEntry!: Sequelize.HasManyRemoveAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
38
|
+
removeJukeboxQueueEntries!: Sequelize.HasManyRemoveAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
39
|
+
hasJukeboxQueueEntry!: Sequelize.HasManyHasAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
40
|
+
hasJukeboxQueueEntries!: Sequelize.HasManyHasAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
41
|
+
countJukeboxQueueEntries!: Sequelize.HasManyCountAssociationsMixin;
|
|
42
|
+
// GuestUser belongsTo JukeboxSession via jukeboxSessionId
|
|
43
|
+
jukeboxSession!: JukeboxSession;
|
|
44
|
+
getJukeboxSession!: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
|
|
45
|
+
setJukeboxSession!: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
|
|
46
|
+
createJukeboxSession!: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
|
|
47
|
+
|
|
48
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof GuestUser {
|
|
49
|
+
return GuestUser.init({
|
|
50
|
+
firstName: {
|
|
51
|
+
type: DataTypes.TEXT,
|
|
52
|
+
allowNull: false,
|
|
53
|
+
field: 'first_name'
|
|
54
|
+
},
|
|
55
|
+
lastName: {
|
|
56
|
+
type: DataTypes.TEXT,
|
|
57
|
+
allowNull: true,
|
|
58
|
+
field: 'last_name'
|
|
59
|
+
},
|
|
60
|
+
jukeboxSessionId: {
|
|
61
|
+
type: DataTypes.UUID,
|
|
62
|
+
allowNull: false,
|
|
63
|
+
references: {
|
|
64
|
+
model: 'jukebox_session',
|
|
65
|
+
key: 'id'
|
|
66
|
+
},
|
|
67
|
+
field: 'jukebox_session_id'
|
|
68
|
+
},
|
|
69
|
+
ipAddress: {
|
|
70
|
+
type: DataTypes.TEXT,
|
|
71
|
+
allowNull: true,
|
|
72
|
+
field: 'ip_address'
|
|
73
|
+
},
|
|
74
|
+
id: {
|
|
75
|
+
type: DataTypes.UUID,
|
|
76
|
+
allowNull: false,
|
|
77
|
+
defaultValue: DataTypes.UUIDV4,
|
|
78
|
+
primaryKey: true
|
|
79
|
+
},
|
|
80
|
+
createDate: {
|
|
81
|
+
type: DataTypes.DATE,
|
|
82
|
+
allowNull: false,
|
|
83
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
84
|
+
field: 'create_date'
|
|
85
|
+
},
|
|
86
|
+
updateDate: {
|
|
87
|
+
type: DataTypes.DATE,
|
|
88
|
+
allowNull: false,
|
|
89
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
90
|
+
field: 'update_date'
|
|
91
|
+
}
|
|
92
|
+
}, {
|
|
93
|
+
sequelize,
|
|
94
|
+
tableName: 'guest_user',
|
|
95
|
+
schema: 'eb',
|
|
96
|
+
timestamps: false,
|
|
97
|
+
indexes: [
|
|
98
|
+
{
|
|
99
|
+
name: "guest_user_pkey",
|
|
100
|
+
unique: true,
|
|
101
|
+
fields: [
|
|
102
|
+
{ name: "id" },
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
]
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -2,16 +2,16 @@ import * as Sequelize from 'sequelize';
|
|
|
2
2
|
import { DataTypes, Model, Optional } from 'sequelize';
|
|
3
3
|
import type { AppUser, AppUserId } from './AppUser';
|
|
4
4
|
import type { CanonTrack, CanonTrackId } from './CanonTrack';
|
|
5
|
+
import type { GuestUser, GuestUserId } from './GuestUser';
|
|
5
6
|
import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
|
|
6
7
|
import type { JukeboxUser, JukeboxUserId } from './JukeboxUser';
|
|
8
|
+
import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
|
|
7
9
|
import type { PlaybackStatusType, PlaybackStatusTypeId } from './PlaybackStatusType';
|
|
8
10
|
import type { TrackDeletionReason, TrackDeletionReasonId } from './TrackDeletionReason';
|
|
9
11
|
|
|
10
12
|
export interface JukeboxQueueEntryAttributes {
|
|
11
13
|
jukeboxSessionId: string;
|
|
12
|
-
trackId: string;
|
|
13
14
|
playbackPriority?: number;
|
|
14
|
-
trackAddedUserId: string;
|
|
15
15
|
playbackStarted?: Date;
|
|
16
16
|
id: string;
|
|
17
17
|
createdAt: Date;
|
|
@@ -19,20 +19,22 @@ export interface JukeboxQueueEntryAttributes {
|
|
|
19
19
|
setOrder: number;
|
|
20
20
|
trackDeletionReasonId: number;
|
|
21
21
|
playbackStatusTypeId: number;
|
|
22
|
+
trackId?: string;
|
|
23
|
+
trackAddedUserId?: string;
|
|
22
24
|
trackThumbsUp?: string[];
|
|
23
25
|
trackThumbsDown?: string[];
|
|
26
|
+
platformTrackId?: string;
|
|
27
|
+
trackAddedGuestUserId?: string;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
export type JukeboxQueueEntryPk = "id";
|
|
27
31
|
export type JukeboxQueueEntryId = JukeboxQueueEntry[JukeboxQueueEntryPk];
|
|
28
|
-
export type JukeboxQueueEntryOptionalAttributes = "playbackPriority" | "playbackStarted" | "id" | "createdAt" | "updatedAt" | "setOrder" | "trackDeletionReasonId" | "playbackStatusTypeId" | "trackThumbsUp" | "trackThumbsDown";
|
|
32
|
+
export type JukeboxQueueEntryOptionalAttributes = "playbackPriority" | "playbackStarted" | "id" | "createdAt" | "updatedAt" | "setOrder" | "trackDeletionReasonId" | "playbackStatusTypeId" | "trackId" | "trackAddedUserId" | "trackThumbsUp" | "trackThumbsDown" | "platformTrackId" | "trackAddedGuestUserId";
|
|
29
33
|
export type JukeboxQueueEntryCreationAttributes = Optional<JukeboxQueueEntryAttributes, JukeboxQueueEntryOptionalAttributes>;
|
|
30
34
|
|
|
31
35
|
export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, JukeboxQueueEntryCreationAttributes> implements JukeboxQueueEntryAttributes {
|
|
32
36
|
jukeboxSessionId!: string;
|
|
33
|
-
trackId!: string;
|
|
34
37
|
playbackPriority?: number;
|
|
35
|
-
trackAddedUserId!: string;
|
|
36
38
|
playbackStarted?: Date;
|
|
37
39
|
id!: string;
|
|
38
40
|
createdAt!: Date;
|
|
@@ -40,8 +42,12 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
|
|
|
40
42
|
setOrder!: number;
|
|
41
43
|
trackDeletionReasonId!: number;
|
|
42
44
|
playbackStatusTypeId!: number;
|
|
45
|
+
trackId?: string;
|
|
46
|
+
trackAddedUserId?: string;
|
|
43
47
|
trackThumbsUp?: string[];
|
|
44
48
|
trackThumbsDown?: string[];
|
|
49
|
+
platformTrackId?: string;
|
|
50
|
+
trackAddedGuestUserId?: string;
|
|
45
51
|
|
|
46
52
|
// JukeboxQueueEntry belongsTo AppUser via trackAddedUserId
|
|
47
53
|
trackAddedUser!: AppUser;
|
|
@@ -53,6 +59,11 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
|
|
|
53
59
|
getTrack!: Sequelize.BelongsToGetAssociationMixin<CanonTrack>;
|
|
54
60
|
setTrack!: Sequelize.BelongsToSetAssociationMixin<CanonTrack, CanonTrackId>;
|
|
55
61
|
createTrack!: Sequelize.BelongsToCreateAssociationMixin<CanonTrack>;
|
|
62
|
+
// JukeboxQueueEntry belongsTo GuestUser via trackAddedGuestUserId
|
|
63
|
+
trackAddedGuestUser!: GuestUser;
|
|
64
|
+
getTrackAddedGuestUser!: Sequelize.BelongsToGetAssociationMixin<GuestUser>;
|
|
65
|
+
setTrackAddedGuestUser!: Sequelize.BelongsToSetAssociationMixin<GuestUser, GuestUserId>;
|
|
66
|
+
createTrackAddedGuestUser!: Sequelize.BelongsToCreateAssociationMixin<GuestUser>;
|
|
56
67
|
// JukeboxQueueEntry hasMany JukeboxUser via pausedQueueEntryId
|
|
57
68
|
jukeboxUsers!: JukeboxUser[];
|
|
58
69
|
getJukeboxUsers!: Sequelize.HasManyGetAssociationsMixin<JukeboxUser>;
|
|
@@ -70,6 +81,11 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
|
|
|
70
81
|
getJukeboxSession!: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
|
|
71
82
|
setJukeboxSession!: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
|
|
72
83
|
createJukeboxSession!: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
|
|
84
|
+
// JukeboxQueueEntry belongsTo PlatformTrack via platformTrackId
|
|
85
|
+
platformTrack!: PlatformTrack;
|
|
86
|
+
getPlatformTrack!: Sequelize.BelongsToGetAssociationMixin<PlatformTrack>;
|
|
87
|
+
setPlatformTrack!: Sequelize.BelongsToSetAssociationMixin<PlatformTrack, PlatformTrackId>;
|
|
88
|
+
createPlatformTrack!: Sequelize.BelongsToCreateAssociationMixin<PlatformTrack>;
|
|
73
89
|
// JukeboxQueueEntry belongsTo PlaybackStatusType via playbackStatusTypeId
|
|
74
90
|
playbackStatusType!: PlaybackStatusType;
|
|
75
91
|
getPlaybackStatusType!: Sequelize.BelongsToGetAssociationMixin<PlaybackStatusType>;
|
|
@@ -92,29 +108,11 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
|
|
|
92
108
|
},
|
|
93
109
|
field: 'jukebox_session_id'
|
|
94
110
|
},
|
|
95
|
-
trackId: {
|
|
96
|
-
type: DataTypes.UUID,
|
|
97
|
-
allowNull: false,
|
|
98
|
-
references: {
|
|
99
|
-
model: 'canon_track',
|
|
100
|
-
key: 'id'
|
|
101
|
-
},
|
|
102
|
-
field: 'track_id'
|
|
103
|
-
},
|
|
104
111
|
playbackPriority: {
|
|
105
112
|
type: DataTypes.DECIMAL,
|
|
106
113
|
allowNull: true,
|
|
107
114
|
field: 'playback_priority'
|
|
108
115
|
},
|
|
109
|
-
trackAddedUserId: {
|
|
110
|
-
type: DataTypes.UUID,
|
|
111
|
-
allowNull: false,
|
|
112
|
-
references: {
|
|
113
|
-
model: 'app_user',
|
|
114
|
-
key: 'id'
|
|
115
|
-
},
|
|
116
|
-
field: 'track_added_user_id'
|
|
117
|
-
},
|
|
118
116
|
playbackStarted: {
|
|
119
117
|
type: DataTypes.DATE,
|
|
120
118
|
allowNull: true,
|
|
@@ -164,6 +162,24 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
|
|
|
164
162
|
},
|
|
165
163
|
field: 'playback_status_type_id'
|
|
166
164
|
},
|
|
165
|
+
trackId: {
|
|
166
|
+
type: DataTypes.UUID,
|
|
167
|
+
allowNull: true,
|
|
168
|
+
references: {
|
|
169
|
+
model: 'canon_track',
|
|
170
|
+
key: 'id'
|
|
171
|
+
},
|
|
172
|
+
field: 'track_id'
|
|
173
|
+
},
|
|
174
|
+
trackAddedUserId: {
|
|
175
|
+
type: DataTypes.UUID,
|
|
176
|
+
allowNull: true,
|
|
177
|
+
references: {
|
|
178
|
+
model: 'app_user',
|
|
179
|
+
key: 'id'
|
|
180
|
+
},
|
|
181
|
+
field: 'track_added_user_id'
|
|
182
|
+
},
|
|
167
183
|
trackThumbsUp: {
|
|
168
184
|
type: DataTypes.ARRAY(DataTypes.UUID),
|
|
169
185
|
allowNull: true,
|
|
@@ -175,6 +191,24 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
|
|
|
175
191
|
allowNull: true,
|
|
176
192
|
defaultValue: ["ARRAY[]"],
|
|
177
193
|
field: 'track_thumbs_down'
|
|
194
|
+
},
|
|
195
|
+
platformTrackId: {
|
|
196
|
+
type: DataTypes.UUID,
|
|
197
|
+
allowNull: true,
|
|
198
|
+
references: {
|
|
199
|
+
model: 'platform_track',
|
|
200
|
+
key: 'id'
|
|
201
|
+
},
|
|
202
|
+
field: 'platform_track_id'
|
|
203
|
+
},
|
|
204
|
+
trackAddedGuestUserId: {
|
|
205
|
+
type: DataTypes.UUID,
|
|
206
|
+
allowNull: true,
|
|
207
|
+
references: {
|
|
208
|
+
model: 'guest_user',
|
|
209
|
+
key: 'id'
|
|
210
|
+
},
|
|
211
|
+
field: 'track_added_guest_user_id'
|
|
178
212
|
}
|
|
179
213
|
}, {
|
|
180
214
|
sequelize,
|