@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 { CanonMember, CanonMemberId } from './CanonMember';
4
+ import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
5
+
6
+ export interface CanonArtistMemberRelationAttributes {
7
+ canonArtistId: string;
8
+ canonMemberId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type CanonArtistMemberRelationPk = "canonArtistId" | "canonMemberId";
14
+ export type CanonArtistMemberRelationId = CanonArtistMemberRelation[CanonArtistMemberRelationPk];
15
+ export type CanonArtistMemberRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type CanonArtistMemberRelationCreationAttributes = Optional<CanonArtistMemberRelationAttributes, CanonArtistMemberRelationOptionalAttributes>;
17
+
18
+ export class CanonArtistMemberRelation extends Model<CanonArtistMemberRelationAttributes, CanonArtistMemberRelationCreationAttributes> implements CanonArtistMemberRelationAttributes {
19
+ canonArtistId!: string;
20
+ canonMemberId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // CanonArtistMemberRelation belongsTo CanonMember via canonMemberId
25
+ canonMember!: CanonMember;
26
+ getCanonMember!: Sequelize.BelongsToGetAssociationMixin<CanonMember>;
27
+ setCanonMember!: Sequelize.BelongsToSetAssociationMixin<CanonMember, CanonMemberId>;
28
+ createCanonMember!: Sequelize.BelongsToCreateAssociationMixin<CanonMember>;
29
+ // CanonArtistMemberRelation belongsTo PlatformArtist via canonArtistId
30
+ canonArtist!: PlatformArtist;
31
+ getCanonArtist!: Sequelize.BelongsToGetAssociationMixin<PlatformArtist>;
32
+ setCanonArtist!: Sequelize.BelongsToSetAssociationMixin<PlatformArtist, PlatformArtistId>;
33
+ createCanonArtist!: Sequelize.BelongsToCreateAssociationMixin<PlatformArtist>;
34
+
35
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonArtistMemberRelation {
36
+ return CanonArtistMemberRelation.init({
37
+ canonArtistId: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false,
40
+ primaryKey: true,
41
+ references: {
42
+ model: 'platform_artist',
43
+ key: 'id'
44
+ },
45
+ field: 'canon_artist_id'
46
+ },
47
+ canonMemberId: {
48
+ type: DataTypes.UUID,
49
+ allowNull: false,
50
+ primaryKey: true,
51
+ references: {
52
+ model: 'canon_member',
53
+ key: 'id'
54
+ },
55
+ field: 'canon_member_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_artist_member_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "canon_artist_member_relation_pk",
77
+ unique: true,
78
+ fields: [
79
+ { name: "canon_artist_id" },
80
+ { name: "canon_member_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 { CanonArtist, CanonArtistId } from './CanonArtist';
4
+ import type { CanonTrack, CanonTrackId } from './CanonTrack';
5
+
6
+ export interface CanonArtistTrackRelationAttributes {
7
+ canonArtistId: string;
8
+ canonTrackId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type CanonArtistTrackRelationPk = "canonArtistId" | "canonTrackId";
14
+ export type CanonArtistTrackRelationId = CanonArtistTrackRelation[CanonArtistTrackRelationPk];
15
+ export type CanonArtistTrackRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type CanonArtistTrackRelationCreationAttributes = Optional<CanonArtistTrackRelationAttributes, CanonArtistTrackRelationOptionalAttributes>;
17
+
18
+ export class CanonArtistTrackRelation extends Model<CanonArtistTrackRelationAttributes, CanonArtistTrackRelationCreationAttributes> implements CanonArtistTrackRelationAttributes {
19
+ canonArtistId!: string;
20
+ canonTrackId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // CanonArtistTrackRelation belongsTo CanonArtist via canonArtistId
25
+ canonArtist!: CanonArtist;
26
+ getCanonArtist!: Sequelize.BelongsToGetAssociationMixin<CanonArtist>;
27
+ setCanonArtist!: Sequelize.BelongsToSetAssociationMixin<CanonArtist, CanonArtistId>;
28
+ createCanonArtist!: Sequelize.BelongsToCreateAssociationMixin<CanonArtist>;
29
+ // CanonArtistTrackRelation 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 CanonArtistTrackRelation {
36
+ return CanonArtistTrackRelation.init({
37
+ canonArtistId: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false,
40
+ primaryKey: true,
41
+ references: {
42
+ model: 'canon_artist',
43
+ key: 'id'
44
+ },
45
+ field: 'canon_artist_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_artist_track_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "canon_artist_track_relation_pkey",
77
+ unique: true,
78
+ fields: [
79
+ { name: "canon_artist_id" },
80
+ { name: "canon_track_id" },
81
+ ]
82
+ },
83
+ {
84
+ name: "idx_canon_artist_track_track",
85
+ fields: [
86
+ { name: "canon_track_id" },
87
+ ]
88
+ },
89
+ ]
90
+ });
91
+ }
92
+ }
@@ -0,0 +1,273 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonAlbumGenreRelation, CanonAlbumGenreRelationId } from './CanonAlbumGenreRelation';
4
+ import type { CanonArtistGenreRelation, CanonArtistGenreRelationId } from './CanonArtistGenreRelation';
5
+ import type { CanonGenreExternalReferenceRelation, CanonGenreExternalReferenceRelationId } from './CanonGenreExternalReferenceRelation';
6
+ import type { CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId } from './CanonToPlatformGenreRelation';
7
+ import type { ExternalReference, ExternalReferenceId } from './ExternalReference';
8
+ import type { JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId } from './JukeboxCanonGenreRelation';
9
+ import type { JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId } from './JukeboxSessionGenreAffinity';
10
+ import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
11
+ import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
12
+ import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
13
+ import type { PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId } from './PlatformUserPlaylistGenreAffinity';
14
+ import type { RadioShowGenres, RadioShowGenresId } from './RadioShowGenres';
15
+ import type { UserGenreAffinity, UserGenreAffinityId } from './UserGenreAffinity';
16
+ import type { Versus, VersusId } from './Versus';
17
+
18
+ export interface CanonGenreAttributes {
19
+ id: string;
20
+ name: string;
21
+ asciiName: string;
22
+ description: string;
23
+ parentGenreId?: string;
24
+ createDate: Date;
25
+ updateDate: Date;
26
+ }
27
+
28
+ export type CanonGenrePk = "id";
29
+ export type CanonGenreId = CanonGenre[CanonGenrePk];
30
+ export type CanonGenreOptionalAttributes = "id" | "parentGenreId" | "createDate" | "updateDate";
31
+ export type CanonGenreCreationAttributes = Optional<CanonGenreAttributes, CanonGenreOptionalAttributes>;
32
+
33
+ export class CanonGenre extends Model<CanonGenreAttributes, CanonGenreCreationAttributes> implements CanonGenreAttributes {
34
+ id!: string;
35
+ name!: string;
36
+ asciiName!: string;
37
+ description!: string;
38
+ parentGenreId?: string;
39
+ createDate!: Date;
40
+ updateDate!: Date;
41
+
42
+ // CanonGenre hasMany CanonAlbumGenreRelation via canonGenreId
43
+ canonAlbumGenreRelations!: CanonAlbumGenreRelation[];
44
+ getCanonAlbumGenreRelations!: Sequelize.HasManyGetAssociationsMixin<CanonAlbumGenreRelation>;
45
+ setCanonAlbumGenreRelations!: Sequelize.HasManySetAssociationsMixin<CanonAlbumGenreRelation, CanonAlbumGenreRelationId>;
46
+ addCanonAlbumGenreRelation!: Sequelize.HasManyAddAssociationMixin<CanonAlbumGenreRelation, CanonAlbumGenreRelationId>;
47
+ addCanonAlbumGenreRelations!: Sequelize.HasManyAddAssociationsMixin<CanonAlbumGenreRelation, CanonAlbumGenreRelationId>;
48
+ createCanonAlbumGenreRelation!: Sequelize.HasManyCreateAssociationMixin<CanonAlbumGenreRelation>;
49
+ removeCanonAlbumGenreRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonAlbumGenreRelation, CanonAlbumGenreRelationId>;
50
+ removeCanonAlbumGenreRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonAlbumGenreRelation, CanonAlbumGenreRelationId>;
51
+ hasCanonAlbumGenreRelation!: Sequelize.HasManyHasAssociationMixin<CanonAlbumGenreRelation, CanonAlbumGenreRelationId>;
52
+ hasCanonAlbumGenreRelations!: Sequelize.HasManyHasAssociationsMixin<CanonAlbumGenreRelation, CanonAlbumGenreRelationId>;
53
+ countCanonAlbumGenreRelations!: Sequelize.HasManyCountAssociationsMixin;
54
+ // CanonGenre hasMany CanonArtistGenreRelation via canonGenreId
55
+ canonArtistGenreRelations!: CanonArtistGenreRelation[];
56
+ getCanonArtistGenreRelations!: Sequelize.HasManyGetAssociationsMixin<CanonArtistGenreRelation>;
57
+ setCanonArtistGenreRelations!: Sequelize.HasManySetAssociationsMixin<CanonArtistGenreRelation, CanonArtistGenreRelationId>;
58
+ addCanonArtistGenreRelation!: Sequelize.HasManyAddAssociationMixin<CanonArtistGenreRelation, CanonArtistGenreRelationId>;
59
+ addCanonArtistGenreRelations!: Sequelize.HasManyAddAssociationsMixin<CanonArtistGenreRelation, CanonArtistGenreRelationId>;
60
+ createCanonArtistGenreRelation!: Sequelize.HasManyCreateAssociationMixin<CanonArtistGenreRelation>;
61
+ removeCanonArtistGenreRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonArtistGenreRelation, CanonArtistGenreRelationId>;
62
+ removeCanonArtistGenreRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonArtistGenreRelation, CanonArtistGenreRelationId>;
63
+ hasCanonArtistGenreRelation!: Sequelize.HasManyHasAssociationMixin<CanonArtistGenreRelation, CanonArtistGenreRelationId>;
64
+ hasCanonArtistGenreRelations!: Sequelize.HasManyHasAssociationsMixin<CanonArtistGenreRelation, CanonArtistGenreRelationId>;
65
+ countCanonArtistGenreRelations!: Sequelize.HasManyCountAssociationsMixin;
66
+ // CanonGenre hasMany CanonGenreExternalReferenceRelation via canonGenreId
67
+ canonGenreExternalReferenceRelations!: CanonGenreExternalReferenceRelation[];
68
+ getCanonGenreExternalReferenceRelations!: Sequelize.HasManyGetAssociationsMixin<CanonGenreExternalReferenceRelation>;
69
+ setCanonGenreExternalReferenceRelations!: Sequelize.HasManySetAssociationsMixin<CanonGenreExternalReferenceRelation, CanonGenreExternalReferenceRelationId>;
70
+ addCanonGenreExternalReferenceRelation!: Sequelize.HasManyAddAssociationMixin<CanonGenreExternalReferenceRelation, CanonGenreExternalReferenceRelationId>;
71
+ addCanonGenreExternalReferenceRelations!: Sequelize.HasManyAddAssociationsMixin<CanonGenreExternalReferenceRelation, CanonGenreExternalReferenceRelationId>;
72
+ createCanonGenreExternalReferenceRelation!: Sequelize.HasManyCreateAssociationMixin<CanonGenreExternalReferenceRelation>;
73
+ removeCanonGenreExternalReferenceRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonGenreExternalReferenceRelation, CanonGenreExternalReferenceRelationId>;
74
+ removeCanonGenreExternalReferenceRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonGenreExternalReferenceRelation, CanonGenreExternalReferenceRelationId>;
75
+ hasCanonGenreExternalReferenceRelation!: Sequelize.HasManyHasAssociationMixin<CanonGenreExternalReferenceRelation, CanonGenreExternalReferenceRelationId>;
76
+ hasCanonGenreExternalReferenceRelations!: Sequelize.HasManyHasAssociationsMixin<CanonGenreExternalReferenceRelation, CanonGenreExternalReferenceRelationId>;
77
+ countCanonGenreExternalReferenceRelations!: Sequelize.HasManyCountAssociationsMixin;
78
+ // CanonGenre hasMany CanonToPlatformGenreRelation via canonGenreId
79
+ canonToPlatformGenreRelations!: CanonToPlatformGenreRelation[];
80
+ getCanonToPlatformGenreRelations!: Sequelize.HasManyGetAssociationsMixin<CanonToPlatformGenreRelation>;
81
+ setCanonToPlatformGenreRelations!: Sequelize.HasManySetAssociationsMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
82
+ addCanonToPlatformGenreRelation!: Sequelize.HasManyAddAssociationMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
83
+ addCanonToPlatformGenreRelations!: Sequelize.HasManyAddAssociationsMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
84
+ createCanonToPlatformGenreRelation!: Sequelize.HasManyCreateAssociationMixin<CanonToPlatformGenreRelation>;
85
+ removeCanonToPlatformGenreRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
86
+ removeCanonToPlatformGenreRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
87
+ hasCanonToPlatformGenreRelation!: Sequelize.HasManyHasAssociationMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
88
+ hasCanonToPlatformGenreRelations!: Sequelize.HasManyHasAssociationsMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
89
+ countCanonToPlatformGenreRelations!: Sequelize.HasManyCountAssociationsMixin;
90
+ // CanonGenre belongsToMany ExternalReference via canonGenreId and externalReferenceId
91
+ externalReferenceIdExternalReferenceCanonGenreExternalReferenceRelations!: ExternalReference[];
92
+ getExternalReferenceIdExternalReferenceCanonGenreExternalReferenceRelations!: Sequelize.BelongsToManyGetAssociationsMixin<ExternalReference>;
93
+ setExternalReferenceIdExternalReferenceCanonGenreExternalReferenceRelations!: Sequelize.BelongsToManySetAssociationsMixin<ExternalReference, ExternalReferenceId>;
94
+ addExternalReferenceIdExternalReferenceCanonGenreExternalReferenceRelation!: Sequelize.BelongsToManyAddAssociationMixin<ExternalReference, ExternalReferenceId>;
95
+ addExternalReferenceIdExternalReferenceCanonGenreExternalReferenceRelations!: Sequelize.BelongsToManyAddAssociationsMixin<ExternalReference, ExternalReferenceId>;
96
+ createExternalReferenceIdExternalReferenceCanonGenreExternalReferenceRelation!: Sequelize.BelongsToManyCreateAssociationMixin<ExternalReference>;
97
+ removeExternalReferenceIdExternalReferenceCanonGenreExternalReferenceRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<ExternalReference, ExternalReferenceId>;
98
+ removeExternalReferenceIdExternalReferenceCanonGenreExternalReferenceRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<ExternalReference, ExternalReferenceId>;
99
+ hasExternalReferenceIdExternalReferenceCanonGenreExternalReferenceRelation!: Sequelize.BelongsToManyHasAssociationMixin<ExternalReference, ExternalReferenceId>;
100
+ hasExternalReferenceIdExternalReferenceCanonGenreExternalReferenceRelations!: Sequelize.BelongsToManyHasAssociationsMixin<ExternalReference, ExternalReferenceId>;
101
+ countExternalReferenceIdExternalReferenceCanonGenreExternalReferenceRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
102
+ // CanonGenre hasMany JukeboxCanonGenreRelation via canonGenreId
103
+ jukeboxCanonGenreRelations!: JukeboxCanonGenreRelation[];
104
+ getJukeboxCanonGenreRelations!: Sequelize.HasManyGetAssociationsMixin<JukeboxCanonGenreRelation>;
105
+ setJukeboxCanonGenreRelations!: Sequelize.HasManySetAssociationsMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
106
+ addJukeboxCanonGenreRelation!: Sequelize.HasManyAddAssociationMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
107
+ addJukeboxCanonGenreRelations!: Sequelize.HasManyAddAssociationsMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
108
+ createJukeboxCanonGenreRelation!: Sequelize.HasManyCreateAssociationMixin<JukeboxCanonGenreRelation>;
109
+ removeJukeboxCanonGenreRelation!: Sequelize.HasManyRemoveAssociationMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
110
+ removeJukeboxCanonGenreRelations!: Sequelize.HasManyRemoveAssociationsMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
111
+ hasJukeboxCanonGenreRelation!: Sequelize.HasManyHasAssociationMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
112
+ hasJukeboxCanonGenreRelations!: Sequelize.HasManyHasAssociationsMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
113
+ countJukeboxCanonGenreRelations!: Sequelize.HasManyCountAssociationsMixin;
114
+ // CanonGenre hasMany JukeboxSessionGenreAffinity via canonGenreId
115
+ jukeboxSessionGenreAffinities!: JukeboxSessionGenreAffinity[];
116
+ getJukeboxSessionGenreAffinities!: Sequelize.HasManyGetAssociationsMixin<JukeboxSessionGenreAffinity>;
117
+ setJukeboxSessionGenreAffinities!: Sequelize.HasManySetAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
118
+ addJukeboxSessionGenreAffinity!: Sequelize.HasManyAddAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
119
+ addJukeboxSessionGenreAffinities!: Sequelize.HasManyAddAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
120
+ createJukeboxSessionGenreAffinity!: Sequelize.HasManyCreateAssociationMixin<JukeboxSessionGenreAffinity>;
121
+ removeJukeboxSessionGenreAffinity!: Sequelize.HasManyRemoveAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
122
+ removeJukeboxSessionGenreAffinities!: Sequelize.HasManyRemoveAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
123
+ hasJukeboxSessionGenreAffinity!: Sequelize.HasManyHasAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
124
+ hasJukeboxSessionGenreAffinities!: Sequelize.HasManyHasAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
125
+ countJukeboxSessionGenreAffinities!: Sequelize.HasManyCountAssociationsMixin;
126
+ // CanonGenre belongsToMany PlatformAlbum via canonGenreId and canonAlbumId
127
+ canonAlbumIdPlatformAlbums!: PlatformAlbum[];
128
+ getCanonAlbumIdPlatformAlbums!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformAlbum>;
129
+ setCanonAlbumIdPlatformAlbums!: Sequelize.BelongsToManySetAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
130
+ addCanonAlbumIdPlatformAlbum!: Sequelize.BelongsToManyAddAssociationMixin<PlatformAlbum, PlatformAlbumId>;
131
+ addCanonAlbumIdPlatformAlbums!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
132
+ createCanonAlbumIdPlatformAlbum!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformAlbum>;
133
+ removeCanonAlbumIdPlatformAlbum!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformAlbum, PlatformAlbumId>;
134
+ removeCanonAlbumIdPlatformAlbums!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
135
+ hasCanonAlbumIdPlatformAlbum!: Sequelize.BelongsToManyHasAssociationMixin<PlatformAlbum, PlatformAlbumId>;
136
+ hasCanonAlbumIdPlatformAlbums!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
137
+ countCanonAlbumIdPlatformAlbums!: Sequelize.BelongsToManyCountAssociationsMixin;
138
+ // CanonGenre belongsToMany PlatformArtist via canonGenreId and canonArtistId
139
+ canonArtistIdPlatformArtistCanonArtistGenreRelations!: PlatformArtist[];
140
+ getCanonArtistIdPlatformArtistCanonArtistGenreRelations!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformArtist>;
141
+ setCanonArtistIdPlatformArtistCanonArtistGenreRelations!: Sequelize.BelongsToManySetAssociationsMixin<PlatformArtist, PlatformArtistId>;
142
+ addCanonArtistIdPlatformArtistCanonArtistGenreRelation!: Sequelize.BelongsToManyAddAssociationMixin<PlatformArtist, PlatformArtistId>;
143
+ addCanonArtistIdPlatformArtistCanonArtistGenreRelations!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformArtist, PlatformArtistId>;
144
+ createCanonArtistIdPlatformArtistCanonArtistGenreRelation!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformArtist>;
145
+ removeCanonArtistIdPlatformArtistCanonArtistGenreRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformArtist, PlatformArtistId>;
146
+ removeCanonArtistIdPlatformArtistCanonArtistGenreRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformArtist, PlatformArtistId>;
147
+ hasCanonArtistIdPlatformArtistCanonArtistGenreRelation!: Sequelize.BelongsToManyHasAssociationMixin<PlatformArtist, PlatformArtistId>;
148
+ hasCanonArtistIdPlatformArtistCanonArtistGenreRelations!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformArtist, PlatformArtistId>;
149
+ countCanonArtistIdPlatformArtistCanonArtistGenreRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
150
+ // CanonGenre belongsToMany PlatformGenre via canonGenreId and platformGenreId
151
+ platformGenreIdPlatformGenres!: PlatformGenre[];
152
+ getPlatformGenreIdPlatformGenres!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformGenre>;
153
+ setPlatformGenreIdPlatformGenres!: Sequelize.BelongsToManySetAssociationsMixin<PlatformGenre, PlatformGenreId>;
154
+ addPlatformGenreIdPlatformGenre!: Sequelize.BelongsToManyAddAssociationMixin<PlatformGenre, PlatformGenreId>;
155
+ addPlatformGenreIdPlatformGenres!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformGenre, PlatformGenreId>;
156
+ createPlatformGenreIdPlatformGenre!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformGenre>;
157
+ removePlatformGenreIdPlatformGenre!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformGenre, PlatformGenreId>;
158
+ removePlatformGenreIdPlatformGenres!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformGenre, PlatformGenreId>;
159
+ hasPlatformGenreIdPlatformGenre!: Sequelize.BelongsToManyHasAssociationMixin<PlatformGenre, PlatformGenreId>;
160
+ hasPlatformGenreIdPlatformGenres!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformGenre, PlatformGenreId>;
161
+ countPlatformGenreIdPlatformGenres!: Sequelize.BelongsToManyCountAssociationsMixin;
162
+ // CanonGenre hasMany PlatformUserPlaylistGenreAffinity via canonGenreId
163
+ platformUserPlaylistGenreAffinities!: PlatformUserPlaylistGenreAffinity[];
164
+ getPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistGenreAffinity>;
165
+ setPlatformUserPlaylistGenreAffinities!: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
166
+ addPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
167
+ addPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
168
+ createPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistGenreAffinity>;
169
+ removePlatformUserPlaylistGenreAffinity!: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
170
+ removePlatformUserPlaylistGenreAffinities!: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
171
+ hasPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
172
+ hasPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
173
+ countPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyCountAssociationsMixin;
174
+ // CanonGenre hasMany RadioShowGenres via canonGenreId
175
+ radioShowGenres!: RadioShowGenres[];
176
+ getRadioShowGenres!: Sequelize.HasManyGetAssociationsMixin<RadioShowGenres>;
177
+ setRadioShowGenres!: Sequelize.HasManySetAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
178
+ addRadioShowGenre!: Sequelize.HasManyAddAssociationMixin<RadioShowGenres, RadioShowGenresId>;
179
+ addRadioShowGenres!: Sequelize.HasManyAddAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
180
+ createRadioShowGenre!: Sequelize.HasManyCreateAssociationMixin<RadioShowGenres>;
181
+ removeRadioShowGenre!: Sequelize.HasManyRemoveAssociationMixin<RadioShowGenres, RadioShowGenresId>;
182
+ removeRadioShowGenres!: Sequelize.HasManyRemoveAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
183
+ hasRadioShowGenre!: Sequelize.HasManyHasAssociationMixin<RadioShowGenres, RadioShowGenresId>;
184
+ hasRadioShowGenres!: Sequelize.HasManyHasAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
185
+ countRadioShowGenres!: Sequelize.HasManyCountAssociationsMixin;
186
+ // CanonGenre hasMany UserGenreAffinity via canonGenreId
187
+ userGenreAffinities!: UserGenreAffinity[];
188
+ getUserGenreAffinities!: Sequelize.HasManyGetAssociationsMixin<UserGenreAffinity>;
189
+ setUserGenreAffinities!: Sequelize.HasManySetAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
190
+ addUserGenreAffinity!: Sequelize.HasManyAddAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
191
+ addUserGenreAffinities!: Sequelize.HasManyAddAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
192
+ createUserGenreAffinity!: Sequelize.HasManyCreateAssociationMixin<UserGenreAffinity>;
193
+ removeUserGenreAffinity!: Sequelize.HasManyRemoveAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
194
+ removeUserGenreAffinities!: Sequelize.HasManyRemoveAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
195
+ hasUserGenreAffinity!: Sequelize.HasManyHasAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
196
+ hasUserGenreAffinities!: Sequelize.HasManyHasAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
197
+ countUserGenreAffinities!: Sequelize.HasManyCountAssociationsMixin;
198
+ // CanonGenre hasMany Versus via canonGenreId
199
+ versus!: Versus[];
200
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
201
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
202
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
203
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
204
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
205
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
206
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
207
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
208
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
209
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
210
+
211
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonGenre {
212
+ return CanonGenre.init({
213
+ id: {
214
+ type: DataTypes.UUID,
215
+ allowNull: false,
216
+ defaultValue: Sequelize.Sequelize.fn('uuid_generate_v1'),
217
+ primaryKey: true
218
+ },
219
+ name: {
220
+ type: DataTypes.TEXT,
221
+ allowNull: false,
222
+ unique: "genre_name_pkey"
223
+ },
224
+ asciiName: {
225
+ type: DataTypes.TEXT,
226
+ allowNull: false,
227
+ field: 'ascii_name'
228
+ },
229
+ description: {
230
+ type: DataTypes.TEXT,
231
+ allowNull: false
232
+ },
233
+ parentGenreId: {
234
+ type: DataTypes.UUID,
235
+ allowNull: true,
236
+ field: 'parent_genre_id'
237
+ },
238
+ createDate: {
239
+ type: DataTypes.DATE,
240
+ allowNull: false,
241
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
242
+ field: 'create_date'
243
+ },
244
+ updateDate: {
245
+ type: DataTypes.DATE,
246
+ allowNull: false,
247
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
248
+ field: 'update_date'
249
+ }
250
+ }, {
251
+ sequelize,
252
+ tableName: 'canon_genre',
253
+ schema: 'eb',
254
+ timestamps: false,
255
+ indexes: [
256
+ {
257
+ name: "genre_name_pkey",
258
+ unique: true,
259
+ fields: [
260
+ { name: "name" },
261
+ ]
262
+ },
263
+ {
264
+ name: "genre_pkey",
265
+ unique: true,
266
+ fields: [
267
+ { name: "id" },
268
+ ]
269
+ },
270
+ ]
271
+ });
272
+ }
273
+ }
@@ -0,0 +1,92 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonGenre, CanonGenreId } from './CanonGenre';
4
+ import type { ExternalReference, ExternalReferenceId } from './ExternalReference';
5
+
6
+ export interface CanonGenreExternalReferenceRelationAttributes {
7
+ canonGenreId: string;
8
+ externalReferenceId: string;
9
+ url: string;
10
+ createDate: Date;
11
+ updateDate: Date;
12
+ }
13
+
14
+ export type CanonGenreExternalReferenceRelationPk = "canonGenreId" | "externalReferenceId";
15
+ export type CanonGenreExternalReferenceRelationId = CanonGenreExternalReferenceRelation[CanonGenreExternalReferenceRelationPk];
16
+ export type CanonGenreExternalReferenceRelationOptionalAttributes = "createDate" | "updateDate";
17
+ export type CanonGenreExternalReferenceRelationCreationAttributes = Optional<CanonGenreExternalReferenceRelationAttributes, CanonGenreExternalReferenceRelationOptionalAttributes>;
18
+
19
+ export class CanonGenreExternalReferenceRelation extends Model<CanonGenreExternalReferenceRelationAttributes, CanonGenreExternalReferenceRelationCreationAttributes> implements CanonGenreExternalReferenceRelationAttributes {
20
+ canonGenreId!: string;
21
+ externalReferenceId!: string;
22
+ url!: string;
23
+ createDate!: Date;
24
+ updateDate!: Date;
25
+
26
+ // CanonGenreExternalReferenceRelation belongsTo CanonGenre via canonGenreId
27
+ canonGenre!: CanonGenre;
28
+ getCanonGenre!: Sequelize.BelongsToGetAssociationMixin<CanonGenre>;
29
+ setCanonGenre!: Sequelize.BelongsToSetAssociationMixin<CanonGenre, CanonGenreId>;
30
+ createCanonGenre!: Sequelize.BelongsToCreateAssociationMixin<CanonGenre>;
31
+ // CanonGenreExternalReferenceRelation 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 CanonGenreExternalReferenceRelation {
38
+ return CanonGenreExternalReferenceRelation.init({
39
+ canonGenreId: {
40
+ type: DataTypes.UUID,
41
+ allowNull: false,
42
+ primaryKey: true,
43
+ references: {
44
+ model: 'canon_genre',
45
+ key: 'id'
46
+ },
47
+ field: 'canon_genre_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_genre_external_reference_relation',
78
+ schema: 'eb',
79
+ timestamps: false,
80
+ indexes: [
81
+ {
82
+ name: "canon_genre_external_reference_relation_pk",
83
+ unique: true,
84
+ fields: [
85
+ { name: "external_reference_id" },
86
+ { name: "canon_genre_id" },
87
+ ]
88
+ },
89
+ ]
90
+ });
91
+ }
92
+ }