@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,438 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { AppUser, AppUserId } from './AppUser';
4
+ import type { CanonAlbum, CanonAlbumId } from './CanonAlbum';
5
+ import type { CanonArtist, CanonArtistId } from './CanonArtist';
6
+ import type { CanonGenre, CanonGenreId } from './CanonGenre';
7
+ import type { CanonTrack, CanonTrackId } from './CanonTrack';
8
+ import type { GuestUser, GuestUserId } from './GuestUser';
9
+ import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
10
+ import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
11
+ import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
12
+ import type { VersusAccessType, VersusAccessTypeId } from './VersusAccessType';
13
+ import type { VersusCoCreator, VersusCoCreatorId } from './VersusCoCreator';
14
+ import type { VersusCreatorScope, VersusCreatorScopeId } from './VersusCreatorScope';
15
+ import type { VersusEndMode, VersusEndModeId } from './VersusEndMode';
16
+ import type { VersusEndTimerDuration, VersusEndTimerDurationId } from './VersusEndTimerDuration';
17
+ import type { VersusEndVoteThreshold, VersusEndVoteThresholdId } from './VersusEndVoteThreshold';
18
+ import type { VersusOption, VersusOptionId } from './VersusOption';
19
+ import type { VersusPublishIssue, VersusPublishIssueId } from './VersusPublishIssue';
20
+ import type { VersusQuestion, VersusQuestionId } from './VersusQuestion';
21
+ import type { VersusVote, VersusVoteId } from './VersusVote';
22
+ import type { VersusVotingMode, VersusVotingModeId } from './VersusVotingMode';
23
+
24
+ export interface VersusAttributes {
25
+ id: string;
26
+ versusQuestionId: string;
27
+ canonTrackId?: string;
28
+ platformTrackId?: string;
29
+ canonAlbumId?: string;
30
+ platformAlbumId?: string;
31
+ canonArtistId?: string;
32
+ platformArtistId?: string;
33
+ canonGenreId?: string;
34
+ themeText?: string;
35
+ versusAccessTypeId: number;
36
+ versusCreatorScopeId: number;
37
+ versusVotingModeId: number;
38
+ versusEndModeId: number;
39
+ versusEndVoteThresholdId?: number;
40
+ versusEndTimerDurationId?: number;
41
+ startsAt?: Date;
42
+ endsAt?: Date;
43
+ creatorUserId: string;
44
+ publishRequested: boolean;
45
+ publishedAt?: Date;
46
+ deleted: boolean;
47
+ createdAt: Date;
48
+ updatedAt: Date;
49
+ }
50
+
51
+ export type VersusPk = "id";
52
+ export type VersusId = Versus[VersusPk];
53
+ export type VersusOptionalAttributes = "id" | "canonTrackId" | "platformTrackId" | "canonAlbumId" | "platformAlbumId" | "canonArtistId" | "platformArtistId" | "canonGenreId" | "themeText" | "versusEndVoteThresholdId" | "versusEndTimerDurationId" | "startsAt" | "endsAt" | "publishedAt" | "createdAt" | "updatedAt";
54
+ export type VersusCreationAttributes = Optional<VersusAttributes, VersusOptionalAttributes>;
55
+
56
+ export class Versus extends Model<VersusAttributes, VersusCreationAttributes> implements VersusAttributes {
57
+ id!: string;
58
+ versusQuestionId!: string;
59
+ canonTrackId?: string;
60
+ platformTrackId?: string;
61
+ canonAlbumId?: string;
62
+ platformAlbumId?: string;
63
+ canonArtistId?: string;
64
+ platformArtistId?: string;
65
+ canonGenreId?: string;
66
+ themeText?: string;
67
+ versusAccessTypeId!: number;
68
+ versusCreatorScopeId!: number;
69
+ versusVotingModeId!: number;
70
+ versusEndModeId!: number;
71
+ versusEndVoteThresholdId?: number;
72
+ versusEndTimerDurationId?: number;
73
+ startsAt?: Date;
74
+ endsAt?: Date;
75
+ creatorUserId!: string;
76
+ publishRequested!: boolean;
77
+ publishedAt?: Date;
78
+ deleted!: boolean;
79
+ createdAt!: Date;
80
+ updatedAt!: Date;
81
+
82
+ // Versus belongsTo AppUser via creatorUserId
83
+ creatorUser!: AppUser;
84
+ getCreatorUser!: Sequelize.BelongsToGetAssociationMixin<AppUser>;
85
+ setCreatorUser!: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
86
+ createCreatorUser!: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
87
+ // Versus belongsTo CanonAlbum via canonAlbumId
88
+ canonAlbum!: CanonAlbum;
89
+ getCanonAlbum!: Sequelize.BelongsToGetAssociationMixin<CanonAlbum>;
90
+ setCanonAlbum!: Sequelize.BelongsToSetAssociationMixin<CanonAlbum, CanonAlbumId>;
91
+ createCanonAlbum!: Sequelize.BelongsToCreateAssociationMixin<CanonAlbum>;
92
+ // Versus belongsTo CanonArtist via canonArtistId
93
+ canonArtist!: CanonArtist;
94
+ getCanonArtist!: Sequelize.BelongsToGetAssociationMixin<CanonArtist>;
95
+ setCanonArtist!: Sequelize.BelongsToSetAssociationMixin<CanonArtist, CanonArtistId>;
96
+ createCanonArtist!: Sequelize.BelongsToCreateAssociationMixin<CanonArtist>;
97
+ // Versus belongsTo CanonGenre via canonGenreId
98
+ canonGenre!: CanonGenre;
99
+ getCanonGenre!: Sequelize.BelongsToGetAssociationMixin<CanonGenre>;
100
+ setCanonGenre!: Sequelize.BelongsToSetAssociationMixin<CanonGenre, CanonGenreId>;
101
+ createCanonGenre!: Sequelize.BelongsToCreateAssociationMixin<CanonGenre>;
102
+ // Versus belongsTo CanonTrack via canonTrackId
103
+ canonTrack!: CanonTrack;
104
+ getCanonTrack!: Sequelize.BelongsToGetAssociationMixin<CanonTrack>;
105
+ setCanonTrack!: Sequelize.BelongsToSetAssociationMixin<CanonTrack, CanonTrackId>;
106
+ createCanonTrack!: Sequelize.BelongsToCreateAssociationMixin<CanonTrack>;
107
+ // Versus belongsTo PlatformAlbum via platformAlbumId
108
+ platformAlbum!: PlatformAlbum;
109
+ getPlatformAlbum!: Sequelize.BelongsToGetAssociationMixin<PlatformAlbum>;
110
+ setPlatformAlbum!: Sequelize.BelongsToSetAssociationMixin<PlatformAlbum, PlatformAlbumId>;
111
+ createPlatformAlbum!: Sequelize.BelongsToCreateAssociationMixin<PlatformAlbum>;
112
+ // Versus belongsTo PlatformArtist via platformArtistId
113
+ platformArtist!: PlatformArtist;
114
+ getPlatformArtist!: Sequelize.BelongsToGetAssociationMixin<PlatformArtist>;
115
+ setPlatformArtist!: Sequelize.BelongsToSetAssociationMixin<PlatformArtist, PlatformArtistId>;
116
+ createPlatformArtist!: Sequelize.BelongsToCreateAssociationMixin<PlatformArtist>;
117
+ // Versus belongsTo PlatformTrack via platformTrackId
118
+ platformTrack!: PlatformTrack;
119
+ getPlatformTrack!: Sequelize.BelongsToGetAssociationMixin<PlatformTrack>;
120
+ setPlatformTrack!: Sequelize.BelongsToSetAssociationMixin<PlatformTrack, PlatformTrackId>;
121
+ createPlatformTrack!: Sequelize.BelongsToCreateAssociationMixin<PlatformTrack>;
122
+ // Versus hasMany GuestUser via versusId
123
+ guestUsers!: GuestUser[];
124
+ getGuestUsers!: Sequelize.HasManyGetAssociationsMixin<GuestUser>;
125
+ setGuestUsers!: Sequelize.HasManySetAssociationsMixin<GuestUser, GuestUserId>;
126
+ addGuestUser!: Sequelize.HasManyAddAssociationMixin<GuestUser, GuestUserId>;
127
+ addGuestUsers!: Sequelize.HasManyAddAssociationsMixin<GuestUser, GuestUserId>;
128
+ createGuestUser!: Sequelize.HasManyCreateAssociationMixin<GuestUser>;
129
+ removeGuestUser!: Sequelize.HasManyRemoveAssociationMixin<GuestUser, GuestUserId>;
130
+ removeGuestUsers!: Sequelize.HasManyRemoveAssociationsMixin<GuestUser, GuestUserId>;
131
+ hasGuestUser!: Sequelize.HasManyHasAssociationMixin<GuestUser, GuestUserId>;
132
+ hasGuestUsers!: Sequelize.HasManyHasAssociationsMixin<GuestUser, GuestUserId>;
133
+ countGuestUsers!: Sequelize.HasManyCountAssociationsMixin;
134
+ // Versus hasMany VersusCoCreator via versusId
135
+ versusCoCreators!: VersusCoCreator[];
136
+ getVersusCoCreators!: Sequelize.HasManyGetAssociationsMixin<VersusCoCreator>;
137
+ setVersusCoCreators!: Sequelize.HasManySetAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
138
+ addVersusCoCreator!: Sequelize.HasManyAddAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
139
+ addVersusCoCreators!: Sequelize.HasManyAddAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
140
+ createVersusCoCreator!: Sequelize.HasManyCreateAssociationMixin<VersusCoCreator>;
141
+ removeVersusCoCreator!: Sequelize.HasManyRemoveAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
142
+ removeVersusCoCreators!: Sequelize.HasManyRemoveAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
143
+ hasVersusCoCreator!: Sequelize.HasManyHasAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
144
+ hasVersusCoCreators!: Sequelize.HasManyHasAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
145
+ countVersusCoCreators!: Sequelize.HasManyCountAssociationsMixin;
146
+ // Versus hasMany VersusOption via versusId
147
+ versusOptions!: VersusOption[];
148
+ getVersusOptions!: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
149
+ setVersusOptions!: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
150
+ addVersusOption!: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
151
+ addVersusOptions!: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
152
+ createVersusOption!: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
153
+ removeVersusOption!: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
154
+ removeVersusOptions!: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
155
+ hasVersusOption!: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
156
+ hasVersusOptions!: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
157
+ countVersusOptions!: Sequelize.HasManyCountAssociationsMixin;
158
+ // Versus hasMany VersusPublishIssue via versusId
159
+ versusPublishIssues!: VersusPublishIssue[];
160
+ getVersusPublishIssues!: Sequelize.HasManyGetAssociationsMixin<VersusPublishIssue>;
161
+ setVersusPublishIssues!: Sequelize.HasManySetAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
162
+ addVersusPublishIssue!: Sequelize.HasManyAddAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
163
+ addVersusPublishIssues!: Sequelize.HasManyAddAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
164
+ createVersusPublishIssue!: Sequelize.HasManyCreateAssociationMixin<VersusPublishIssue>;
165
+ removeVersusPublishIssue!: Sequelize.HasManyRemoveAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
166
+ removeVersusPublishIssues!: Sequelize.HasManyRemoveAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
167
+ hasVersusPublishIssue!: Sequelize.HasManyHasAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
168
+ hasVersusPublishIssues!: Sequelize.HasManyHasAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
169
+ countVersusPublishIssues!: Sequelize.HasManyCountAssociationsMixin;
170
+ // Versus hasMany VersusVote via versusId
171
+ versusVotes!: VersusVote[];
172
+ getVersusVotes!: Sequelize.HasManyGetAssociationsMixin<VersusVote>;
173
+ setVersusVotes!: Sequelize.HasManySetAssociationsMixin<VersusVote, VersusVoteId>;
174
+ addVersusVote!: Sequelize.HasManyAddAssociationMixin<VersusVote, VersusVoteId>;
175
+ addVersusVotes!: Sequelize.HasManyAddAssociationsMixin<VersusVote, VersusVoteId>;
176
+ createVersusVote!: Sequelize.HasManyCreateAssociationMixin<VersusVote>;
177
+ removeVersusVote!: Sequelize.HasManyRemoveAssociationMixin<VersusVote, VersusVoteId>;
178
+ removeVersusVotes!: Sequelize.HasManyRemoveAssociationsMixin<VersusVote, VersusVoteId>;
179
+ hasVersusVote!: Sequelize.HasManyHasAssociationMixin<VersusVote, VersusVoteId>;
180
+ hasVersusVotes!: Sequelize.HasManyHasAssociationsMixin<VersusVote, VersusVoteId>;
181
+ countVersusVotes!: Sequelize.HasManyCountAssociationsMixin;
182
+ // Versus belongsTo VersusAccessType via versusAccessTypeId
183
+ versusAccessType!: VersusAccessType;
184
+ getVersusAccessType!: Sequelize.BelongsToGetAssociationMixin<VersusAccessType>;
185
+ setVersusAccessType!: Sequelize.BelongsToSetAssociationMixin<VersusAccessType, VersusAccessTypeId>;
186
+ createVersusAccessType!: Sequelize.BelongsToCreateAssociationMixin<VersusAccessType>;
187
+ // Versus belongsTo VersusCreatorScope via versusCreatorScopeId
188
+ versusCreatorScope!: VersusCreatorScope;
189
+ getVersusCreatorScope!: Sequelize.BelongsToGetAssociationMixin<VersusCreatorScope>;
190
+ setVersusCreatorScope!: Sequelize.BelongsToSetAssociationMixin<VersusCreatorScope, VersusCreatorScopeId>;
191
+ createVersusCreatorScope!: Sequelize.BelongsToCreateAssociationMixin<VersusCreatorScope>;
192
+ // Versus belongsTo VersusEndMode via versusEndModeId
193
+ versusEndMode!: VersusEndMode;
194
+ getVersusEndMode!: Sequelize.BelongsToGetAssociationMixin<VersusEndMode>;
195
+ setVersusEndMode!: Sequelize.BelongsToSetAssociationMixin<VersusEndMode, VersusEndModeId>;
196
+ createVersusEndMode!: Sequelize.BelongsToCreateAssociationMixin<VersusEndMode>;
197
+ // Versus belongsTo VersusEndTimerDuration via versusEndTimerDurationId
198
+ versusEndTimerDuration!: VersusEndTimerDuration;
199
+ getVersusEndTimerDuration!: Sequelize.BelongsToGetAssociationMixin<VersusEndTimerDuration>;
200
+ setVersusEndTimerDuration!: Sequelize.BelongsToSetAssociationMixin<VersusEndTimerDuration, VersusEndTimerDurationId>;
201
+ createVersusEndTimerDuration!: Sequelize.BelongsToCreateAssociationMixin<VersusEndTimerDuration>;
202
+ // Versus belongsTo VersusEndVoteThreshold via versusEndVoteThresholdId
203
+ versusEndVoteThreshold!: VersusEndVoteThreshold;
204
+ getVersusEndVoteThreshold!: Sequelize.BelongsToGetAssociationMixin<VersusEndVoteThreshold>;
205
+ setVersusEndVoteThreshold!: Sequelize.BelongsToSetAssociationMixin<VersusEndVoteThreshold, VersusEndVoteThresholdId>;
206
+ createVersusEndVoteThreshold!: Sequelize.BelongsToCreateAssociationMixin<VersusEndVoteThreshold>;
207
+ // Versus belongsTo VersusQuestion via versusQuestionId
208
+ versusQuestion!: VersusQuestion;
209
+ getVersusQuestion!: Sequelize.BelongsToGetAssociationMixin<VersusQuestion>;
210
+ setVersusQuestion!: Sequelize.BelongsToSetAssociationMixin<VersusQuestion, VersusQuestionId>;
211
+ createVersusQuestion!: Sequelize.BelongsToCreateAssociationMixin<VersusQuestion>;
212
+ // Versus belongsTo VersusVotingMode via versusVotingModeId
213
+ versusVotingMode!: VersusVotingMode;
214
+ getVersusVotingMode!: Sequelize.BelongsToGetAssociationMixin<VersusVotingMode>;
215
+ setVersusVotingMode!: Sequelize.BelongsToSetAssociationMixin<VersusVotingMode, VersusVotingModeId>;
216
+ createVersusVotingMode!: Sequelize.BelongsToCreateAssociationMixin<VersusVotingMode>;
217
+
218
+ static initModel(sequelize: Sequelize.Sequelize): typeof Versus {
219
+ return Versus.init({
220
+ id: {
221
+ type: DataTypes.UUID,
222
+ allowNull: false,
223
+ defaultValue: DataTypes.UUIDV4,
224
+ primaryKey: true
225
+ },
226
+ versusQuestionId: {
227
+ type: DataTypes.UUID,
228
+ allowNull: false,
229
+ references: {
230
+ model: 'versus_question',
231
+ key: 'id'
232
+ },
233
+ field: 'versus_question_id'
234
+ },
235
+ canonTrackId: {
236
+ type: DataTypes.UUID,
237
+ allowNull: true,
238
+ references: {
239
+ model: 'canon_track',
240
+ key: 'id'
241
+ },
242
+ field: 'canon_track_id'
243
+ },
244
+ platformTrackId: {
245
+ type: DataTypes.UUID,
246
+ allowNull: true,
247
+ references: {
248
+ model: 'platform_track',
249
+ key: 'id'
250
+ },
251
+ field: 'platform_track_id'
252
+ },
253
+ canonAlbumId: {
254
+ type: DataTypes.UUID,
255
+ allowNull: true,
256
+ references: {
257
+ model: 'canon_album',
258
+ key: 'id'
259
+ },
260
+ field: 'canon_album_id'
261
+ },
262
+ platformAlbumId: {
263
+ type: DataTypes.UUID,
264
+ allowNull: true,
265
+ references: {
266
+ model: 'platform_album',
267
+ key: 'id'
268
+ },
269
+ field: 'platform_album_id'
270
+ },
271
+ canonArtistId: {
272
+ type: DataTypes.UUID,
273
+ allowNull: true,
274
+ references: {
275
+ model: 'canon_artist',
276
+ key: 'id'
277
+ },
278
+ field: 'canon_artist_id'
279
+ },
280
+ platformArtistId: {
281
+ type: DataTypes.UUID,
282
+ allowNull: true,
283
+ references: {
284
+ model: 'platform_artist',
285
+ key: 'id'
286
+ },
287
+ field: 'platform_artist_id'
288
+ },
289
+ canonGenreId: {
290
+ type: DataTypes.UUID,
291
+ allowNull: true,
292
+ references: {
293
+ model: 'canon_genre',
294
+ key: 'id'
295
+ },
296
+ field: 'canon_genre_id'
297
+ },
298
+ themeText: {
299
+ type: DataTypes.STRING(100),
300
+ allowNull: true,
301
+ field: 'theme_text'
302
+ },
303
+ versusAccessTypeId: {
304
+ type: DataTypes.SMALLINT,
305
+ allowNull: false,
306
+ references: {
307
+ model: 'versus_access_type',
308
+ key: 'id'
309
+ },
310
+ field: 'versus_access_type_id'
311
+ },
312
+ versusCreatorScopeId: {
313
+ type: DataTypes.SMALLINT,
314
+ allowNull: false,
315
+ references: {
316
+ model: 'versus_creator_scope',
317
+ key: 'id'
318
+ },
319
+ field: 'versus_creator_scope_id'
320
+ },
321
+ versusVotingModeId: {
322
+ type: DataTypes.SMALLINT,
323
+ allowNull: false,
324
+ references: {
325
+ model: 'versus_voting_mode',
326
+ key: 'id'
327
+ },
328
+ field: 'versus_voting_mode_id'
329
+ },
330
+ versusEndModeId: {
331
+ type: DataTypes.SMALLINT,
332
+ allowNull: false,
333
+ references: {
334
+ model: 'versus_end_mode',
335
+ key: 'id'
336
+ },
337
+ field: 'versus_end_mode_id'
338
+ },
339
+ versusEndVoteThresholdId: {
340
+ type: DataTypes.SMALLINT,
341
+ allowNull: true,
342
+ references: {
343
+ model: 'versus_end_vote_threshold',
344
+ key: 'id'
345
+ },
346
+ field: 'versus_end_vote_threshold_id'
347
+ },
348
+ versusEndTimerDurationId: {
349
+ type: DataTypes.SMALLINT,
350
+ allowNull: true,
351
+ references: {
352
+ model: 'versus_end_timer_duration',
353
+ key: 'id'
354
+ },
355
+ field: 'versus_end_timer_duration_id'
356
+ },
357
+ startsAt: {
358
+ type: DataTypes.DATE,
359
+ allowNull: true,
360
+ field: 'starts_at'
361
+ },
362
+ endsAt: {
363
+ type: DataTypes.DATE,
364
+ allowNull: true,
365
+ field: 'ends_at'
366
+ },
367
+ creatorUserId: {
368
+ type: DataTypes.UUID,
369
+ allowNull: false,
370
+ references: {
371
+ model: 'app_user',
372
+ key: 'id'
373
+ },
374
+ field: 'creator_user_id'
375
+ },
376
+ publishRequested: {
377
+ type: DataTypes.BOOLEAN,
378
+ allowNull: false,
379
+ defaultValue: false,
380
+ field: 'publish_requested'
381
+ },
382
+ publishedAt: {
383
+ type: DataTypes.DATE,
384
+ allowNull: true,
385
+ field: 'published_at'
386
+ },
387
+ deleted: {
388
+ type: DataTypes.BOOLEAN,
389
+ allowNull: false,
390
+ defaultValue: false
391
+ },
392
+ createdAt: {
393
+ type: DataTypes.DATE,
394
+ allowNull: false,
395
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
396
+ field: 'created_at'
397
+ },
398
+ updatedAt: {
399
+ type: DataTypes.DATE,
400
+ allowNull: false,
401
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
402
+ field: 'updated_at'
403
+ }
404
+ }, {
405
+ sequelize,
406
+ tableName: 'versus',
407
+ schema: 'eb',
408
+ timestamps: false,
409
+ indexes: [
410
+ {
411
+ name: "idx_versus_creator_user",
412
+ fields: [
413
+ { name: "creator_user_id" },
414
+ ]
415
+ },
416
+ {
417
+ name: "idx_versus_deleted",
418
+ fields: [
419
+ { name: "deleted" },
420
+ ]
421
+ },
422
+ {
423
+ name: "idx_versus_question",
424
+ fields: [
425
+ { name: "versus_question_id" },
426
+ ]
427
+ },
428
+ {
429
+ name: "versus_pkey",
430
+ unique: true,
431
+ fields: [
432
+ { name: "id" },
433
+ ]
434
+ },
435
+ ]
436
+ });
437
+ }
438
+ }
@@ -0,0 +1,66 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { Versus, VersusId } from './Versus';
4
+
5
+ export interface VersusAccessTypeAttributes {
6
+ id: number;
7
+ description: string;
8
+ }
9
+
10
+ export type VersusAccessTypePk = "id";
11
+ export type VersusAccessTypeId = VersusAccessType[VersusAccessTypePk];
12
+ export type VersusAccessTypeCreationAttributes = VersusAccessTypeAttributes;
13
+
14
+ export class VersusAccessType extends Model<VersusAccessTypeAttributes, VersusAccessTypeCreationAttributes> implements VersusAccessTypeAttributes {
15
+ id!: number;
16
+ description!: string;
17
+
18
+ // VersusAccessType hasMany Versus via versusAccessTypeId
19
+ versus!: Versus[];
20
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
21
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
22
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
23
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
24
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
25
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
26
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
27
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
28
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
29
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
30
+
31
+ static initModel(sequelize: Sequelize.Sequelize): typeof VersusAccessType {
32
+ return VersusAccessType.init({
33
+ id: {
34
+ type: DataTypes.SMALLINT,
35
+ allowNull: false,
36
+ primaryKey: true
37
+ },
38
+ description: {
39
+ type: DataTypes.STRING(64),
40
+ allowNull: false,
41
+ unique: "versus_access_type_description_unique"
42
+ }
43
+ }, {
44
+ sequelize,
45
+ tableName: 'versus_access_type',
46
+ schema: 'eb',
47
+ timestamps: false,
48
+ indexes: [
49
+ {
50
+ name: "versus_access_type_description_unique",
51
+ unique: true,
52
+ fields: [
53
+ { name: "description" },
54
+ ]
55
+ },
56
+ {
57
+ name: "versus_access_type_pkey",
58
+ unique: true,
59
+ fields: [
60
+ { name: "id" },
61
+ ]
62
+ },
63
+ ]
64
+ });
65
+ }
66
+ }
@@ -0,0 +1,111 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { AppUser, AppUserId } from './AppUser';
4
+ import type { Versus, VersusId } from './Versus';
5
+
6
+ export interface VersusCoCreatorAttributes {
7
+ id: string;
8
+ versusId: string;
9
+ appUserId: string;
10
+ createdAt: Date;
11
+ updatedAt: Date;
12
+ }
13
+
14
+ export type VersusCoCreatorPk = "id";
15
+ export type VersusCoCreatorId = VersusCoCreator[VersusCoCreatorPk];
16
+ export type VersusCoCreatorOptionalAttributes = "id" | "createdAt" | "updatedAt";
17
+ export type VersusCoCreatorCreationAttributes = Optional<VersusCoCreatorAttributes, VersusCoCreatorOptionalAttributes>;
18
+
19
+ export class VersusCoCreator extends Model<VersusCoCreatorAttributes, VersusCoCreatorCreationAttributes> implements VersusCoCreatorAttributes {
20
+ id!: string;
21
+ versusId!: string;
22
+ appUserId!: string;
23
+ createdAt!: Date;
24
+ updatedAt!: Date;
25
+
26
+ // VersusCoCreator belongsTo AppUser via appUserId
27
+ appUser!: AppUser;
28
+ getAppUser!: Sequelize.BelongsToGetAssociationMixin<AppUser>;
29
+ setAppUser!: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
30
+ createAppUser!: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
31
+ // VersusCoCreator belongsTo Versus via versusId
32
+ versu!: Versus;
33
+ getVersu!: Sequelize.BelongsToGetAssociationMixin<Versus>;
34
+ setVersu!: Sequelize.BelongsToSetAssociationMixin<Versus, VersusId>;
35
+ createVersu!: Sequelize.BelongsToCreateAssociationMixin<Versus>;
36
+
37
+ static initModel(sequelize: Sequelize.Sequelize): typeof VersusCoCreator {
38
+ return VersusCoCreator.init({
39
+ id: {
40
+ type: DataTypes.UUID,
41
+ allowNull: false,
42
+ defaultValue: DataTypes.UUIDV4,
43
+ primaryKey: true
44
+ },
45
+ versusId: {
46
+ type: DataTypes.UUID,
47
+ allowNull: false,
48
+ references: {
49
+ model: 'versus',
50
+ key: 'id'
51
+ },
52
+ field: 'versus_id'
53
+ },
54
+ appUserId: {
55
+ type: DataTypes.UUID,
56
+ allowNull: false,
57
+ references: {
58
+ model: 'app_user',
59
+ key: 'id'
60
+ },
61
+ field: 'app_user_id'
62
+ },
63
+ createdAt: {
64
+ type: DataTypes.DATE,
65
+ allowNull: false,
66
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
67
+ field: 'created_at'
68
+ },
69
+ updatedAt: {
70
+ type: DataTypes.DATE,
71
+ allowNull: false,
72
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
73
+ field: 'updated_at'
74
+ }
75
+ }, {
76
+ sequelize,
77
+ tableName: 'versus_co_creator',
78
+ schema: 'eb',
79
+ timestamps: false,
80
+ indexes: [
81
+ {
82
+ name: "idx_versus_co_creator_app_user",
83
+ fields: [
84
+ { name: "app_user_id" },
85
+ ]
86
+ },
87
+ {
88
+ name: "idx_versus_co_creator_versus",
89
+ fields: [
90
+ { name: "versus_id" },
91
+ ]
92
+ },
93
+ {
94
+ name: "uk_versus_co_creator_versus_app_user",
95
+ unique: true,
96
+ fields: [
97
+ { name: "versus_id" },
98
+ { name: "app_user_id" },
99
+ ]
100
+ },
101
+ {
102
+ name: "versus_co_creator_pkey",
103
+ unique: true,
104
+ fields: [
105
+ { name: "id" },
106
+ ]
107
+ },
108
+ ]
109
+ });
110
+ }
111
+ }
@@ -0,0 +1,66 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { Versus, VersusId } from './Versus';
4
+
5
+ export interface VersusCreatorScopeAttributes {
6
+ id: number;
7
+ description: string;
8
+ }
9
+
10
+ export type VersusCreatorScopePk = "id";
11
+ export type VersusCreatorScopeId = VersusCreatorScope[VersusCreatorScopePk];
12
+ export type VersusCreatorScopeCreationAttributes = VersusCreatorScopeAttributes;
13
+
14
+ export class VersusCreatorScope extends Model<VersusCreatorScopeAttributes, VersusCreatorScopeCreationAttributes> implements VersusCreatorScopeAttributes {
15
+ id!: number;
16
+ description!: string;
17
+
18
+ // VersusCreatorScope hasMany Versus via versusCreatorScopeId
19
+ versus!: Versus[];
20
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
21
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
22
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
23
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
24
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
25
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
26
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
27
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
28
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
29
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
30
+
31
+ static initModel(sequelize: Sequelize.Sequelize): typeof VersusCreatorScope {
32
+ return VersusCreatorScope.init({
33
+ id: {
34
+ type: DataTypes.SMALLINT,
35
+ allowNull: false,
36
+ primaryKey: true
37
+ },
38
+ description: {
39
+ type: DataTypes.STRING(64),
40
+ allowNull: false,
41
+ unique: "versus_creator_scope_description_unique"
42
+ }
43
+ }, {
44
+ sequelize,
45
+ tableName: 'versus_creator_scope',
46
+ schema: 'eb',
47
+ timestamps: false,
48
+ indexes: [
49
+ {
50
+ name: "versus_creator_scope_description_unique",
51
+ unique: true,
52
+ fields: [
53
+ { name: "description" },
54
+ ]
55
+ },
56
+ {
57
+ name: "versus_creator_scope_pkey",
58
+ unique: true,
59
+ fields: [
60
+ { name: "id" },
61
+ ]
62
+ },
63
+ ]
64
+ });
65
+ }
66
+ }