@earbug/db-models 0.0.40 → 0.0.42

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 (68) hide show
  1. package/dist/AppUser.d.ts +24 -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 +3 -1
  9. package/dist/JukeboxSession.js +5 -0
  10. package/dist/PlatformAlbum.d.ts +36 -0
  11. package/dist/PlatformArtist.d.ts +36 -0
  12. package/dist/PlatformTrack.d.ts +36 -0
  13. package/dist/Versus.d.ts +182 -0
  14. package/dist/Versus.js +251 -0
  15. package/dist/VersusAccessType.d.ts +26 -0
  16. package/dist/VersusAccessType.js +42 -0
  17. package/dist/VersusCoCreator.d.ts +40 -0
  18. package/dist/VersusCoCreator.js +117 -0
  19. package/dist/VersusCreatorScope.d.ts +26 -0
  20. package/dist/VersusCreatorScope.js +42 -0
  21. package/dist/VersusEndMode.d.ts +26 -0
  22. package/dist/VersusEndMode.js +42 -0
  23. package/dist/VersusEndTimerDuration.d.ts +28 -0
  24. package/dist/VersusEndTimerDuration.js +55 -0
  25. package/dist/VersusEndVoteThreshold.d.ts +26 -0
  26. package/dist/VersusEndVoteThreshold.js +43 -0
  27. package/dist/VersusEntityKind.d.ts +38 -0
  28. package/dist/VersusEntityKind.js +42 -0
  29. package/dist/VersusOption.d.ts +79 -0
  30. package/dist/VersusOption.js +167 -0
  31. package/dist/VersusPublishIssue.d.ts +52 -0
  32. package/dist/VersusPublishIssue.js +116 -0
  33. package/dist/VersusQuestion.d.ts +45 -0
  34. package/dist/VersusQuestion.js +102 -0
  35. package/dist/VersusQuestionVariableType.d.ts +26 -0
  36. package/dist/VersusQuestionVariableType.js +42 -0
  37. package/dist/VersusVotingListType.d.ts +26 -0
  38. package/dist/VersusVotingListType.js +42 -0
  39. package/dist/VersusVotingMode.d.ts +26 -0
  40. package/dist/VersusVotingMode.js +42 -0
  41. package/dist/init-models.d.ts +44 -2
  42. package/dist/init-models.js +125 -0
  43. package/models/AppUser.ts +26 -0
  44. package/models/CanonAlbum.ts +26 -0
  45. package/models/CanonArtist.ts +26 -0
  46. package/models/CanonGenre.ts +13 -0
  47. package/models/CanonTrack.ts +26 -0
  48. package/models/GuestUser.ts +48 -12
  49. package/models/JukeboxSession.ts +8 -1
  50. package/models/PlatformAlbum.ts +39 -0
  51. package/models/PlatformArtist.ts +39 -0
  52. package/models/PlatformTrack.ts +39 -0
  53. package/models/Versus.ts +425 -0
  54. package/models/VersusAccessType.ts +66 -0
  55. package/models/VersusCoCreator.ts +133 -0
  56. package/models/VersusCreatorScope.ts +66 -0
  57. package/models/VersusEndMode.ts +66 -0
  58. package/models/VersusEndTimerDuration.ts +81 -0
  59. package/models/VersusEndVoteThreshold.ts +67 -0
  60. package/models/VersusEntityKind.ts +79 -0
  61. package/models/VersusOption.ts +227 -0
  62. package/models/VersusPublishIssue.ts +146 -0
  63. package/models/VersusQuestion.ts +123 -0
  64. package/models/VersusQuestionVariableType.ts +66 -0
  65. package/models/VersusVotingListType.ts +66 -0
  66. package/models/VersusVotingMode.ts +66 -0
  67. package/models/init-models.ts +166 -0
  68. package/package.json +1 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.KnexMigrations = exports.JukeboxUserType = exports.JukeboxUser = exports.JukeboxType = exports.JukeboxTerminationCondition = exports.JukeboxStatus = exports.JukeboxSessionGenreAffinity = exports.JukeboxSessionArtistAffinity = exports.JukeboxSession = exports.JukeboxQueueMode = exports.JukeboxQueueEntry = exports.JukeboxInvite = exports.JukeboxCanonGenreRelation = exports.JukeboxAccessType = exports.GuestUser = exports.FeedContentType = exports.FeedConfig = 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.AffinityTier = exports.AffinityRelationshipType = exports.AccessControlPreference = void 0;
4
4
  exports.UserMessages = exports.UserLikes = exports.UserGenreAffinity = exports.UserEngagementFactor = exports.UserContacts = exports.UserComments = exports.UserBookmarks = exports.UserArtistAffinity = exports.UserAffinity = 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.PlatformUserPlaylistGenreAffinity = exports.PlatformUserPlaylistArtistAffinity = 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 = exports.MetricsDaily = exports.MerchType = exports.MerchPlatform = exports.MerchOrchestration = exports.MerchItem = exports.KnexMigrationsLock = void 0;
5
+ exports.VersusVotingMode = exports.VersusVotingListType = exports.VersusQuestionVariableType = exports.VersusQuestion = exports.VersusPublishIssue = exports.VersusOption = exports.VersusEntityKind = exports.VersusEndVoteThreshold = exports.VersusEndTimerDuration = exports.VersusEndMode = exports.VersusCreatorScope = exports.VersusCoCreator = exports.VersusAccessType = exports.Versus = void 0;
5
6
  exports.initModels = initModels;
6
7
  const AccessControlPreference_1 = require("./AccessControlPreference");
7
8
  Object.defineProperty(exports, "AccessControlPreference", { enumerable: true, get: function () { return AccessControlPreference_1.AccessControlPreference; } });
@@ -203,6 +204,34 @@ const UserLikes_1 = require("./UserLikes");
203
204
  Object.defineProperty(exports, "UserLikes", { enumerable: true, get: function () { return UserLikes_1.UserLikes; } });
204
205
  const UserMessages_1 = require("./UserMessages");
205
206
  Object.defineProperty(exports, "UserMessages", { enumerable: true, get: function () { return UserMessages_1.UserMessages; } });
