@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,356 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonArtistAlbumRelation, CanonArtistAlbumRelationId } from './CanonArtistAlbumRelation';
4
+ import type { CanonArtistTrackRelation, CanonArtistTrackRelationId } from './CanonArtistTrackRelation';
5
+ import type { CanonToPlatformArtistRelation, CanonToPlatformArtistRelationId } from './CanonToPlatformArtistRelation';
6
+ import type { CanonTrack, CanonTrackId } from './CanonTrack';
7
+ import type { JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId } from './JukeboxSessionArtistAffinity';
8
+ import type { MerchItem, MerchItemId } from './MerchItem';
9
+ import type { MerchOrchestration, MerchOrchestrationId } from './MerchOrchestration';
10
+ import type { NewsArticle, NewsArticleId } from './NewsArticle';
11
+ import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
12
+ import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
13
+ import type { PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId } from './PlatformUserPlaylistArtistAffinity';
14
+ import type { UserArtistAffinity, UserArtistAffinityId } from './UserArtistAffinity';
15
+ import type { Versus, VersusId } from './Versus';
16
+ import type { VersusOption, VersusOptionId } from './VersusOption';
17
+
18
+ export interface CanonArtistAttributes {
19
+ id: string;
20
+ name: string;
21
+ asciiName: string;
22
+ description?: string;
23
+ hasPhoto: boolean;
24
+ createDate: Date;
25
+ updateDate: Date;
26
+ hasThumbnailPhoto?: boolean;
27
+ images?: object;
28
+ lastImageHarvestAttempt?: Date;
29
+ merchHarvestDay?: number;
30
+ newsHarvestDay?: number;
31
+ popularityRank?: number;
32
+ lastGenreHarvestAttempt?: Date;
33
+ genreHarvestCount: number;
34
+ popularityScore: number;
35
+ }
36
+
37
+ export type CanonArtistPk = "id";
38
+ export type CanonArtistId = CanonArtist[CanonArtistPk];
39
+ export type CanonArtistOptionalAttributes = "id" | "description" | "createDate" | "updateDate" | "hasThumbnailPhoto" | "images" | "lastImageHarvestAttempt" | "merchHarvestDay" | "newsHarvestDay" | "popularityRank" | "lastGenreHarvestAttempt" | "genreHarvestCount" | "popularityScore";
40
+ export type CanonArtistCreationAttributes = Optional<CanonArtistAttributes, CanonArtistOptionalAttributes>;
41
+
42
+ export class CanonArtist extends Model<CanonArtistAttributes, CanonArtistCreationAttributes> implements CanonArtistAttributes {
43
+ id!: string;
44
+ name!: string;
45
+ asciiName!: string;
46
+ description?: string;
47
+ hasPhoto!: boolean;
48
+ createDate!: Date;
49
+ updateDate!: Date;
50
+ hasThumbnailPhoto?: boolean;
51
+ images?: object;
52
+ lastImageHarvestAttempt?: Date;
53
+ merchHarvestDay?: number;
54
+ newsHarvestDay?: number;
55
+ popularityRank?: number;
56
+ lastGenreHarvestAttempt?: Date;
57
+ genreHarvestCount!: number;
58
+ popularityScore!: number;
59
+
60
+ // CanonArtist hasMany CanonArtistAlbumRelation via canonArtistId
61
+ canonArtistAlbumRelations!: CanonArtistAlbumRelation[];
62
+ getCanonArtistAlbumRelations!: Sequelize.HasManyGetAssociationsMixin<CanonArtistAlbumRelation>;
63
+ setCanonArtistAlbumRelations!: Sequelize.HasManySetAssociationsMixin<CanonArtistAlbumRelation, CanonArtistAlbumRelationId>;
64
+ addCanonArtistAlbumRelation!: Sequelize.HasManyAddAssociationMixin<CanonArtistAlbumRelation, CanonArtistAlbumRelationId>;
65
+ addCanonArtistAlbumRelations!: Sequelize.HasManyAddAssociationsMixin<CanonArtistAlbumRelation, CanonArtistAlbumRelationId>;
66
+ createCanonArtistAlbumRelation!: Sequelize.HasManyCreateAssociationMixin<CanonArtistAlbumRelation>;
67
+ removeCanonArtistAlbumRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonArtistAlbumRelation, CanonArtistAlbumRelationId>;
68
+ removeCanonArtistAlbumRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonArtistAlbumRelation, CanonArtistAlbumRelationId>;
69
+ hasCanonArtistAlbumRelation!: Sequelize.HasManyHasAssociationMixin<CanonArtistAlbumRelation, CanonArtistAlbumRelationId>;
70
+ hasCanonArtistAlbumRelations!: Sequelize.HasManyHasAssociationsMixin<CanonArtistAlbumRelation, CanonArtistAlbumRelationId>;
71
+ countCanonArtistAlbumRelations!: Sequelize.HasManyCountAssociationsMixin;
72
+ // CanonArtist hasMany CanonArtistTrackRelation via canonArtistId
73
+ canonArtistTrackRelations!: CanonArtistTrackRelation[];
74
+ getCanonArtistTrackRelations!: Sequelize.HasManyGetAssociationsMixin<CanonArtistTrackRelation>;
75
+ setCanonArtistTrackRelations!: Sequelize.HasManySetAssociationsMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
76
+ addCanonArtistTrackRelation!: Sequelize.HasManyAddAssociationMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
77
+ addCanonArtistTrackRelations!: Sequelize.HasManyAddAssociationsMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
78
+ createCanonArtistTrackRelation!: Sequelize.HasManyCreateAssociationMixin<CanonArtistTrackRelation>;
79
+ removeCanonArtistTrackRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
80
+ removeCanonArtistTrackRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
81
+ hasCanonArtistTrackRelation!: Sequelize.HasManyHasAssociationMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
82
+ hasCanonArtistTrackRelations!: Sequelize.HasManyHasAssociationsMixin<CanonArtistTrackRelation, CanonArtistTrackRelationId>;
83
+ countCanonArtistTrackRelations!: Sequelize.HasManyCountAssociationsMixin;
84
+ // CanonArtist hasMany CanonToPlatformArtistRelation via canonArtistId
85
+ canonToPlatformArtistRelations!: CanonToPlatformArtistRelation[];
86
+ getCanonToPlatformArtistRelations!: Sequelize.HasManyGetAssociationsMixin<CanonToPlatformArtistRelation>;
87
+ setCanonToPlatformArtistRelations!: Sequelize.HasManySetAssociationsMixin<CanonToPlatformArtistRelation, CanonToPlatformArtistRelationId>;
88
+ addCanonToPlatformArtistRelation!: Sequelize.HasManyAddAssociationMixin<CanonToPlatformArtistRelation, CanonToPlatformArtistRelationId>;
89
+ addCanonToPlatformArtistRelations!: Sequelize.HasManyAddAssociationsMixin<CanonToPlatformArtistRelation, CanonToPlatformArtistRelationId>;
90
+ createCanonToPlatformArtistRelation!: Sequelize.HasManyCreateAssociationMixin<CanonToPlatformArtistRelation>;
91
+ removeCanonToPlatformArtistRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonToPlatformArtistRelation, CanonToPlatformArtistRelationId>;
92
+ removeCanonToPlatformArtistRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonToPlatformArtistRelation, CanonToPlatformArtistRelationId>;
93
+ hasCanonToPlatformArtistRelation!: Sequelize.HasManyHasAssociationMixin<CanonToPlatformArtistRelation, CanonToPlatformArtistRelationId>;
94
+ hasCanonToPlatformArtistRelations!: Sequelize.HasManyHasAssociationsMixin<CanonToPlatformArtistRelation, CanonToPlatformArtistRelationId>;
95
+ countCanonToPlatformArtistRelations!: Sequelize.HasManyCountAssociationsMixin;
96
+ // CanonArtist belongsToMany CanonTrack via canonArtistId and canonTrackId
97
+ canonTrackIdCanonTrackCanonArtistTrackRelations!: CanonTrack[];
98
+ getCanonTrackIdCanonTrackCanonArtistTrackRelations!: Sequelize.BelongsToManyGetAssociationsMixin<CanonTrack>;
99
+ setCanonTrackIdCanonTrackCanonArtistTrackRelations!: Sequelize.BelongsToManySetAssociationsMixin<CanonTrack, CanonTrackId>;
100
+ addCanonTrackIdCanonTrackCanonArtistTrackRelation!: Sequelize.BelongsToManyAddAssociationMixin<CanonTrack, CanonTrackId>;
101
+ addCanonTrackIdCanonTrackCanonArtistTrackRelations!: Sequelize.BelongsToManyAddAssociationsMixin<CanonTrack, CanonTrackId>;
102
+ createCanonTrackIdCanonTrackCanonArtistTrackRelation!: Sequelize.BelongsToManyCreateAssociationMixin<CanonTrack>;
103
+ removeCanonTrackIdCanonTrackCanonArtistTrackRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<CanonTrack, CanonTrackId>;
104
+ removeCanonTrackIdCanonTrackCanonArtistTrackRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<CanonTrack, CanonTrackId>;
105
+ hasCanonTrackIdCanonTrackCanonArtistTrackRelation!: Sequelize.BelongsToManyHasAssociationMixin<CanonTrack, CanonTrackId>;
106
+ hasCanonTrackIdCanonTrackCanonArtistTrackRelations!: Sequelize.BelongsToManyHasAssociationsMixin<CanonTrack, CanonTrackId>;
107
+ countCanonTrackIdCanonTrackCanonArtistTrackRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
108
+ // CanonArtist hasMany JukeboxSessionArtistAffinity via canonArtistId
109
+ jukeboxSessionArtistAffinities!: JukeboxSessionArtistAffinity[];
110
+ getJukeboxSessionArtistAffinities!: Sequelize.HasManyGetAssociationsMixin<JukeboxSessionArtistAffinity>;
111
+ setJukeboxSessionArtistAffinities!: Sequelize.HasManySetAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
112
+ addJukeboxSessionArtistAffinity!: Sequelize.HasManyAddAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
113
+ addJukeboxSessionArtistAffinities!: Sequelize.HasManyAddAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
114
+ createJukeboxSessionArtistAffinity!: Sequelize.HasManyCreateAssociationMixin<JukeboxSessionArtistAffinity>;
115
+ removeJukeboxSessionArtistAffinity!: Sequelize.HasManyRemoveAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
116
+ removeJukeboxSessionArtistAffinities!: Sequelize.HasManyRemoveAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
117
+ hasJukeboxSessionArtistAffinity!: Sequelize.HasManyHasAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
118
+ hasJukeboxSessionArtistAffinities!: Sequelize.HasManyHasAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
119
+ countJukeboxSessionArtistAffinities!: Sequelize.HasManyCountAssociationsMixin;
120
+ // CanonArtist hasMany MerchItem via canonArtistId
121
+ merchItems!: MerchItem[];
122
+ getMerchItems!: Sequelize.HasManyGetAssociationsMixin<MerchItem>;
123
+ setMerchItems!: Sequelize.HasManySetAssociationsMixin<MerchItem, MerchItemId>;
124
+ addMerchItem!: Sequelize.HasManyAddAssociationMixin<MerchItem, MerchItemId>;
125
+ addMerchItems!: Sequelize.HasManyAddAssociationsMixin<MerchItem, MerchItemId>;
126
+ createMerchItem!: Sequelize.HasManyCreateAssociationMixin<MerchItem>;
127
+ removeMerchItem!: Sequelize.HasManyRemoveAssociationMixin<MerchItem, MerchItemId>;
128
+ removeMerchItems!: Sequelize.HasManyRemoveAssociationsMixin<MerchItem, MerchItemId>;
129
+ hasMerchItem!: Sequelize.HasManyHasAssociationMixin<MerchItem, MerchItemId>;
130
+ hasMerchItems!: Sequelize.HasManyHasAssociationsMixin<MerchItem, MerchItemId>;
131
+ countMerchItems!: Sequelize.HasManyCountAssociationsMixin;
132
+ // CanonArtist hasMany MerchOrchestration via canonArtistId
133
+ merchOrchestrations!: MerchOrchestration[];
134
+ getMerchOrchestrations!: Sequelize.HasManyGetAssociationsMixin<MerchOrchestration>;
135
+ setMerchOrchestrations!: Sequelize.HasManySetAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
136
+ addMerchOrchestration!: Sequelize.HasManyAddAssociationMixin<MerchOrchestration, MerchOrchestrationId>;
137
+ addMerchOrchestrations!: Sequelize.HasManyAddAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
138
+ createMerchOrchestration!: Sequelize.HasManyCreateAssociationMixin<MerchOrchestration>;
139
+ removeMerchOrchestration!: Sequelize.HasManyRemoveAssociationMixin<MerchOrchestration, MerchOrchestrationId>;
140
+ removeMerchOrchestrations!: Sequelize.HasManyRemoveAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
141
+ hasMerchOrchestration!: Sequelize.HasManyHasAssociationMixin<MerchOrchestration, MerchOrchestrationId>;
142
+ hasMerchOrchestrations!: Sequelize.HasManyHasAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
143
+ countMerchOrchestrations!: Sequelize.HasManyCountAssociationsMixin;
144
+ // CanonArtist hasMany NewsArticle via canonArtistId
145
+ newsArticles!: NewsArticle[];
146
+ getNewsArticles!: Sequelize.HasManyGetAssociationsMixin<NewsArticle>;
147
+ setNewsArticles!: Sequelize.HasManySetAssociationsMixin<NewsArticle, NewsArticleId>;
148
+ addNewsArticle!: Sequelize.HasManyAddAssociationMixin<NewsArticle, NewsArticleId>;
149
+ addNewsArticles!: Sequelize.HasManyAddAssociationsMixin<NewsArticle, NewsArticleId>;
150
+ createNewsArticle!: Sequelize.HasManyCreateAssociationMixin<NewsArticle>;
151
+ removeNewsArticle!: Sequelize.HasManyRemoveAssociationMixin<NewsArticle, NewsArticleId>;
152
+ removeNewsArticles!: Sequelize.HasManyRemoveAssociationsMixin<NewsArticle, NewsArticleId>;
153
+ hasNewsArticle!: Sequelize.HasManyHasAssociationMixin<NewsArticle, NewsArticleId>;
154
+ hasNewsArticles!: Sequelize.HasManyHasAssociationsMixin<NewsArticle, NewsArticleId>;
155
+ countNewsArticles!: Sequelize.HasManyCountAssociationsMixin;
156
+ // CanonArtist belongsToMany PlatformAlbum via canonArtistId and canonAlbumId
157
+ canonAlbumIdPlatformAlbumCanonArtistAlbumRelations!: PlatformAlbum[];
158
+ getCanonAlbumIdPlatformAlbumCanonArtistAlbumRelations!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformAlbum>;
159
+ setCanonAlbumIdPlatformAlbumCanonArtistAlbumRelations!: Sequelize.BelongsToManySetAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
160
+ addCanonAlbumIdPlatformAlbumCanonArtistAlbumRelation!: Sequelize.BelongsToManyAddAssociationMixin<PlatformAlbum, PlatformAlbumId>;
161
+ addCanonAlbumIdPlatformAlbumCanonArtistAlbumRelations!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
162
+ createCanonAlbumIdPlatformAlbumCanonArtistAlbumRelation!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformAlbum>;
163
+ removeCanonAlbumIdPlatformAlbumCanonArtistAlbumRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformAlbum, PlatformAlbumId>;
164
+ removeCanonAlbumIdPlatformAlbumCanonArtistAlbumRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
165
+ hasCanonAlbumIdPlatformAlbumCanonArtistAlbumRelation!: Sequelize.BelongsToManyHasAssociationMixin<PlatformAlbum, PlatformAlbumId>;
166
+ hasCanonAlbumIdPlatformAlbumCanonArtistAlbumRelations!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
167
+ countCanonAlbumIdPlatformAlbumCanonArtistAlbumRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
168
+ // CanonArtist belongsToMany PlatformArtist via canonArtistId and platformArtistId
169
+ platformArtistIdPlatformArtists!: PlatformArtist[];
170
+ getPlatformArtistIdPlatformArtists!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformArtist>;
171
+ setPlatformArtistIdPlatformArtists!: Sequelize.BelongsToManySetAssociationsMixin<PlatformArtist, PlatformArtistId>;
172
+ addPlatformArtistIdPlatformArtist!: Sequelize.BelongsToManyAddAssociationMixin<PlatformArtist, PlatformArtistId>;
173
+ addPlatformArtistIdPlatformArtists!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformArtist, PlatformArtistId>;
174
+ createPlatformArtistIdPlatformArtist!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformArtist>;
175
+ removePlatformArtistIdPlatformArtist!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformArtist, PlatformArtistId>;
176
+ removePlatformArtistIdPlatformArtists!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformArtist, PlatformArtistId>;
177
+ hasPlatformArtistIdPlatformArtist!: Sequelize.BelongsToManyHasAssociationMixin<PlatformArtist, PlatformArtistId>;
178
+ hasPlatformArtistIdPlatformArtists!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformArtist, PlatformArtistId>;
179
+ countPlatformArtistIdPlatformArtists!: Sequelize.BelongsToManyCountAssociationsMixin;
180
+ // CanonArtist hasMany PlatformUserPlaylistArtistAffinity via canonArtistId
181
+ platformUserPlaylistArtistAffinities!: PlatformUserPlaylistArtistAffinity[];
182
+ getPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistArtistAffinity>;
183
+ setPlatformUserPlaylistArtistAffinities!: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
184
+ addPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
185
+ addPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
186
+ createPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistArtistAffinity>;
187
+ removePlatformUserPlaylistArtistAffinity!: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
188
+ removePlatformUserPlaylistArtistAffinities!: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
189
+ hasPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
190
+ hasPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
191
+ countPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyCountAssociationsMixin;
192
+ // CanonArtist hasMany UserArtistAffinity via canonArtistId
193
+ userArtistAffinities!: UserArtistAffinity[];
194
+ getUserArtistAffinities!: Sequelize.HasManyGetAssociationsMixin<UserArtistAffinity>;
195
+ setUserArtistAffinities!: Sequelize.HasManySetAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
196
+ addUserArtistAffinity!: Sequelize.HasManyAddAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
197
+ addUserArtistAffinities!: Sequelize.HasManyAddAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
198
+ createUserArtistAffinity!: Sequelize.HasManyCreateAssociationMixin<UserArtistAffinity>;
199
+ removeUserArtistAffinity!: Sequelize.HasManyRemoveAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
200
+ removeUserArtistAffinities!: Sequelize.HasManyRemoveAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
201
+ hasUserArtistAffinity!: Sequelize.HasManyHasAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
202
+ hasUserArtistAffinities!: Sequelize.HasManyHasAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
203
+ countUserArtistAffinities!: Sequelize.HasManyCountAssociationsMixin;
204
+ // CanonArtist hasMany Versus via canonArtistId
205
+ versus!: Versus[];
206
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
207
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
208
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
209
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
210
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
211
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
212
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
213
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
214
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
215
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
216
+ // CanonArtist hasMany VersusOption via canonArtistId
217
+ versusOptions!: VersusOption[];
218
+ getVersusOptions!: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
219
+ setVersusOptions!: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
220
+ addVersusOption!: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
221
+ addVersusOptions!: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
222
+ createVersusOption!: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
223
+ removeVersusOption!: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
224
+ removeVersusOptions!: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
225
+ hasVersusOption!: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
226
+ hasVersusOptions!: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
227
+ countVersusOptions!: Sequelize.HasManyCountAssociationsMixin;
228
+
229
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonArtist {
230
+ return CanonArtist.init({
231
+ id: {
232
+ type: DataTypes.UUID,
233
+ allowNull: false,
234
+ defaultValue: Sequelize.Sequelize.fn('uuid_generate_v1'),
235
+ primaryKey: true
236
+ },
237
+ name: {
238
+ type: DataTypes.TEXT,
239
+ allowNull: false
240
+ },
241
+ asciiName: {
242
+ type: DataTypes.TEXT,
243
+ allowNull: false,
244
+ field: 'ascii_name'
245
+ },
246
+ description: {
247
+ type: DataTypes.TEXT,
248
+ allowNull: true
249
+ },
250
+ hasPhoto: {
251
+ type: DataTypes.BOOLEAN,
252
+ allowNull: false,
253
+ defaultValue: false,
254
+ field: 'has_photo'
255
+ },
256
+ createDate: {
257
+ type: DataTypes.DATE,
258
+ allowNull: false,
259
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
260
+ field: 'create_date'
261
+ },
262
+ updateDate: {
263
+ type: DataTypes.DATE,
264
+ allowNull: false,
265
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
266
+ field: 'update_date'
267
+ },
268
+ hasThumbnailPhoto: {
269
+ type: DataTypes.BOOLEAN,
270
+ allowNull: true,
271
+ defaultValue: false,
272
+ field: 'has_thumbnail_photo'
273
+ },
274
+ images: {
275
+ type: DataTypes.JSONB,
276
+ allowNull: true
277
+ },
278
+ lastImageHarvestAttempt: {
279
+ type: DataTypes.DATE,
280
+ allowNull: true,
281
+ field: 'last_image_harvest_attempt'
282
+ },
283
+ merchHarvestDay: {
284
+ type: DataTypes.SMALLINT,
285
+ allowNull: true,
286
+ field: 'merch_harvest_day'
287
+ },
288
+ newsHarvestDay: {
289
+ type: DataTypes.SMALLINT,
290
+ allowNull: true,
291
+ field: 'news_harvest_day'
292
+ },
293
+ popularityRank: {
294
+ type: DataTypes.INTEGER,
295
+ allowNull: true,
296
+ field: 'popularity_rank'
297
+ },
298
+ lastGenreHarvestAttempt: {
299
+ type: DataTypes.DATE,
300
+ allowNull: true,
301
+ field: 'last_genre_harvest_attempt'
302
+ },
303
+ genreHarvestCount: {
304
+ type: DataTypes.INTEGER,
305
+ allowNull: false,
306
+ defaultValue: 0,
307
+ field: 'genre_harvest_count'
308
+ },
309
+ popularityScore: {
310
+ type: DataTypes.INTEGER,
311
+ allowNull: false,
312
+ defaultValue: 0,
313
+ field: 'popularity_score'
314
+ }
315
+ }, {
316
+ sequelize,
317
+ tableName: 'canon_artist',
318
+ schema: 'eb',
319
+ timestamps: false,
320
+ indexes: [
321
+ {
322
+ name: "artist_name_idx",
323
+ unique: true,
324
+ fields: [
325
+ { name: "name" },
326
+ ]
327
+ },
328
+ {
329
+ name: "artist_pkey",
330
+ unique: true,
331
+ fields: [
332
+ { name: "id" },
333
+ ]
334
+ },
335
+ {
336
+ name: "eb_canon_artist_last_image_harvest_attempt",
337
+ fields: [
338
+ { name: "last_image_harvest_attempt" },
339
+ ]
340
+ },
341
+ {
342
+ name: "idx_canon_artist_merch_day",
343
+ fields: [
344
+ { name: "merch_harvest_day" },
345
+ ]
346
+ },
347
+ {
348
+ name: "idx_canon_artist_news_day",
349
+ fields: [
350
+ { name: "news_harvest_day" },
351
+ ]
352
+ },
353
+ ]
354
+ });
355
+ }
356
+ }
@@ -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 { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
5
+
6
+ export interface CanonArtistAlbumRelationAttributes {
7
+ canonArtistId: string;
8
+ canonAlbumId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type CanonArtistAlbumRelationPk = "canonArtistId" | "canonAlbumId";
14
+ export type CanonArtistAlbumRelationId = CanonArtistAlbumRelation[CanonArtistAlbumRelationPk];
15
+ export type CanonArtistAlbumRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type CanonArtistAlbumRelationCreationAttributes = Optional<CanonArtistAlbumRelationAttributes, CanonArtistAlbumRelationOptionalAttributes>;
17
+
18
+ export class CanonArtistAlbumRelation extends Model<CanonArtistAlbumRelationAttributes, CanonArtistAlbumRelationCreationAttributes> implements CanonArtistAlbumRelationAttributes {
19
+ canonArtistId!: string;
20
+ canonAlbumId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // CanonArtistAlbumRelation belongsTo CanonArtist via canonArtistId
25
+ canonArtist!: CanonArtist;
26
+ getCanonArtist!: Sequelize.BelongsToGetAssociationMixin<CanonArtist>;
27
+ setCanonArtist!: Sequelize.BelongsToSetAssociationMixin<CanonArtist, CanonArtistId>;
28
+ createCanonArtist!: Sequelize.BelongsToCreateAssociationMixin<CanonArtist>;
29
+ // CanonArtistAlbumRelation 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 CanonArtistAlbumRelation {
36
+ return CanonArtistAlbumRelation.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
+ canonAlbumId: {
48
+ type: DataTypes.UUID,
49
+ allowNull: false,
50
+ primaryKey: true,
51
+ references: {
52
+ model: 'platform_album',
53
+ key: 'id'
54
+ },
55
+ field: 'canon_album_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_album_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "canon_artist_album_relation_pkey",
77
+ unique: true,
78
+ fields: [
79
+ { name: "canon_artist_id" },
80
+ { name: "canon_album_id" },
81
+ ]
82
+ },
83
+ {
84
+ name: "idx_canon_artist_album_album",
85
+ fields: [
86
+ { name: "canon_album_id" },
87
+ ]
88
+ },
89
+ ]
90
+ });
91
+ }
92
+ }
@@ -0,0 +1,92 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { ExternalReference, ExternalReferenceId } from './ExternalReference';
4
+ import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
5
+
6
+ export interface CanonArtistExternalReferenceRelationAttributes {
7
+ canonArtistId: string;
8
+ externalReferenceId: string;
9
+ url: string;
10
+ createDate: Date;
11
+ updateDate: Date;
12
+ }
13
+
14
+ export type CanonArtistExternalReferenceRelationPk = "canonArtistId" | "externalReferenceId";
15
+ export type CanonArtistExternalReferenceRelationId = CanonArtistExternalReferenceRelation[CanonArtistExternalReferenceRelationPk];
16
+ export type CanonArtistExternalReferenceRelationOptionalAttributes = "createDate" | "updateDate";
17
+ export type CanonArtistExternalReferenceRelationCreationAttributes = Optional<CanonArtistExternalReferenceRelationAttributes, CanonArtistExternalReferenceRelationOptionalAttributes>;
18
+
19
+ export class CanonArtistExternalReferenceRelation extends Model<CanonArtistExternalReferenceRelationAttributes, CanonArtistExternalReferenceRelationCreationAttributes> implements CanonArtistExternalReferenceRelationAttributes {
20
+ canonArtistId!: string;
21
+ externalReferenceId!: string;
22
+ url!: string;
23
+ createDate!: Date;
24
+ updateDate!: Date;
25
+
26
+ // CanonArtistExternalReferenceRelation belongsTo ExternalReference via externalReferenceId
27
+ externalReference!: ExternalReference;
28
+ getExternalReference!: Sequelize.BelongsToGetAssociationMixin<ExternalReference>;
29
+ setExternalReference!: Sequelize.BelongsToSetAssociationMixin<ExternalReference, ExternalReferenceId>;
30
+ createExternalReference!: Sequelize.BelongsToCreateAssociationMixin<ExternalReference>;
31
+ // CanonArtistExternalReferenceRelation belongsTo PlatformArtist via canonArtistId
32
+ canonArtist!: PlatformArtist;
33
+ getCanonArtist!: Sequelize.BelongsToGetAssociationMixin<PlatformArtist>;
34
+ setCanonArtist!: Sequelize.BelongsToSetAssociationMixin<PlatformArtist, PlatformArtistId>;
35
+ createCanonArtist!: Sequelize.BelongsToCreateAssociationMixin<PlatformArtist>;
36
+
37
+ static initModel(sequelize: Sequelize.Sequelize): typeof CanonArtistExternalReferenceRelation {
38
+ return CanonArtistExternalReferenceRelation.init({
39
+ canonArtistId: {
40
+ type: DataTypes.UUID,
41
+ allowNull: false,
42
+ primaryKey: true,
43
+ references: {
44
+ model: 'platform_artist',
45
+ key: 'id'
46
+ },
47
+ field: 'canon_artist_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_artist_external_reference_relation',
78
+ schema: 'eb',
79
+ timestamps: false,
80
+ indexes: [
81
+ {
82
+ name: "canon_artist_external_reference_relation_pk",
83
+ unique: true,
84
+ fields: [
85
+ { name: "canon_artist_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 { PlatformArtist, PlatformArtistId } from './PlatformArtist';
5
+
6
+ export interface CanonArtistGenreRelationAttributes {
7
+ canonArtistId: string;
8
+ canonGenreId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type CanonArtistGenreRelationPk = "canonArtistId" | "canonGenreId";
14
+ export type CanonArtistGenreRelationId = CanonArtistGenreRelation[CanonArtistGenreRelationPk];
15
+ export type CanonArtistGenreRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type CanonArtistGenreRelationCreationAttributes = Optional<CanonArtistGenreRelationAttributes, CanonArtistGenreRelationOptionalAttributes>;
17
+
18
+ export class CanonArtistGenreRelation extends Model<CanonArtistGenreRelationAttributes, CanonArtistGenreRelationCreationAttributes> implements CanonArtistGenreRelationAttributes {
19
+ canonArtistId!: string;
20
+ canonGenreId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // CanonArtistGenreRelation belongsTo CanonGenre via canonGenreId
25
+ canonGenre!: CanonGenre;
26
+ getCanonGenre!: Sequelize.BelongsToGetAssociationMixin<CanonGenre>;
27
+ setCanonGenre!: Sequelize.BelongsToSetAssociationMixin<CanonGenre, CanonGenreId>;
28
+ createCanonGenre!: Sequelize.BelongsToCreateAssociationMixin<CanonGenre>;
29
+ // CanonArtistGenreRelation 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 CanonArtistGenreRelation {
36
+ return CanonArtistGenreRelation.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
+ 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_artist_genre_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "canon_artist_genre_relation_pkey",
77
+ unique: true,
78
+ fields: [
79
+ { name: "canon_artist_id" },
80
+ { name: "canon_genre_id" },
81
+ ]
82
+ },
83
+ ]
84
+ });
85
+ }
86
+ }