@earbug/db-models 0.0.60 → 0.0.63

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 (230) hide show
  1. package/.dockerignore +10 -0
  2. package/.github/workflows/publish.yaml +266 -19
  3. package/Dockerfile.generate +19 -0
  4. package/dist/AffinityRelationshipType.d.ts +2 -2
  5. package/dist/AffinityRelationshipType.js +6 -6
  6. package/dist/AppUser.d.ts +5 -5
  7. package/dist/AppUser.js +7 -7
  8. package/dist/AppUserDevice.d.ts +2 -2
  9. package/dist/AppUserDevice.js +6 -6
  10. package/dist/AppUserDeviceClassicBackup20260906.d.ts +23 -0
  11. package/dist/AppUserDeviceClassicBackup20260906.js +46 -0
  12. package/dist/AppUserFollowRelation.d.ts +3 -3
  13. package/dist/AppUserFollowRelation.js +6 -6
  14. package/dist/AppUserPlatformRelation.d.ts +13 -13
  15. package/dist/AppUserPlatformRelation.js +25 -25
  16. package/dist/CanonAlbum.d.ts +5 -5
  17. package/dist/CanonAlbum.js +10 -10
  18. package/dist/CanonArtist.d.ts +5 -5
  19. package/dist/CanonArtist.js +11 -11
  20. package/dist/CanonGenre.d.ts +3 -3
  21. package/dist/CanonGenre.js +6 -6
  22. package/dist/CanonLabel.d.ts +2 -2
  23. package/dist/CanonLabel.js +6 -6
  24. package/dist/CanonMember.d.ts +3 -3
  25. package/dist/CanonMember.js +6 -6
  26. package/dist/CanonMemberExternalReferenceRelation.d.ts +2 -2
  27. package/dist/CanonMemberExternalReferenceRelation.js +5 -5
  28. package/dist/CanonTrack.d.ts +5 -5
  29. package/dist/CanonTrack.js +11 -11
  30. package/dist/ConfigParam.d.ts +2 -2
  31. package/dist/ConfigParam.js +5 -5
  32. package/dist/ExternalReference.d.ts +2 -2
  33. package/dist/ExternalReference.js +5 -5
  34. package/dist/FeedContentType.d.ts +2 -2
  35. package/dist/FeedContentType.js +4 -4
  36. package/dist/GuestUser.d.ts +5 -5
  37. package/dist/GuestUser.js +13 -13
  38. package/dist/JukeboxAccessType.d.ts +2 -2
  39. package/dist/JukeboxAccessType.js +4 -4
  40. package/dist/JukeboxCanonGenreRelation.d.ts +2 -2
  41. package/dist/JukeboxCanonGenreRelation.js +6 -6
  42. package/dist/JukeboxInvite.d.ts +3 -3
  43. package/dist/JukeboxInvite.js +6 -6
  44. package/dist/JukeboxQueueEntry.d.ts +9 -9
  45. package/dist/JukeboxQueueEntry.js +25 -25
  46. package/dist/JukeboxQueueMode.d.ts +2 -2
  47. package/dist/JukeboxQueueMode.js +4 -4
  48. package/dist/JukeboxSession.d.ts +9 -9
  49. package/dist/JukeboxSession.js +20 -20
  50. package/dist/JukeboxSessionArtistAffinity.d.ts +2 -2
  51. package/dist/JukeboxSessionArtistAffinity.js +6 -6
  52. package/dist/JukeboxSessionGenreAffinity.d.ts +2 -2
  53. package/dist/JukeboxSessionGenreAffinity.js +6 -6
  54. package/dist/JukeboxTerminationCondition.d.ts +2 -2
  55. package/dist/JukeboxTerminationCondition.js +4 -4
  56. package/dist/JukeboxType.d.ts +2 -2
  57. package/dist/JukeboxType.js +4 -4
  58. package/dist/JukeboxUser.d.ts +7 -7
  59. package/dist/JukeboxUser.js +20 -20
  60. package/dist/KnexMigrations.d.ts +3 -3
  61. package/dist/KnexMigrations.js +6 -6
  62. package/dist/KnexMigrationsLock.d.ts +3 -3
  63. package/dist/KnexMigrationsLock.js +5 -5
  64. package/dist/MerchItem.d.ts +3 -3
  65. package/dist/MerchItem.js +6 -6
  66. package/dist/MerchOrchestration.d.ts +3 -3
  67. package/dist/MerchOrchestration.js +6 -6
  68. package/dist/MerchPlatform.d.ts +2 -2
  69. package/dist/MerchPlatform.js +6 -6
  70. package/dist/MerchType.d.ts +2 -2
  71. package/dist/MerchType.js +4 -4
  72. package/dist/MetricsDaily.d.ts +3 -3
  73. package/dist/MetricsDaily.js +4 -4
  74. package/dist/NewsSite.d.ts +3 -3
  75. package/dist/NewsSite.js +6 -6
  76. package/dist/Notification.d.ts +13 -13
  77. package/dist/Notification.js +33 -33
  78. package/dist/Platform.d.ts +2 -2
  79. package/dist/Platform.js +7 -7
  80. package/dist/PlatformAlbum.d.ts +5 -5
  81. package/dist/PlatformAlbum.js +10 -10
  82. package/dist/PlatformArtist.d.ts +5 -5
  83. package/dist/PlatformArtist.js +10 -10
  84. package/dist/PlatformGenre.d.ts +2 -2
  85. package/dist/PlatformGenre.js +6 -6
  86. package/dist/PlatformTrack.d.ts +3 -3
  87. package/dist/PlatformTrack.js +6 -6
  88. package/dist/PlatformUserAlbum.d.ts +2 -2
  89. package/dist/PlatformUserAlbum.js +6 -6
  90. package/dist/PlatformUserAlbumTrack.d.ts +4 -4
  91. package/dist/PlatformUserAlbumTrack.js +11 -11
  92. package/dist/PlatformUserPlaylist.d.ts +5 -5
  93. package/dist/PlatformUserPlaylist.js +11 -11
  94. package/dist/PlatformUserPlaylistArtistAffinity.d.ts +4 -4
  95. package/dist/PlatformUserPlaylistArtistAffinity.js +12 -12
  96. package/dist/PlatformUserPlaylistGenreAffinity.d.ts +2 -2
  97. package/dist/PlatformUserPlaylistGenreAffinity.js +6 -6
  98. package/dist/PlatformUserPlaylistTrack.d.ts +7 -7
  99. package/dist/PlatformUserPlaylistTrack.js +17 -17
  100. package/dist/PlaybackStatus.d.ts +2 -2
  101. package/dist/PlaybackStatus.js +4 -4
  102. package/dist/RadioShow.d.ts +3 -3
  103. package/dist/RadioShow.js +6 -6
  104. package/dist/RadioShowMedia.d.ts +3 -3
  105. package/dist/RadioShowMedia.js +6 -6
  106. package/dist/RadioShowPlacement.d.ts +3 -3
  107. package/dist/RadioShowPlacement.js +6 -6
  108. package/dist/RadioShowPublishRequests.d.ts +3 -3
  109. package/dist/RadioShowPublishRequests.js +6 -6
  110. package/dist/State.d.ts +2 -2
  111. package/dist/State.js +4 -4
  112. package/dist/UnmatchedAlbum.d.ts +2 -2
  113. package/dist/UnmatchedAlbum.js +6 -6
  114. package/dist/UnmatchedArtist.d.ts +2 -2
  115. package/dist/UnmatchedArtist.js +6 -6
  116. package/dist/UserAbuseReports.d.ts +7 -7
  117. package/dist/UserAbuseReports.js +18 -18
  118. package/dist/UserAffinity.d.ts +2 -2
  119. package/dist/UserAffinity.js +6 -6
  120. package/dist/UserArtistAffinity.d.ts +2 -2
  121. package/dist/UserArtistAffinity.js +6 -6
  122. package/dist/UserBookmarks.d.ts +3 -3
  123. package/dist/UserBookmarks.js +6 -6
  124. package/dist/UserComments.d.ts +5 -5
  125. package/dist/UserComments.js +12 -12
  126. package/dist/UserContacts.d.ts +3 -3
  127. package/dist/UserContacts.js +7 -7
  128. package/dist/UserEngagementFactor.d.ts +2 -2
  129. package/dist/UserEngagementFactor.js +6 -6
  130. package/dist/UserGenreAffinity.d.ts +2 -2
  131. package/dist/UserGenreAffinity.js +6 -6
  132. package/dist/UserLikes.d.ts +3 -3
  133. package/dist/UserLikes.js +6 -6
  134. package/dist/UserMessages.d.ts +5 -5
  135. package/dist/UserMessages.js +15 -15
  136. package/dist/Versus.d.ts +5 -5
  137. package/dist/Versus.js +11 -11
  138. package/dist/VersusCoCreator.d.ts +4 -4
  139. package/dist/VersusCoCreator.js +12 -12
  140. package/dist/VersusOption.d.ts +3 -3
  141. package/dist/VersusOption.js +6 -6
  142. package/dist/VersusPublishIssue.d.ts +3 -3
  143. package/dist/VersusPublishIssue.js +6 -6
  144. package/dist/VersusQuestion.d.ts +2 -2
  145. package/dist/VersusQuestion.js +6 -6
  146. package/dist/VersusVote.d.ts +2 -2
  147. package/dist/VersusVote.js +6 -6
  148. package/dist/init-models.d.ts +349 -3
  149. package/dist/init-models.js +905 -1
  150. package/models/AffinityRelationshipType.ts +8 -8
  151. package/models/AppUser.ts +12 -12
  152. package/models/AppUserDevice.ts +8 -8
  153. package/models/AppUserDeviceClassicBackup20260906.ts +66 -0
  154. package/models/AppUserFollowRelation.ts +9 -9
  155. package/models/AppUserPlatformRelation.ts +38 -38
  156. package/models/CanonAlbum.ts +15 -15
  157. package/models/CanonArtist.ts +16 -16
  158. package/models/CanonGenre.ts +9 -9
  159. package/models/CanonLabel.ts +8 -8
  160. package/models/CanonMember.ts +9 -9
  161. package/models/CanonMemberExternalReferenceRelation.ts +7 -7
  162. package/models/CanonTrack.ts +16 -16
  163. package/models/ConfigParam.ts +7 -7
  164. package/models/ExternalReference.ts +7 -7
  165. package/models/FeedContentType.ts +6 -6
  166. package/models/GuestUser.ts +18 -18
  167. package/models/JukeboxAccessType.ts +6 -6
  168. package/models/JukeboxCanonGenreRelation.ts +8 -8
  169. package/models/JukeboxInvite.ts +9 -9
  170. package/models/JukeboxQueueEntry.ts +34 -34
  171. package/models/JukeboxQueueMode.ts +6 -6
  172. package/models/JukeboxSession.ts +29 -29
  173. package/models/JukeboxSessionArtistAffinity.ts +8 -8
  174. package/models/JukeboxSessionGenreAffinity.ts +8 -8
  175. package/models/JukeboxTerminationCondition.ts +6 -6
  176. package/models/JukeboxType.ts +6 -6
  177. package/models/JukeboxUser.ts +27 -27
  178. package/models/KnexMigrations.ts +9 -9
  179. package/models/KnexMigrationsLock.ts +8 -8
  180. package/models/MerchItem.ts +9 -9
  181. package/models/MerchOrchestration.ts +9 -9
  182. package/models/MerchPlatform.ts +8 -8
  183. package/models/MerchType.ts +6 -6
  184. package/models/MetricsDaily.ts +7 -7
  185. package/models/NewsSite.ts +9 -9
  186. package/models/Notification.ts +46 -46
  187. package/models/Platform.ts +9 -9
  188. package/models/PlatformAlbum.ts +15 -15
  189. package/models/PlatformArtist.ts +15 -15
  190. package/models/PlatformGenre.ts +8 -8
  191. package/models/PlatformTrack.ts +9 -9
  192. package/models/PlatformUserAlbum.ts +8 -8
  193. package/models/PlatformUserAlbumTrack.ts +15 -15
  194. package/models/PlatformUserPlaylist.ts +16 -16
  195. package/models/PlatformUserPlaylistArtistAffinity.ts +16 -16
  196. package/models/PlatformUserPlaylistGenreAffinity.ts +8 -8
  197. package/models/PlatformUserPlaylistTrack.ts +24 -24
  198. package/models/PlaybackStatus.ts +6 -6
  199. package/models/RadioShow.ts +9 -9
  200. package/models/RadioShowMedia.ts +9 -9
  201. package/models/RadioShowPlacement.ts +9 -9
  202. package/models/RadioShowPublishRequests.ts +9 -9
  203. package/models/State.ts +6 -6
  204. package/models/UnmatchedAlbum.ts +8 -8
  205. package/models/UnmatchedArtist.ts +8 -8
  206. package/models/UserAbuseReports.ts +25 -25
  207. package/models/UserAffinity.ts +8 -8
  208. package/models/UserArtistAffinity.ts +8 -8
  209. package/models/UserBookmarks.ts +9 -9
  210. package/models/UserComments.ts +17 -17
  211. package/models/UserContacts.ts +10 -10
  212. package/models/UserEngagementFactor.ts +8 -8
  213. package/models/UserGenreAffinity.ts +8 -8
  214. package/models/UserLikes.ts +9 -9
  215. package/models/UserMessages.ts +20 -20
  216. package/models/Versus.ts +16 -16
  217. package/models/VersusCoCreator.ts +16 -16
  218. package/models/VersusOption.ts +9 -9
  219. package/models/VersusPublishIssue.ts +9 -9
  220. package/models/VersusQuestion.ts +8 -8
  221. package/models/VersusVote.ts +8 -8
  222. package/models/init-models.ts +1245 -0
  223. package/package.json +1 -1
  224. package/scripts/generate-and-upload.mjs +123 -0
  225. package/dist/CanonAlbumImageHarvested.d.ts +0 -30
  226. package/dist/CanonAlbumImageHarvested.js +0 -70
  227. package/dist/CanonArtistImageHarvested.d.ts +0 -30
  228. package/dist/CanonArtistImageHarvested.js +0 -70
  229. package/models/CanonAlbumImageHarvested.ts +0 -98
  230. package/models/CanonArtistImageHarvested.ts +0 -98