207
+ const Versus_1 = require("./Versus");
208
+ Object.defineProperty(exports, "Versus", { enumerable: true, get: function () { return Versus_1.Versus; } });
209
+ const VersusAccessType_1 = require("./VersusAccessType");
210
+ Object.defineProperty(exports, "VersusAccessType", { enumerable: true, get: function () { return VersusAccessType_1.VersusAccessType; } });
211
+ const VersusCoCreator_1 = require("./VersusCoCreator");
212
+ Object.defineProperty(exports, "VersusCoCreator", { enumerable: true, get: function () { return VersusCoCreator_1.VersusCoCreator; } });
213
+ const VersusCreatorScope_1 = require("./VersusCreatorScope");
214
+ Object.defineProperty(exports, "VersusCreatorScope", { enumerable: true, get: function () { return VersusCreatorScope_1.VersusCreatorScope; } });
215
+ const VersusEndMode_1 = require("./VersusEndMode");
216
+ Object.defineProperty(exports, "VersusEndMode", { enumerable: true, get: function () { return VersusEndMode_1.VersusEndMode; } });
217
+ const VersusEndTimerDuration_1 = require("./VersusEndTimerDuration");
218
+ Object.defineProperty(exports, "VersusEndTimerDuration", { enumerable: true, get: function () { return VersusEndTimerDuration_1.VersusEndTimerDuration; } });
219
+ const VersusEndVoteThreshold_1 = require("./VersusEndVoteThreshold");
220
+ Object.defineProperty(exports, "VersusEndVoteThreshold", { enumerable: true, get: function () { return VersusEndVoteThreshold_1.VersusEndVoteThreshold; } });
221
+ const VersusEntityKind_1 = require("./VersusEntityKind");
222
+ Object.defineProperty(exports, "VersusEntityKind", { enumerable: true, get: function () { return VersusEntityKind_1.VersusEntityKind; } });
223
+ const VersusOption_1 = require("./VersusOption");
224
+ Object.defineProperty(exports, "VersusOption", { enumerable: true, get: function () { return VersusOption_1.VersusOption; } });
225
+ const VersusPublishIssue_1 = require("./VersusPublishIssue");
226
+ Object.defineProperty(exports, "VersusPublishIssue", { enumerable: true, get: function () { return VersusPublishIssue_1.VersusPublishIssue; } });
227
+ const VersusQuestion_1 = require("./VersusQuestion");
228
+ Object.defineProperty(exports, "VersusQuestion", { enumerable: true, get: function () { return VersusQuestion_1.VersusQuestion; } });
229
+ const VersusQuestionVariableType_1 = require("./VersusQuestionVariableType");
230
+ Object.defineProperty(exports, "VersusQuestionVariableType", { enumerable: true, get: function () { return VersusQuestionVariableType_1.VersusQuestionVariableType; } });
231
+ const VersusVotingListType_1 = require("./VersusVotingListType");
232
+ Object.defineProperty(exports, "VersusVotingListType", { enumerable: true, get: function () { return VersusVotingListType_1.VersusVotingListType; } });
233
+ const VersusVotingMode_1 = require("./VersusVotingMode");
234
+ Object.defineProperty(exports, "VersusVotingMode", { enumerable: true, get: function () { return VersusVotingMode_1.VersusVotingMode; } });
206
235
  function initModels(sequelize) {
207
236
  const AccessControlPreference = AccessControlPreference_1.AccessControlPreference.initModel(sequelize);
208
237
  const AffinityRelationshipType = AffinityRelationshipType_1.AffinityRelationshipType.initModel(sequelize);
@@ -304,6 +333,20 @@ function initModels(sequelize) {
304
333
  const UserGenreAffinity = UserGenreAffinity_1.UserGenreAffinity.initModel(sequelize);
305
334
  const UserLikes = UserLikes_1.UserLikes.initModel(sequelize);
306
335
  const UserMessages = UserMessages_1.UserMessages.initModel(sequelize);
336
+ const Versus = Versus_1.Versus.initModel(sequelize);
337
+ const VersusAccessType = VersusAccessType_1.VersusAccessType.initModel(sequelize);
338
+ const VersusCoCreator = VersusCoCreator_1.VersusCoCreator.initModel(sequelize);
339
+ const VersusCreatorScope = VersusCreatorScope_1.VersusCreatorScope.initModel(sequelize);
340
+ const VersusEndMode = VersusEndMode_1.VersusEndMode.initModel(sequelize);
341
+ const VersusEndTimerDuration = VersusEndTimerDuration_1.VersusEndTimerDuration.initModel(sequelize);
342
+ const VersusEndVoteThreshold = VersusEndVoteThreshold_1.VersusEndVoteThreshold.initModel(sequelize);
343
+ const VersusEntityKind = VersusEntityKind_1.VersusEntityKind.initModel(sequelize);
344
+ const VersusOption = VersusOption_1.VersusOption.initModel(sequelize);
345
+ const VersusPublishIssue = VersusPublishIssue_1.VersusPublishIssue.initModel(sequelize);
346
+ const VersusQuestion = VersusQuestion_1.VersusQuestion.initModel(sequelize);
347
+ const VersusQuestionVariableType = VersusQuestionVariableType_1.VersusQuestionVariableType.initModel(sequelize);
348
+ const VersusVotingListType = VersusVotingListType_1.VersusVotingListType.initModel(sequelize);
349
+ const VersusVotingMode = VersusVotingMode_1.VersusVotingMode.initModel(sequelize);
307
350
  CanonAlbum.belongsToMany(CanonTrack, { as: 'canonTrackIdCanonTracks', through: CanonAlbumTrackRelation, foreignKey: "canonAlbumId", otherKey: "canonTrackId" });
308
351
  CanonAlbum.belongsToMany(ExternalReference, { as: 'externalReferenceIdExternalReferences', through: CanonAlbumExternalReferenceRelation, foreignKey: "canonAlbumId", otherKey: "externalReferenceId" });
309
352
  CanonAlbum.belongsToMany(PlatformAlbum, { as: 'platformAlbumIdPlatformAlbums', through: CanonToPlatformAlbumRelation, foreignKey: "canonAlbumId", otherKey: "platformAlbumId" });
@@ -408,6 +451,10 @@ function initModels(sequelize) {
408
451
  AppUser.hasMany(UserMessages, { as: "userMessages", foreignKey: "recipientId" });
409
452
  UserMessages.belongsTo(AppUser, { as: "sender", foreignKey: "senderId" });
410
453
  AppUser.hasMany(UserMessages, { as: "senderUserMessages", foreignKey: "senderId" });
454
+ Versus.belongsTo(AppUser, { as: "creatorUser", foreignKey: "creatorUserId" });
455
+ AppUser.hasMany(Versus, { as: "versus", foreignKey: "creatorUserId" });
456
+ VersusCoCreator.belongsTo(AppUser, { as: "appUser", foreignKey: "appUserId" });
457
+ AppUser.hasMany(VersusCoCreator, { as: "versusCoCreators", foreignKey: "appUserId" });
411
458
  CanonAlbumExternalReferenceRelation.belongsTo(CanonAlbum, { as: "canonAlbum", foreignKey: "canonAlbumId" });
412
459
  CanonAlbum.hasMany(CanonAlbumExternalReferenceRelation, { as: "canonAlbumExternalReferenceRelations", foreignKey: "canonAlbumId" });
413
460
  CanonAlbumImageHarvested.belongsTo(CanonAlbum, { as: "canonAlbum", foreignKey: "canonAlbumId" });
@@ -416,6 +463,10 @@ function initModels(sequelize) {
416
463
  CanonAlbum.hasMany(CanonAlbumTrackRelation, { as: "canonAlbumTrackRelations", foreignKey: "canonAlbumId" });
417
464
  CanonToPlatformAlbumRelation.belongsTo(CanonAlbum, { as: "canonAlbum", foreignKey: "canonAlbumId" });
418
465
  CanonAlbum.hasMany(CanonToPlatformAlbumRelation, { as: "canonToPlatformAlbumRelations", foreignKey: "canonAlbumId" });
466
+ Versus.belongsTo(CanonAlbum, { as: "canonAlbum", foreignKey: "canonAlbumId" });
467
+ CanonAlbum.hasMany(Versus, { as: "versus", foreignKey: "canonAlbumId" });
468
+ VersusOption.belongsTo(CanonAlbum, { as: "canonAlbum", foreignKey: "canonAlbumId" });
469
+ CanonAlbum.hasMany(VersusOption, { as: "versusOptions", foreignKey: "canonAlbumId" });
419
470
  CanonArtistAlbumRelation.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
420
471
  CanonArtist.hasMany(CanonArtistAlbumRelation, { as: "canonArtistAlbumRelations", foreignKey: "canonArtistId" });
421
472
  CanonArtistImageHarvested.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
@@ -436,6 +487,10 @@ function initModels(sequelize) {
436
487
  CanonArtist.hasMany(PlatformUserPlaylistArtistAffinity, { as: "platformUserPlaylistArtistAffinities", foreignKey: "canonArtistId" });
437
488
  UserArtistAffinity.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
438
489
  CanonArtist.hasMany(UserArtistAffinity, { as: "userArtistAffinities", foreignKey: "canonArtistId" });
490
+ Versus.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
491
+ CanonArtist.hasMany(Versus, { as: "versus", foreignKey: "canonArtistId" });
492
+ VersusOption.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
493
+ CanonArtist.hasMany(VersusOption, { as: "versusOptions", foreignKey: "canonArtistId" });
439
494
  CanonAlbumGenreRelation.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId" });
440
495
  CanonGenre.hasMany(CanonAlbumGenreRelation, { as: "canonAlbumGenreRelations", foreignKey: "canonGenreId" });
441
496
  CanonArtistGenreRelation.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId" });
@@ -454,6 +509,8 @@ function initModels(sequelize) {
454
509
  CanonGenre.hasMany(RadioShowGenres, { as: "radioShowGenres", foreignKey: "canonGenreId" });
455
510
  UserGenreAffinity.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId" });
456
511
  CanonGenre.hasMany(UserGenreAffinity, { as: "userGenreAffinities", foreignKey: "canonGenreId" });
512
+ Versus.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId" });
513
+ CanonGenre.hasMany(Versus, { as: "versus", foreignKey: "canonGenreId" });
457
514
  CanonAlbumLabelRelation.belongsTo(CanonLabel, { as: "canonLabel", foreignKey: "canonLabelId" });
458
515
  CanonLabel.hasMany(CanonAlbumLabelRelation, { as: "canonAlbumLabelRelations", foreignKey: "canonLabelId" });
459
516
  CanonLabelExternalReferenceRelation.belongsTo(CanonLabel, { as: "canonLabel", foreignKey: "canonLabelId" });
@@ -472,6 +529,10 @@ function initModels(sequelize) {
472
529
  CanonTrack.hasMany(JukeboxQueueEntry, { as: "jukeboxQueueEntries", foreignKey: "trackId" });
473
530
  RadioShowPlacement.belongsTo(CanonTrack, { as: "canonTrack", foreignKey: "canonTrackId" });
474
531
  CanonTrack.hasMany(RadioShowPlacement, { as: "radioShowPlacements", foreignKey: "canonTrackId" });
532
+ Versus.belongsTo(CanonTrack, { as: "canonTrack", foreignKey: "canonTrackId" });
533
+ CanonTrack.hasMany(Versus, { as: "versus", foreignKey: "canonTrackId" });
534
+ VersusOption.belongsTo(CanonTrack, { as: "canonTrack", foreignKey: "canonTrackId" });
535
+ CanonTrack.hasMany(VersusOption, { as: "versusOptions", foreignKey: "canonTrackId" });
475
536
  CanonAlbumExternalReferenceRelation.belongsTo(ExternalReference, { as: "externalReference", foreignKey: "externalReferenceId" });
476
537
  ExternalReference.hasMany(CanonAlbumExternalReferenceRelation, { as: "canonAlbumExternalReferenceRelations", foreignKey: "externalReferenceId" });
477
538
  CanonArtistExternalReferenceRelation.belongsTo(ExternalReference, { as: "externalReference", foreignKey: "externalReferenceId" });
@@ -486,6 +547,8 @@ function initModels(sequelize) {
486
547
  FeedContentType.hasMany(UserEngagementFactor, { as: "userEngagementFactors", foreignKey: "contentTypeId" });
487
548
  JukeboxQueueEntry.belongsTo(GuestUser, { as: "trackAddedGuestUser", foreignKey: "trackAddedGuestUserId" });
488
549
  GuestUser.hasMany(JukeboxQueueEntry, { as: "jukeboxQueueEntries", foreignKey: "trackAddedGuestUserId" });
550
+ VersusCoCreator.belongsTo(GuestUser, { as: "guestUser", foreignKey: "guestUserId" });
551
+ GuestUser.hasMany(VersusCoCreator, { as: "versusCoCreators", foreignKey: "guestUserId" });
489
552
  JukeboxSession.belongsTo(JukeboxAccessType, { as: "accessType", foreignKey: "accessTypeId" });
490
553
  JukeboxAccessType.hasMany(JukeboxSession, { as: "jukeboxSessions", foreignKey: "accessTypeId" });
491
554
  JukeboxUser.belongsTo(JukeboxQueueEntry, { as: "pausedQueueEntry", foreignKey: "pausedQueueEntryId" });
@@ -576,6 +639,12 @@ function initModels(sequelize) {
576
639
  PlatformAlbum.hasMany(PlatformUserAlbum, { as: "platformUserAlbums", foreignKey: "platformAlbumId" });
577
640
  UnmatchedAlbum.belongsTo(PlatformAlbum, { as: "platformAlbum", foreignKey: "platformAlbumId" });
578
641
  PlatformAlbum.hasMany(UnmatchedAlbum, { as: "unmatchedAlbums", foreignKey: "platformAlbumId" });
642
+ Versus.belongsTo(PlatformAlbum, { as: "platformAlbum", foreignKey: "platformAlbumId" });
643
+ PlatformAlbum.hasMany(Versus, { as: "versus", foreignKey: "platformAlbumId" });
644
+ VersusOption.belongsTo(PlatformAlbum, { as: "platformAlbum", foreignKey: "platformAlbumId" });
645
+ PlatformAlbum.hasMany(VersusOption, { as: "versusOptions", foreignKey: "platformAlbumId" });
646
+ VersusPublishIssue.belongsTo(PlatformAlbum, { as: "platformAlbum", foreignKey: "platformAlbumId" });
647
+ PlatformAlbum.hasMany(VersusPublishIssue, { as: "versusPublishIssues", foreignKey: "platformAlbumId" });
579
648
  CanonArtistExternalReferenceRelation.belongsTo(PlatformArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
580
649
  PlatformArtist.hasMany(CanonArtistExternalReferenceRelation, { as: "canonArtistExternalReferenceRelations", foreignKey: "canonArtistId" });
581
650
  CanonArtistGenreRelation.belongsTo(PlatformArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
@@ -590,6 +659,12 @@ function initModels(sequelize) {
590
659
  PlatformArtist.hasMany(PlatformArtistGenreRelation, { as: "platformArtistGenreRelations", foreignKey: "platformArtistId" });
591
660
  PlatformArtistTrackRelation.belongsTo(PlatformArtist, { as: "platformArtist", foreignKey: "platformArtistId" });
592
661
  PlatformArtist.hasMany(PlatformArtistTrackRelation, { as: "platformArtistTrackRelations", foreignKey: "platformArtistId" });
662
+ Versus.belongsTo(PlatformArtist, { as: "platformArtist", foreignKey: "platformArtistId" });
663
+ PlatformArtist.hasMany(Versus, { as: "versus", foreignKey: "platformArtistId" });
664
+ VersusOption.belongsTo(PlatformArtist, { as: "platformArtist", foreignKey: "platformArtistId" });
665
+ PlatformArtist.hasMany(VersusOption, { as: "versusOptions", foreignKey: "platformArtistId" });
666
+ VersusPublishIssue.belongsTo(PlatformArtist, { as: "platformArtist", foreignKey: "platformArtistId" });
667
+ PlatformArtist.hasMany(VersusPublishIssue, { as: "versusPublishIssues", foreignKey: "platformArtistId" });
593
668
  CanonToPlatformGenreRelation.belongsTo(PlatformGenre, { as: "platformGenre", foreignKey: "platformGenreId" });
594
669
  PlatformGenre.hasMany(CanonToPlatformGenreRelation, { as: "canonToPlatformGenreRelations", foreignKey: "platformGenreId" });
595
670
  PlatformAlbumGenreRelation.belongsTo(PlatformGenre, { as: "platformGenre", foreignKey: "platformGenreId" });
@@ -612,6 +687,12 @@ function initModels(sequelize) {
612
687
  PlatformTrack.hasMany(PlatformUserAlbumTrack, { as: "platformUserAlbumTracks", foreignKey: "platformTrackId" });
613
688
  PlatformUserPlaylistTrack.belongsTo(PlatformTrack, { as: "platformTrack", foreignKey: "platformTrackId" });
614
689
  PlatformTrack.hasMany(PlatformUserPlaylistTrack, { as: "platformUserPlaylistTracks", foreignKey: "platformTrackId" });
690
+ Versus.belongsTo(PlatformTrack, { as: "platformTrack", foreignKey: "platformTrackId" });
691
+ PlatformTrack.hasMany(Versus, { as: "versus", foreignKey: "platformTrackId" });
692
+ VersusOption.belongsTo(PlatformTrack, { as: "platformTrack", foreignKey: "platformTrackId" });
693
+ PlatformTrack.hasMany(VersusOption, { as: "versusOptions", foreignKey: "platformTrackId" });
694
+ VersusPublishIssue.belongsTo(PlatformTrack, { as: "platformTrack", foreignKey: "platformTrackId" });
695
+ PlatformTrack.hasMany(VersusPublishIssue, { as: "versusPublishIssues", foreignKey: "platformTrackId" });
615
696
  PlatformUserAlbumTrack.belongsTo(PlatformUserAlbum, { as: "platformUserAlbum", foreignKey: "platformUserAlbumId" });
616
697
  PlatformUserAlbum.hasMany(PlatformUserAlbumTrack, { as: "platformUserAlbumTracks", foreignKey: "platformUserAlbumId" });
617
698
  PlatformUserPlaylistArtistAffinity.belongsTo(PlatformUserPlaylist, { as: "platformUserPlaylist", foreignKey: "platformUserPlaylistId" });
@@ -654,6 +735,36 @@ function initModels(sequelize) {
654
735
  UserComments.hasMany(UserComments, { as: "userComments", foreignKey: "replyCommentId" });
655
736
  UserMessages.belongsTo(UserMessages, { as: "replyMessage", foreignKey: "replyMessageId" });
656
737
  UserMessages.hasMany(UserMessages, { as: "userMessages", foreignKey: "replyMessageId" });
738
+ GuestUser.belongsTo(Versus, { as: "versu", foreignKey: "versusId" });
739
+ Versus.hasMany(GuestUser, { as: "guestUsers", foreignKey: "versusId" });
740
+ VersusCoCreator.belongsTo(Versus, { as: "versu", foreignKey: "versusId" });
741
+ Versus.hasMany(VersusCoCreator, { as: "versusCoCreators", foreignKey: "versusId" });
742
+ VersusOption.belongsTo(Versus, { as: "versu", foreignKey: "versusId" });
743
+ Versus.hasMany(VersusOption, { as: "versusOptions", foreignKey: "versusId" });
744
+ VersusPublishIssue.belongsTo(Versus, { as: "versu", foreignKey: "versusId" });
745
+ Versus.hasMany(VersusPublishIssue, { as: "versusPublishIssues", foreignKey: "versusId" });
746
+ Versus.belongsTo(VersusAccessType, { as: "versusAccessType", foreignKey: "versusAccessTypeId" });
747
+ VersusAccessType.hasMany(Versus, { as: "versus", foreignKey: "versusAccessTypeId" });
748
+ Versus.belongsTo(VersusCreatorScope, { as: "versusCreatorScope", foreignKey: "versusCreatorScopeId" });
749
+ VersusCreatorScope.hasMany(Versus, { as: "versus", foreignKey: "versusCreatorScopeId" });
750
+ Versus.belongsTo(VersusEndMode, { as: "versusEndMode", foreignKey: "versusEndModeId" });
751
+ VersusEndMode.hasMany(Versus, { as: "versus", foreignKey: "versusEndModeId" });
752
+ Versus.belongsTo(VersusEndTimerDuration, { as: "versusEndTimerDuration", foreignKey: "versusEndTimerDurationId" });
753
+ VersusEndTimerDuration.hasMany(Versus, { as: "versus", foreignKey: "versusEndTimerDurationId" });
754
+ Versus.belongsTo(VersusEndVoteThreshold, { as: "versusEndVoteThreshold", foreignKey: "versusEndVoteThresholdId" });
755
+ VersusEndVoteThreshold.hasMany(Versus, { as: "versus", foreignKey: "versusEndVoteThresholdId" });
756
+ VersusOption.belongsTo(VersusEntityKind, { as: "entityKind", foreignKey: "entityKindId" });
757
+ VersusEntityKind.hasMany(VersusOption, { as: "versusOptions", foreignKey: "entityKindId" });
758
+ VersusPublishIssue.belongsTo(VersusEntityKind, { as: "entityKind", foreignKey: "entityKindId" });
759
+ VersusEntityKind.hasMany(VersusPublishIssue, { as: "versusPublishIssues", foreignKey: "entityKindId" });
760
+ Versus.belongsTo(VersusQuestion, { as: "versusQuestion", foreignKey: "versusQuestionId" });
761
+ VersusQuestion.hasMany(Versus, { as: "versus", foreignKey: "versusQuestionId" });
762
+ VersusQuestion.belongsTo(VersusQuestionVariableType, { as: "questionVariableType", foreignKey: "questionVariableTypeId" });
763
+ VersusQuestionVariableType.hasMany(VersusQuestion, { as: "versusQuestions", foreignKey: "questionVariableTypeId" });
764
+ VersusQuestion.belongsTo(VersusVotingListType, { as: "votingListType", foreignKey: "votingListTypeId" });
765
+ VersusVotingListType.hasMany(VersusQuestion, { as: "versusQuestions", foreignKey: "votingListTypeId" });
766
+ Versus.belongsTo(VersusVotingMode, { as: "versusVotingMode", foreignKey: "versusVotingModeId" });
767
+ VersusVotingMode.hasMany(Versus, { as: "versus", foreignKey: "versusVotingModeId" });
657
768
  return {
658
769
  AccessControlPreference: AccessControlPreference,
659
770
  AffinityRelationshipType: AffinityRelationshipType,
@@ -755,5 +866,19 @@ function initModels(sequelize) {
755
866
  UserGenreAffinity: UserGenreAffinity,
756
867
  UserLikes: UserLikes,
757
868
  UserMessages: UserMessages,
869
+ Versus: Versus,
870
+ VersusAccessType: VersusAccessType,
871
+ VersusCoCreator: VersusCoCreator,
872
+ VersusCreatorScope: VersusCreatorScope,
873
+ VersusEndMode: VersusEndMode,
874
+ VersusEndTimerDuration: VersusEndTimerDuration,
875
+ VersusEndVoteThreshold: VersusEndVoteThreshold,
876
+ VersusEntityKind: VersusEntityKind,
877
+ VersusOption: VersusOption,
878
+ VersusPublishIssue: VersusPublishIssue,
879
+ VersusQuestion: VersusQuestion,
880
+ VersusQuestionVariableType: VersusQuestionVariableType,
881
+ VersusVotingListType: VersusVotingListType,
882
+ VersusVotingMode: VersusVotingMode,
758
883
  };
759
884
  }
package/models/AppUser.ts CHANGED
@@ -20,6 +20,8 @@ import type { UserEngagementFactor, UserEngagementFactorId } from './UserEngagem
20
20
  import type { UserGenreAffinity, UserGenreAffinityId } from './UserGenreAffinity';
21
21
  import type { UserLikes, UserLikesId } from './UserLikes';
22
22
  import type { UserMessages, UserMessagesId } from './UserMessages';
23
+ import type { Versus, VersusId } from './Versus';
24
+ import type { VersusCoCreator, VersusCoCreatorId } from './VersusCoCreator';
23
25
 
24
26
  export interface AppUserAttributes {
25
27
  email: string;
@@ -324,6 +326,30 @@ export class AppUser extends Model<AppUserAttributes, AppUserCreationAttributes>
324
326
  hasSenderUserMessage!: Sequelize.HasManyHasAssociationMixin<UserMessages, UserMessagesId>;
325
327
  hasSenderUserMessages!: Sequelize.HasManyHasAssociationsMixin<UserMessages, UserMessagesId>;
326
328
  countSenderUserMessages!: Sequelize.HasManyCountAssociationsMixin;
329
+ // AppUser hasMany Versus via creatorUserId
330
+ versus!: Versus[];
331
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
332
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
333
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
334
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
335
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
336
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
337
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
338
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
339
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
340
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
341
+ // AppUser hasMany VersusCoCreator via appUserId
342
+ versusCoCreators!: VersusCoCreator[];
343
+ getVersusCoCreators!: Sequelize.HasManyGetAssociationsMixin<VersusCoCreator>;
344
+ setVersusCoCreators!: Sequelize.HasManySetAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
345
+ addVersusCoCreator!: Sequelize.HasManyAddAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
346
+ addVersusCoCreators!: Sequelize.HasManyAddAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
347
+ createVersusCoCreator!: Sequelize.HasManyCreateAssociationMixin<VersusCoCreator>;
348
+ removeVersusCoCreator!: Sequelize.HasManyRemoveAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
349
+ removeVersusCoCreators!: Sequelize.HasManyRemoveAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
350
+ hasVersusCoCreator!: Sequelize.HasManyHasAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
351
+ hasVersusCoCreators!: Sequelize.HasManyHasAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
352
+ countVersusCoCreators!: Sequelize.HasManyCountAssociationsMixin;
327
353
  // AppUser belongsTo State via stateId
328
354
  state!: State;
329
355
  getState!: Sequelize.BelongsToGetAssociationMixin<State>;
@@ -7,6 +7,8 @@ import type { CanonToPlatformAlbumRelation, CanonToPlatformAlbumRelationId } fro
7
7
  import type { CanonTrack, CanonTrackId } from './CanonTrack';
8
8
  import type { ExternalReference, ExternalReferenceId } from './ExternalReference';
9
9
  import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
10
+ import type { Versus, VersusId } from './Versus';
11
+ import type { VersusOption, VersusOptionId } from './VersusOption';
10
12
 
11
13
  export interface CanonAlbumAttributes {
12
14
  name: string;
@@ -126,6 +128,30 @@ export class CanonAlbum extends Model<CanonAlbumAttributes, CanonAlbumCreationAt
126
128
  hasPlatformAlbumIdPlatformAlbum!: Sequelize.BelongsToManyHasAssociationMixin<PlatformAlbum, PlatformAlbumId>;
127
129
  hasPlatformAlbumIdPlatformAlbums!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
128
130
  countPlatformAlbumIdPlatformAlbums!: Sequelize.BelongsToManyCountAssociationsMixin;
131
+ // CanonAlbum hasMany Versus via canonAlbumId
132
+ versus!: Versus[];
133
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
134
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
135
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
136
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
137
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
138
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
139
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
140
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
141
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
142
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
143
+ // CanonAlbum hasMany VersusOption via canonAlbumId
144
+ versusOptions!: VersusOption[];
145
+ getVersusOptions!: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
146
+ setVersusOptions!: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
147
+ addVersusOption!: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
148
+ addVersusOptions!: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
149
+ createVersusOption!: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
150
+ removeVersusOption!: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
151
+ removeVersusOptions!: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
152
+ hasVersusOption!: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
153
+ hasVersusOptions!: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
154
+ countVersusOptions!: Sequelize.HasManyCountAssociationsMixin;
129
155
 
130
156
  static initModel(sequelize: Sequelize.Sequelize): typeof CanonAlbum {
131
157
  return CanonAlbum.init({
@@ -13,6 +13,8 @@ import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
13
13
  import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
14
14
  import type { PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId } from './PlatformUserPlaylistArtistAffinity';
15
15
  import type { UserArtistAffinity, UserArtistAffinityId } from './UserArtistAffinity';
16
+ import type { Versus, VersusId } from './Versus';
17
+ import type { VersusOption, VersusOptionId } from './VersusOption';
16
18
 
17
19
  export interface CanonArtistAttributes {
18
20
  name: string;
@@ -210,6 +212,30 @@ export class CanonArtist extends Model<CanonArtistAttributes, CanonArtistCreatio
210
212
  hasUserArtistAffinity!: Sequelize.HasManyHasAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
211
213
  hasUserArtistAffinities!: Sequelize.HasManyHasAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
212
214
  countUserArtistAffinities!: Sequelize.HasManyCountAssociationsMixin;
215
+ // CanonArtist hasMany Versus via canonArtistId
216
+ versus!: Versus[];
217
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
218
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
219
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
220
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
221
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
222
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
223
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
224
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
225
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
226
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
227
+ // CanonArtist hasMany VersusOption via canonArtistId
228
+ versusOptions!: VersusOption[];
229
+ getVersusOptions!: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
230
+ setVersusOptions!: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
231
+ addVersusOption!: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
232
+ addVersusOptions!: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
233
+ createVersusOption!: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
234
+ removeVersusOption!: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
235
+ removeVersusOptions!: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
236
+ hasVersusOption!: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
237
+ hasVersusOptions!: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
238
+ countVersusOptions!: Sequelize.HasManyCountAssociationsMixin;
213
239
 
214
240
  static initModel(sequelize: Sequelize.Sequelize): typeof CanonArtist {
215
241
  return CanonArtist.init({
@@ -13,6 +13,7 @@ import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
13
13
  import type { PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId } from './PlatformUserPlaylistGenreAffinity';
14
14
  import type { RadioShowGenres, RadioShowGenresId } from './RadioShowGenres';
15
15
  import type { UserGenreAffinity, UserGenreAffinityId } from './UserGenreAffinity';
16
+ import type { Versus, VersusId } from './Versus';
16
17
 
17
18
  export interface CanonGenreAttributes {
18
19
  name: string;
@@ -194,6 +195,18 @@ export class CanonGenre extends Model<CanonGenreAttributes, CanonGenreCreationAt
194
195
  hasUserGenreAffinity!: Sequelize.HasManyHasAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
195
196
  hasUserGenreAffinities!: Sequelize.HasManyHasAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
196
197
  countUserGenreAffinities!: Sequelize.HasManyCountAssociationsMixin;
198
+ // CanonGenre hasMany Versus via canonGenreId
199
+ versus!: Versus[];
200
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
201
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
202
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
203
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
204
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
205
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
206
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
207
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
208
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
209
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
197
210
 
198
211
  static initModel(sequelize: Sequelize.Sequelize): typeof CanonGenre {
199
212
  return CanonGenre.init({
@@ -8,6 +8,8 @@ import type { CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId } fro
8
8
  import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
9
9
  import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
10
10
  import type { RadioShowPlacement, RadioShowPlacementId } from './RadioShowPlacement';
11
+ import type { Versus, VersusId } from './Versus';
12
+ import type { VersusOption, VersusOptionId } from './VersusOption';
11
13
 
12
14
  export interface CanonTrackAttributes {
13
15
  name: string;
@@ -133,6 +135,30 @@ export class CanonTrack extends Model<CanonTrackAttributes, CanonTrackCreationAt
133
135
  hasRadioShowPlacement!: Sequelize.HasManyHasAssociationMixin<RadioShowPlacement, RadioShowPlacementId>;
134
136
  hasRadioShowPlacements!: Sequelize.HasManyHasAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
135
137
  countRadioShowPlacements!: Sequelize.HasManyCountAssociationsMixin;
138
+ // CanonTrack hasMany Versus via canonTrackId
139
+ versus!: Versus[];
140
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
141
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
142
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
143
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
144
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
145
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
146
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
147
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
148
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
149
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
150
+ // CanonTrack hasMany VersusOption via canonTrackId
151
+ versusOptions!: VersusOption[];
152
+ getVersusOptions!: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
153
+ setVersusOptions!: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
154
+ addVersusOption!: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
155
+ addVersusOptions!: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
156
+ createVersusOption!: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
157
+ removeVersusOption!: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
158
+ removeVersusOptions!: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
159
+ hasVersusOption!: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
160
+ hasVersusOptions!: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
161
+ countVersusOptions!: Sequelize.HasManyCountAssociationsMixin;
136
162
 
137
163
  static initModel(sequelize: Sequelize.Sequelize): typeof CanonTrack {
138
164
  return CanonTrack.init({
@@ -2,30 +2,34 @@ import * as Sequelize from 'sequelize';
2
2
  import { DataTypes, Model, Optional } from 'sequelize';
3
3
  import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
4
4
  import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
5
+ import type { Versus, VersusId } from './Versus';
6
+ import type { VersusCoCreator, VersusCoCreatorId } from './VersusCoCreator';
5
7
 
6
8
  export interface GuestUserAttributes {
9
+ jukeboxSessionId?: string;
7
10
  firstName: string;
8
11
  lastName?: string;
9
- jukeboxSessionId: string;
10
12
  ipAddress?: string;
11
13
  id: string;
12
14
  createDate: Date;
13
15
  updateDate: Date;
16
+ versusId?: string;
14
17
  }
15
18
 
16
19
  export type GuestUserPk = "id";
17
20
  export type GuestUserId = GuestUser[GuestUserPk];
18
- export type GuestUserOptionalAttributes = "lastName" | "ipAddress" | "id" | "createDate" | "updateDate";
21
+ export type GuestUserOptionalAttributes = "jukeboxSessionId" | "lastName" | "ipAddress" | "id" | "createDate" | "updateDate" | "versusId";
19
22
  export type GuestUserCreationAttributes = Optional<GuestUserAttributes, GuestUserOptionalAttributes>;
20
23
 
21
24
  export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttributes> implements GuestUserAttributes {
25
+ jukeboxSessionId?: string;
22
26
  firstName!: string;
23
27
  lastName?: string;
24
- jukeboxSessionId!: string;
25
28
  ipAddress?: string;
26
29
  id!: string;
27
30
  createDate!: Date;
28
31
  updateDate!: Date;
32
+ versusId?: string;
29
33
 
30
34
  // GuestUser hasMany JukeboxQueueEntry via trackAddedGuestUserId
31
35
  jukeboxQueueEntries!: JukeboxQueueEntry[];
@@ -39,14 +43,40 @@ export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttri
39
43
  hasJukeboxQueueEntry!: Sequelize.HasManyHasAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
40
44
  hasJukeboxQueueEntries!: Sequelize.HasManyHasAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
41
45
  countJukeboxQueueEntries!: Sequelize.HasManyCountAssociationsMixin;
46
+ // GuestUser hasMany VersusCoCreator via guestUserId
47
+ versusCoCreators!: VersusCoCreator[];
48
+ getVersusCoCreators!: Sequelize.HasManyGetAssociationsMixin<VersusCoCreator>;
49
+ setVersusCoCreators!: Sequelize.HasManySetAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
50
+ addVersusCoCreator!: Sequelize.HasManyAddAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
51
+ addVersusCoCreators!: Sequelize.HasManyAddAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
52
+ createVersusCoCreator!: Sequelize.HasManyCreateAssociationMixin<VersusCoCreator>;
53
+ removeVersusCoCreator!: Sequelize.HasManyRemoveAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
54
+ removeVersusCoCreators!: Sequelize.HasManyRemoveAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
55
+ hasVersusCoCreator!: Sequelize.HasManyHasAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
56
+ hasVersusCoCreators!: Sequelize.HasManyHasAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
57
+ countVersusCoCreators!: Sequelize.HasManyCountAssociationsMixin;
42
58
  // GuestUser belongsTo JukeboxSession via jukeboxSessionId
43
59
  jukeboxSession!: JukeboxSession;
44
60
  getJukeboxSession!: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
45
61
  setJukeboxSession!: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
46
62
  createJukeboxSession!: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
63
+ // GuestUser belongsTo Versus via versusId
64
+ versu!: Versus;
65
+ getVersu!: Sequelize.BelongsToGetAssociationMixin<Versus>;
66
+ setVersu!: Sequelize.BelongsToSetAssociationMixin<Versus, VersusId>;
67
+ createVersu!: Sequelize.BelongsToCreateAssociationMixin<Versus>;
47
68
 
48
69
  static initModel(sequelize: Sequelize.Sequelize): typeof GuestUser {
49
70
  return GuestUser.init({
71
+ jukeboxSessionId: {
72
+ type: DataTypes.UUID,
73
+ allowNull: true,
74
+ references: {
75
+ model: 'jukebox_session',
76
+ key: 'id'
77
+ },
78
+ field: 'jukebox_session_id'
79
+ },
50
80
  firstName: {
51
81
  type: DataTypes.TEXT,
52
82
  allowNull: false,
@@ -57,15 +87,6 @@ export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttri
57
87
  allowNull: true,
58
88
  field: 'last_name'
59
89
  },
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
90
  ipAddress: {
70
91
  type: DataTypes.TEXT,
71
92
  allowNull: true,
@@ -88,6 +109,15 @@ export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttri
88
109
  allowNull: false,
89
110
  defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
90
111
  field: 'update_date'
112
+ },
113
+ versusId: {
114
+ type: DataTypes.UUID,
115
+ allowNull: true,
116
+ references: {
117
+ model: 'versus',
118
+ key: 'id'
119
+ },
120
+ field: 'versus_id'
91
121
  }
92
122
  }, {
93
123
  sequelize,
@@ -108,6 +138,12 @@ export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttri
108
138
  { name: "jukebox_session_id" },
109
139
  ]
110
140
  },
141
+ {
142
+ name: "idx_guest_user_versus",
143
+ fields: [
144
+ { name: "versus_id" },
145
+ ]
146
+ },
111
147
  ]
112
148
  });
113
149
  }
@@ -30,11 +30,12 @@ export interface JukeboxSessionAttributes {
30
30
  description?: string;
31
31
  jukeboxStatusId: number;
32
32
  durationMs: number;
33
+ pausedAt?: Date;
33
34
  }
34
35
 
35
36
  export type JukeboxSessionPk = "id";
36
37
  export type JukeboxSessionId = JukeboxSession[JukeboxSessionPk];
37
- export type JukeboxSessionOptionalAttributes = "trackQueue" | "stateMachineArn" | "id" | "createdAt" | "updatedAt" | "description" | "jukeboxStatusId" | "durationMs";
38
+ export type JukeboxSessionOptionalAttributes = "trackQueue" | "stateMachineArn" | "id" | "createdAt" | "updatedAt" | "description" | "jukeboxStatusId" | "durationMs" | "pausedAt";
38
39
  export type JukeboxSessionCreationAttributes = Optional<JukeboxSessionAttributes, JukeboxSessionOptionalAttributes>;
39
40
 
40
41
  export class JukeboxSession extends Model<JukeboxSessionAttributes, JukeboxSessionCreationAttributes> implements JukeboxSessionAttributes {
@@ -50,6 +51,7 @@ export class JukeboxSession extends Model<JukeboxSessionAttributes, JukeboxSessi
50
51
  description?: string;
51
52
  jukeboxStatusId!: number;
52
53
  durationMs!: number;
54
+ pausedAt?: Date;
53
55
 
54
56
  // JukeboxSession belongsTo JukeboxAccessType via accessTypeId
55
57
  accessType!: JukeboxAccessType;
@@ -294,6 +296,11 @@ export class JukeboxSession extends Model<JukeboxSessionAttributes, JukeboxSessi
294
296
  allowNull: false,
295
297
  defaultValue: 0,
296
298
  field: 'duration_ms'
299
+ },
300
+ pausedAt: {
301
+ type: DataTypes.DATE,
302
+ allowNull: true,
303
+ field: 'paused_at'
297
304
  }
298
305
  }, {
299
306
  sequelize,
@@ -17,6 +17,9 @@ import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
17
17
  import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
18
18
  import type { PlatformUserAlbum, PlatformUserAlbumId } from './PlatformUserAlbum';
19
19
  import type { UnmatchedAlbum, UnmatchedAlbumId } from './UnmatchedAlbum';
20
+ import type { Versus, VersusId } from './Versus';
21
+ import type { VersusOption, VersusOptionId } from './VersusOption';
22
+ import type { VersusPublishIssue, VersusPublishIssueId } from './VersusPublishIssue';
20
23
 
21
24
  export interface PlatformAlbumAttributes {
22
25
  platformId: number;
@@ -253,6 +256,42 @@ export class PlatformAlbum extends Model<PlatformAlbumAttributes, PlatformAlbumC
253
256
  hasUnmatchedAlbum!: Sequelize.HasManyHasAssociationMixin<UnmatchedAlbum, UnmatchedAlbumId>;
254
257
  hasUnmatchedAlbums!: Sequelize.HasManyHasAssociationsMixin<UnmatchedAlbum, UnmatchedAlbumId>;
255
258
  countUnmatchedAlbums!: Sequelize.HasManyCountAssociationsMixin;
259
+ // PlatformAlbum hasMany Versus via platformAlbumId
260
+ versus!: Versus[];
261
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
262
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
263
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
264
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
265
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
266
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
267
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
268
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
269
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
270
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
271
+ // PlatformAlbum hasMany VersusOption via platformAlbumId
272
+ versusOptions!: VersusOption[];
273
+ getVersusOptions!: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
274
+ setVersusOptions!: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
275
+ addVersusOption!: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
276
+ addVersusOptions!: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
277
+ createVersusOption!: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
278
+ removeVersusOption!: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
279
+ removeVersusOptions!: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
280
+ hasVersusOption!: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
281
+ hasVersusOptions!: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
282
+ countVersusOptions!: Sequelize.HasManyCountAssociationsMixin;
283
+ // PlatformAlbum hasMany VersusPublishIssue via platformAlbumId
284
+ versusPublishIssues!: VersusPublishIssue[];
285
+ getVersusPublishIssues!: Sequelize.HasManyGetAssociationsMixin<VersusPublishIssue>;
286
+ setVersusPublishIssues!: Sequelize.HasManySetAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
287
+ addVersusPublishIssue!: Sequelize.HasManyAddAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
288
+ addVersusPublishIssues!: Sequelize.HasManyAddAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
289
+ createVersusPublishIssue!: Sequelize.HasManyCreateAssociationMixin<VersusPublishIssue>;
290
+ removeVersusPublishIssue!: Sequelize.HasManyRemoveAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
291
+ removeVersusPublishIssues!: Sequelize.HasManyRemoveAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
292
+ hasVersusPublishIssue!: Sequelize.HasManyHasAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
293
+ hasVersusPublishIssues!: Sequelize.HasManyHasAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
294
+ countVersusPublishIssues!: Sequelize.HasManyCountAssociationsMixin;
256
295
 
257
296
  static initModel(sequelize: Sequelize.Sequelize): typeof PlatformAlbum {
258
297
  return PlatformAlbum.init({