@earbug/db-models 0.0.62 → 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 (128) hide show
  1. package/.dockerignore +10 -0
  2. package/.github/workflows/publish.yaml +303 -0
  3. package/.nvmrc +1 -0
  4. package/Dockerfile.generate +19 -0
  5. package/model_options.json +3 -0
  6. package/models/AccessControlPreference.ts +53 -0
  7. package/models/AffinityRelationshipType.ts +96 -0
  8. package/models/AffinityTier.ts +131 -0
  9. package/models/AppUser.ts +577 -0
  10. package/models/AppUserDevice.ts +101 -0
  11. package/models/AppUserDeviceClassicBackup20260906.ts +66 -0
  12. package/models/AppUserFollowRelation.ts +128 -0
  13. package/models/AppUserPlatformRelation.ts +150 -0
  14. package/models/CanonAlbum.ts +229 -0
  15. package/models/CanonAlbumExternalReferenceRelation.ts +92 -0
  16. package/models/CanonAlbumGenreRelation.ts +86 -0
  17. package/models/CanonAlbumLabelRelation.ts +86 -0
  18. package/models/CanonAlbumTrackRelation.ts +92 -0
  19. package/models/CanonArtist.ts +356 -0
  20. package/models/CanonArtistAlbumRelation.ts +92 -0
  21. package/models/CanonArtistExternalReferenceRelation.ts +92 -0
  22. package/models/CanonArtistGenreRelation.ts +86 -0
  23. package/models/CanonArtistMemberRelation.ts +86 -0
  24. package/models/CanonArtistTrackRelation.ts +92 -0
  25. package/models/CanonGenre.ts +273 -0
  26. package/models/CanonGenreExternalReferenceRelation.ts +92 -0
  27. package/models/CanonLabel.ts +129 -0
  28. package/models/CanonLabelExternalReferenceRelation.ts +92 -0
  29. package/models/CanonMember.ts +130 -0
  30. package/models/CanonMemberExternalReferenceRelation.ts +99 -0
  31. package/models/CanonToPlatformAlbumRelation.ts +92 -0
  32. package/models/CanonToPlatformArtistRelation.ts +92 -0
  33. package/models/CanonToPlatformGenreRelation.ts +86 -0
  34. package/models/CanonToPlatformTrackRelation.ts +92 -0
  35. package/models/CanonTrack.ts +232 -0
  36. package/models/ConfigParam.ts +62 -0
  37. package/models/ExternalReference.ts +201 -0
  38. package/models/FeedConfig.ts +65 -0
  39. package/models/FeedContentType.ts +124 -0
  40. package/models/GuestUser.ts +137 -0
  41. package/models/JukeboxAccessType.ts +60 -0
  42. package/models/JukeboxCanonGenreRelation.ts +108 -0
  43. package/models/JukeboxInvite.ts +125 -0
  44. package/models/JukeboxQueueEntry.ts +247 -0
  45. package/models/JukeboxQueueMode.ts +60 -0
  46. package/models/JukeboxSession.ts +334 -0
  47. package/models/JukeboxSessionArtistAffinity.ts +136 -0
  48. package/models/JukeboxSessionGenreAffinity.ts +136 -0
  49. package/models/JukeboxStatus.ts +58 -0
  50. package/models/JukeboxTerminationCondition.ts +60 -0
  51. package/models/JukeboxType.ts +60 -0
  52. package/models/JukeboxUser.ts +182 -0
  53. package/models/JukeboxUserType.ts +58 -0
  54. package/models/KnexMigrations.ts +60 -0
  55. package/models/KnexMigrationsLock.ts +48 -0
  56. package/models/MerchItem.ts +198 -0
  57. package/models/MerchOrchestration.ts +130 -0
  58. package/models/MerchPlatform.ts +95 -0
  59. package/models/MerchType.ts +89 -0
  60. package/models/MetricsDaily.ts +79 -0
  61. package/models/MetricsEvent.ts +124 -0
  62. package/models/NewsArticle.ts +177 -0
  63. package/models/NewsPlatform.ts +76 -0
  64. package/models/NewsSite.ts +75 -0
  65. package/models/Notification.ts +214 -0
  66. package/models/NotificationType.ts +66 -0
  67. package/models/PauseStatusType.ts +58 -0
  68. package/models/Platform.ts +189 -0
  69. package/models/PlatformAlbum.ts +398 -0
  70. package/models/PlatformAlbumGenreRelation.ts +86 -0
  71. package/models/PlatformAlbumTrackRelation.ts +92 -0
  72. package/models/PlatformArtist.ts +358 -0
  73. package/models/PlatformArtistAlbumRelation.ts +92 -0
  74. package/models/PlatformArtistGenreRelation.ts +86 -0
  75. package/models/PlatformArtistTrackRelation.ts +92 -0
  76. package/models/PlatformGenre.ts +194 -0
  77. package/models/PlatformTrack.ts +339 -0
  78. package/models/PlatformTrackGenreRelation.ts +86 -0
  79. package/models/PlatformUserAlbum.ts +152 -0
  80. package/models/PlatformUserAlbumTrack.ts +138 -0
  81. package/models/PlatformUserPlaylist.ts +260 -0
  82. package/models/PlatformUserPlaylistArtistAffinity.ts +136 -0
  83. package/models/PlatformUserPlaylistGenreAffinity.ts +136 -0
  84. package/models/PlatformUserPlaylistTrack.ts +162 -0
  85. package/models/PlaybackStatus.ts +47 -0
  86. package/models/PlaybackStatusType.ts +58 -0
  87. package/models/RadioShow.ts +209 -0
  88. package/models/RadioShowGenres.ts +107 -0
  89. package/models/RadioShowMedia.ts +181 -0
  90. package/models/RadioShowPlacement.ts +115 -0
  91. package/models/RadioShowPublishRequests.ts +86 -0
  92. package/models/State.ts +86 -0
  93. package/models/TrackDeletionReason.ts +58 -0
  94. package/models/UnmatchedAlbum.ts +66 -0
  95. package/models/UnmatchedArtist.ts +81 -0
  96. package/models/UserAbuseReports.ts +232 -0
  97. package/models/UserAffinity.ts +117 -0
  98. package/models/UserArtistAffinity.ts +136 -0
  99. package/models/UserBookmarks.ts +235 -0
  100. package/models/UserComments.ts +271 -0
  101. package/models/UserContacts.ts +155 -0
  102. package/models/UserEngagementFactor.ts +109 -0
  103. package/models/UserGenreAffinity.ts +136 -0
  104. package/models/UserLikes.ts +235 -0
  105. package/models/UserMessages.ts +189 -0
  106. package/models/Versus.ts +438 -0
  107. package/models/VersusAccessType.ts +66 -0
  108. package/models/VersusCoCreator.ts +111 -0
  109. package/models/VersusCreatorScope.ts +66 -0
  110. package/models/VersusEndMode.ts +66 -0
  111. package/models/VersusEndTimerDuration.ts +81 -0
  112. package/models/VersusEndVoteThreshold.ts +67 -0
  113. package/models/VersusEntityKind.ts +79 -0
  114. package/models/VersusOption.ts +258 -0
  115. package/models/VersusPublishIssue.ts +146 -0
  116. package/models/VersusQuestion.ts +123 -0
  117. package/models/VersusQuestionVariableType.ts +66 -0
  118. package/models/VersusVote.ts +99 -0
  119. package/models/VersusVotingListType.ts +66 -0
  120. package/models/VersusVotingMode.ts +66 -0
  121. package/models/index.ts +3 -0
  122. package/models/init-models.ts +1259 -0
  123. package/models/initDb.ts +72 -0
  124. package/models/rdsCaBundle.ts +5 -0
  125. package/package.json +2 -5
  126. package/scripts/generate-and-upload.mjs +123 -0
  127. package/scripts/update-rds-ca-bundle.mjs +44 -0
  128. package/tsconfig.json +52 -0
