@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,194 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonGenre, CanonGenreId } from './CanonGenre';
4
+ import type { CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId } from './CanonToPlatformGenreRelation';
5
+ import type { Platform, PlatformId } from './Platform';
6
+ import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
7
+ import type { PlatformAlbumGenreRelation, PlatformAlbumGenreRelationId } from './PlatformAlbumGenreRelation';
8
+ import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
9
+ import type { PlatformArtistGenreRelation, PlatformArtistGenreRelationId } from './PlatformArtistGenreRelation';
10
+ import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
11
+ import type { PlatformTrackGenreRelation, PlatformTrackGenreRelationId } from './PlatformTrackGenreRelation';
12
+
13
+ export interface PlatformGenreAttributes {
14
+ id: string;
15
+ platformId: number;
16
+ name: string;
17
+ createDate: Date;
18
+ updateDate: Date;
19
+ }
20
+
21
+ export type PlatformGenrePk = "id";
22
+ export type PlatformGenreId = PlatformGenre[PlatformGenrePk];
23
+ export type PlatformGenreOptionalAttributes = "id" | "createDate" | "updateDate";
24
+ export type PlatformGenreCreationAttributes = Optional<PlatformGenreAttributes, PlatformGenreOptionalAttributes>;
25
+
26
+ export class PlatformGenre extends Model<PlatformGenreAttributes, PlatformGenreCreationAttributes> implements PlatformGenreAttributes {
27
+ id!: string;
28
+ platformId!: number;
29
+ name!: string;
30
+ createDate!: Date;
31
+ updateDate!: Date;
32
+
33
+ // PlatformGenre belongsTo Platform via platformId
34
+ platform!: Platform;
35
+ getPlatform!: Sequelize.BelongsToGetAssociationMixin<Platform>;
36
+ setPlatform!: Sequelize.BelongsToSetAssociationMixin<Platform, PlatformId>;
37
+ createPlatform!: Sequelize.BelongsToCreateAssociationMixin<Platform>;
38
+ // PlatformGenre belongsToMany CanonGenre via platformGenreId and canonGenreId
39
+ canonGenreIdCanonGenreCanonToPlatformGenreRelations!: CanonGenre[];
40
+ getCanonGenreIdCanonGenreCanonToPlatformGenreRelations!: Sequelize.BelongsToManyGetAssociationsMixin<CanonGenre>;
41
+ setCanonGenreIdCanonGenreCanonToPlatformGenreRelations!: Sequelize.BelongsToManySetAssociationsMixin<CanonGenre, CanonGenreId>;
42
+ addCanonGenreIdCanonGenreCanonToPlatformGenreRelation!: Sequelize.BelongsToManyAddAssociationMixin<CanonGenre, CanonGenreId>;
43
+ addCanonGenreIdCanonGenreCanonToPlatformGenreRelations!: Sequelize.BelongsToManyAddAssociationsMixin<CanonGenre, CanonGenreId>;
44
+ createCanonGenreIdCanonGenreCanonToPlatformGenreRelation!: Sequelize.BelongsToManyCreateAssociationMixin<CanonGenre>;
45
+ removeCanonGenreIdCanonGenreCanonToPlatformGenreRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<CanonGenre, CanonGenreId>;
46
+ removeCanonGenreIdCanonGenreCanonToPlatformGenreRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<CanonGenre, CanonGenreId>;
47
+ hasCanonGenreIdCanonGenreCanonToPlatformGenreRelation!: Sequelize.BelongsToManyHasAssociationMixin<CanonGenre, CanonGenreId>;
48
+ hasCanonGenreIdCanonGenreCanonToPlatformGenreRelations!: Sequelize.BelongsToManyHasAssociationsMixin<CanonGenre, CanonGenreId>;
49
+ countCanonGenreIdCanonGenreCanonToPlatformGenreRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
50
+ // PlatformGenre hasMany CanonToPlatformGenreRelation via platformGenreId
51
+ canonToPlatformGenreRelations!: CanonToPlatformGenreRelation[];
52
+ getCanonToPlatformGenreRelations!: Sequelize.HasManyGetAssociationsMixin<CanonToPlatformGenreRelation>;
53
+ setCanonToPlatformGenreRelations!: Sequelize.HasManySetAssociationsMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
54
+ addCanonToPlatformGenreRelation!: Sequelize.HasManyAddAssociationMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
55
+ addCanonToPlatformGenreRelations!: Sequelize.HasManyAddAssociationsMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
56
+ createCanonToPlatformGenreRelation!: Sequelize.HasManyCreateAssociationMixin<CanonToPlatformGenreRelation>;
57
+ removeCanonToPlatformGenreRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
58
+ removeCanonToPlatformGenreRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
59
+ hasCanonToPlatformGenreRelation!: Sequelize.HasManyHasAssociationMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
60
+ hasCanonToPlatformGenreRelations!: Sequelize.HasManyHasAssociationsMixin<CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId>;
61
+ countCanonToPlatformGenreRelations!: Sequelize.HasManyCountAssociationsMixin;
62
+ // PlatformGenre belongsToMany PlatformAlbum via platformGenreId and platformAlbumId
63
+ platformAlbumIdPlatformAlbumPlatformAlbumGenreRelations!: PlatformAlbum[];
64
+ getPlatformAlbumIdPlatformAlbumPlatformAlbumGenreRelations!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformAlbum>;
65
+ setPlatformAlbumIdPlatformAlbumPlatformAlbumGenreRelations!: Sequelize.BelongsToManySetAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
66
+ addPlatformAlbumIdPlatformAlbumPlatformAlbumGenreRelation!: Sequelize.BelongsToManyAddAssociationMixin<PlatformAlbum, PlatformAlbumId>;
67
+ addPlatformAlbumIdPlatformAlbumPlatformAlbumGenreRelations!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
68
+ createPlatformAlbumIdPlatformAlbumPlatformAlbumGenreRelation!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformAlbum>;
69
+ removePlatformAlbumIdPlatformAlbumPlatformAlbumGenreRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformAlbum, PlatformAlbumId>;
70
+ removePlatformAlbumIdPlatformAlbumPlatformAlbumGenreRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
71
+ hasPlatformAlbumIdPlatformAlbumPlatformAlbumGenreRelation!: Sequelize.BelongsToManyHasAssociationMixin<PlatformAlbum, PlatformAlbumId>;
72
+ hasPlatformAlbumIdPlatformAlbumPlatformAlbumGenreRelations!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
73
+ countPlatformAlbumIdPlatformAlbumPlatformAlbumGenreRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
74
+ // PlatformGenre hasMany PlatformAlbumGenreRelation via platformGenreId
75
+ platformAlbumGenreRelations!: PlatformAlbumGenreRelation[];
76
+ getPlatformAlbumGenreRelations!: Sequelize.HasManyGetAssociationsMixin<PlatformAlbumGenreRelation>;
77
+ setPlatformAlbumGenreRelations!: Sequelize.HasManySetAssociationsMixin<PlatformAlbumGenreRelation, PlatformAlbumGenreRelationId>;
78
+ addPlatformAlbumGenreRelation!: Sequelize.HasManyAddAssociationMixin<PlatformAlbumGenreRelation, PlatformAlbumGenreRelationId>;
79
+ addPlatformAlbumGenreRelations!: Sequelize.HasManyAddAssociationsMixin<PlatformAlbumGenreRelation, PlatformAlbumGenreRelationId>;
80
+ createPlatformAlbumGenreRelation!: Sequelize.HasManyCreateAssociationMixin<PlatformAlbumGenreRelation>;
81
+ removePlatformAlbumGenreRelation!: Sequelize.HasManyRemoveAssociationMixin<PlatformAlbumGenreRelation, PlatformAlbumGenreRelationId>;
82
+ removePlatformAlbumGenreRelations!: Sequelize.HasManyRemoveAssociationsMixin<PlatformAlbumGenreRelation, PlatformAlbumGenreRelationId>;
83
+ hasPlatformAlbumGenreRelation!: Sequelize.HasManyHasAssociationMixin<PlatformAlbumGenreRelation, PlatformAlbumGenreRelationId>;
84
+ hasPlatformAlbumGenreRelations!: Sequelize.HasManyHasAssociationsMixin<PlatformAlbumGenreRelation, PlatformAlbumGenreRelationId>;
85
+ countPlatformAlbumGenreRelations!: Sequelize.HasManyCountAssociationsMixin;
86
+ // PlatformGenre belongsToMany PlatformArtist via platformGenreId and platformArtistId
87
+ platformArtistIdPlatformArtistPlatformArtistGenreRelations!: PlatformArtist[];
88
+ getPlatformArtistIdPlatformArtistPlatformArtistGenreRelations!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformArtist>;
89
+ setPlatformArtistIdPlatformArtistPlatformArtistGenreRelations!: Sequelize.BelongsToManySetAssociationsMixin<PlatformArtist, PlatformArtistId>;
90
+ addPlatformArtistIdPlatformArtistPlatformArtistGenreRelation!: Sequelize.BelongsToManyAddAssociationMixin<PlatformArtist, PlatformArtistId>;
91
+ addPlatformArtistIdPlatformArtistPlatformArtistGenreRelations!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformArtist, PlatformArtistId>;
92
+ createPlatformArtistIdPlatformArtistPlatformArtistGenreRelation!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformArtist>;
93
+ removePlatformArtistIdPlatformArtistPlatformArtistGenreRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformArtist, PlatformArtistId>;
94
+ removePlatformArtistIdPlatformArtistPlatformArtistGenreRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformArtist, PlatformArtistId>;
95
+ hasPlatformArtistIdPlatformArtistPlatformArtistGenreRelation!: Sequelize.BelongsToManyHasAssociationMixin<PlatformArtist, PlatformArtistId>;
96
+ hasPlatformArtistIdPlatformArtistPlatformArtistGenreRelations!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformArtist, PlatformArtistId>;
97
+ countPlatformArtistIdPlatformArtistPlatformArtistGenreRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
98
+ // PlatformGenre hasMany PlatformArtistGenreRelation via platformGenreId
99
+ platformArtistGenreRelations!: PlatformArtistGenreRelation[];
100
+ getPlatformArtistGenreRelations!: Sequelize.HasManyGetAssociationsMixin<PlatformArtistGenreRelation>;
101
+ setPlatformArtistGenreRelations!: Sequelize.HasManySetAssociationsMixin<PlatformArtistGenreRelation, PlatformArtistGenreRelationId>;
102
+ addPlatformArtistGenreRelation!: Sequelize.HasManyAddAssociationMixin<PlatformArtistGenreRelation, PlatformArtistGenreRelationId>;
103
+ addPlatformArtistGenreRelations!: Sequelize.HasManyAddAssociationsMixin<PlatformArtistGenreRelation, PlatformArtistGenreRelationId>;
104
+ createPlatformArtistGenreRelation!: Sequelize.HasManyCreateAssociationMixin<PlatformArtistGenreRelation>;
105
+ removePlatformArtistGenreRelation!: Sequelize.HasManyRemoveAssociationMixin<PlatformArtistGenreRelation, PlatformArtistGenreRelationId>;
106
+ removePlatformArtistGenreRelations!: Sequelize.HasManyRemoveAssociationsMixin<PlatformArtistGenreRelation, PlatformArtistGenreRelationId>;
107
+ hasPlatformArtistGenreRelation!: Sequelize.HasManyHasAssociationMixin<PlatformArtistGenreRelation, PlatformArtistGenreRelationId>;
108
+ hasPlatformArtistGenreRelations!: Sequelize.HasManyHasAssociationsMixin<PlatformArtistGenreRelation, PlatformArtistGenreRelationId>;
109
+ countPlatformArtistGenreRelations!: Sequelize.HasManyCountAssociationsMixin;
110
+ // PlatformGenre belongsToMany PlatformTrack via platformGenreId and platformTrackId
111
+ platformTrackIdPlatformTrackPlatformTrackGenreRelations!: PlatformTrack[];
112
+ getPlatformTrackIdPlatformTrackPlatformTrackGenreRelations!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformTrack>;
113
+ setPlatformTrackIdPlatformTrackPlatformTrackGenreRelations!: Sequelize.BelongsToManySetAssociationsMixin<PlatformTrack, PlatformTrackId>;
114
+ addPlatformTrackIdPlatformTrackPlatformTrackGenreRelation!: Sequelize.BelongsToManyAddAssociationMixin<PlatformTrack, PlatformTrackId>;
115
+ addPlatformTrackIdPlatformTrackPlatformTrackGenreRelations!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformTrack, PlatformTrackId>;
116
+ createPlatformTrackIdPlatformTrackPlatformTrackGenreRelation!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformTrack>;
117
+ removePlatformTrackIdPlatformTrackPlatformTrackGenreRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformTrack, PlatformTrackId>;
118
+ removePlatformTrackIdPlatformTrackPlatformTrackGenreRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformTrack, PlatformTrackId>;
119
+ hasPlatformTrackIdPlatformTrackPlatformTrackGenreRelation!: Sequelize.BelongsToManyHasAssociationMixin<PlatformTrack, PlatformTrackId>;
120
+ hasPlatformTrackIdPlatformTrackPlatformTrackGenreRelations!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformTrack, PlatformTrackId>;
121
+ countPlatformTrackIdPlatformTrackPlatformTrackGenreRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
122
+ // PlatformGenre hasMany PlatformTrackGenreRelation via platformGenreId
123
+ platformTrackGenreRelations!: PlatformTrackGenreRelation[];
124
+ getPlatformTrackGenreRelations!: Sequelize.HasManyGetAssociationsMixin<PlatformTrackGenreRelation>;
125
+ setPlatformTrackGenreRelations!: Sequelize.HasManySetAssociationsMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
126
+ addPlatformTrackGenreRelation!: Sequelize.HasManyAddAssociationMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
127
+ addPlatformTrackGenreRelations!: Sequelize.HasManyAddAssociationsMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
128
+ createPlatformTrackGenreRelation!: Sequelize.HasManyCreateAssociationMixin<PlatformTrackGenreRelation>;
129
+ removePlatformTrackGenreRelation!: Sequelize.HasManyRemoveAssociationMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
130
+ removePlatformTrackGenreRelations!: Sequelize.HasManyRemoveAssociationsMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
131
+ hasPlatformTrackGenreRelation!: Sequelize.HasManyHasAssociationMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
132
+ hasPlatformTrackGenreRelations!: Sequelize.HasManyHasAssociationsMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
133
+ countPlatformTrackGenreRelations!: Sequelize.HasManyCountAssociationsMixin;
134
+
135
+ static initModel(sequelize: Sequelize.Sequelize): typeof PlatformGenre {
136
+ return PlatformGenre.init({
137
+ id: {
138
+ type: DataTypes.UUID,
139
+ allowNull: false,
140
+ defaultValue: Sequelize.Sequelize.fn('uuid_generate_v1'),
141
+ primaryKey: true
142
+ },
143
+ platformId: {
144
+ type: DataTypes.SMALLINT,
145
+ allowNull: false,
146
+ references: {
147
+ model: 'platform',
148
+ key: 'id'
149
+ },
150
+ unique: "platform_genre_name_pkey",
151
+ field: 'platform_id'
152
+ },
153
+ name: {
154
+ type: DataTypes.TEXT,
155
+ allowNull: false,
156
+ unique: "platform_genre_name_pkey"
157
+ },
158
+ createDate: {
159
+ type: DataTypes.DATE,
160
+ allowNull: false,
161
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
162
+ field: 'create_date'
163
+ },
164
+ updateDate: {
165
+ type: DataTypes.DATE,
166
+ allowNull: false,
167
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
168
+ field: 'update_date'
169
+ }
170
+ }, {
171
+ sequelize,
172
+ tableName: 'platform_genre',
173
+ schema: 'eb',
174
+ timestamps: false,
175
+ indexes: [
176
+ {
177
+ name: "platform_genre_name_pkey",
178
+ unique: true,
179
+ fields: [
180
+ { name: "platform_id" },
181
+ { name: "name" },
182
+ ]
183
+ },
184
+ {
185
+ name: "platform_genre_pkey",
186
+ unique: true,
187
+ fields: [
188
+ { name: "id" },
189
+ ]
190
+ },
191
+ ]
192
+ });
193
+ }
194
+ }
@@ -0,0 +1,339 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId } from './CanonToPlatformTrackRelation';
4
+ import type { CanonTrack, CanonTrackId } from './CanonTrack';
5
+ import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
6
+ import type { Platform, PlatformId } from './Platform';
7
+ import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
8
+ import type { PlatformAlbumTrackRelation, PlatformAlbumTrackRelationId } from './PlatformAlbumTrackRelation';
9
+ import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
10
+ import type { PlatformArtistTrackRelation, PlatformArtistTrackRelationId } from './PlatformArtistTrackRelation';
11
+ import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
12
+ import type { PlatformTrackGenreRelation, PlatformTrackGenreRelationId } from './PlatformTrackGenreRelation';
13
+ import type { PlatformUserAlbumTrack, PlatformUserAlbumTrackId } from './PlatformUserAlbumTrack';
14
+ import type { PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId } from './PlatformUserPlaylistTrack';
15
+ import type { Versus, VersusId } from './Versus';
16
+ import type { VersusOption, VersusOptionId } from './VersusOption';
17
+ import type { VersusPublishIssue, VersusPublishIssueId } from './VersusPublishIssue';
18
+
19
+ export interface PlatformTrackAttributes {
20
+ id: string;
21
+ platformId: number;
22
+ externalTrackId: string;
23
+ name: string;
24
+ asciiName: string;
25
+ durationMs: number;
26
+ explicit?: boolean;
27
+ popularity?: number;
28
+ discNumber?: number;
29
+ discTrackNumber?: number;
30
+ createDate: Date;
31
+ updateDate: Date;
32
+ lastHarvestDate?: Date;
33
+ lastHarvestLog?: string;
34
+ }
35
+
36
+ export type PlatformTrackPk = "id";
37
+ export type PlatformTrackId = PlatformTrack[PlatformTrackPk];
38
+ export type PlatformTrackOptionalAttributes = "id" | "explicit" | "popularity" | "discNumber" | "discTrackNumber" | "createDate" | "updateDate" | "lastHarvestDate" | "lastHarvestLog";
39
+ export type PlatformTrackCreationAttributes = Optional<PlatformTrackAttributes, PlatformTrackOptionalAttributes>;
40
+
41
+ export class PlatformTrack extends Model<PlatformTrackAttributes, PlatformTrackCreationAttributes> implements PlatformTrackAttributes {
42
+ id!: string;
43
+ platformId!: number;
44
+ externalTrackId!: string;
45
+ name!: string;
46
+ asciiName!: string;
47
+ durationMs!: number;
48
+ explicit?: boolean;
49
+ popularity?: number;
50
+ discNumber?: number;
51
+ discTrackNumber?: number;
52
+ createDate!: Date;
53
+ updateDate!: Date;
54
+ lastHarvestDate?: Date;
55
+ lastHarvestLog?: string;
56
+
57
+ // PlatformTrack belongsTo Platform via platformId
58
+ platform!: Platform;
59
+ getPlatform!: Sequelize.BelongsToGetAssociationMixin<Platform>;
60
+ setPlatform!: Sequelize.BelongsToSetAssociationMixin<Platform, PlatformId>;
61
+ createPlatform!: Sequelize.BelongsToCreateAssociationMixin<Platform>;
62
+ // PlatformTrack hasMany CanonToPlatformTrackRelation via platformTrackId
63
+ canonToPlatformTrackRelations!: CanonToPlatformTrackRelation[];
64
+ getCanonToPlatformTrackRelations!: Sequelize.HasManyGetAssociationsMixin<CanonToPlatformTrackRelation>;
65
+ setCanonToPlatformTrackRelations!: Sequelize.HasManySetAssociationsMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
66
+ addCanonToPlatformTrackRelation!: Sequelize.HasManyAddAssociationMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
67
+ addCanonToPlatformTrackRelations!: Sequelize.HasManyAddAssociationsMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
68
+ createCanonToPlatformTrackRelation!: Sequelize.HasManyCreateAssociationMixin<CanonToPlatformTrackRelation>;
69
+ removeCanonToPlatformTrackRelation!: Sequelize.HasManyRemoveAssociationMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
70
+ removeCanonToPlatformTrackRelations!: Sequelize.HasManyRemoveAssociationsMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
71
+ hasCanonToPlatformTrackRelation!: Sequelize.HasManyHasAssociationMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
72
+ hasCanonToPlatformTrackRelations!: Sequelize.HasManyHasAssociationsMixin<CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId>;
73
+ countCanonToPlatformTrackRelations!: Sequelize.HasManyCountAssociationsMixin;
74
+ // PlatformTrack belongsToMany CanonTrack via platformTrackId and canonTrackId
75
+ canonTrackIdCanonTrackCanonToPlatformTrackRelations!: CanonTrack[];
76
+ getCanonTrackIdCanonTrackCanonToPlatformTrackRelations!: Sequelize.BelongsToManyGetAssociationsMixin<CanonTrack>;
77
+ setCanonTrackIdCanonTrackCanonToPlatformTrackRelations!: Sequelize.BelongsToManySetAssociationsMixin<CanonTrack, CanonTrackId>;
78
+ addCanonTrackIdCanonTrackCanonToPlatformTrackRelation!: Sequelize.BelongsToManyAddAssociationMixin<CanonTrack, CanonTrackId>;
79
+ addCanonTrackIdCanonTrackCanonToPlatformTrackRelations!: Sequelize.BelongsToManyAddAssociationsMixin<CanonTrack, CanonTrackId>;
80
+ createCanonTrackIdCanonTrackCanonToPlatformTrackRelation!: Sequelize.BelongsToManyCreateAssociationMixin<CanonTrack>;
81
+ removeCanonTrackIdCanonTrackCanonToPlatformTrackRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<CanonTrack, CanonTrackId>;
82
+ removeCanonTrackIdCanonTrackCanonToPlatformTrackRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<CanonTrack, CanonTrackId>;
83
+ hasCanonTrackIdCanonTrackCanonToPlatformTrackRelation!: Sequelize.BelongsToManyHasAssociationMixin<CanonTrack, CanonTrackId>;
84
+ hasCanonTrackIdCanonTrackCanonToPlatformTrackRelations!: Sequelize.BelongsToManyHasAssociationsMixin<CanonTrack, CanonTrackId>;
85
+ countCanonTrackIdCanonTrackCanonToPlatformTrackRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
86
+ // PlatformTrack hasMany JukeboxQueueEntry via platformTrackId
87
+ jukeboxQueueEntries!: JukeboxQueueEntry[];
88
+ getJukeboxQueueEntries!: Sequelize.HasManyGetAssociationsMixin<JukeboxQueueEntry>;
89
+ setJukeboxQueueEntries!: Sequelize.HasManySetAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
90
+ addJukeboxQueueEntry!: Sequelize.HasManyAddAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
91
+ addJukeboxQueueEntries!: Sequelize.HasManyAddAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
92
+ createJukeboxQueueEntry!: Sequelize.HasManyCreateAssociationMixin<JukeboxQueueEntry>;
93
+ removeJukeboxQueueEntry!: Sequelize.HasManyRemoveAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
94
+ removeJukeboxQueueEntries!: Sequelize.HasManyRemoveAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
95
+ hasJukeboxQueueEntry!: Sequelize.HasManyHasAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
96
+ hasJukeboxQueueEntries!: Sequelize.HasManyHasAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
97
+ countJukeboxQueueEntries!: Sequelize.HasManyCountAssociationsMixin;
98
+ // PlatformTrack belongsToMany PlatformAlbum via platformTrackId and platformAlbumId
99
+ platformAlbumIdPlatformAlbumPlatformAlbumTrackRelations!: PlatformAlbum[];
100
+ getPlatformAlbumIdPlatformAlbumPlatformAlbumTrackRelations!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformAlbum>;
101
+ setPlatformAlbumIdPlatformAlbumPlatformAlbumTrackRelations!: Sequelize.BelongsToManySetAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
102
+ addPlatformAlbumIdPlatformAlbumPlatformAlbumTrackRelation!: Sequelize.BelongsToManyAddAssociationMixin<PlatformAlbum, PlatformAlbumId>;
103
+ addPlatformAlbumIdPlatformAlbumPlatformAlbumTrackRelations!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
104
+ createPlatformAlbumIdPlatformAlbumPlatformAlbumTrackRelation!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformAlbum>;
105
+ removePlatformAlbumIdPlatformAlbumPlatformAlbumTrackRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformAlbum, PlatformAlbumId>;
106
+ removePlatformAlbumIdPlatformAlbumPlatformAlbumTrackRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
107
+ hasPlatformAlbumIdPlatformAlbumPlatformAlbumTrackRelation!: Sequelize.BelongsToManyHasAssociationMixin<PlatformAlbum, PlatformAlbumId>;
108
+ hasPlatformAlbumIdPlatformAlbumPlatformAlbumTrackRelations!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
109
+ countPlatformAlbumIdPlatformAlbumPlatformAlbumTrackRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
110
+ // PlatformTrack hasMany PlatformAlbumTrackRelation via platformTrackId
111
+ platformAlbumTrackRelations!: PlatformAlbumTrackRelation[];
112
+ getPlatformAlbumTrackRelations!: Sequelize.HasManyGetAssociationsMixin<PlatformAlbumTrackRelation>;
113
+ setPlatformAlbumTrackRelations!: Sequelize.HasManySetAssociationsMixin<PlatformAlbumTrackRelation, PlatformAlbumTrackRelationId>;
114
+ addPlatformAlbumTrackRelation!: Sequelize.HasManyAddAssociationMixin<PlatformAlbumTrackRelation, PlatformAlbumTrackRelationId>;
115
+ addPlatformAlbumTrackRelations!: Sequelize.HasManyAddAssociationsMixin<PlatformAlbumTrackRelation, PlatformAlbumTrackRelationId>;
116
+ createPlatformAlbumTrackRelation!: Sequelize.HasManyCreateAssociationMixin<PlatformAlbumTrackRelation>;
117
+ removePlatformAlbumTrackRelation!: Sequelize.HasManyRemoveAssociationMixin<PlatformAlbumTrackRelation, PlatformAlbumTrackRelationId>;
118
+ removePlatformAlbumTrackRelations!: Sequelize.HasManyRemoveAssociationsMixin<PlatformAlbumTrackRelation, PlatformAlbumTrackRelationId>;
119
+ hasPlatformAlbumTrackRelation!: Sequelize.HasManyHasAssociationMixin<PlatformAlbumTrackRelation, PlatformAlbumTrackRelationId>;
120
+ hasPlatformAlbumTrackRelations!: Sequelize.HasManyHasAssociationsMixin<PlatformAlbumTrackRelation, PlatformAlbumTrackRelationId>;
121
+ countPlatformAlbumTrackRelations!: Sequelize.HasManyCountAssociationsMixin;
122
+ // PlatformTrack belongsToMany PlatformArtist via platformTrackId and platformArtistId
123
+ platformArtistIdPlatformArtistPlatformArtistTrackRelations!: PlatformArtist[];
124
+ getPlatformArtistIdPlatformArtistPlatformArtistTrackRelations!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformArtist>;
125
+ setPlatformArtistIdPlatformArtistPlatformArtistTrackRelations!: Sequelize.BelongsToManySetAssociationsMixin<PlatformArtist, PlatformArtistId>;
126
+ addPlatformArtistIdPlatformArtistPlatformArtistTrackRelation!: Sequelize.BelongsToManyAddAssociationMixin<PlatformArtist, PlatformArtistId>;
127
+ addPlatformArtistIdPlatformArtistPlatformArtistTrackRelations!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformArtist, PlatformArtistId>;
128
+ createPlatformArtistIdPlatformArtistPlatformArtistTrackRelation!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformArtist>;
129
+ removePlatformArtistIdPlatformArtistPlatformArtistTrackRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformArtist, PlatformArtistId>;
130
+ removePlatformArtistIdPlatformArtistPlatformArtistTrackRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformArtist, PlatformArtistId>;
131
+ hasPlatformArtistIdPlatformArtistPlatformArtistTrackRelation!: Sequelize.BelongsToManyHasAssociationMixin<PlatformArtist, PlatformArtistId>;
132
+ hasPlatformArtistIdPlatformArtistPlatformArtistTrackRelations!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformArtist, PlatformArtistId>;
133
+ countPlatformArtistIdPlatformArtistPlatformArtistTrackRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
134
+ // PlatformTrack hasMany PlatformArtistTrackRelation via platformTrackId
135
+ platformArtistTrackRelations!: PlatformArtistTrackRelation[];
136
+ getPlatformArtistTrackRelations!: Sequelize.HasManyGetAssociationsMixin<PlatformArtistTrackRelation>;
137
+ setPlatformArtistTrackRelations!: Sequelize.HasManySetAssociationsMixin<PlatformArtistTrackRelation, PlatformArtistTrackRelationId>;
138
+ addPlatformArtistTrackRelation!: Sequelize.HasManyAddAssociationMixin<PlatformArtistTrackRelation, PlatformArtistTrackRelationId>;
139
+ addPlatformArtistTrackRelations!: Sequelize.HasManyAddAssociationsMixin<PlatformArtistTrackRelation, PlatformArtistTrackRelationId>;
140
+ createPlatformArtistTrackRelation!: Sequelize.HasManyCreateAssociationMixin<PlatformArtistTrackRelation>;
141
+ removePlatformArtistTrackRelation!: Sequelize.HasManyRemoveAssociationMixin<PlatformArtistTrackRelation, PlatformArtistTrackRelationId>;
142
+ removePlatformArtistTrackRelations!: Sequelize.HasManyRemoveAssociationsMixin<PlatformArtistTrackRelation, PlatformArtistTrackRelationId>;
143
+ hasPlatformArtistTrackRelation!: Sequelize.HasManyHasAssociationMixin<PlatformArtistTrackRelation, PlatformArtistTrackRelationId>;
144
+ hasPlatformArtistTrackRelations!: Sequelize.HasManyHasAssociationsMixin<PlatformArtistTrackRelation, PlatformArtistTrackRelationId>;
145
+ countPlatformArtistTrackRelations!: Sequelize.HasManyCountAssociationsMixin;
146
+ // PlatformTrack belongsToMany PlatformGenre via platformTrackId and platformGenreId
147
+ platformGenreIdPlatformGenrePlatformTrackGenreRelations!: PlatformGenre[];
148
+ getPlatformGenreIdPlatformGenrePlatformTrackGenreRelations!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformGenre>;
149
+ setPlatformGenreIdPlatformGenrePlatformTrackGenreRelations!: Sequelize.BelongsToManySetAssociationsMixin<PlatformGenre, PlatformGenreId>;
150
+ addPlatformGenreIdPlatformGenrePlatformTrackGenreRelation!: Sequelize.BelongsToManyAddAssociationMixin<PlatformGenre, PlatformGenreId>;
151
+ addPlatformGenreIdPlatformGenrePlatformTrackGenreRelations!: Sequelize.BelongsToManyAddAssociationsMixin<PlatformGenre, PlatformGenreId>;
152
+ createPlatformGenreIdPlatformGenrePlatformTrackGenreRelation!: Sequelize.BelongsToManyCreateAssociationMixin<PlatformGenre>;
153
+ removePlatformGenreIdPlatformGenrePlatformTrackGenreRelation!: Sequelize.BelongsToManyRemoveAssociationMixin<PlatformGenre, PlatformGenreId>;
154
+ removePlatformGenreIdPlatformGenrePlatformTrackGenreRelations!: Sequelize.BelongsToManyRemoveAssociationsMixin<PlatformGenre, PlatformGenreId>;
155
+ hasPlatformGenreIdPlatformGenrePlatformTrackGenreRelation!: Sequelize.BelongsToManyHasAssociationMixin<PlatformGenre, PlatformGenreId>;
156
+ hasPlatformGenreIdPlatformGenrePlatformTrackGenreRelations!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformGenre, PlatformGenreId>;
157
+ countPlatformGenreIdPlatformGenrePlatformTrackGenreRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
158
+ // PlatformTrack hasMany PlatformTrackGenreRelation via platformTrackId
159
+ platformTrackGenreRelations!: PlatformTrackGenreRelation[];
160
+ getPlatformTrackGenreRelations!: Sequelize.HasManyGetAssociationsMixin<PlatformTrackGenreRelation>;
161
+ setPlatformTrackGenreRelations!: Sequelize.HasManySetAssociationsMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
162
+ addPlatformTrackGenreRelation!: Sequelize.HasManyAddAssociationMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
163
+ addPlatformTrackGenreRelations!: Sequelize.HasManyAddAssociationsMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
164
+ createPlatformTrackGenreRelation!: Sequelize.HasManyCreateAssociationMixin<PlatformTrackGenreRelation>;
165
+ removePlatformTrackGenreRelation!: Sequelize.HasManyRemoveAssociationMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
166
+ removePlatformTrackGenreRelations!: Sequelize.HasManyRemoveAssociationsMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
167
+ hasPlatformTrackGenreRelation!: Sequelize.HasManyHasAssociationMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
168
+ hasPlatformTrackGenreRelations!: Sequelize.HasManyHasAssociationsMixin<PlatformTrackGenreRelation, PlatformTrackGenreRelationId>;
169
+ countPlatformTrackGenreRelations!: Sequelize.HasManyCountAssociationsMixin;
170
+ // PlatformTrack hasMany PlatformUserAlbumTrack via platformTrackId
171
+ platformUserAlbumTracks!: PlatformUserAlbumTrack[];
172
+ getPlatformUserAlbumTracks!: Sequelize.HasManyGetAssociationsMixin<PlatformUserAlbumTrack>;
173
+ setPlatformUserAlbumTracks!: Sequelize.HasManySetAssociationsMixin<PlatformUserAlbumTrack, PlatformUserAlbumTrackId>;
174
+ addPlatformUserAlbumTrack!: Sequelize.HasManyAddAssociationMixin<PlatformUserAlbumTrack, PlatformUserAlbumTrackId>;
175
+ addPlatformUserAlbumTracks!: Sequelize.HasManyAddAssociationsMixin<PlatformUserAlbumTrack, PlatformUserAlbumTrackId>;
176
+ createPlatformUserAlbumTrack!: Sequelize.HasManyCreateAssociationMixin<PlatformUserAlbumTrack>;
177
+ removePlatformUserAlbumTrack!: Sequelize.HasManyRemoveAssociationMixin<PlatformUserAlbumTrack, PlatformUserAlbumTrackId>;
178
+ removePlatformUserAlbumTracks!: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserAlbumTrack, PlatformUserAlbumTrackId>;
179
+ hasPlatformUserAlbumTrack!: Sequelize.HasManyHasAssociationMixin<PlatformUserAlbumTrack, PlatformUserAlbumTrackId>;
180
+ hasPlatformUserAlbumTracks!: Sequelize.HasManyHasAssociationsMixin<PlatformUserAlbumTrack, PlatformUserAlbumTrackId>;
181
+ countPlatformUserAlbumTracks!: Sequelize.HasManyCountAssociationsMixin;
182
+ // PlatformTrack hasMany PlatformUserPlaylistTrack via platformTrackId
183
+ platformUserPlaylistTracks!: PlatformUserPlaylistTrack[];
184
+ getPlatformUserPlaylistTracks!: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistTrack>;
185
+ setPlatformUserPlaylistTracks!: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
186
+ addPlatformUserPlaylistTrack!: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
187
+ addPlatformUserPlaylistTracks!: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
188
+ createPlatformUserPlaylistTrack!: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistTrack>;
189
+ removePlatformUserPlaylistTrack!: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
190
+ removePlatformUserPlaylistTracks!: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
191
+ hasPlatformUserPlaylistTrack!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
192
+ hasPlatformUserPlaylistTracks!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
193
+ countPlatformUserPlaylistTracks!: Sequelize.HasManyCountAssociationsMixin;
194
+ // PlatformTrack hasMany Versus via platformTrackId
195
+ versus!: Versus[];
196
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
197
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
198
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
199
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
200
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
201
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
202
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
203
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
204
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
205
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
206
+ // PlatformTrack hasMany VersusOption via platformTrackId
207
+ versusOptions!: VersusOption[];
208
+ getVersusOptions!: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
209
+ setVersusOptions!: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
210
+ addVersusOption!: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
211
+ addVersusOptions!: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
212
+ createVersusOption!: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
213
+ removeVersusOption!: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
214
+ removeVersusOptions!: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
215
+ hasVersusOption!: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
216
+ hasVersusOptions!: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
217
+ countVersusOptions!: Sequelize.HasManyCountAssociationsMixin;
218
+ // PlatformTrack hasMany VersusPublishIssue via platformTrackId
219
+ versusPublishIssues!: VersusPublishIssue[];
220
+ getVersusPublishIssues!: Sequelize.HasManyGetAssociationsMixin<VersusPublishIssue>;
221
+ setVersusPublishIssues!: Sequelize.HasManySetAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
222
+ addVersusPublishIssue!: Sequelize.HasManyAddAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
223
+ addVersusPublishIssues!: Sequelize.HasManyAddAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
224
+ createVersusPublishIssue!: Sequelize.HasManyCreateAssociationMixin<VersusPublishIssue>;
225
+ removeVersusPublishIssue!: Sequelize.HasManyRemoveAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
226
+ removeVersusPublishIssues!: Sequelize.HasManyRemoveAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
227
+ hasVersusPublishIssue!: Sequelize.HasManyHasAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
228
+ hasVersusPublishIssues!: Sequelize.HasManyHasAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
229
+ countVersusPublishIssues!: Sequelize.HasManyCountAssociationsMixin;
230
+
231
+ static initModel(sequelize: Sequelize.Sequelize): typeof PlatformTrack {
232
+ return PlatformTrack.init({
233
+ id: {
234
+ type: DataTypes.UUID,
235
+ allowNull: false,
236
+ defaultValue: Sequelize.Sequelize.fn('uuid_generate_v1'),
237
+ primaryKey: true
238
+ },
239
+ platformId: {
240
+ type: DataTypes.SMALLINT,
241
+ allowNull: false,
242
+ references: {
243
+ model: 'platform',
244
+ key: 'id'
245
+ },
246
+ unique: "uk_platform_id_external_track_id",
247
+ field: 'platform_id'
248
+ },
249
+ externalTrackId: {
250
+ type: DataTypes.TEXT,
251
+ allowNull: false,
252
+ unique: "uk_platform_id_external_track_id",
253
+ field: 'external_track_id'
254
+ },
255
+ name: {
256
+ type: DataTypes.TEXT,
257
+ allowNull: false
258
+ },
259
+ asciiName: {
260
+ type: DataTypes.TEXT,
261
+ allowNull: false,
262
+ field: 'ascii_name'
263
+ },
264
+ durationMs: {
265
+ type: DataTypes.INTEGER,
266
+ allowNull: false,
267
+ field: 'duration_ms'
268
+ },
269
+ explicit: {
270
+ type: DataTypes.BOOLEAN,
271
+ allowNull: true
272
+ },
273
+ popularity: {
274
+ type: DataTypes.SMALLINT,
275
+ allowNull: true
276
+ },
277
+ discNumber: {
278
+ type: DataTypes.SMALLINT,
279
+ allowNull: true,
280
+ field: 'disc_number'
281
+ },
282
+ discTrackNumber: {
283
+ type: DataTypes.SMALLINT,
284
+ allowNull: true,
285
+ field: 'disc_track_number'
286
+ },
287
+ createDate: {
288
+ type: DataTypes.DATE,
289
+ allowNull: false,
290
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
291
+ field: 'create_date'
292
+ },
293
+ updateDate: {
294
+ type: DataTypes.DATE,
295
+ allowNull: false,
296
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
297
+ field: 'update_date'
298
+ },
299
+ lastHarvestDate: {
300
+ type: DataTypes.DATE,
301
+ allowNull: true,
302
+ field: 'last_harvest_date'
303
+ },
304
+ lastHarvestLog: {
305
+ type: DataTypes.TEXT,
306
+ allowNull: true,
307
+ field: 'last_harvest_log'
308
+ }
309
+ }, {
310
+ sequelize,
311
+ tableName: 'platform_track',
312
+ schema: 'eb',
313
+ timestamps: false,
314
+ indexes: [
315
+ {
316
+ name: "idx_platform_track_external_track_id",
317
+ fields: [
318
+ { name: "external_track_id" },
319
+ ]
320
+ },
321
+ {
322
+ name: "platform_track_pkey1",
323
+ unique: true,
324
+ fields: [
325
+ { name: "id" },
326
+ ]
327
+ },
328
+ {
329
+ name: "uk_platform_id_external_track_id",
330
+ unique: true,
331
+ fields: [
332
+ { name: "platform_id" },
333
+ { name: "external_track_id" },
334
+ ]
335
+ },
336
+ ]
337
+ });
338
+ }
339
+ }
@@ -0,0 +1,86 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
4
+ import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
5
+
6
+ export interface PlatformTrackGenreRelationAttributes {
7
+ platformGenreId: string;
8
+ platformTrackId: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type PlatformTrackGenreRelationPk = "platformGenreId" | "platformTrackId";
14
+ export type PlatformTrackGenreRelationId = PlatformTrackGenreRelation[PlatformTrackGenreRelationPk];
15
+ export type PlatformTrackGenreRelationOptionalAttributes = "createDate" | "updateDate";
16
+ export type PlatformTrackGenreRelationCreationAttributes = Optional<PlatformTrackGenreRelationAttributes, PlatformTrackGenreRelationOptionalAttributes>;
17
+
18
+ export class PlatformTrackGenreRelation extends Model<PlatformTrackGenreRelationAttributes, PlatformTrackGenreRelationCreationAttributes> implements PlatformTrackGenreRelationAttributes {
19
+ platformGenreId!: string;
20
+ platformTrackId!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // PlatformTrackGenreRelation belongsTo PlatformGenre via platformGenreId
25
+ platformGenre!: PlatformGenre;
26
+ getPlatformGenre!: Sequelize.BelongsToGetAssociationMixin<PlatformGenre>;
27
+ setPlatformGenre!: Sequelize.BelongsToSetAssociationMixin<PlatformGenre, PlatformGenreId>;
28
+ createPlatformGenre!: Sequelize.BelongsToCreateAssociationMixin<PlatformGenre>;
29
+ // PlatformTrackGenreRelation belongsTo PlatformTrack via platformTrackId
30
+ platformTrack!: PlatformTrack;
31
+ getPlatformTrack!: Sequelize.BelongsToGetAssociationMixin<PlatformTrack>;
32
+ setPlatformTrack!: Sequelize.BelongsToSetAssociationMixin<PlatformTrack, PlatformTrackId>;
33
+ createPlatformTrack!: Sequelize.BelongsToCreateAssociationMixin<PlatformTrack>;
34
+
35
+ static initModel(sequelize: Sequelize.Sequelize): typeof PlatformTrackGenreRelation {
36
+ return PlatformTrackGenreRelation.init({
37
+ platformGenreId: {
38
+ type: DataTypes.UUID,
39
+ allowNull: false,
40
+ primaryKey: true,
41
+ references: {
42
+ model: 'platform_genre',
43
+ key: 'id'
44
+ },
45
+ field: 'platform_genre_id'
46
+ },
47
+ platformTrackId: {
48
+ type: DataTypes.UUID,
49
+ allowNull: false,
50
+ primaryKey: true,
51
+ references: {
52
+ model: 'platform_track',
53
+ key: 'id'
54
+ },
55
+ field: 'platform_track_id'
56
+ },
57
+ createDate: {
58
+ type: DataTypes.DATE,
59
+ allowNull: false,
60
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
61
+ field: 'create_date'
62
+ },
63
+ updateDate: {
64
+ type: DataTypes.DATE,
65
+ allowNull: false,
66
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
67
+ field: 'update_date'
68
+ }
69
+ }, {
70
+ sequelize,
71
+ tableName: 'platform_track_genre_relation',
72
+ schema: 'eb',
73
+ timestamps: false,
74
+ indexes: [
75
+ {
76
+ name: "platform_track_genre_relation_pkey",
77
+ unique: true,
78
+ fields: [
79
+ { name: "platform_track_id" },
80
+ { name: "platform_genre_id" },
81
+ ]
82
+ },
83
+ ]
84
+ });
85
+ }
86
+ }