@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,92 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonAlbum, CanonAlbumId } from './CanonAlbum';
4
+ import type { ExternalReference, ExternalReferenceId } from './ExternalReference';
5
+
6
+ export interface CanonAlbumExternalReferenceRelationAttributes {
7
+ canonAlbumId: string;
8
+ externalReferenceId: string;
9
+ url: string;
10
+ createDate: Date;
11
+ updateDate: Date;
12
+ }
13
+
14
+ export type CanonAlbumExternalReferenceRelationPk = "canonAlbumId" | "externalReferenceId";
15
+ export type CanonAlbumExternalReferenceRelationId = CanonAlbumExternalReferenceRelation[CanonAlbumExternalReferenceRelationPk];
16
+ export type CanonAlbumExternalReferenceRelationOptionalAttributes = "createDate" | "updateDate";
17
+ export type CanonAlbumExternalReferenceRelationCreationAttributes = Optional<CanonAlbumExternalReferenceRelationAttributes, CanonAlbumExternalReferenceRelationOptionalAttributes>;
18
+
19
+ export class CanonAlbumExternalReferenceRelation extends Model<CanonAlbumExternalReferenceRelationAttributes, CanonAlbumExternalReferenceRelationCreationAttributes> implements CanonAlbumExternalReferenceRelationAttributes {
20
+ canonAlbumId!: string;
21
+ externalReferenceId!: string;
22
+ url!: string;
23
+ createDate!: Date;
24
+ updateDate!: Date;
25
+
26
+ // CanonAlbumExternalReferenceRelation belongsTo CanonAlbum via canonAlbumId
27
+ canonAlbum!: CanonAlbum;
28
+ getCanonAlbum!: Sequelize.BelongsToGetAssociationMixin<CanonAlbum>;
29
+ setCanonAlbum!: Sequelize.BelongsToSetAssociationMixin<CanonAlbum, CanonAlbumId>;
30
+ createCanonAlbum!: Sequelize.BelongsToCreateAssociationMixin<CanonAlbum>;
31
+ // CanonAlbumExternalReferenceRelation belongsTo ExternalReference via externalReferenceId
32
+ externalReference!: ExternalReference;
33
+ getExternalReference!: Sequelize.BelongsToGetAssociationMixin<ExternalReference>;
34
+ setExternalReference!: Sequelize.BelongsToSetAssociationMixin<ExternalReference, ExternalReferenceId>;
35
+ createExternalReference!: Sequelize.BelongsToCreateAssociationMixin<ExternalReference>;
36
+
37
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonAlbumExternalReferenceRelation {
38
+ return CanonAlbumExternalReferenceRelation.init({
39
+ canonAlbumId: {
40
+ type: DataTypes.UUID,
41
+ allowNull: false,
42
+ primaryKey: true,
43
+ references: {
44
+ model: 'canon_album',
45
+ key: 'id'
46
+ },
47
+ field: 'canon_album_id'
48
+ },
49
+ externalReferenceId: {
50
+ type: DataTypes.UUID,
51
+ allowNull: false,
52
+ primaryKey: true,
53
+ references: {
54
+ model: 'external_reference',
55
+ key: 'id'
56
+ },
57
+ field: 'external_reference_id'
58
+ },
59
+ url: {
60
+ type: DataTypes.TEXT,
61
+ allowNull: false
62
+ },
63
+ createDate: {
64
+ type: DataTypes.DATE,
65
+ allowNull: false,
66
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
67
+ field: 'create_date'
68
+ },
69
+ updateDate: {
70
+ type: DataTypes.DATE,
71
+ allowNull: false,
72
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
73
+ field: 'update_date'
74
+ }
75
+ }, {
76
+ sequelize,
77
+ tableName: 'canon_album_external_reference_relation',
78
+ schema: 'eb',
79
+ timestamps: false,
80
+ indexes: [
81
+ {
82
+ name: "canon_album_external_reference_relation_pk",
83
+ unique: true,
84
+ fields: [
85
+ { name: "canon_album_id" },
86
+ { name: "external_reference_id" },
87
+ ]
88
+ },
89
+ ]
90
+ });
91
+ }
92
+ }
@@ -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 { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
5
+
6
+ export interface CanonAlbumGenreRelationAttributes {
7
+ canonAlbumId: string;
8
+ canonGenreId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type CanonAlbumGenreRelationPk = "canonAlbumId" | "canonGenreId";
14
+ export type CanonAlbumGenreRelationId = CanonAlbumGenreRelation[CanonAlbumGenreRelationPk];
15
+ export type CanonAlbumGenreRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type CanonAlbumGenreRelationCreationAttributes = Optional<CanonAlbumGenreRelationAttributes, CanonAlbumGenreRelationOptionalAttributes>;
17
+
18
+ export class CanonAlbumGenreRelation extends Model<CanonAlbumGenreRelationAttributes, CanonAlbumGenreRelationCreationAttributes> implements CanonAlbumGenreRelationAttributes {
19
+ canonAlbumId!: string;
20
+ canonGenreId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // CanonAlbumGenreRelation belongsTo CanonGenre via canonGenreId
25
+ canonGenre!: CanonGenre;
26
+ getCanonGenre!: Sequelize.BelongsToGetAssociationMixin<CanonGenre>;
27
+ setCanonGenre!: Sequelize.BelongsToSetAssociationMixin<CanonGenre, CanonGenreId>;
28
+ createCanonGenre!: Sequelize.BelongsToCreateAssociationMixin<CanonGenre>;
29
+ // CanonAlbumGenreRelation belongsTo PlatformAlbum via canonAlbumId
30
+ canonAlbum!: PlatformAlbum;
31
+ getCanonAlbum!: Sequelize.BelongsToGetAssociationMixin<PlatformAlbum>;
32
+ setCanonAlbum!: Sequelize.BelongsToSetAssociationMixin<PlatformAlbum, PlatformAlbumId>;
33
+ createCanonAlbum!: Sequelize.BelongsToCreateAssociationMixin<PlatformAlbum>;
34
+
35
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonAlbumGenreRelation {
36
+ return CanonAlbumGenreRelation.init({
37
+ canonAlbumId: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false,
40
+ primaryKey: true,
41
+ references: {
42
+ model: 'platform_album',
43
+ key: 'id'
44
+ },
45
+ field: 'canon_album_id'
46
+ },
47
+ canonGenreId: {
48
+ type: DataTypes.UUID,
49
+ allowNull: false,
50
+ primaryKey: true,
51
+ references: {
52
+ model: 'canon_genre',
53
+ key: 'id'
54
+ },
55
+ field: 'canon_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_album_genre_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "canon_album_genre_relation_pkey",
77
+ unique: true,
78
+ fields: [
79
+ { name: "canon_album_id" },
80
+ { name: "canon_genre_id" },
81
+ ]
82
+ },
83
+ ]
84
+ });
85
+ }
86
+ }
@@ -0,0 +1,86 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonLabel, CanonLabelId } from './CanonLabel';
4
+ import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
5
+
6
+ export interface CanonAlbumLabelRelationAttributes {
7
+ canonAlbumId: string;
8
+ canonLabelId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type CanonAlbumLabelRelationPk = "canonAlbumId" | "canonLabelId";
14
+ export type CanonAlbumLabelRelationId = CanonAlbumLabelRelation[CanonAlbumLabelRelationPk];
15
+ export type CanonAlbumLabelRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type CanonAlbumLabelRelationCreationAttributes = Optional<CanonAlbumLabelRelationAttributes, CanonAlbumLabelRelationOptionalAttributes>;
17
+
18
+ export class CanonAlbumLabelRelation extends Model<CanonAlbumLabelRelationAttributes, CanonAlbumLabelRelationCreationAttributes> implements CanonAlbumLabelRelationAttributes {
19
+ canonAlbumId!: string;
20
+ canonLabelId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // CanonAlbumLabelRelation belongsTo CanonLabel via canonLabelId
25
+ canonLabel!: CanonLabel;
26
+ getCanonLabel!: Sequelize.BelongsToGetAssociationMixin<CanonLabel>;
27
+ setCanonLabel!: Sequelize.BelongsToSetAssociationMixin<CanonLabel, CanonLabelId>;
28
+ createCanonLabel!: Sequelize.BelongsToCreateAssociationMixin<CanonLabel>;
29
+ // CanonAlbumLabelRelation belongsTo PlatformAlbum via canonAlbumId
30
+ canonAlbum!: PlatformAlbum;
31
+ getCanonAlbum!: Sequelize.BelongsToGetAssociationMixin<PlatformAlbum>;
32
+ setCanonAlbum!: Sequelize.BelongsToSetAssociationMixin<PlatformAlbum, PlatformAlbumId>;
33
+ createCanonAlbum!: Sequelize.BelongsToCreateAssociationMixin<PlatformAlbum>;
34
+
35
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonAlbumLabelRelation {
36
+ return CanonAlbumLabelRelation.init({
37
+ canonAlbumId: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false,
40
+ primaryKey: true,
41
+ references: {
42
+ model: 'platform_album',
43
+ key: 'id'
44
+ },
45
+ field: 'canon_album_id'
46
+ },
47
+ canonLabelId: {
48
+ type: DataTypes.UUID,
49
+ allowNull: false,
50
+ primaryKey: true,
51
+ references: {
52
+ model: 'canon_label',
53
+ key: 'id'
54
+ },
55
+ field: 'canon_label_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_album_label_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "canon_album_label_relation_pkey",
77
+ unique: true,
78
+ fields: [
79
+ { name: "canon_album_id" },
80
+ { name: "canon_label_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 { CanonAlbum, CanonAlbumId } from './CanonAlbum';
4
+ import type { CanonTrack, CanonTrackId } from './CanonTrack';
5
+
6
+ export interface CanonAlbumTrackRelationAttributes {
7
+ canonAlbumId: string;
8
+ canonTrackId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type CanonAlbumTrackRelationPk = "canonAlbumId" | "canonTrackId";
14
+ export type CanonAlbumTrackRelationId = CanonAlbumTrackRelation[CanonAlbumTrackRelationPk];
15
+ export type CanonAlbumTrackRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type CanonAlbumTrackRelationCreationAttributes = Optional<CanonAlbumTrackRelationAttributes, CanonAlbumTrackRelationOptionalAttributes>;
17
+
18
+ export class CanonAlbumTrackRelation extends Model<CanonAlbumTrackRelationAttributes, CanonAlbumTrackRelationCreationAttributes> implements CanonAlbumTrackRelationAttributes {
19
+ canonAlbumId!: string;
20
+ canonTrackId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // CanonAlbumTrackRelation belongsTo CanonAlbum via canonAlbumId
25
+ canonAlbum!: CanonAlbum;
26
+ getCanonAlbum!: Sequelize.BelongsToGetAssociationMixin<CanonAlbum>;
27
+ setCanonAlbum!: Sequelize.BelongsToSetAssociationMixin<CanonAlbum, CanonAlbumId>;
28
+ createCanonAlbum!: Sequelize.BelongsToCreateAssociationMixin<CanonAlbum>;
29
+ // CanonAlbumTrackRelation belongsTo CanonTrack via canonTrackId
30
+ canonTrack!: CanonTrack;
31
+ getCanonTrack!: Sequelize.BelongsToGetAssociationMixin<CanonTrack>;
32
+ setCanonTrack!: Sequelize.BelongsToSetAssociationMixin<CanonTrack, CanonTrackId>;
33
+ createCanonTrack!: Sequelize.BelongsToCreateAssociationMixin<CanonTrack>;
34
+
35
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonAlbumTrackRelation {
36
+ return CanonAlbumTrackRelation.init({
37
+ canonAlbumId: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false,
40
+ primaryKey: true,
41
+ references: {
42
+ model: 'canon_album',
43
+ key: 'id'
44
+ },
45
+ field: 'canon_album_id'
46
+ },
47
+ canonTrackId: {
48
+ type: DataTypes.UUID,
49
+ allowNull: false,
50
+ primaryKey: true,
51
+ references: {
52
+ model: 'canon_track',
53
+ key: 'id'
54
+ },
55
+ field: 'canon_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_album_track_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "canon_album_track_relation_pkey",
77
+ unique: true,
78
+ fields: [
79
+ { name: "canon_album_id" },
80
+ { name: "canon_track_id" },
81
+ ]
82
+ },
83
+ {
84
+ name: "idx_canon_album_track_track",
85
+ fields: [
86
+ { name: "canon_track_id" },
87
+ ]
88
+ },
89
+ ]
90
+ });
91
+ }
92
+ }