@earbug/db-models 0.0.1

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 (211) hide show
  1. package/.nvmrc +1 -0
  2. package/dist/AppUser.d.ts +161 -0
  3. package/dist/AppUser.js +121 -0
  4. package/dist/AppUserDevice.d.ts +26 -0
  5. package/dist/AppUserDevice.js +88 -0
  6. package/dist/AppUserFollowRelation.d.ts +34 -0
  7. package/dist/AppUserFollowRelation.js +113 -0
  8. package/dist/AppUserPlatformRelation.d.ts +43 -0
  9. package/dist/AppUserPlatformRelation.js +132 -0
  10. package/dist/CanonAlbum.d.ts +119 -0
  11. package/dist/CanonAlbum.js +117 -0
  12. package/dist/CanonAlbumExternalReferenceRelation.d.ts +31 -0
  13. package/dist/CanonAlbumExternalReferenceRelation.js +86 -0
  14. package/dist/CanonAlbumGenreRelation.d.ts +29 -0
  15. package/dist/CanonAlbumGenreRelation.js +82 -0
  16. package/dist/CanonAlbumImageHarvested.d.ts +30 -0
  17. package/dist/CanonAlbumImageHarvested.js +78 -0
  18. package/dist/CanonAlbumLabelRelation.d.ts +29 -0
  19. package/dist/CanonAlbumLabelRelation.js +82 -0
  20. package/dist/CanonAlbumTrackRelation.d.ts +29 -0
  21. package/dist/CanonAlbumTrackRelation.js +82 -0
  22. package/dist/CanonArtist.d.ts +91 -0
  23. package/dist/CanonArtist.js +114 -0
  24. package/dist/CanonArtistAlbumRelation.d.ts +29 -0
  25. package/dist/CanonArtistAlbumRelation.js +82 -0
  26. package/dist/CanonArtistExternalReferenceRelation.d.ts +31 -0
  27. package/dist/CanonArtistExternalReferenceRelation.js +86 -0
  28. package/dist/CanonArtistGenreRelation.d.ts +29 -0
  29. package/dist/CanonArtistGenreRelation.js +82 -0
  30. package/dist/CanonArtistImageHarvested.d.ts +30 -0
  31. package/dist/CanonArtistImageHarvested.js +70 -0
  32. package/dist/CanonArtistMemberRelation.d.ts +29 -0
  33. package/dist/CanonArtistMemberRelation.js +82 -0
  34. package/dist/CanonArtistTrackRelation.d.ts +29 -0
  35. package/dist/CanonArtistTrackRelation.js +82 -0
  36. package/dist/CanonGenre.d.ts +133 -0
  37. package/dist/CanonGenre.js +93 -0
  38. package/dist/CanonGenreExternalReferenceRelation.d.ts +31 -0
  39. package/dist/CanonGenreExternalReferenceRelation.js +86 -0
  40. package/dist/CanonLabel.d.ts +69 -0
  41. package/dist/CanonLabel.js +83 -0
  42. package/dist/CanonLabelExternalReferenceRelation.d.ts +31 -0
  43. package/dist/CanonLabelExternalReferenceRelation.js +86 -0
  44. package/dist/CanonMember.d.ts +71 -0
  45. package/dist/CanonMember.js +82 -0
  46. package/dist/CanonMemberExternalReferenceRelation.d.ts +33 -0
  47. package/dist/CanonMemberExternalReferenceRelation.js +91 -0
  48. package/dist/CanonToPlatformAlbumRelation.d.ts +29 -0
  49. package/dist/CanonToPlatformAlbumRelation.js +82 -0
  50. package/dist/CanonToPlatformArtistRelation.d.ts +29 -0
  51. package/dist/CanonToPlatformArtistRelation.js +82 -0
  52. package/dist/CanonToPlatformGenreRelation.d.ts +29 -0
  53. package/dist/CanonToPlatformGenreRelation.js +82 -0
  54. package/dist/CanonToPlatformTrackRelation.d.ts +29 -0
  55. package/dist/CanonToPlatformTrackRelation.js +82 -0
  56. package/dist/CanonTrack.d.ts +89 -0
  57. package/dist/CanonTrack.js +99 -0
  58. package/dist/ConfigParam.d.ts +19 -0
  59. package/dist/ConfigParam.js +70 -0
  60. package/dist/ExternalReference.d.ts +139 -0
  61. package/dist/ExternalReference.js +79 -0
  62. package/dist/JukeboxAccessType.d.ts +26 -0
  63. package/dist/JukeboxAccessType.js +36 -0
  64. package/dist/JukeboxCanonGenreRelation.d.ts +33 -0
  65. package/dist/JukeboxCanonGenreRelation.js +101 -0
  66. package/dist/JukeboxInvite.d.ts +39 -0
  67. package/dist/JukeboxInvite.js +98 -0
  68. package/dist/JukeboxQueueEntry.d.ts +74 -0
  69. package/dist/JukeboxQueueEntry.js +142 -0
  70. package/dist/JukeboxQueueMode.d.ts +26 -0
  71. package/dist/JukeboxQueueMode.js +36 -0
  72. package/dist/JukeboxSession.d.ts +108 -0
  73. package/dist/JukeboxSession.js +133 -0
  74. package/dist/JukeboxStatus.d.ts +26 -0
  75. package/dist/JukeboxStatus.js +34 -0
  76. package/dist/JukeboxTerminationCondition.d.ts +26 -0
  77. package/dist/JukeboxTerminationCondition.js +36 -0
  78. package/dist/JukeboxType.d.ts +26 -0
  79. package/dist/JukeboxType.js +36 -0
  80. package/dist/JukeboxUser.d.ts +56 -0
  81. package/dist/JukeboxUser.js +135 -0
  82. package/dist/JukeboxUserType.d.ts +26 -0
  83. package/dist/JukeboxUserType.js +34 -0
  84. package/dist/KnexMigrations.d.ts +19 -0
  85. package/dist/KnexMigrations.js +44 -0
  86. package/dist/KnexMigrationsLock.d.ts +15 -0
  87. package/dist/KnexMigrationsLock.js +36 -0
  88. package/dist/MetricsDaily.d.ts +19 -0
  89. package/dist/MetricsDaily.js +87 -0
  90. package/dist/MetricsEvent.d.ts +23 -0
  91. package/dist/MetricsEvent.js +117 -0
  92. package/dist/NewsSite.d.ts +21 -0
  93. package/dist/NewsSite.js +57 -0
  94. package/dist/PauseStatusType.d.ts +26 -0
  95. package/dist/PauseStatusType.js +34 -0
  96. package/dist/Platform.d.ts +127 -0
  97. package/dist/Platform.js +80 -0
  98. package/dist/PlatformAlbum.d.ts +232 -0
  99. package/dist/PlatformAlbum.js +123 -0
  100. package/dist/PlatformAlbumGenreRelation.d.ts +29 -0
  101. package/dist/PlatformAlbumGenreRelation.js +82 -0
  102. package/dist/PlatformAlbumTrackRelation.d.ts +29 -0
  103. package/dist/PlatformAlbumTrackRelation.js +82 -0
  104. package/dist/PlatformArtist.d.ts +225 -0
  105. package/dist/PlatformArtist.js +109 -0
  106. package/dist/PlatformArtistAlbumRelation.d.ts +29 -0
  107. package/dist/PlatformArtistAlbumRelation.js +82 -0
  108. package/dist/PlatformArtistGenreRelation.d.ts +29 -0
  109. package/dist/PlatformArtistGenreRelation.js +82 -0
  110. package/dist/PlatformArtistTrackRelation.d.ts +29 -0
  111. package/dist/PlatformArtistTrackRelation.js +82 -0
  112. package/dist/PlatformGenre.d.ts +122 -0
  113. package/dist/PlatformGenre.js +90 -0
  114. package/dist/PlatformTrack.d.ts +183 -0
  115. package/dist/PlatformTrack.js +129 -0
  116. package/dist/PlatformTrackGenreRelation.d.ts +29 -0
  117. package/dist/PlatformTrackGenreRelation.js +82 -0
  118. package/dist/PlatformUserAlbum.d.ts +54 -0
  119. package/dist/PlatformUserAlbum.js +121 -0
  120. package/dist/PlatformUserAlbumTrack.d.ts +42 -0
  121. package/dist/PlatformUserAlbumTrack.js +121 -0
  122. package/dist/PlatformUserPlaylist.d.ts +62 -0
  123. package/dist/PlatformUserPlaylist.js +135 -0
  124. package/dist/PlatformUserPlaylistTrack.d.ts +48 -0
  125. package/dist/PlatformUserPlaylistTrack.js +132 -0
  126. package/dist/PlaybackStatus.d.ts +26 -0
  127. package/dist/PlaybackStatus.js +36 -0
  128. package/dist/State.d.ts +50 -0
  129. package/dist/State.js +36 -0
  130. package/dist/TrackDeletionReason.d.ts +26 -0
  131. package/dist/TrackDeletionReason.js +34 -0
  132. package/dist/UnmatchedAlbum.d.ts +22 -0
  133. package/dist/UnmatchedAlbum.js +70 -0
  134. package/dist/UnmatchedArtist.d.ts +26 -0
  135. package/dist/UnmatchedArtist.js +81 -0
  136. package/dist/UserContacts.d.ts +46 -0
  137. package/dist/UserContacts.js +105 -0
  138. package/dist/init-models.d.ts +209 -0
  139. package/dist/init-models.js +507 -0
  140. package/model_options.json +3 -0
  141. package/models/AppUser.ts +267 -0
  142. package/models/AppUserDevice.ts +88 -0
  143. package/models/AppUserFollowRelation.ts +122 -0
  144. package/models/AppUserPlatformRelation.ts +150 -0
  145. package/models/CanonAlbum.ts +216 -0
  146. package/models/CanonAlbumExternalReferenceRelation.ts +92 -0
  147. package/models/CanonAlbumGenreRelation.ts +86 -0
  148. package/models/CanonAlbumImageHarvested.ts +106 -0
  149. package/models/CanonAlbumLabelRelation.ts +86 -0
  150. package/models/CanonAlbumTrackRelation.ts +86 -0
  151. package/models/CanonArtist.ts +183 -0
  152. package/models/CanonArtistAlbumRelation.ts +86 -0
  153. package/models/CanonArtistExternalReferenceRelation.ts +92 -0
  154. package/models/CanonArtistGenreRelation.ts +86 -0
  155. package/models/CanonArtistImageHarvested.ts +98 -0
  156. package/models/CanonArtistMemberRelation.ts +86 -0
  157. package/models/CanonArtistTrackRelation.ts +86 -0
  158. package/models/CanonGenre.ts +208 -0
  159. package/models/CanonGenreExternalReferenceRelation.ts +92 -0
  160. package/models/CanonLabel.ts +129 -0
  161. package/models/CanonLabelExternalReferenceRelation.ts +92 -0
  162. package/models/CanonMember.ts +130 -0
  163. package/models/CanonMemberExternalReferenceRelation.ts +99 -0
  164. package/models/CanonToPlatformAlbumRelation.ts +86 -0
  165. package/models/CanonToPlatformArtistRelation.ts +86 -0
  166. package/models/CanonToPlatformGenreRelation.ts +86 -0
  167. package/models/CanonToPlatformTrackRelation.ts +86 -0
  168. package/models/CanonTrack.ts +167 -0
  169. package/models/ConfigParam.ts +62 -0
  170. package/models/ExternalReference.ts +201 -0
  171. package/models/JukeboxAccessType.ts +60 -0
  172. package/models/JukeboxCanonGenreRelation.ts +109 -0
  173. package/models/JukeboxInvite.ts +113 -0
  174. package/models/JukeboxQueueEntry.ts +195 -0
  175. package/models/JukeboxQueueMode.ts +60 -0
  176. package/models/JukeboxSession.ts +223 -0
  177. package/models/JukeboxStatus.ts +58 -0
  178. package/models/JukeboxTerminationCondition.ts +60 -0
  179. package/models/JukeboxType.ts +60 -0
  180. package/models/JukeboxUser.ts +169 -0
  181. package/models/JukeboxUserType.ts +58 -0
  182. package/models/KnexMigrations.ts +60 -0
  183. package/models/KnexMigrationsLock.ts +48 -0
  184. package/models/MetricsDaily.ts +79 -0
  185. package/models/MetricsEvent.ts +114 -0
  186. package/models/NewsSite.ts +75 -0
  187. package/models/PauseStatusType.ts +58 -0
  188. package/models/Platform.ts +189 -0
  189. package/models/PlatformAlbum.ts +345 -0
  190. package/models/PlatformAlbumGenreRelation.ts +86 -0
  191. package/models/PlatformAlbumTrackRelation.ts +86 -0
  192. package/models/PlatformArtist.ts +324 -0
  193. package/models/PlatformArtistAlbumRelation.ts +86 -0
  194. package/models/PlatformArtistGenreRelation.ts +86 -0
  195. package/models/PlatformArtistTrackRelation.ts +86 -0
  196. package/models/PlatformGenre.ts +194 -0
  197. package/models/PlatformTrack.ts +298 -0
  198. package/models/PlatformTrackGenreRelation.ts +86 -0
  199. package/models/PlatformUserAlbum.ts +152 -0
  200. package/models/PlatformUserAlbumTrack.ts +139 -0
  201. package/models/PlatformUserPlaylist.ts +174 -0
  202. package/models/PlatformUserPlaylistTrack.ts +156 -0
  203. package/models/PlaybackStatus.ts +60 -0
  204. package/models/State.ts +86 -0
  205. package/models/TrackDeletionReason.ts +58 -0
  206. package/models/UnmatchedAlbum.ts +66 -0
  207. package/models/UnmatchedArtist.ts +81 -0
  208. package/models/UserContacts.ts +149 -0
  209. package/models/init-models.ts +716 -0
  210. package/package.json +19 -0
  211. package/tsconfig.json +52 -0
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.JukeboxInvite = void 0;
27
+ const Sequelize = __importStar(require("sequelize"));
28
+ const sequelize_1 = require("sequelize");
29
+ class JukeboxInvite extends sequelize_1.Model {
30
+ static initModel(sequelize) {
31
+ return JukeboxInvite.init({
32
+ id: {
33
+ type: sequelize_1.DataTypes.UUID,
34
+ allowNull: false,
35
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
36
+ primaryKey: true
37
+ },
38
+ jukeboxSessionId: {
39
+ type: sequelize_1.DataTypes.UUID,
40
+ allowNull: false,
41
+ references: {
42
+ model: 'jukebox_session',
43
+ key: 'id'
44
+ },
45
+ field: 'jukebox_session_id'
46
+ },
47
+ inviterUserId: {
48
+ type: sequelize_1.DataTypes.UUID,
49
+ allowNull: false,
50
+ references: {
51
+ model: 'app_user',
52
+ key: 'id'
53
+ },
54
+ field: 'inviter_user_id'
55
+ },
56
+ invitedUserId: {
57
+ type: sequelize_1.DataTypes.UUID,
58
+ allowNull: true,
59
+ references: {
60
+ model: 'app_user',
61
+ key: 'id'
62
+ },
63
+ field: 'invited_user_id'
64
+ },
65
+ email: {
66
+ type: sequelize_1.DataTypes.TEXT,
67
+ allowNull: true
68
+ },
69
+ createdAt: {
70
+ type: sequelize_1.DataTypes.DATE,
71
+ allowNull: false,
72
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
73
+ field: 'created_at'
74
+ },
75
+ updatedAt: {
76
+ type: sequelize_1.DataTypes.DATE,
77
+ allowNull: false,
78
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
79
+ field: 'updated_at'
80
+ }
81
+ }, {
82
+ sequelize,
83
+ tableName: 'jukebox_invite',
84
+ schema: 'eb',
85
+ timestamps: false,
86
+ indexes: [
87
+ {
88
+ name: "jukebox_invite_pkey",
89
+ unique: true,
90
+ fields: [
91
+ { name: "id" },
92
+ ]
93
+ },
94
+ ]
95
+ });
96
+ }
97
+ }
98
+ exports.JukeboxInvite = JukeboxInvite;
@@ -0,0 +1,74 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model, Optional } from 'sequelize';
3
+ import type { AppUser, AppUserId } from './AppUser';
4
+ import type { CanonTrack, CanonTrackId } from './CanonTrack';
5
+ import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
6
+ import type { JukeboxUser, JukeboxUserId } from './JukeboxUser';
7
+ import type { PlaybackStatus, PlaybackStatusId } from './PlaybackStatus';
8
+ import type { TrackDeletionReason, TrackDeletionReasonId } from './TrackDeletionReason';
9
+ export interface JukeboxQueueEntryAttributes {
10
+ id: string;
11
+ jukeboxSessionId: string;
12
+ trackId: string;
13
+ playbackPriority?: number;
14
+ trackAddedUserId: string;
15
+ createdAt: Date;
16
+ updatedAt: Date;
17
+ setOrder: number;
18
+ trackDeletionReasonId: number;
19
+ playbackStatusTypeId: number;
20
+ playbackStarted?: Date;
21
+ trackThumbsUp?: string[];
22
+ trackThumbsDown?: string[];
23
+ }
24
+ export type JukeboxQueueEntryPk = "id";
25
+ export type JukeboxQueueEntryId = JukeboxQueueEntry[JukeboxQueueEntryPk];
26
+ export type JukeboxQueueEntryOptionalAttributes = "id" | "playbackPriority" | "createdAt" | "updatedAt" | "setOrder" | "trackDeletionReasonId" | "playbackStatusTypeId" | "playbackStarted" | "trackThumbsUp" | "trackThumbsDown";
27
+ export type JukeboxQueueEntryCreationAttributes = Optional<JukeboxQueueEntryAttributes, JukeboxQueueEntryOptionalAttributes>;
28
+ export declare class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, JukeboxQueueEntryCreationAttributes> implements JukeboxQueueEntryAttributes {
29
+ id: string;
30
+ jukeboxSessionId: string;
31
+ trackId: string;
32
+ playbackPriority?: number;
33
+ trackAddedUserId: string;
34
+ createdAt: Date;
35
+ updatedAt: Date;
36
+ setOrder: number;
37
+ trackDeletionReasonId: number;
38
+ playbackStatusTypeId: number;
39
+ playbackStarted?: Date;
40
+ trackThumbsUp?: string[];
41
+ trackThumbsDown?: string[];
42
+ trackAddedUser: AppUser;
43
+ getTrackAddedUser: Sequelize.BelongsToGetAssociationMixin<AppUser>;
44
+ setTrackAddedUser: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
45
+ createTrackAddedUser: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
46
+ track: CanonTrack;
47
+ getTrack: Sequelize.BelongsToGetAssociationMixin<CanonTrack>;
48
+ setTrack: Sequelize.BelongsToSetAssociationMixin<CanonTrack, CanonTrackId>;
49
+ createTrack: Sequelize.BelongsToCreateAssociationMixin<CanonTrack>;
50
+ jukeboxUsers: JukeboxUser[];
51
+ getJukeboxUsers: Sequelize.HasManyGetAssociationsMixin<JukeboxUser>;
52
+ setJukeboxUsers: Sequelize.HasManySetAssociationsMixin<JukeboxUser, JukeboxUserId>;
53
+ addJukeboxUser: Sequelize.HasManyAddAssociationMixin<JukeboxUser, JukeboxUserId>;
54
+ addJukeboxUsers: Sequelize.HasManyAddAssociationsMixin<JukeboxUser, JukeboxUserId>;
55
+ createJukeboxUser: Sequelize.HasManyCreateAssociationMixin<JukeboxUser>;
56
+ removeJukeboxUser: Sequelize.HasManyRemoveAssociationMixin<JukeboxUser, JukeboxUserId>;
57
+ removeJukeboxUsers: Sequelize.HasManyRemoveAssociationsMixin<JukeboxUser, JukeboxUserId>;
58
+ hasJukeboxUser: Sequelize.HasManyHasAssociationMixin<JukeboxUser, JukeboxUserId>;
59
+ hasJukeboxUsers: Sequelize.HasManyHasAssociationsMixin<JukeboxUser, JukeboxUserId>;
60
+ countJukeboxUsers: Sequelize.HasManyCountAssociationsMixin;
61
+ jukeboxSession: JukeboxSession;
62
+ getJukeboxSession: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
63
+ setJukeboxSession: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
64
+ createJukeboxSession: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
65
+ playbackStatusType: PlaybackStatus;
66
+ getPlaybackStatusType: Sequelize.BelongsToGetAssociationMixin<PlaybackStatus>;
67
+ setPlaybackStatusType: Sequelize.BelongsToSetAssociationMixin<PlaybackStatus, PlaybackStatusId>;
68
+ createPlaybackStatusType: Sequelize.BelongsToCreateAssociationMixin<PlaybackStatus>;
69
+ trackDeletionReason: TrackDeletionReason;
70
+ getTrackDeletionReason: Sequelize.BelongsToGetAssociationMixin<TrackDeletionReason>;
71
+ setTrackDeletionReason: Sequelize.BelongsToSetAssociationMixin<TrackDeletionReason, TrackDeletionReasonId>;
72
+ createTrackDeletionReason: Sequelize.BelongsToCreateAssociationMixin<TrackDeletionReason>;
73
+ static initModel(sequelize: Sequelize.Sequelize): typeof JukeboxQueueEntry;
74
+ }
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.JukeboxQueueEntry = void 0;
27
+ const Sequelize = __importStar(require("sequelize"));
28
+ const sequelize_1 = require("sequelize");
29
+ class JukeboxQueueEntry extends sequelize_1.Model {
30
+ static initModel(sequelize) {
31
+ return JukeboxQueueEntry.init({
32
+ id: {
33
+ type: sequelize_1.DataTypes.UUID,
34
+ allowNull: false,
35
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
36
+ primaryKey: true
37
+ },
38
+ jukeboxSessionId: {
39
+ type: sequelize_1.DataTypes.UUID,
40
+ allowNull: false,
41
+ references: {
42
+ model: 'jukebox_session',
43
+ key: 'id'
44
+ },
45
+ field: 'jukebox_session_id'
46
+ },
47
+ trackId: {
48
+ type: sequelize_1.DataTypes.UUID,
49
+ allowNull: false,
50
+ references: {
51
+ model: 'canon_track',
52
+ key: 'id'
53
+ },
54
+ field: 'track_id'
55
+ },
56
+ playbackPriority: {
57
+ type: sequelize_1.DataTypes.DECIMAL,
58
+ allowNull: true,
59
+ field: 'playback_priority'
60
+ },
61
+ trackAddedUserId: {
62
+ type: sequelize_1.DataTypes.UUID,
63
+ allowNull: false,
64
+ references: {
65
+ model: 'app_user',
66
+ key: 'id'
67
+ },
68
+ field: 'track_added_user_id'
69
+ },
70
+ createdAt: {
71
+ type: sequelize_1.DataTypes.DATE,
72
+ allowNull: false,
73
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
74
+ field: 'created_at'
75
+ },
76
+ updatedAt: {
77
+ type: sequelize_1.DataTypes.DATE,
78
+ allowNull: false,
79
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
80
+ field: 'updated_at'
81
+ },
82
+ setOrder: {
83
+ type: sequelize_1.DataTypes.INTEGER,
84
+ allowNull: false,
85
+ defaultValue: 1,
86
+ field: 'set_order'
87
+ },
88
+ trackDeletionReasonId: {
89
+ type: sequelize_1.DataTypes.SMALLINT,
90
+ allowNull: false,
91
+ defaultValue: 0,
92
+ references: {
93
+ model: 'track_deletion_reason',
94
+ key: 'id'
95
+ },
96
+ field: 'track_deletion_reason_id'
97
+ },
98
+ playbackStatusTypeId: {
99
+ type: sequelize_1.DataTypes.SMALLINT,
100
+ allowNull: false,
101
+ defaultValue: 0,
102
+ references: {
103
+ model: 'playback_status',
104
+ key: 'id'
105
+ },
106
+ field: 'playback_status_type_id'
107
+ },
108
+ playbackStarted: {
109
+ type: sequelize_1.DataTypes.DATE,
110
+ allowNull: true,
111
+ field: 'playback_started'
112
+ },
113
+ trackThumbsUp: {
114
+ type: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.UUID),
115
+ allowNull: true,
116
+ defaultValue: ["ARRAY[]"],
117
+ field: 'track_thumbs_up'
118
+ },
119
+ trackThumbsDown: {
120
+ type: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.UUID),
121
+ allowNull: true,
122
+ defaultValue: ["ARRAY[]"],
123
+ field: 'track_thumbs_down'
124
+ }
125
+ }, {
126
+ sequelize,
127
+ tableName: 'jukebox_queue_entry',
128
+ schema: 'eb',
129
+ timestamps: false,
130
+ indexes: [
131
+ {
132
+ name: "jukebox_queue_entry_pkey",
133
+ unique: true,
134
+ fields: [
135
+ { name: "id" },
136
+ ]
137
+ },
138
+ ]
139
+ });
140
+ }
141
+ }
142
+ exports.JukeboxQueueEntry = JukeboxQueueEntry;
@@ -0,0 +1,26 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
4
+ export interface JukeboxQueueModeAttributes {
5
+ id: number;
6
+ description: string;
7
+ }
8
+ export type JukeboxQueueModePk = "id";
9
+ export type JukeboxQueueModeId = JukeboxQueueMode[JukeboxQueueModePk];
10
+ export type JukeboxQueueModeCreationAttributes = JukeboxQueueModeAttributes;
11
+ export declare class JukeboxQueueMode extends Model<JukeboxQueueModeAttributes, JukeboxQueueModeCreationAttributes> implements JukeboxQueueModeAttributes {
12
+ id: number;
13
+ description: string;
14
+ jukeboxSessions: JukeboxSession[];
15
+ getJukeboxSessions: Sequelize.HasManyGetAssociationsMixin<JukeboxSession>;
16
+ setJukeboxSessions: Sequelize.HasManySetAssociationsMixin<JukeboxSession, JukeboxSessionId>;
17
+ addJukeboxSession: Sequelize.HasManyAddAssociationMixin<JukeboxSession, JukeboxSessionId>;
18
+ addJukeboxSessions: Sequelize.HasManyAddAssociationsMixin<JukeboxSession, JukeboxSessionId>;
19
+ createJukeboxSession: Sequelize.HasManyCreateAssociationMixin<JukeboxSession>;
20
+ removeJukeboxSession: Sequelize.HasManyRemoveAssociationMixin<JukeboxSession, JukeboxSessionId>;
21
+ removeJukeboxSessions: Sequelize.HasManyRemoveAssociationsMixin<JukeboxSession, JukeboxSessionId>;
22
+ hasJukeboxSession: Sequelize.HasManyHasAssociationMixin<JukeboxSession, JukeboxSessionId>;
23
+ hasJukeboxSessions: Sequelize.HasManyHasAssociationsMixin<JukeboxSession, JukeboxSessionId>;
24
+ countJukeboxSessions: Sequelize.HasManyCountAssociationsMixin;
25
+ static initModel(sequelize: Sequelize.Sequelize): typeof JukeboxQueueMode;
26
+ }
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JukeboxQueueMode = void 0;
4
+ const sequelize_1 = require("sequelize");
5
+ class JukeboxQueueMode extends sequelize_1.Model {
6
+ static initModel(sequelize) {
7
+ return JukeboxQueueMode.init({
8
+ id: {
9
+ autoIncrement: true,
10
+ autoIncrementIdentity: true,
11
+ type: sequelize_1.DataTypes.SMALLINT,
12
+ allowNull: false,
13
+ primaryKey: true
14
+ },
15
+ description: {
16
+ type: sequelize_1.DataTypes.TEXT,
17
+ allowNull: false
18
+ }
19
+ }, {
20
+ sequelize,
21
+ tableName: 'jukebox_queue_mode',
22
+ schema: 'eb',
23
+ timestamps: false,
24
+ indexes: [
25
+ {
26
+ name: "jukebox_queue_mode_pkey",
27
+ unique: true,
28
+ fields: [
29
+ { name: "id" },
30
+ ]
31
+ },
32
+ ]
33
+ });
34
+ }
35
+ }
36
+ exports.JukeboxQueueMode = JukeboxQueueMode;
@@ -0,0 +1,108 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model, Optional } from 'sequelize';
3
+ import type { JukeboxAccessType, JukeboxAccessTypeId } from './JukeboxAccessType';
4
+ import type { JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId } from './JukeboxCanonGenreRelation';
5
+ import type { JukeboxInvite, JukeboxInviteId } from './JukeboxInvite';
6
+ import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
7
+ import type { JukeboxQueueMode, JukeboxQueueModeId } from './JukeboxQueueMode';
8
+ import type { JukeboxStatus, JukeboxStatusId } from './JukeboxStatus';
9
+ import type { JukeboxTerminationCondition, JukeboxTerminationConditionId } from './JukeboxTerminationCondition';
10
+ import type { JukeboxType, JukeboxTypeId } from './JukeboxType';
11
+ import type { JukeboxUser, JukeboxUserId } from './JukeboxUser';
12
+ export interface JukeboxSessionAttributes {
13
+ id: string;
14
+ typeId: number;
15
+ accessTypeId: number;
16
+ terminationConditionId: number;
17
+ jukeboxQueueModeId: number;
18
+ createdAt: Date;
19
+ updatedAt: Date;
20
+ jukeboxStatusId: number;
21
+ trackQueue?: string[];
22
+ description?: string;
23
+ stateMachineArn?: string;
24
+ durationMs: number;
25
+ }
26
+ export type JukeboxSessionPk = "id";
27
+ export type JukeboxSessionId = JukeboxSession[JukeboxSessionPk];
28
+ export type JukeboxSessionOptionalAttributes = "id" | "createdAt" | "updatedAt" | "jukeboxStatusId" | "trackQueue" | "description" | "stateMachineArn" | "durationMs";
29
+ export type JukeboxSessionCreationAttributes = Optional<JukeboxSessionAttributes, JukeboxSessionOptionalAttributes>;
30
+ export declare class JukeboxSession extends Model<JukeboxSessionAttributes, JukeboxSessionCreationAttributes> implements JukeboxSessionAttributes {
31
+ id: string;
32
+ typeId: number;
33
+ accessTypeId: number;
34
+ terminationConditionId: number;
35
+ jukeboxQueueModeId: number;
36
+ createdAt: Date;
37
+ updatedAt: Date;
38
+ jukeboxStatusId: number;
39
+ trackQueue?: string[];
40
+ description?: string;
41
+ stateMachineArn?: string;
42
+ durationMs: number;
43
+ accessType: JukeboxAccessType;
44
+ getAccessType: Sequelize.BelongsToGetAssociationMixin<JukeboxAccessType>;
45
+ setAccessType: Sequelize.BelongsToSetAssociationMixin<JukeboxAccessType, JukeboxAccessTypeId>;
46
+ createAccessType: Sequelize.BelongsToCreateAssociationMixin<JukeboxAccessType>;
47
+ jukeboxQueueMode: JukeboxQueueMode;
48
+ getJukeboxQueueMode: Sequelize.BelongsToGetAssociationMixin<JukeboxQueueMode>;
49
+ setJukeboxQueueMode: Sequelize.BelongsToSetAssociationMixin<JukeboxQueueMode, JukeboxQueueModeId>;
50
+ createJukeboxQueueMode: Sequelize.BelongsToCreateAssociationMixin<JukeboxQueueMode>;
51
+ jukeboxCanonGenreRelations: JukeboxCanonGenreRelation[];
52
+ getJukeboxCanonGenreRelations: Sequelize.HasManyGetAssociationsMixin<JukeboxCanonGenreRelation>;
53
+ setJukeboxCanonGenreRelations: Sequelize.HasManySetAssociationsMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
54
+ addJukeboxCanonGenreRelation: Sequelize.HasManyAddAssociationMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
55
+ addJukeboxCanonGenreRelations: Sequelize.HasManyAddAssociationsMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
56
+ createJukeboxCanonGenreRelation: Sequelize.HasManyCreateAssociationMixin<JukeboxCanonGenreRelation>;
57
+ removeJukeboxCanonGenreRelation: Sequelize.HasManyRemoveAssociationMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
58
+ removeJukeboxCanonGenreRelations: Sequelize.HasManyRemoveAssociationsMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
59
+ hasJukeboxCanonGenreRelation: Sequelize.HasManyHasAssociationMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
60
+ hasJukeboxCanonGenreRelations: Sequelize.HasManyHasAssociationsMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
61
+ countJukeboxCanonGenreRelations: Sequelize.HasManyCountAssociationsMixin;
62
+ jukeboxInvites: JukeboxInvite[];
63
+ getJukeboxInvites: Sequelize.HasManyGetAssociationsMixin<JukeboxInvite>;
64
+ setJukeboxInvites: Sequelize.HasManySetAssociationsMixin<JukeboxInvite, JukeboxInviteId>;
65
+ addJukeboxInvite: Sequelize.HasManyAddAssociationMixin<JukeboxInvite, JukeboxInviteId>;
66
+ addJukeboxInvites: Sequelize.HasManyAddAssociationsMixin<JukeboxInvite, JukeboxInviteId>;
67
+ createJukeboxInvite: Sequelize.HasManyCreateAssociationMixin<JukeboxInvite>;
68
+ removeJukeboxInvite: Sequelize.HasManyRemoveAssociationMixin<JukeboxInvite, JukeboxInviteId>;
69
+ removeJukeboxInvites: Sequelize.HasManyRemoveAssociationsMixin<JukeboxInvite, JukeboxInviteId>;
70
+ hasJukeboxInvite: Sequelize.HasManyHasAssociationMixin<JukeboxInvite, JukeboxInviteId>;
71
+ hasJukeboxInvites: Sequelize.HasManyHasAssociationsMixin<JukeboxInvite, JukeboxInviteId>;
72
+ countJukeboxInvites: Sequelize.HasManyCountAssociationsMixin;
73
+ jukeboxQueueEntries: JukeboxQueueEntry[];
74
+ getJukeboxQueueEntries: Sequelize.HasManyGetAssociationsMixin<JukeboxQueueEntry>;
75
+ setJukeboxQueueEntries: Sequelize.HasManySetAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
76
+ addJukeboxQueueEntry: Sequelize.HasManyAddAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
77
+ addJukeboxQueueEntries: Sequelize.HasManyAddAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
78
+ createJukeboxQueueEntry: Sequelize.HasManyCreateAssociationMixin<JukeboxQueueEntry>;
79
+ removeJukeboxQueueEntry: Sequelize.HasManyRemoveAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
80
+ removeJukeboxQueueEntries: Sequelize.HasManyRemoveAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
81
+ hasJukeboxQueueEntry: Sequelize.HasManyHasAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
82
+ hasJukeboxQueueEntries: Sequelize.HasManyHasAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
83
+ countJukeboxQueueEntries: Sequelize.HasManyCountAssociationsMixin;
84
+ jukeboxUsers: JukeboxUser[];
85
+ getJukeboxUsers: Sequelize.HasManyGetAssociationsMixin<JukeboxUser>;
86
+ setJukeboxUsers: Sequelize.HasManySetAssociationsMixin<JukeboxUser, JukeboxUserId>;
87
+ addJukeboxUser: Sequelize.HasManyAddAssociationMixin<JukeboxUser, JukeboxUserId>;
88
+ addJukeboxUsers: Sequelize.HasManyAddAssociationsMixin<JukeboxUser, JukeboxUserId>;
89
+ createJukeboxUser: Sequelize.HasManyCreateAssociationMixin<JukeboxUser>;
90
+ removeJukeboxUser: Sequelize.HasManyRemoveAssociationMixin<JukeboxUser, JukeboxUserId>;
91
+ removeJukeboxUsers: Sequelize.HasManyRemoveAssociationsMixin<JukeboxUser, JukeboxUserId>;
92
+ hasJukeboxUser: Sequelize.HasManyHasAssociationMixin<JukeboxUser, JukeboxUserId>;
93
+ hasJukeboxUsers: Sequelize.HasManyHasAssociationsMixin<JukeboxUser, JukeboxUserId>;
94
+ countJukeboxUsers: Sequelize.HasManyCountAssociationsMixin;
95
+ jukeboxStatus: JukeboxStatus;
96
+ getJukeboxStatus: Sequelize.BelongsToGetAssociationMixin<JukeboxStatus>;
97
+ setJukeboxStatus: Sequelize.BelongsToSetAssociationMixin<JukeboxStatus, JukeboxStatusId>;
98
+ createJukeboxStatus: Sequelize.BelongsToCreateAssociationMixin<JukeboxStatus>;
99
+ terminationCondition: JukeboxTerminationCondition;
100
+ getTerminationCondition: Sequelize.BelongsToGetAssociationMixin<JukeboxTerminationCondition>;
101
+ setTerminationCondition: Sequelize.BelongsToSetAssociationMixin<JukeboxTerminationCondition, JukeboxTerminationConditionId>;
102
+ createTerminationCondition: Sequelize.BelongsToCreateAssociationMixin<JukeboxTerminationCondition>;
103
+ type: JukeboxType;
104
+ getType: Sequelize.BelongsToGetAssociationMixin<JukeboxType>;
105
+ setType: Sequelize.BelongsToSetAssociationMixin<JukeboxType, JukeboxTypeId>;
106
+ createType: Sequelize.BelongsToCreateAssociationMixin<JukeboxType>;
107
+ static initModel(sequelize: Sequelize.Sequelize): typeof JukeboxSession;
108
+ }
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.JukeboxSession = void 0;
27
+ const Sequelize = __importStar(require("sequelize"));
28
+ const sequelize_1 = require("sequelize");
29
+ class JukeboxSession extends sequelize_1.Model {
30
+ static initModel(sequelize) {
31
+ return JukeboxSession.init({
32
+ id: {
33
+ type: sequelize_1.DataTypes.UUID,
34
+ allowNull: false,
35
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
36
+ primaryKey: true
37
+ },
38
+ typeId: {
39
+ type: sequelize_1.DataTypes.SMALLINT,
40
+ allowNull: false,
41
+ references: {
42
+ model: 'jukebox_type',
43
+ key: 'id'
44
+ },
45
+ field: 'type_id'
46
+ },
47
+ accessTypeId: {
48
+ type: sequelize_1.DataTypes.SMALLINT,
49
+ allowNull: false,
50
+ references: {
51
+ model: 'jukebox_access_type',
52
+ key: 'id'
53
+ },
54
+ field: 'access_type_id'
55
+ },
56
+ terminationConditionId: {
57
+ type: sequelize_1.DataTypes.SMALLINT,
58
+ allowNull: false,
59
+ references: {
60
+ model: 'jukebox_termination_condition',
61
+ key: 'id'
62
+ },
63
+ field: 'termination_condition_id'
64
+ },
65
+ jukeboxQueueModeId: {
66
+ type: sequelize_1.DataTypes.SMALLINT,
67
+ allowNull: false,
68
+ references: {
69
+ model: 'jukebox_queue_mode',
70
+ key: 'id'
71
+ },
72
+ field: 'jukebox_queue_mode_id'
73
+ },
74
+ createdAt: {
75
+ type: sequelize_1.DataTypes.DATE,
76
+ allowNull: false,
77
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
78
+ field: 'created_at'
79
+ },
80
+ updatedAt: {
81
+ type: sequelize_1.DataTypes.DATE,
82
+ allowNull: false,
83
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
84
+ field: 'updated_at'
85
+ },
86
+ jukeboxStatusId: {
87
+ type: sequelize_1.DataTypes.SMALLINT,
88
+ allowNull: false,
89
+ defaultValue: 0,
90
+ references: {
91
+ model: 'jukebox_status',
92
+ key: 'id'
93
+ },
94
+ field: 'jukebox_status_id'
95
+ },
96
+ trackQueue: {
97
+ type: sequelize_1.DataTypes.ARRAY(sequelize_1.DataTypes.TEXT),
98
+ allowNull: true,
99
+ field: 'track_queue'
100
+ },
101
+ description: {
102
+ type: sequelize_1.DataTypes.STRING(512),
103
+ allowNull: true
104
+ },
105
+ stateMachineArn: {
106
+ type: sequelize_1.DataTypes.STRING(255),
107
+ allowNull: true,
108
+ field: 'state_machine_arn'
109
+ },
110
+ durationMs: {
111
+ type: sequelize_1.DataTypes.INTEGER,
112
+ allowNull: false,
113
+ defaultValue: 0,
114
+ field: 'duration_ms'
115
+ }
116
+ }, {
117
+ sequelize,
118
+ tableName: 'jukebox_session',
119
+ schema: 'eb',
120
+ timestamps: false,
121
+ indexes: [
122
+ {
123
+ name: "jukebox_session_pkey",
124
+ unique: true,
125
+ fields: [
126
+ { name: "id" },
127
+ ]
128
+ },
129
+ ]
130
+ });
131
+ }
132
+ }
133
+ exports.JukeboxSession = JukeboxSession;
@@ -0,0 +1,26 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
4
+ export interface JukeboxStatusAttributes {
5
+ id: number;
6
+ description: string;
7
+ }
8
+ export type JukeboxStatusPk = "id";
9
+ export type JukeboxStatusId = JukeboxStatus[JukeboxStatusPk];
10
+ export type JukeboxStatusCreationAttributes = JukeboxStatusAttributes;
11
+ export declare class JukeboxStatus extends Model<JukeboxStatusAttributes, JukeboxStatusCreationAttributes> implements JukeboxStatusAttributes {
12
+ id: number;
13
+ description: string;
14
+ jukeboxSessions: JukeboxSession[];
15
+ getJukeboxSessions: Sequelize.HasManyGetAssociationsMixin<JukeboxSession>;
16
+ setJukeboxSessions: Sequelize.HasManySetAssociationsMixin<JukeboxSession, JukeboxSessionId>;
17
+ addJukeboxSession: Sequelize.HasManyAddAssociationMixin<JukeboxSession, JukeboxSessionId>;
18
+ addJukeboxSessions: Sequelize.HasManyAddAssociationsMixin<JukeboxSession, JukeboxSessionId>;
19
+ createJukeboxSession: Sequelize.HasManyCreateAssociationMixin<JukeboxSession>;
20
+ removeJukeboxSession: Sequelize.HasManyRemoveAssociationMixin<JukeboxSession, JukeboxSessionId>;
21
+ removeJukeboxSessions: Sequelize.HasManyRemoveAssociationsMixin<JukeboxSession, JukeboxSessionId>;
22
+ hasJukeboxSession: Sequelize.HasManyHasAssociationMixin<JukeboxSession, JukeboxSessionId>;
23
+ hasJukeboxSessions: Sequelize.HasManyHasAssociationsMixin<JukeboxSession, JukeboxSessionId>;
24
+ countJukeboxSessions: Sequelize.HasManyCountAssociationsMixin;
25
+ static initModel(sequelize: Sequelize.Sequelize): typeof JukeboxStatus;
26
+ }