@@ -6,9 +6,9 @@ import type { ExternalReference, ExternalReferenceId } from './ExternalReference
6
6
  import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
7
7
 
8
8
  export interface CanonMemberAttributes {
9
+ id: string;
9
10
  name?: string;
10
11
  asciiName?: string;
11
- id: string;
12
12
  createDate?: Date;
13
13
  updateDate?: Date;
14
14
  isPast?: boolean;
@@ -16,13 +16,13 @@ export interface CanonMemberAttributes {
16
16
 
17
17
  export type CanonMemberPk = "id";
18
18
  export type CanonMemberId = CanonMember[CanonMemberPk];
19
- export type CanonMemberOptionalAttributes = "name" | "asciiName" | "id" | "createDate" | "updateDate" | "isPast";
19
+ export type CanonMemberOptionalAttributes = "id" | "name" | "asciiName" | "createDate" | "updateDate" | "isPast";
20
20
  export type CanonMemberCreationAttributes = Optional<CanonMemberAttributes, CanonMemberOptionalAttributes>;
21
21
 
22
22
  export class CanonMember extends Model<CanonMemberAttributes, CanonMemberCreationAttributes> implements CanonMemberAttributes {
23
+ id!: string;
23
24
  name?: string;
24
25
  asciiName?: string;
25
- id!: string;
26
26
  createDate?: Date;
27
27
  updateDate?: Date;
28
28
  isPast?: boolean;
@@ -78,6 +78,12 @@ export class CanonMember extends Model<CanonMemberAttributes, CanonMemberCreatio
78
78
 
79
79
  static initModel(sequelize: Sequelize.Sequelize): typeof CanonMember {
80
80
  return CanonMember.init({
81
+ id: {
82
+ type: DataTypes.UUID,
83
+ allowNull: false,
84
+ defaultValue: Sequelize.Sequelize.fn('uuid_generate_v1'),
85
+ primaryKey: true
86
+ },
81
87
  name: {
82
88
  type: DataTypes.TEXT,
83
89
  allowNull: true
@@ -87,12 +93,6 @@ export class CanonMember extends Model<CanonMemberAttributes, CanonMemberCreatio
87
93
  allowNull: true,
88
94
  field: 'ascii_name'
89
95
  },
90
- id: {
91
- type: DataTypes.UUID,
92
- allowNull: false,
93
- defaultValue: Sequelize.Sequelize.fn('uuid_generate_v1'),
94
- primaryKey: true
95
- },
96
96
  createDate: {
97
97
  type: DataTypes.DATE,
98
98
  allowNull: true,
@@ -4,10 +4,10 @@ import type { CanonMember, CanonMemberId } from './CanonMember';
4
4
  import type { ExternalReference, ExternalReferenceId } from './ExternalReference';
5
5
 
6
6
  export interface CanonMemberExternalReferenceRelationAttributes {
7
+ id: string;
7
8
  canonMemberId: string;
8
9
  externalReferenceId: string;
9
10
  url: string;
10
- id: string;
11
11
  createDate: Date;
12
12
  updateDate: Date;
13
13
  }
@@ -18,10 +18,10 @@ export type CanonMemberExternalReferenceRelationOptionalAttributes = "id" | "cre
18
18
  export type CanonMemberExternalReferenceRelationCreationAttributes = Optional<CanonMemberExternalReferenceRelationAttributes, CanonMemberExternalReferenceRelationOptionalAttributes>;
19
19
 
20
20
  export class CanonMemberExternalReferenceRelation extends Model<CanonMemberExternalReferenceRelationAttributes, CanonMemberExternalReferenceRelationCreationAttributes> implements CanonMemberExternalReferenceRelationAttributes {
21
+ id!: string;
21
22
  canonMemberId!: string;
22
23
  externalReferenceId!: string;
23
24
  url!: string;
24
- id!: string;
25
25
  createDate!: Date;
26
26
  updateDate!: Date;
27
27
 
@@ -38,6 +38,11 @@ export class CanonMemberExternalReferenceRelation extends Model<CanonMemberExter
38
38
 
39
39
  static initModel(sequelize: Sequelize.Sequelize): typeof CanonMemberExternalReferenceRelation {
40
40
  return CanonMemberExternalReferenceRelation.init({
41
+ id: {
42
+ type: DataTypes.UUID,
43
+ allowNull: false,
44
+ defaultValue: Sequelize.Sequelize.fn('uuid_generate_v1')
45
+ },
41
46
  canonMemberId: {
42
47
  type: DataTypes.UUID,
43
48
  allowNull: false,
@@ -62,11 +67,6 @@ export class CanonMemberExternalReferenceRelation extends Model<CanonMemberExter
62
67
  type: DataTypes.TEXT,
63
68
  allowNull: false
64
69
  },
65
- id: {
66
- type: DataTypes.UUID,
67
- allowNull: false,
68
- defaultValue: Sequelize.Sequelize.fn('uuid_generate_v1')
69
- },
70
70
  createDate: {
71
71
  type: DataTypes.DATE,
72
72
  allowNull: false,
@@ -12,32 +12,32 @@ import type { Versus, VersusId } from './Versus';
12
12
  import type { VersusOption, VersusOptionId } from './VersusOption';
13
13
 
14
14
  export interface CanonTrackAttributes {
15
+ id: string;
15
16
  name: string;
16
17
  asciiName: string;
17
18
  explicit: boolean;
18
19
  discNumber?: number;
19
20
  discTrackNumber?: number;
20
- durationMs: number;
21
- id: string;
22
21
  createDate: Date;
23
22
  updateDate: Date;
23
+ durationMs: number;
24
24
  }
25
25
 
26
26
  export type CanonTrackPk = "id";
27
27
  export type CanonTrackId = CanonTrack[CanonTrackPk];
28
- export type CanonTrackOptionalAttributes = "discNumber" | "discTrackNumber" | "id" | "createDate" | "updateDate";
28
+ export type CanonTrackOptionalAttributes = "id" | "discNumber" | "discTrackNumber" | "createDate" | "updateDate";
29
29
  export type CanonTrackCreationAttributes = Optional<CanonTrackAttributes, CanonTrackOptionalAttributes>;
30
30
 
31
31
  export class CanonTrack extends Model<CanonTrackAttributes, CanonTrackCreationAttributes> implements CanonTrackAttributes {
32
+ id!: string;
32
33
  name!: string;
33
34
  asciiName!: string;
34
35
  explicit!: boolean;
35
36
  discNumber?: number;
36
37
  discTrackNumber?: number;
37
- durationMs!: number;
38
- id!: string;
39
38
  createDate!: Date;
40
39
  updateDate!: Date;
40
+ durationMs!: number;
41
41
 
42
42
  // CanonTrack belongsToMany CanonAlbum via canonTrackId and canonAlbumId
43
43
  canonAlbumIdCanonAlbumCanonAlbumTrackRelations!: CanonAlbum[];
@@ -162,6 +162,12 @@ export class CanonTrack extends Model<CanonTrackAttributes, CanonTrackCreationAt
162
162
 
163
163
  static initModel(sequelize: Sequelize.Sequelize): typeof CanonTrack {
164
164
  return CanonTrack.init({
165
+ id: {
166
+ type: DataTypes.UUID,
167
+ allowNull: false,
168
+ defaultValue: Sequelize.Sequelize.fn('uuid_generate_v1'),
169
+ primaryKey: true
170
+ },
165
171
  name: {
166
172
  type: DataTypes.TEXT,
167
173
  allowNull: false
@@ -185,17 +191,6 @@ export class CanonTrack extends Model<CanonTrackAttributes, CanonTrackCreationAt
185
191
  allowNull: true,
186
192
  field: 'disc_track_number'
187
193
  },
188
- durationMs: {
189
- type: DataTypes.INTEGER,
190
- allowNull: false,
191
- field: 'duration_ms'
192
- },
193
- id: {
194
- type: DataTypes.UUID,
195
- allowNull: false,
196
- defaultValue: Sequelize.Sequelize.fn('uuid_generate_v1'),
197
- primaryKey: true
198
- },
199
194
  createDate: {
200
195
  type: DataTypes.DATE,
201
196
  allowNull: false,
@@ -207,6 +202,11 @@ export class CanonTrack extends Model<CanonTrackAttributes, CanonTrackCreationAt
207
202
  allowNull: false,
208
203
  defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
209
204
  field: 'update_date'
205
+ },
206
+ durationMs: {
207
+ type: DataTypes.INTEGER,
208
+ allowNull: false,
209
+ field: 'duration_ms'
210
210
  }
211
211
  }, {
212
212
  sequelize,
@@ -2,10 +2,10 @@ import * as Sequelize from 'sequelize';
2
2
  import { DataTypes, Model, Optional } from 'sequelize';
3
3
 
4
4
  export interface ConfigParamAttributes {
5
+ name: string;
5
6
  value?: string;
6
7
  createdAt: Date;
7
8
  updatedAt: Date;
8
- name: string;
9
9
  }
10
10
 
11
11
  export type ConfigParamPk = "name";
@@ -14,14 +14,19 @@ export type ConfigParamOptionalAttributes = "value" | "createdAt" | "updatedAt";
14
14
  export type ConfigParamCreationAttributes = Optional<ConfigParamAttributes, ConfigParamOptionalAttributes>;
15
15
 
16
16
  export class ConfigParam extends Model<ConfigParamAttributes, ConfigParamCreationAttributes> implements ConfigParamAttributes {
17
+ name!: string;
17
18
  value?: string;
18
19
  createdAt!: Date;
19
20
  updatedAt!: Date;
20
- name!: string;
21
21
 
22
22
 
23
23
  static initModel(sequelize: Sequelize.Sequelize): typeof ConfigParam {
24
24
  return ConfigParam.init({
25
+ name: {
26
+ type: DataTypes.TEXT,
27
+ allowNull: false,
28
+ primaryKey: true
29
+ },
25
30
  value: {
26
31
  type: DataTypes.TEXT,
27
32
  allowNull: true
@@ -37,11 +42,6 @@ export class ConfigParam extends Model<ConfigParamAttributes, ConfigParamCreatio
37
42
  allowNull: false,
38
43
  defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
39
44
  field: 'updated_at'
40
- },
41
- name: {
42
- type: DataTypes.TEXT,
43
- allowNull: false,
44
- primaryKey: true
45
45
  }
46
46
  }, {
47
47
  sequelize,
@@ -12,8 +12,8 @@ import type { CanonMemberExternalReferenceRelation, CanonMemberExternalReference
12
12
  import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
13
13
 
14
14
  export interface ExternalReferenceAttributes {
15
- name: string;
16
15
  id: string;
16
+ name: string;
17
17
  createDate: Date;
18
18
  updateDate: Date;
19
19
  }
@@ -24,8 +24,8 @@ export type ExternalReferenceOptionalAttributes = "id" | "createDate" | "updateD
24
24
  export type ExternalReferenceCreationAttributes = Optional<ExternalReferenceAttributes, ExternalReferenceOptionalAttributes>;
25
25
 
26
26
  export class ExternalReference extends Model<ExternalReferenceAttributes, ExternalReferenceCreationAttributes> implements ExternalReferenceAttributes {
27
- name!: string;
28
27
  id!: string;
28
+ name!: string;
29
29
  createDate!: Date;
30
30
  updateDate!: Date;
31
31
 
@@ -152,17 +152,17 @@ export class ExternalReference extends Model<ExternalReferenceAttributes, Extern
152
152
 
153
153
  static initModel(sequelize: Sequelize.Sequelize): typeof ExternalReference {
154
154
  return ExternalReference.init({
155
- name: {
156
- type: DataTypes.TEXT,
157
- allowNull: false,
158
- unique: "external_reference_un"
159
- },
160
155
  id: {
161
156
  type: DataTypes.UUID,
162
157
  allowNull: false,
163
158
  defaultValue: Sequelize.Sequelize.fn('uuid_generate_v1'),
164
159
  primaryKey: true
165
160
  },
161
+ name: {
162
+ type: DataTypes.TEXT,
163
+ allowNull: false,
164
+ unique: "external_reference_un"
165
+ },
166
166
  createDate: {
167
167
  type: DataTypes.DATE,
168
168
  allowNull: false,
@@ -3,8 +3,8 @@ import { DataTypes, Model, Optional } from 'sequelize';
3
3
  import type { UserEngagementFactor, UserEngagementFactorId } from './UserEngagementFactor';
4
4
 
5
5
  export interface FeedContentTypeAttributes {
6
- name: string;
7
6
  id: string;
7
+ name: string;
8
8
  mixPercentage: number;
9
9
  affinityMixHigh: number;
10
10
  affinityMixMedium: number;
@@ -21,8 +21,8 @@ export type FeedContentTypeOptionalAttributes = "id" | "mixPercentage" | "affini
21
21
  export type FeedContentTypeCreationAttributes = Optional<FeedContentTypeAttributes, FeedContentTypeOptionalAttributes>;
22
22
 
23
23
  export class FeedContentType extends Model<FeedContentTypeAttributes, FeedContentTypeCreationAttributes> implements FeedContentTypeAttributes {
24
- name!: string;
25
24
  id!: string;
25
+ name!: string;
26
26
  mixPercentage!: number;
27
27
  affinityMixHigh!: number;
28
28
  affinityMixMedium!: number;
@@ -47,16 +47,16 @@ export class FeedContentType extends Model<FeedContentTypeAttributes, FeedConten
47
47
 
48
48
  static initModel(sequelize: Sequelize.Sequelize): typeof FeedContentType {
49
49
  return FeedContentType.init({
50
- name: {
51
- type: DataTypes.STRING(50),
52
- allowNull: false
53
- },
54
50
  id: {
55
51
  type: DataTypes.UUID,
56
52
  allowNull: false,
57
53
  defaultValue: DataTypes.UUIDV4,
58
54
  primaryKey: true
59
55
  },
56
+ name: {
57
+ type: DataTypes.STRING(50),
58
+ allowNull: false
59
+ },
60
60
  mixPercentage: {
61
61
  type: DataTypes.DECIMAL,
62
62
  allowNull: false,
@@ -5,11 +5,11 @@ import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
5
5
  import type { Versus, VersusId } from './Versus';
6
6
 
7
7
  export interface GuestUserAttributes {
8
- jukeboxSessionId?: string;
8
+ id: string;
9
9
  firstName: string;
10
10
  lastName?: string;
11
+ jukeboxSessionId?: string;
11
12
  ipAddress?: string;
12
- id: string;
13
13
  createDate: Date;
14
14
  updateDate: Date;
15
15
  versusId?: string;
@@ -17,15 +17,15 @@ export interface GuestUserAttributes {
17
17
 
18
18
  export type GuestUserPk = "id";
19
19
  export type GuestUserId = GuestUser[GuestUserPk];
20
- export type GuestUserOptionalAttributes = "jukeboxSessionId" | "lastName" | "ipAddress" | "id" | "createDate" | "updateDate" | "versusId";
20
+ export type GuestUserOptionalAttributes = "id" | "lastName" | "jukeboxSessionId" | "ipAddress" | "createDate" | "updateDate" | "versusId";
21
21
  export type GuestUserCreationAttributes = Optional<GuestUserAttributes, GuestUserOptionalAttributes>;
22
22
 
23
23
  export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttributes> implements GuestUserAttributes {
24
- jukeboxSessionId?: string;
24
+ id!: string;
25
25
  firstName!: string;
26
26
  lastName?: string;
27
+ jukeboxSessionId?: string;
27
28
  ipAddress?: string;
28
- id!: string;
29
29
  createDate!: Date;
30
30
  updateDate!: Date;
31
31
  versusId?: string;
@@ -55,14 +55,11 @@ export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttri
55
55
 
56
56
  static initModel(sequelize: Sequelize.Sequelize): typeof GuestUser {
57
57
  return GuestUser.init({
58
- jukeboxSessionId: {
58
+ id: {
59
59
  type: DataTypes.UUID,
60
- allowNull: true,
61
- references: {
62
- model: 'jukebox_session',
63
- key: 'id'
64
- },
65
- field: 'jukebox_session_id'
60
+ allowNull: false,
61
+ defaultValue: DataTypes.UUIDV4,
62
+ primaryKey: true
66
63
  },
67
64
  firstName: {
68
65
  type: DataTypes.TEXT,
@@ -74,17 +71,20 @@ export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttri
74
71
  allowNull: true,
75
72
  field: 'last_name'
76
73
  },
74
+ jukeboxSessionId: {
75
+ type: DataTypes.UUID,
76
+ allowNull: true,
77
+ references: {
78
+ model: 'jukebox_session',
79
+ key: 'id'
80
+ },
81
+ field: 'jukebox_session_id'
82
+ },
77
83
  ipAddress: {
78
84
  type: DataTypes.TEXT,
79
85
  allowNull: true,
80
86
  field: 'ip_address'
81
87
  },
82
- id: {
83
- type: DataTypes.UUID,
84
- allowNull: false,
85
- defaultValue: DataTypes.UUIDV4,
86
- primaryKey: true
87
- },
88
88
  createDate: {
89
89
  type: DataTypes.DATE,
90
90
  allowNull: false,
@@ -3,8 +3,8 @@ import { DataTypes, Model, Optional } from 'sequelize';
3
3
  import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
4
4
 
5
5
  export interface JukeboxAccessTypeAttributes {
6
- description: string;
7
6
  id: number;
7
+ description: string;
8
8
  }
9
9
 
10
10
  export type JukeboxAccessTypePk = "id";
@@ -12,8 +12,8 @@ export type JukeboxAccessTypeId = JukeboxAccessType[JukeboxAccessTypePk];
12
12
  export type JukeboxAccessTypeCreationAttributes = JukeboxAccessTypeAttributes;
13
13
 
14
14
  export class JukeboxAccessType extends Model<JukeboxAccessTypeAttributes, JukeboxAccessTypeCreationAttributes> implements JukeboxAccessTypeAttributes {
15
- description!: string;
16
15
  id!: number;
16
+ description!: string;
17
17
 
18
18
  // JukeboxAccessType hasMany JukeboxSession via accessTypeId
19
19
  jukeboxSessions!: JukeboxSession[];
@@ -30,16 +30,16 @@ export class JukeboxAccessType extends Model<JukeboxAccessTypeAttributes, Jukebo
30
30
 
31
31
  static initModel(sequelize: Sequelize.Sequelize): typeof JukeboxAccessType {
32
32
  return JukeboxAccessType.init({
33
- description: {
34
- type: DataTypes.TEXT,
35
- allowNull: false
36
- },
37
33
  id: {
38
34
  autoIncrement: true,
39
35
  autoIncrementIdentity: true,
40
36
  type: DataTypes.SMALLINT,
41
37
  allowNull: false,
42
38
  primaryKey: true
39
+ },
40
+ description: {
41
+ type: DataTypes.TEXT,
42
+ allowNull: false
43
43
  }
44
44
  }, {
45
45
  sequelize,
@@ -4,10 +4,10 @@ import type { CanonGenre, CanonGenreId } from './CanonGenre';
4
4
  import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
5
5
 
6
6
  export interface JukeboxCanonGenreRelationAttributes {
7
+ id: string;
7
8
  jukeboxSessionId: string;
8
9
  canonGenreId: string;
9
10
  stateId: number;
10
- id: string;
11
11
  createdAt: Date;
12
12
  updatedAt: Date;
13
13
  }
@@ -18,10 +18,10 @@ export type JukeboxCanonGenreRelationOptionalAttributes = "id" | "createdAt" | "
18
18
  export type JukeboxCanonGenreRelationCreationAttributes = Optional<JukeboxCanonGenreRelationAttributes, JukeboxCanonGenreRelationOptionalAttributes>;
19
19
 
20
20
  export class JukeboxCanonGenreRelation extends Model<JukeboxCanonGenreRelationAttributes, JukeboxCanonGenreRelationCreationAttributes> implements JukeboxCanonGenreRelationAttributes {
21
+ id!: string;
21
22
  jukeboxSessionId!: string;
22
23
  canonGenreId!: string;
23
24
  stateId!: number;
24
- id!: string;
25
25
  createdAt!: Date;
26
26
  updatedAt!: Date;
27
27
 
@@ -38,6 +38,12 @@ export class JukeboxCanonGenreRelation extends Model<JukeboxCanonGenreRelationAt
38
38
 
39
39
  static initModel(sequelize: Sequelize.Sequelize): typeof JukeboxCanonGenreRelation {
40
40
  return JukeboxCanonGenreRelation.init({
41
+ id: {
42
+ type: DataTypes.UUID,
43
+ allowNull: false,
44
+ defaultValue: DataTypes.UUIDV4,
45
+ primaryKey: true
46
+ },
41
47
  jukeboxSessionId: {
42
48
  type: DataTypes.UUID,
43
49
  allowNull: false,
@@ -63,12 +69,6 @@ export class JukeboxCanonGenreRelation extends Model<JukeboxCanonGenreRelationAt
63
69
  allowNull: false,
64
70
  field: 'state_id'
65
71
  },
66
- id: {
67
- type: DataTypes.UUID,
68
- allowNull: false,
69
- defaultValue: DataTypes.UUIDV4,
70
- primaryKey: true
71
- },
72
72
  createdAt: {
73
73
  type: DataTypes.DATE,
74
74
  allowNull: false,
@@ -4,26 +4,26 @@ import type { AppUser, AppUserId } from './AppUser';
4
4
  import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
5
5
 
6
6
  export interface JukeboxInviteAttributes {
7
+ id: string;
7
8
  jukeboxSessionId: string;
8
9
  inviterUserId: string;
9
10
  invitedUserId?: string;
10
11
  email?: string;
11
- id: string;
12
12
  createdAt: Date;
13
13
  updatedAt: Date;
14
14
  }
15
15
 
16
16
  export type JukeboxInvitePk = "id";
17
17
  export type JukeboxInviteId = JukeboxInvite[JukeboxInvitePk];
18
- export type JukeboxInviteOptionalAttributes = "invitedUserId" | "email" | "id" | "createdAt" | "updatedAt";
18
+ export type JukeboxInviteOptionalAttributes = "id" | "invitedUserId" | "email" | "createdAt" | "updatedAt";
19
19
  export type JukeboxInviteCreationAttributes = Optional<JukeboxInviteAttributes, JukeboxInviteOptionalAttributes>;
20
20
 
21
21
  export class JukeboxInvite extends Model<JukeboxInviteAttributes, JukeboxInviteCreationAttributes> implements JukeboxInviteAttributes {
22
+ id!: string;
22
23
  jukeboxSessionId!: string;
23
24
  inviterUserId!: string;
24
25
  invitedUserId?: string;
25
26
  email?: string;
26
- id!: string;
27
27
  createdAt!: Date;
28
28
  updatedAt!: Date;
29
29
 
@@ -45,6 +45,12 @@ export class JukeboxInvite extends Model<JukeboxInviteAttributes, JukeboxInviteC
45
45
 
46
46
  static initModel(sequelize: Sequelize.Sequelize): typeof JukeboxInvite {
47
47
  return JukeboxInvite.init({
48
+ id: {
49
+ type: DataTypes.UUID,
50
+ allowNull: false,
51
+ defaultValue: DataTypes.UUIDV4,
52
+ primaryKey: true
53
+ },
48
54
  jukeboxSessionId: {
49
55
  type: DataTypes.UUID,
50
56
  allowNull: false,
@@ -76,12 +82,6 @@ export class JukeboxInvite extends Model<JukeboxInviteAttributes, JukeboxInviteC
76
82
  type: DataTypes.TEXT,
77
83
  allowNull: true
78
84
  },
79
- id: {
80
- type: DataTypes.UUID,
81
- allowNull: false,
82
- defaultValue: DataTypes.UUIDV4,
83
- primaryKey: true
84
- },
85
85
  createdAt: {
86
86
  type: DataTypes.DATE,
87
87
  allowNull: false,
@@ -10,17 +10,17 @@ import type { PlaybackStatusType, PlaybackStatusTypeId } from './PlaybackStatusT
10
10
  import type { TrackDeletionReason, TrackDeletionReasonId } from './TrackDeletionReason';
11
11
 
12
12
  export interface JukeboxQueueEntryAttributes {
13
+ id: string;
13
14
  jukeboxSessionId: string;
15
+ trackId?: string;
14
16
  playbackPriority?: number;
15
- playbackStarted?: Date;
16
- id: string;
17
+ trackAddedUserId?: string;
17
18
  createdAt: Date;
18
19
  updatedAt: Date;
19
20
  setOrder: number;
20
21
  trackDeletionReasonId: number;
21
22
  playbackStatusTypeId: number;
22
- trackId?: string;
23
- trackAddedUserId?: string;
23
+ playbackStarted?: Date;
24
24
  trackThumbsUp?: string[];
25
25
  trackThumbsDown?: string[];
26
26
  platformTrackId?: string;
@@ -29,21 +29,21 @@ export interface JukeboxQueueEntryAttributes {
29
29
 
30
30
  export type JukeboxQueueEntryPk = "id";
31
31
  export type JukeboxQueueEntryId = JukeboxQueueEntry[JukeboxQueueEntryPk];
32
- export type JukeboxQueueEntryOptionalAttributes = "playbackPriority" | "playbackStarted" | "id" | "createdAt" | "updatedAt" | "setOrder" | "trackDeletionReasonId" | "playbackStatusTypeId" | "trackId" | "trackAddedUserId" | "trackThumbsUp" | "trackThumbsDown" | "platformTrackId" | "trackAddedGuestUserId";
32
+ export type JukeboxQueueEntryOptionalAttributes = "id" | "trackId" | "playbackPriority" | "trackAddedUserId" | "createdAt" | "updatedAt" | "setOrder" | "trackDeletionReasonId" | "playbackStatusTypeId" | "playbackStarted" | "trackThumbsUp" | "trackThumbsDown" | "platformTrackId" | "trackAddedGuestUserId";
33
33
  export type JukeboxQueueEntryCreationAttributes = Optional<JukeboxQueueEntryAttributes, JukeboxQueueEntryOptionalAttributes>;
34
34
 
35
35
  export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, JukeboxQueueEntryCreationAttributes> implements JukeboxQueueEntryAttributes {
36
+ id!: string;
36
37
  jukeboxSessionId!: string;
38
+ trackId?: string;
37
39
  playbackPriority?: number;
38
- playbackStarted?: Date;
39
- id!: string;
40
+ trackAddedUserId?: string;
40
41
  createdAt!: Date;
41
42
  updatedAt!: Date;
42
43
  setOrder!: number;
43
44
  trackDeletionReasonId!: number;
44
45
  playbackStatusTypeId!: number;
45
- trackId?: string;
46
- trackAddedUserId?: string;
46
+ playbackStarted?: Date;
47
47
  trackThumbsUp?: string[];
48
48
  trackThumbsDown?: string[];
49
49
  platformTrackId?: string;
@@ -99,6 +99,12 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
99
99
 
100
100
  static initModel(sequelize: Sequelize.Sequelize): typeof JukeboxQueueEntry {
101
101
  return JukeboxQueueEntry.init({
102
+ id: {
103
+ type: DataTypes.UUID,
104
+ allowNull: false,
105
+ defaultValue: DataTypes.UUIDV4,
106
+ primaryKey: true
107
+ },
102
108
  jukeboxSessionId: {
103
109
  type: DataTypes.UUID,
104
110
  allowNull: false,
@@ -108,21 +114,28 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
108
114
  },
109
115
  field: 'jukebox_session_id'
110
116
  },
117
+ trackId: {
118
+ type: DataTypes.UUID,
119
+ allowNull: true,
120
+ references: {
121
+ model: 'canon_track',
122
+ key: 'id'
123
+ },
124
+ field: 'track_id'
125
+ },
111
126
  playbackPriority: {
112
127
  type: DataTypes.DECIMAL,
113
128
  allowNull: true,
114
129
  field: 'playback_priority'
115
130
  },
116
- playbackStarted: {
117
- type: DataTypes.DATE,
118
- allowNull: true,
119
- field: 'playback_started'
120
- },
121
- id: {
131
+ trackAddedUserId: {
122
132
  type: DataTypes.UUID,
123
- allowNull: false,
124
- defaultValue: DataTypes.UUIDV4,
125
- primaryKey: true
133
+ allowNull: true,
134
+ references: {
135
+ model: 'app_user',
136
+ key: 'id'
137
+ },
138
+ field: 'track_added_user_id'
126
139
  },
127
140
  createdAt: {
128
141
  type: DataTypes.DATE,
@@ -162,23 +175,10 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
162
175
  },
163
176
  field: 'playback_status_type_id'
164
177
  },
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,
178
+ playbackStarted: {
179
+ type: DataTypes.DATE,
176
180
  allowNull: true,
177
- references: {
178
- model: 'app_user',
179
- key: 'id'
180
- },
181
- field: 'track_added_user_id'
181
+ field: 'playback_started'
182
182
  },
183
183
  trackThumbsUp: {
184
184
  type: DataTypes.ARRAY(DataTypes.UUID),