@@ -0,0 +1,86 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonGenre, CanonGenreId } from './CanonGenre';
4
+ import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
5
+
6
+ export interface CanonToPlatformGenreRelationAttributes {
7
+ canonGenreId: string;
8
+ platformGenreId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type CanonToPlatformGenreRelationPk = "canonGenreId" | "platformGenreId";
14
+ export type CanonToPlatformGenreRelationId = CanonToPlatformGenreRelation[CanonToPlatformGenreRelationPk];
15
+ export type CanonToPlatformGenreRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type CanonToPlatformGenreRelationCreationAttributes = Optional<CanonToPlatformGenreRelationAttributes, CanonToPlatformGenreRelationOptionalAttributes>;
17
+
18
+ export class CanonToPlatformGenreRelation extends Model<CanonToPlatformGenreRelationAttributes, CanonToPlatformGenreRelationCreationAttributes> implements CanonToPlatformGenreRelationAttributes {
19
+ canonGenreId!: string;
20
+ platformGenreId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // CanonToPlatformGenreRelation belongsTo CanonGenre via canonGenreId
25
+ canonGenre!: CanonGenre;
26
+ getCanonGenre!: Sequelize.BelongsToGetAssociationMixin<CanonGenre>;
27
+ setCanonGenre!: Sequelize.BelongsToSetAssociationMixin<CanonGenre, CanonGenreId>;
28
+ createCanonGenre!: Sequelize.BelongsToCreateAssociationMixin<CanonGenre>;
29
+ // CanonToPlatformGenreRelation belongsTo PlatformGenre via platformGenreId
30
+ platformGenre!: PlatformGenre;
31
+ getPlatformGenre!: Sequelize.BelongsToGetAssociationMixin<PlatformGenre>;
32
+ setPlatformGenre!: Sequelize.BelongsToSetAssociationMixin<PlatformGenre, PlatformGenreId>;
33
+ createPlatformGenre!: Sequelize.BelongsToCreateAssociationMixin<PlatformGenre>;
34
+
35
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonToPlatformGenreRelation {
36
+ return CanonToPlatformGenreRelation.init({
37
+ canonGenreId: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false,
40
+ primaryKey: true,
41
+ references: {
42
+ model: 'canon_genre',
43
+ key: 'id'
44
+ },
45
+ field: 'canon_genre_id'
46
+ },
47
+ platformGenreId: {
48
+ type: DataTypes.UUID,
49
+ allowNull: false,
50
+ primaryKey: true,
51
+ references: {
52
+ model: 'platform_genre',
53
+ key: 'id'
54
+ },
55
+ field: 'platform_genre_id'
56
+ },
57
+ createDate: {
58
+ type: DataTypes.DATE,
59
+ allowNull: false,
60
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
61
+ field: 'create_date'
62
+ },
63
+ updateDate: {
64
+ type: DataTypes.DATE,
65
+ allowNull: false,
66
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
67
+ field: 'update_date'
68
+ }
69
+ }, {
70
+ sequelize,
71
+ tableName: 'canon_to_platform_genre_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "canon_to_platform_genre_relation_pkey",
77
+ unique: true,
78
+ fields: [
79
+ { name: "canon_genre_id" },
80
+ { name: "platform_genre_id" },
81
+ ]
82
+ },
83
+ ]
84
+ });
85
+ }
86
+ }
@@ -0,0 +1,92 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonTrack, CanonTrackId } from './CanonTrack';
4
+ import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
5
+
6
+ export interface CanonToPlatformTrackRelationAttributes {
7
+ canonTrackId: string;
8
+ platformTrackId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type CanonToPlatformTrackRelationPk = "canonTrackId" | "platformTrackId";
14
+ export type CanonToPlatformTrackRelationId = CanonToPlatformTrackRelation[CanonToPlatformTrackRelationPk];
15
+ export type CanonToPlatformTrackRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type CanonToPlatformTrackRelationCreationAttributes = Optional<CanonToPlatformTrackRelationAttributes, CanonToPlatformTrackRelationOptionalAttributes>;
17
+
18
+ export class CanonToPlatformTrackRelation extends Model<CanonToPlatformTrackRelationAttributes, CanonToPlatformTrackRelationCreationAttributes> implements CanonToPlatformTrackRelationAttributes {
19
+ canonTrackId!: string;
20
+ platformTrackId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // CanonToPlatformTrackRelation belongsTo CanonTrack via canonTrackId
25
+ canonTrack!: CanonTrack;
26
+ getCanonTrack!: Sequelize.BelongsToGetAssociationMixin<CanonTrack>;
27
+ setCanonTrack!: Sequelize.BelongsToSetAssociationMixin<CanonTrack, CanonTrackId>;
28
+ createCanonTrack!: Sequelize.BelongsToCreateAssociationMixin<CanonTrack>;
29
+ // CanonToPlatformTrackRelation belongsTo PlatformTrack via platformTrackId
30
+ platformTrack!: PlatformTrack;
31
+ getPlatformTrack!: Sequelize.BelongsToGetAssociationMixin<PlatformTrack>;
32
+ setPlatformTrack!: Sequelize.BelongsToSetAssociationMixin<PlatformTrack, PlatformTrackId>;
33
+ createPlatformTrack!: Sequelize.BelongsToCreateAssociationMixin<PlatformTrack>;
34
+
35
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonToPlatformTrackRelation {
36
+ return CanonToPlatformTrackRelation.init({
37
+ canonTrackId: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false,
40
+ primaryKey: true,
41
+ references: {
42
+ model: 'canon_track',
43
+ key: 'id'
44
+ },
45
+ field: 'canon_track_id'
46
+ },
47
+ platformTrackId: {
48
+ type: DataTypes.UUID,
49
+ allowNull: false,
50
+ primaryKey: true,
51
+ references: {
52
+ model: 'platform_track',
53
+ key: 'id'
54
+ },
55
+ field: 'platform_track_id'
56
+ },
57
+ createDate: {
58
+ type: DataTypes.DATE,
59
+ allowNull: false,
60
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
61
+ field: 'create_date'
62
+ },
63
+ updateDate: {
64
+ type: DataTypes.DATE,
65
+ allowNull: false,
66
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
67
+ field: 'update_date'
68
+ }
69
+ }, {
70
+ sequelize,
71
+ tableName: 'canon_to_platform_track_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "canon_to_platform_track_relation_pkey",
77
+ unique: true,
78
+ fields: [
79
+ { name: "canon_track_id" },
80
+ { name: "platform_track_id" },
81
+ ]
82
+ },
83
+ {
84
+ name: "idx_c2p_track_platform",
85
+ fields: [
86
+ { name: "platform_track_id" },
87
+ ]
88
+ },
89
+ ]
90
+ });
91
+ }
92
+ }
@@ -0,0 +1,232 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonAlbum, CanonAlbumId } from './CanonAlbum';
4
+ import type { CanonAlbumTrackRelation, CanonAlbumTrackRelationId } from './CanonAlbumTrackRelation';
5
+ import type { CanonArtist, CanonArtistId } from './CanonArtist';
6
+ import type { CanonArtistTrackRelation, CanonArtistTrackRelationId } from './CanonArtistTrackRelation';
7
+ import type { CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId } from './CanonToPlatformTrackRelation';
8
+ import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
9
+ import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
10
+ import type { RadioShowPlacement, RadioShowPlacementId } from './RadioShowPlacement';
11
+ import type { Versus, VersusId } from './Versus';
12
+ import type { VersusOption, VersusOptionId } from './VersusOption';
13
+
14
+ export interface CanonTrackAttributes {
15
+ id: string;
16
+ name: string;
17
+ asciiName: string;
18
+ explicit: boolean;
19
+ discNumber?: number;
20
+ discTrackNumber?: number;
21
+ createDate: Date;
22
+ updateDate: Date;
23
+ durationMs: number;
24
+ }
25
+
26
+ export type CanonTrackPk = "id";
27
+ export type CanonTrackId = CanonTrack[CanonTrackPk];
28
+ export type CanonTrackOptionalAttributes = "id" | "discNumber" | "discTrackNumber" | "createDate" | "updateDate";
29
+ export type CanonTrackCreationAttributes = Optional<CanonTrackAttributes, CanonTrackOptionalAttributes>;
30
+
31
+ export class CanonTrack extends Model<CanonTrackAttributes, CanonTrackCreationAttributes> implements CanonTrackAttributes {
32
+ id!: string;
33
+ name!: string;
34
+ asciiName!: string;
35
+ explicit!: boolean;
36
+ discNumber?: number;
37
+ discTrackNumber?: number;
38
+ createDate!: Date;
39
+ updateDate!: Date;
40
+ durationMs!: number;
41
+
42
+ // CanonTrack belongsToMany CanonAlbum via canonTrackId and canonAlbumId
43
+ canonAlbumIdCanonAlbumCanonAlbumTrackRelations!: CanonAlbum[];
44
+ getCanonAlbumIdCanonAlbumCanonAlbumTrackRelations!: Sequelize.BelongsToManyGetAssociationsMixin<CanonAlbum>;
45
+ setCanonAlbumIdCanonAlbumCanonAlbumTrackRelations!: Sequelize.BelongsToManySetAssociationsMixin<CanonAlbum, CanonAlbumId>;
46
+ addCanonAlbumIdCanonAlbumCanonAlbumTrackRelation!: Sequelize.BelongsToManyAddAssociationMixin<CanonAlbum, CanonAlbumId>;
47
+ addCanonAlbumIdCanonAlbumCanonAlbumTrackRelations!: Sequelize.BelongsToManyAddAssociationsMixin<CanonAlbum, CanonAlbumId>;
48
+ createCanonAlbumIdCanonAlbumCanonAlbumTrackRelation!: Sequelize.BelongsToManyCreateAssociationMixin<CanonAlbum>;
49
+ removeCanonAlbumIdCanonAlbumCanonAlbumTrackRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<CanonAlbum, CanonAlbumId>;
50
+ removeCanonAlbumIdCanonAlbumCanonAlbumTrackRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<CanonAlbum, CanonAlbumId>;
51
+ hasCanonAlbumIdCanonAlbumCanonAlbumTrackRelation!: Sequelize.BelongsToManyHasAssociationMixin<CanonAlbum, CanonAlbumId>;
52
+ hasCanonAlbumIdCanonAlbumCanonAlbumTrackRelations!: Sequelize.BelongsToManyHasAssociationsMixin<CanonAlbum, CanonAlbumId>;
53
+ countCanonAlbumIdCanonAlbumCanonAlbumTrackRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
54
+ // CanonTrack hasMany CanonAlbumTrackRelation via canonTrackId
55
+ canonAlbumTrackRelations!: CanonAlbumTrackRelation[];
56
+ getCanonAlbumTrackRelations!: Sequelize.HasManyGetAssociationsMixin<CanonAlbumTrackRelation>;
57
+ setCanonAlbumTrackRelations!: Sequelize.HasManySetAssociationsMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
58
+ addCanonAlbumTrackRelation!: Sequelize.HasManyAddAssociationMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
59
+ addCanonAlbumTrackRelations!: Sequelize.HasManyAddAssociationsMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
60
+ createCanonAlbumTrackRelation!: Sequelize.HasManyCreateAssociationMixin<CanonAlbumTrackRelation>;
61
+ removeCanonAlbumTrackRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
62
+ removeCanonAlbumTrackRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
63
+ hasCanonAlbumTrackRelation!: Sequelize.HasManyHasAssociationMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
64
+ hasCanonAlbumTrackRelations!: Sequelize.HasManyHasAssociationsMixin<CanonAlbumTrackRelation, CanonAlbumTrackRelationId>;
65
+ countCanonAlbumTrackRelations!: Sequelize.HasManyCountAssociationsMixin;
66
+ // CanonTrack belongsToMany CanonArtist via canonTrackId and canonArtistId
67
+ canonArtistIdCanonArtistCanonArtistTrackRelations!: CanonArtist[];
68
+ getCanonArtistIdCanonArtistCanonArtistTrackRelations!: Sequelize.BelongsToManyGetAssociationsMixin<CanonArtist>;
69
+ setCanonArtistIdCanonArtistCanonArtistTrackRelations!: Sequelize.BelongsToManySetAssociationsMixin<CanonArtist, CanonArtistId>;
70
+ addCanonArtistIdCanonArtistCanonArtistTrackRelation!: Sequelize.BelongsToManyAddAssociationMixin<CanonArtist, CanonArtistId>;
71
+ addCanonArtistIdCanonArtistCanonArtistTrackRelations!: Sequelize.BelongsToManyAddAssociationsMixin<CanonArtist, CanonArtistId>;
72
+ createCanonArtistIdCanonArtistCanonArtistTrackRelation!: Sequelize.BelongsToManyCreateAssociationMixin<CanonArtist>;
73
+ removeCanonArtistIdCanonArtistCanonArtistTrackRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<CanonArtist, CanonArtistId>;
74
+ removeCanonArtistIdCanonArtistCanonArtistTrackRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<CanonArtist, CanonArtistId>;
75
+ hasCanonArtistIdCanonArtistCanonArtistTrackRelation!: Sequelize.BelongsToManyHasAssociationMixin<CanonArtist, CanonArtistId>;
76
+ hasCanonArtistIdCanonArtistCanonArtistTrackRelations!: Sequelize.BelongsToManyHasAssociationsMixin<CanonArtist, CanonArtistId>;
77
+ countCanonArtistIdCanonArtistCanonArtistTrackRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
78
+ // CanonTrack hasMany CanonArtistTrackRelation via canonTrackId
79
+ canonArtistTrackRelations!: CanonArtistTrackRelation[];
80
+ getCanonArtistTrackRelations!: Sequelize.HasManyGetAssociationsMixin<CanonArtistTrackRelation>;
81
+ setCanonArtistTrackRelations!: Sequelize.HasManySetAssociationsMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
82
+ addCanonArtistTrackRelation!: Sequelize.HasManyAddAssociationMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
83
+ addCanonArtistTrackRelations!: Sequelize.HasManyAddAssociationsMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
84
+ createCanonArtistTrackRelation!: Sequelize.HasManyCreateAssociationMixin<CanonArtistTrackRelation>;
85
+ removeCanonArtistTrackRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
86
+ removeCanonArtistTrackRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
87
+ hasCanonArtistTrackRelation!: Sequelize.HasManyHasAssociationMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
88
+ hasCanonArtistTrackRelations!: Sequelize.HasManyHasAssociationsMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
89
+ countCanonArtistTrackRelations!: Sequelize.HasManyCountAssociationsMixin;
90
+ // CanonTrack hasMany CanonToPlatformTrackRelation via canonTrackId
91
+ canonToPlatformTrackRelations!: CanonToPlatformTrackRelation[];
92
+ getCanonToPlatformTrackRelations!: Sequelize.HasManyGetAssociationsMixin<CanonToPlatformTrackRelation>;
93
+ setCanonToPlatformTrackRelations!: Sequelize.HasManySetAssociationsMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
94
+ addCanonToPlatformTrackRelation!: Sequelize.HasManyAddAssociationMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
95
+ addCanonToPlatformTrackRelations!: Sequelize.HasManyAddAssociationsMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
96
+ createCanonToPlatformTrackRelation!: Sequelize.HasManyCreateAssociationMixin<CanonToPlatformTrackRelation>;
97
+ removeCanonToPlatformTrackRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
98
+ removeCanonToPlatformTrackRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
99
+ hasCanonToPlatformTrackRelation!: Sequelize.HasManyHasAssociationMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
100
+ hasCanonToPlatformTrackRelations!: Sequelize.HasManyHasAssociationsMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
101
+ countCanonToPlatformTrackRelations!: Sequelize.HasManyCountAssociationsMixin;
102
+ // CanonTrack hasMany JukeboxQueueEntry via trackId
103
+ jukeboxQueueEntries!: JukeboxQueueEntry[];
104
+ getJukeboxQueueEntries!: Sequelize.HasManyGetAssociationsMixin<JukeboxQueueEntry>;
105
+ setJukeboxQueueEntries!: Sequelize.HasManySetAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
106
+ addJukeboxQueueEntry!: Sequelize.HasManyAddAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
107
+ addJukeboxQueueEntries!: Sequelize.HasManyAddAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
108
+ createJukeboxQueueEntry!: Sequelize.HasManyCreateAssociationMixin<JukeboxQueueEntry>;
109
+ removeJukeboxQueueEntry!: Sequelize.HasManyRemoveAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
110
+ removeJukeboxQueueEntries!: Sequelize.HasManyRemoveAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
111
+ hasJukeboxQueueEntry!: Sequelize.HasManyHasAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
112
+ hasJukeboxQueueEntries!: Sequelize.HasManyHasAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
113
+ countJukeboxQueueEntries!: Sequelize.HasManyCountAssociationsMixin;
114
+ // CanonTrack belongsToMany PlatformTrack via canonTrackId and platformTrackId
115
+ platformTrackIdPlatformTracks!: PlatformTrack[];
116
+ getPlatformTrackIdPlatformTracks!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformTrack>;
117
+ setPlatformTrackIdPlatformTracks!: Sequelize.BelongsToManySetAssociationsMixin<PlatformTrack, PlatformTrackId>;
118
+ addPlatformTrackIdPlatformTrack!: Sequelize.BelongsToManyAddAssociationMixin<PlatformTrack, PlatformTrackId>;
119
+ addPlatformTrackIdPlatformTracks!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformTrack, PlatformTrackId>;
120
+ createPlatformTrackIdPlatformTrack!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformTrack>;
121
+ removePlatformTrackIdPlatformTrack!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformTrack, PlatformTrackId>;
122
+ removePlatformTrackIdPlatformTracks!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformTrack, PlatformTrackId>;
123
+ hasPlatformTrackIdPlatformTrack!: Sequelize.BelongsToManyHasAssociationMixin<PlatformTrack, PlatformTrackId>;
124
+ hasPlatformTrackIdPlatformTracks!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformTrack, PlatformTrackId>;
125
+ countPlatformTrackIdPlatformTracks!: Sequelize.BelongsToManyCountAssociationsMixin;
126
+ // CanonTrack hasMany RadioShowPlacement via canonTrackId
127
+ radioShowPlacements!: RadioShowPlacement[];
128
+ getRadioShowPlacements!: Sequelize.HasManyGetAssociationsMixin<RadioShowPlacement>;
129
+ setRadioShowPlacements!: Sequelize.HasManySetAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
130
+ addRadioShowPlacement!: Sequelize.HasManyAddAssociationMixin<RadioShowPlacement, RadioShowPlacementId>;
131
+ addRadioShowPlacements!: Sequelize.HasManyAddAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
132
+ createRadioShowPlacement!: Sequelize.HasManyCreateAssociationMixin<RadioShowPlacement>;
133
+ removeRadioShowPlacement!: Sequelize.HasManyRemoveAssociationMixin<RadioShowPlacement, RadioShowPlacementId>;
134
+ removeRadioShowPlacements!: Sequelize.HasManyRemoveAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
135
+ hasRadioShowPlacement!: Sequelize.HasManyHasAssociationMixin<RadioShowPlacement, RadioShowPlacementId>;
136
+ hasRadioShowPlacements!: Sequelize.HasManyHasAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
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;
162
+
163
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonTrack {
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
+ },
171
+ name: {
172
+ type: DataTypes.TEXT,
173
+ allowNull: false
174
+ },
175
+ asciiName: {
176
+ type: DataTypes.TEXT,
177
+ allowNull: false,
178
+ field: 'ascii_name'
179
+ },
180
+ explicit: {
181
+ type: DataTypes.BOOLEAN,
182
+ allowNull: false
183
+ },
184
+ discNumber: {
185
+ type: DataTypes.SMALLINT,
186
+ allowNull: true,
187
+ field: 'disc_number'
188
+ },
189
+ discTrackNumber: {
190
+ type: DataTypes.SMALLINT,
191
+ allowNull: true,
192
+ field: 'disc_track_number'
193
+ },
194
+ createDate: {
195
+ type: DataTypes.DATE,
196
+ allowNull: false,
197
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
198
+ field: 'create_date'
199
+ },
200
+ updateDate: {
201
+ type: DataTypes.DATE,
202
+ allowNull: false,
203
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
204
+ field: 'update_date'
205
+ },
206
+ durationMs: {
207
+ type: DataTypes.INTEGER,
208
+ allowNull: false,
209
+ field: 'duration_ms'
210
+ }
211
+ }, {
212
+ sequelize,
213
+ tableName: 'canon_track',
214
+ schema: 'eb',
215
+ timestamps: false,
216
+ indexes: [
217
+ {
218
+ name: "canon_track_lower_name_idx",
219
+ fields: [
220
+ ]
221
+ },
222
+ {
223
+ name: "platform_track_pkey",
224
+ unique: true,
225
+ fields: [
226
+ { name: "id" },
227
+ ]
228
+ },
229
+ ]
230
+ });
231
+ }
232
+ }
@@ -0,0 +1,62 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+
4
+ export interface ConfigParamAttributes {
5
+ name: string;
6
+ value?: string;
7
+ createdAt: Date;
8
+ updatedAt: Date;
9
+ }
10
+
11
+ export type ConfigParamPk = "name";
12
+ export type ConfigParamId = ConfigParam[ConfigParamPk];
13
+ export type ConfigParamOptionalAttributes = "value" | "createdAt" | "updatedAt";
14
+ export type ConfigParamCreationAttributes = Optional<ConfigParamAttributes, ConfigParamOptionalAttributes>;
15
+
16
+ export class ConfigParam extends Model<ConfigParamAttributes, ConfigParamCreationAttributes> implements ConfigParamAttributes {
17
+ name!: string;
18
+ value?: string;
19
+ createdAt!: Date;
20
+ updatedAt!: Date;
21
+
22
+
23
+ static initModel(sequelize: Sequelize.Sequelize): typeof ConfigParam {
24
+ return ConfigParam.init({
25
+ name: {
26
+ type: DataTypes.TEXT,
27
+ allowNull: false,
28
+ primaryKey: true
29
+ },
30
+ value: {
31
+ type: DataTypes.TEXT,
32
+ allowNull: true
33
+ },
34
+ createdAt: {
35
+ type: DataTypes.DATE,
36
+ allowNull: false,
37
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
38
+ field: 'created_at'
39
+ },
40
+ updatedAt: {
41
+ type: DataTypes.DATE,
42
+ allowNull: false,
43
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
44
+ field: 'updated_at'
45
+ }
46
+ }, {
47
+ sequelize,
48
+ tableName: 'config_param',
49
+ schema: 'eb',
50
+ timestamps: false,
51
+ indexes: [
52
+ {
53
+ name: "config_param_pkey",
54
+ unique: true,
55
+ fields: [
56
+ { name: "name" },
57
+ ]
58
+ },
59
+ ]
60
+ });
61
+ }
62
+ }