@earbug/db-models 0.0.41 → 0.0.43

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 (80) hide show
  1. package/dist/AppUser.d.ts +36 -0
  2. package/dist/CanonAlbum.d.ts +24 -0
  3. package/dist/CanonArtist.d.ts +24 -0
  4. package/dist/CanonGenre.d.ts +12 -0
  5. package/dist/CanonTrack.d.ts +24 -0
  6. package/dist/GuestUser.d.ts +22 -3
  7. package/dist/GuestUser.js +24 -9
  8. package/dist/JukeboxSession.d.ts +12 -0
  9. package/dist/PlatformAlbum.d.ts +36 -0
  10. package/dist/PlatformArtist.d.ts +36 -0
  11. package/dist/PlatformTrack.d.ts +36 -0
  12. package/dist/PlatformUserPlaylist.d.ts +12 -0
  13. package/dist/RadioShow.d.ts +12 -0
  14. package/dist/RadioShowMedia.d.ts +12 -0
  15. package/dist/UserAbuseReports.d.ts +70 -0
  16. package/dist/UserAbuseReports.js +182 -0
  17. package/dist/UserComments.d.ts +12 -0
  18. package/dist/UserMessages.d.ts +12 -0
  19. package/dist/Versus.d.ts +182 -0
  20. package/dist/Versus.js +251 -0
  21. package/dist/VersusAccessType.d.ts +26 -0
  22. package/dist/VersusAccessType.js +42 -0
  23. package/dist/VersusCoCreator.d.ts +40 -0
  24. package/dist/VersusCoCreator.js +117 -0
  25. package/dist/VersusCreatorScope.d.ts +26 -0
  26. package/dist/VersusCreatorScope.js +42 -0
  27. package/dist/VersusEndMode.d.ts +26 -0
  28. package/dist/VersusEndMode.js +42 -0
  29. package/dist/VersusEndTimerDuration.d.ts +28 -0
  30. package/dist/VersusEndTimerDuration.js +55 -0
  31. package/dist/VersusEndVoteThreshold.d.ts +26 -0
  32. package/dist/VersusEndVoteThreshold.js +43 -0
  33. package/dist/VersusEntityKind.d.ts +38 -0
  34. package/dist/VersusEntityKind.js +42 -0
  35. package/dist/VersusOption.d.ts +79 -0
  36. package/dist/VersusOption.js +167 -0
  37. package/dist/VersusPublishIssue.d.ts +52 -0
  38. package/dist/VersusPublishIssue.js +116 -0
  39. package/dist/VersusQuestion.d.ts +45 -0
  40. package/dist/VersusQuestion.js +102 -0
  41. package/dist/VersusQuestionVariableType.d.ts +26 -0
  42. package/dist/VersusQuestionVariableType.js +42 -0
  43. package/dist/VersusVotingListType.d.ts +26 -0
  44. package/dist/VersusVotingListType.js +42 -0
  45. package/dist/VersusVotingMode.d.ts +26 -0
  46. package/dist/VersusVotingMode.js +42 -0
  47. package/dist/init-models.d.ts +47 -2
  48. package/dist/init-models.js +144 -1
  49. package/models/AppUser.ts +39 -0
  50. package/models/CanonAlbum.ts +26 -0
  51. package/models/CanonArtist.ts +26 -0
  52. package/models/CanonGenre.ts +13 -0
  53. package/models/CanonTrack.ts +26 -0
  54. package/models/GuestUser.ts +48 -12
  55. package/models/JukeboxSession.ts +13 -0
  56. package/models/PlatformAlbum.ts +39 -0
  57. package/models/PlatformArtist.ts +39 -0
  58. package/models/PlatformTrack.ts +39 -0
  59. package/models/PlatformUserPlaylist.ts +13 -0
  60. package/models/RadioShow.ts +13 -0
  61. package/models/RadioShowMedia.ts +13 -0
  62. package/models/UserAbuseReports.ts +232 -0
  63. package/models/UserComments.ts +13 -0
  64. package/models/UserMessages.ts +13 -0
  65. package/models/Versus.ts +425 -0
  66. package/models/VersusAccessType.ts +66 -0
  67. package/models/VersusCoCreator.ts +133 -0
  68. package/models/VersusCreatorScope.ts +66 -0
  69. package/models/VersusEndMode.ts +66 -0
  70. package/models/VersusEndTimerDuration.ts +81 -0
  71. package/models/VersusEndVoteThreshold.ts +67 -0
  72. package/models/VersusEntityKind.ts +79 -0
  73. package/models/VersusOption.ts +227 -0
  74. package/models/VersusPublishIssue.ts +146 -0
  75. package/models/VersusQuestion.ts +123 -0
  76. package/models/VersusQuestionVariableType.ts +66 -0
  77. package/models/VersusVotingListType.ts +66 -0
  78. package/models/VersusVotingMode.ts +66 -0
  79. package/models/init-models.ts +187 -0
  80. package/package.json +1 -1
@@ -2,30 +2,34 @@ import * as Sequelize from 'sequelize';
2
2
  import { DataTypes, Model, Optional } from 'sequelize';
3
3
  import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
4
4
  import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
5
+ import type { Versus, VersusId } from './Versus';
6
+ import type { VersusCoCreator, VersusCoCreatorId } from './VersusCoCreator';
5
7
 
6
8
  export interface GuestUserAttributes {
9
+ jukeboxSessionId?: string;
7
10
  firstName: string;
8
11
  lastName?: string;
9
- jukeboxSessionId: string;
10
12
  ipAddress?: string;
11
13
  id: string;
12
14
  createDate: Date;
13
15
  updateDate: Date;
16
+ versusId?: string;
14
17
  }
15
18
 
16
19
  export type GuestUserPk = "id";
17
20
  export type GuestUserId = GuestUser[GuestUserPk];
18
- export type GuestUserOptionalAttributes = "lastName" | "ipAddress" | "id" | "createDate" | "updateDate";
21
+ export type GuestUserOptionalAttributes = "jukeboxSessionId" | "lastName" | "ipAddress" | "id" | "createDate" | "updateDate" | "versusId";
19
22
  export type GuestUserCreationAttributes = Optional<GuestUserAttributes, GuestUserOptionalAttributes>;
20
23
 
21
24
  export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttributes> implements GuestUserAttributes {
25
+ jukeboxSessionId?: string;
22
26
  firstName!: string;
23
27
  lastName?: string;
24
- jukeboxSessionId!: string;
25
28
  ipAddress?: string;
26
29
  id!: string;
27
30
  createDate!: Date;
28
31
  updateDate!: Date;
32
+ versusId?: string;
29
33
 
30
34
  // GuestUser hasMany JukeboxQueueEntry via trackAddedGuestUserId
31
35
  jukeboxQueueEntries!: JukeboxQueueEntry[];
@@ -39,14 +43,40 @@ export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttri
39
43
  hasJukeboxQueueEntry!: Sequelize.HasManyHasAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
40
44
  hasJukeboxQueueEntries!: Sequelize.HasManyHasAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
41
45
  countJukeboxQueueEntries!: Sequelize.HasManyCountAssociationsMixin;
46
+ // GuestUser hasMany VersusCoCreator via guestUserId
47
+ versusCoCreators!: VersusCoCreator[];
48
+ getVersusCoCreators!: Sequelize.HasManyGetAssociationsMixin<VersusCoCreator>;
49
+ setVersusCoCreators!: Sequelize.HasManySetAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
50
+ addVersusCoCreator!: Sequelize.HasManyAddAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
51
+ addVersusCoCreators!: Sequelize.HasManyAddAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
52
+ createVersusCoCreator!: Sequelize.HasManyCreateAssociationMixin<VersusCoCreator>;
53
+ removeVersusCoCreator!: Sequelize.HasManyRemoveAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
54
+ removeVersusCoCreators!: Sequelize.HasManyRemoveAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
55
+ hasVersusCoCreator!: Sequelize.HasManyHasAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
56
+ hasVersusCoCreators!: Sequelize.HasManyHasAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
57
+ countVersusCoCreators!: Sequelize.HasManyCountAssociationsMixin;
42
58
  // GuestUser belongsTo JukeboxSession via jukeboxSessionId
43
59
  jukeboxSession!: JukeboxSession;
44
60
  getJukeboxSession!: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
45
61
  setJukeboxSession!: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
46
62
  createJukeboxSession!: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
63
+ // GuestUser belongsTo Versus via versusId
64
+ versu!: Versus;
65
+ getVersu!: Sequelize.BelongsToGetAssociationMixin<Versus>;
66
+ setVersu!: Sequelize.BelongsToSetAssociationMixin<Versus, VersusId>;
67
+ createVersu!: Sequelize.BelongsToCreateAssociationMixin<Versus>;
47
68
 
48
69
  static initModel(sequelize: Sequelize.Sequelize): typeof GuestUser {
49
70
  return GuestUser.init({
71
+ jukeboxSessionId: {
72
+ type: DataTypes.UUID,
73
+ allowNull: true,
74
+ references: {
75
+ model: 'jukebox_session',
76
+ key: 'id'
77
+ },
78
+ field: 'jukebox_session_id'
79
+ },
50
80
  firstName: {
51
81
  type: DataTypes.TEXT,
52
82
  allowNull: false,
@@ -57,15 +87,6 @@ export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttri
57
87
  allowNull: true,
58
88
  field: 'last_name'
59
89
  },
60
- jukeboxSessionId: {
61
- type: DataTypes.UUID,
62
- allowNull: false,
63
- references: {
64
- model: 'jukebox_session',
65
- key: 'id'
66
- },
67
- field: 'jukebox_session_id'
68
- },
69
90
  ipAddress: {
70
91
  type: DataTypes.TEXT,
71
92
  allowNull: true,
@@ -88,6 +109,15 @@ export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttri
88
109
  allowNull: false,
89
110
  defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
90
111
  field: 'update_date'
112
+ },
113
+ versusId: {
114
+ type: DataTypes.UUID,
115
+ allowNull: true,
116
+ references: {
117
+ model: 'versus',
118
+ key: 'id'
119
+ },
120
+ field: 'versus_id'
91
121
  }
92
122
  }, {
93
123
  sequelize,
@@ -108,6 +138,12 @@ export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttri
108
138
  { name: "jukebox_session_id" },
109
139
  ]
110
140
  },
141
+ {
142
+ name: "idx_guest_user_versus",
143
+ fields: [
144
+ { name: "versus_id" },
145
+ ]
146
+ },
111
147
  ]
112
148
  });
113
149
  }
@@ -13,6 +13,7 @@ import type { JukeboxTerminationCondition, JukeboxTerminationConditionId } from
13
13
  import type { JukeboxType, JukeboxTypeId } from './JukeboxType';
14
14
  import type { JukeboxUser, JukeboxUserId } from './JukeboxUser';
15
15
  import type { Notification, NotificationId } from './Notification';
16
+ import type { UserAbuseReports, UserAbuseReportsId } from './UserAbuseReports';
16
17
  import type { UserBookmarks, UserBookmarksId } from './UserBookmarks';
17
18
  import type { UserComments, UserCommentsId } from './UserComments';
18
19
  import type { UserLikes, UserLikesId } from './UserLikes';
@@ -159,6 +160,18 @@ export class JukeboxSession extends Model<JukeboxSessionAttributes, JukeboxSessi
159
160
  hasNotification!: Sequelize.HasManyHasAssociationMixin<Notification, NotificationId>;
160
161
  hasNotifications!: Sequelize.HasManyHasAssociationsMixin<Notification, NotificationId>;
161
162
  countNotifications!: Sequelize.HasManyCountAssociationsMixin;
163
+ // JukeboxSession hasMany UserAbuseReports via jukeboxId
164
+ userAbuseReports!: UserAbuseReports[];
165
+ getUserAbuseReports!: Sequelize.HasManyGetAssociationsMixin<UserAbuseReports>;
166
+ setUserAbuseReports!: Sequelize.HasManySetAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
167
+ addUserAbuseReport!: Sequelize.HasManyAddAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
168
+ addUserAbuseReports!: Sequelize.HasManyAddAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
169
+ createUserAbuseReport!: Sequelize.HasManyCreateAssociationMixin<UserAbuseReports>;
170
+ removeUserAbuseReport!: Sequelize.HasManyRemoveAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
171
+ removeUserAbuseReports!: Sequelize.HasManyRemoveAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
172
+ hasUserAbuseReport!: Sequelize.HasManyHasAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
173
+ hasUserAbuseReports!: Sequelize.HasManyHasAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
174
+ countUserAbuseReports!: Sequelize.HasManyCountAssociationsMixin;
162
175
  // JukeboxSession hasMany UserBookmarks via jukeboxId
163
176
  userBookmarks!: UserBookmarks[];
164
177
  getUserBookmarks!: Sequelize.HasManyGetAssociationsMixin<UserBookmarks>;
@@ -17,6 +17,9 @@ import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
17
17
  import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
18
18
  import type { PlatformUserAlbum, PlatformUserAlbumId } from './PlatformUserAlbum';
19
19
  import type { UnmatchedAlbum, UnmatchedAlbumId } from './UnmatchedAlbum';
20
+ import type { Versus, VersusId } from './Versus';
21
+ import type { VersusOption, VersusOptionId } from './VersusOption';
22
+ import type { VersusPublishIssue, VersusPublishIssueId } from './VersusPublishIssue';
20
23
 
21
24
  export interface PlatformAlbumAttributes {
22
25
  platformId: number;
@@ -253,6 +256,42 @@ export class PlatformAlbum extends Model<PlatformAlbumAttributes, PlatformAlbumC
253
256
  hasUnmatchedAlbum!: Sequelize.HasManyHasAssociationMixin<UnmatchedAlbum, UnmatchedAlbumId>;
254
257
  hasUnmatchedAlbums!: Sequelize.HasManyHasAssociationsMixin<UnmatchedAlbum, UnmatchedAlbumId>;
255
258
  countUnmatchedAlbums!: Sequelize.HasManyCountAssociationsMixin;
259
+ // PlatformAlbum hasMany Versus via platformAlbumId
260
+ versus!: Versus[];
261
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
262
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
263
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
264
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
265
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
266
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
267
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
268
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
269
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
270
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
271
+ // PlatformAlbum hasMany VersusOption via platformAlbumId
272
+ versusOptions!: VersusOption[];
273
+ getVersusOptions!: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
274
+ setVersusOptions!: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
275
+ addVersusOption!: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
276
+ addVersusOptions!: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
277
+ createVersusOption!: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
278
+ removeVersusOption!: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
279
+ removeVersusOptions!: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
280
+ hasVersusOption!: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
281
+ hasVersusOptions!: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
282
+ countVersusOptions!: Sequelize.HasManyCountAssociationsMixin;
283
+ // PlatformAlbum hasMany VersusPublishIssue via platformAlbumId
284
+ versusPublishIssues!: VersusPublishIssue[];
285
+ getVersusPublishIssues!: Sequelize.HasManyGetAssociationsMixin<VersusPublishIssue>;
286
+ setVersusPublishIssues!: Sequelize.HasManySetAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
287
+ addVersusPublishIssue!: Sequelize.HasManyAddAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
288
+ addVersusPublishIssues!: Sequelize.HasManyAddAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
289
+ createVersusPublishIssue!: Sequelize.HasManyCreateAssociationMixin<VersusPublishIssue>;
290
+ removeVersusPublishIssue!: Sequelize.HasManyRemoveAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
291
+ removeVersusPublishIssues!: Sequelize.HasManyRemoveAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
292
+ hasVersusPublishIssue!: Sequelize.HasManyHasAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
293
+ hasVersusPublishIssues!: Sequelize.HasManyHasAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
294
+ countVersusPublishIssues!: Sequelize.HasManyCountAssociationsMixin;
256
295
 
257
296
  static initModel(sequelize: Sequelize.Sequelize): typeof PlatformAlbum {
258
297
  return PlatformAlbum.init({
@@ -15,6 +15,9 @@ import type { PlatformArtistGenreRelation, PlatformArtistGenreRelationId } from
15
15
  import type { PlatformArtistTrackRelation, PlatformArtistTrackRelationId } from './PlatformArtistTrackRelation';
16
16
  import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
17
17
  import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
18
+ import type { Versus, VersusId } from './Versus';
19
+ import type { VersusOption, VersusOptionId } from './VersusOption';
20
+ import type { VersusPublishIssue, VersusPublishIssueId } from './VersusPublishIssue';
18
21
 
19
22
  export interface PlatformArtistAttributes {
20
23
  externalArtistId: string;
@@ -223,6 +226,42 @@ export class PlatformArtist extends Model<PlatformArtistAttributes, PlatformArti
223
226
  hasPlatformTrackIdPlatformTrackPlatformArtistTrackRelation!: Sequelize.BelongsToManyHasAssociationMixin<PlatformTrack, PlatformTrackId>;
224
227
  hasPlatformTrackIdPlatformTrackPlatformArtistTrackRelations!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformTrack, PlatformTrackId>;
225
228
  countPlatformTrackIdPlatformTrackPlatformArtistTrackRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
229
+ // PlatformArtist hasMany Versus via platformArtistId
230
+ versus!: Versus[];
231
+ getVersus!: Sequelize.HasManyGetAssociationsMixin<Versus>;
232
+ setVersus!: Sequelize.HasManySetAssociationsMixin<Versus, VersusId>;
233
+ addVersu!: Sequelize.HasManyAddAssociationMixin<Versus, VersusId>;
234
+ addVersus!: Sequelize.HasManyAddAssociationsMixin<Versus, VersusId>;
235
+ createVersu!: Sequelize.HasManyCreateAssociationMixin<Versus>;
236
+ removeVersu!: Sequelize.HasManyRemoveAssociationMixin<Versus, VersusId>;
237
+ removeVersus!: Sequelize.HasManyRemoveAssociationsMixin<Versus, VersusId>;
238
+ hasVersu!: Sequelize.HasManyHasAssociationMixin<Versus, VersusId>;
239
+ hasVersus!: Sequelize.HasManyHasAssociationsMixin<Versus, VersusId>;
240
+ countVersus!: Sequelize.HasManyCountAssociationsMixin;
241
+ // PlatformArtist hasMany VersusOption via platformArtistId
242
+ versusOptions!: VersusOption[];
243
+ getVersusOptions!: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
244
+ setVersusOptions!: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
245
+ addVersusOption!: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
246
+ addVersusOptions!: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
247
+ createVersusOption!: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
248
+ removeVersusOption!: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
249
+ removeVersusOptions!: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
250
+ hasVersusOption!: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
251
+ hasVersusOptions!: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
252
+ countVersusOptions!: Sequelize.HasManyCountAssociationsMixin;
253
+ // PlatformArtist hasMany VersusPublishIssue via platformArtistId
254
+ versusPublishIssues!: VersusPublishIssue[];
255
+ getVersusPublishIssues!: Sequelize.HasManyGetAssociationsMixin<VersusPublishIssue>;
256
+ setVersusPublishIssues!: Sequelize.HasManySetAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
257
+ addVersusPublishIssue!: Sequelize.HasManyAddAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
258
+ addVersusPublishIssues!: Sequelize.HasManyAddAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
259
+ createVersusPublishIssue!: Sequelize.HasManyCreateAssociationMixin<VersusPublishIssue>;
260
+ removeVersusPublishIssue!: Sequelize.HasManyRemoveAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
261
+ removeVersusPublishIssues!: Sequelize.HasManyRemoveAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
262
+ hasVersusPublishIssue!: Sequelize.HasManyHasAssociationMixin<VersusPublishIssue, VersusPublishIssueId>;
263
+ hasVersusPublishIssues!: Sequelize.HasManyHasAssociationsMixin<VersusPublishIssue, VersusPublishIssueId>;
264
+ countVersusPublishIssues!: Sequelize.HasManyCountAssociationsMixin;
226
265
 
227
266
  static initModel(sequelize: Sequelize.Sequelize): typeof PlatformArtist {
228
267
  return PlatformArtist.init({
@@ -12,6 +12,9 @@ import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
12
12
  import type { PlatformTrackGenreRelation, PlatformTrackGenreRelationId } from './PlatformTrackGenreRelation';
13
13
  import type { PlatformUserAlbumTrack, PlatformUserAlbumTrackId } from './PlatformUserAlbumTrack';
14
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';
15
18
 
16
19
  export interface PlatformTrackAttributes {
17
20
  platformId: number;
@@ -188,6 +191,42 @@ export class PlatformTrack extends Model<PlatformTrackAttributes, PlatformTrackC
188
191
  hasPlatformUserPlaylistTrack!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
189
192
  hasPlatformUserPlaylistTracks!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
190
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;
191
230
 
192
231
  static initModel(sequelize: Sequelize.Sequelize): typeof PlatformTrack {
193
232
  return PlatformTrack.init({
@@ -6,6 +6,7 @@ import type { PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffi
6
6
  import type { PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId } from './PlatformUserPlaylistGenreAffinity';
7
7
  import type { PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId } from './PlatformUserPlaylistTrack';
8
8
  import type { State, StateId } from './State';
9
+ import type { UserAbuseReports, UserAbuseReportsId } from './UserAbuseReports';
9
10
  import type { UserBookmarks, UserBookmarksId } from './UserBookmarks';
10
11
  import type { UserComments, UserCommentsId } from './UserComments';
11
12
  import type { UserLikes, UserLikesId } from './UserLikes';
@@ -92,6 +93,18 @@ export class PlatformUserPlaylist extends Model<PlatformUserPlaylistAttributes,
92
93
  hasPlatformUserPlaylistTrack!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
93
94
  hasPlatformUserPlaylistTracks!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
94
95
  countPlatformUserPlaylistTracks!: Sequelize.HasManyCountAssociationsMixin;
96
+ // PlatformUserPlaylist hasMany UserAbuseReports via playlistId
97
+ userAbuseReports!: UserAbuseReports[];
98
+ getUserAbuseReports!: Sequelize.HasManyGetAssociationsMixin<UserAbuseReports>;
99
+ setUserAbuseReports!: Sequelize.HasManySetAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
100
+ addUserAbuseReport!: Sequelize.HasManyAddAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
101
+ addUserAbuseReports!: Sequelize.HasManyAddAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
102
+ createUserAbuseReport!: Sequelize.HasManyCreateAssociationMixin<UserAbuseReports>;
103
+ removeUserAbuseReport!: Sequelize.HasManyRemoveAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
104
+ removeUserAbuseReports!: Sequelize.HasManyRemoveAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
105
+ hasUserAbuseReport!: Sequelize.HasManyHasAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
106
+ hasUserAbuseReports!: Sequelize.HasManyHasAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
107
+ countUserAbuseReports!: Sequelize.HasManyCountAssociationsMixin;
95
108
  // PlatformUserPlaylist hasMany UserBookmarks via playlistId
96
109
  userBookmarks!: UserBookmarks[];
97
110
  getUserBookmarks!: Sequelize.HasManyGetAssociationsMixin<UserBookmarks>;
@@ -5,6 +5,7 @@ import type { RadioShowGenres, RadioShowGenresId } from './RadioShowGenres';
5
5
  import type { RadioShowMedia, RadioShowMediaId } from './RadioShowMedia';
6
6
  import type { RadioShowPlacement, RadioShowPlacementId } from './RadioShowPlacement';
7
7
  import type { RadioShowPublishRequests, RadioShowPublishRequestsId } from './RadioShowPublishRequests';
8
+ import type { UserAbuseReports, UserAbuseReportsId } from './UserAbuseReports';
8
9
  import type { UserBookmarks, UserBookmarksId } from './UserBookmarks';
9
10
  import type { UserComments, UserCommentsId } from './UserComments';
10
11
  import type { UserLikes, UserLikesId } from './UserLikes';
@@ -88,6 +89,18 @@ export class RadioShow extends Model<RadioShowAttributes, RadioShowCreationAttri
88
89
  hasRadioShowPublishRequest!: Sequelize.HasManyHasAssociationMixin<RadioShowPublishRequests, RadioShowPublishRequestsId>;
89
90
  hasRadioShowPublishRequests!: Sequelize.HasManyHasAssociationsMixin<RadioShowPublishRequests, RadioShowPublishRequestsId>;
90
91
  countRadioShowPublishRequests!: Sequelize.HasManyCountAssociationsMixin;
92
+ // RadioShow hasMany UserAbuseReports via radioShowId
93
+ userAbuseReports!: UserAbuseReports[];
94
+ getUserAbuseReports!: Sequelize.HasManyGetAssociationsMixin<UserAbuseReports>;
95
+ setUserAbuseReports!: Sequelize.HasManySetAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
96
+ addUserAbuseReport!: Sequelize.HasManyAddAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
97
+ addUserAbuseReports!: Sequelize.HasManyAddAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
98
+ createUserAbuseReport!: Sequelize.HasManyCreateAssociationMixin<UserAbuseReports>;
99
+ removeUserAbuseReport!: Sequelize.HasManyRemoveAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
100
+ removeUserAbuseReports!: Sequelize.HasManyRemoveAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
101
+ hasUserAbuseReport!: Sequelize.HasManyHasAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
102
+ hasUserAbuseReports!: Sequelize.HasManyHasAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
103
+ countUserAbuseReports!: Sequelize.HasManyCountAssociationsMixin;
91
104
  // RadioShow hasMany UserBookmarks via radioShowId
92
105
  userBookmarks!: UserBookmarks[];
93
106
  getUserBookmarks!: Sequelize.HasManyGetAssociationsMixin<UserBookmarks>;
@@ -1,6 +1,7 @@
1
1
  import * as Sequelize from 'sequelize';
2
2
  import { DataTypes, Model, Optional } from 'sequelize';
3
3
  import type { RadioShow, RadioShowId } from './RadioShow';
4
+ import type { UserAbuseReports, UserAbuseReportsId } from './UserAbuseReports';
4
5
 
5
6
  export interface RadioShowMediaAttributes {
6
7
  radioShowId: string;
@@ -51,6 +52,18 @@ export class RadioShowMedia extends Model<RadioShowMediaAttributes, RadioShowMed
51
52
  getRadioShow!: Sequelize.BelongsToGetAssociationMixin<RadioShow>;
52
53
  setRadioShow!: Sequelize.BelongsToSetAssociationMixin<RadioShow, RadioShowId>;
53
54
  createRadioShow!: Sequelize.BelongsToCreateAssociationMixin<RadioShow>;
55
+ // RadioShowMedia hasMany UserAbuseReports via radioShowMediaId
56
+ userAbuseReports!: UserAbuseReports[];
57
+ getUserAbuseReports!: Sequelize.HasManyGetAssociationsMixin<UserAbuseReports>;
58
+ setUserAbuseReports!: Sequelize.HasManySetAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
59
+ addUserAbuseReport!: Sequelize.HasManyAddAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
60
+ addUserAbuseReports!: Sequelize.HasManyAddAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
61
+ createUserAbuseReport!: Sequelize.HasManyCreateAssociationMixin<UserAbuseReports>;
62
+ removeUserAbuseReport!: Sequelize.HasManyRemoveAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
63
+ removeUserAbuseReports!: Sequelize.HasManyRemoveAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
64
+ hasUserAbuseReport!: Sequelize.HasManyHasAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
65
+ hasUserAbuseReports!: Sequelize.HasManyHasAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
66
+ countUserAbuseReports!: Sequelize.HasManyCountAssociationsMixin;
54
67
 
55
68
  static initModel(sequelize: Sequelize.Sequelize): typeof RadioShowMedia {
56
69
  return RadioShowMedia.init({
@@ -0,0 +1,232 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+ import type { AppUser, AppUserId } from './AppUser';
4
+ import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
5
+ import type { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUserPlaylist';
6
+ import type { RadioShow, RadioShowId } from './RadioShow';
7
+ import type { RadioShowMedia, RadioShowMediaId } from './RadioShowMedia';
8
+ import type { UserComments, UserCommentsId } from './UserComments';
9
+ import type { UserMessages, UserMessagesId } from './UserMessages';
10
+
11
+ export interface UserAbuseReportsAttributes {
12
+ reporterUserId: string;
13
+ jukeboxId?: string;
14
+ jukeboxChatMessageId?: string;
15
+ radioShowId?: string;
16
+ radioShowMediaId?: string;
17
+ playlistId?: string;
18
+ versusThemeTextId?: string;
19
+ commentId?: string;
20
+ directMessageId?: string;
21
+ id: string;
22
+ reportDate: Date;
23
+ updateDate: Date;
24
+ }
25
+
26
+ export type UserAbuseReportsPk = "id";
27
+ export type UserAbuseReportsId = UserAbuseReports[UserAbuseReportsPk];
28
+ export type UserAbuseReportsOptionalAttributes = "jukeboxId" | "jukeboxChatMessageId" | "radioShowId" | "radioShowMediaId" | "playlistId" | "versusThemeTextId" | "commentId" | "directMessageId" | "id" | "reportDate" | "updateDate";
29
+ export type UserAbuseReportsCreationAttributes = Optional<UserAbuseReportsAttributes, UserAbuseReportsOptionalAttributes>;
30
+
31
+ export class UserAbuseReports extends Model<UserAbuseReportsAttributes, UserAbuseReportsCreationAttributes> implements UserAbuseReportsAttributes {
32
+ reporterUserId!: string;
33
+ jukeboxId?: string;
34
+ jukeboxChatMessageId?: string;
35
+ radioShowId?: string;
36
+ radioShowMediaId?: string;
37
+ playlistId?: string;
38
+ versusThemeTextId?: string;
39
+ commentId?: string;
40
+ directMessageId?: string;
41
+ id!: string;
42
+ reportDate!: Date;
43
+ updateDate!: Date;
44
+
45
+ // UserAbuseReports belongsTo AppUser via reporterUserId
46
+ reporterUser!: AppUser;
47
+ getReporterUser!: Sequelize.BelongsToGetAssociationMixin<AppUser>;
48
+ setReporterUser!: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
49
+ createReporterUser!: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
50
+ // UserAbuseReports belongsTo JukeboxSession via jukeboxId
51
+ jukebox!: JukeboxSession;
52
+ getJukebox!: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
53
+ setJukebox!: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
54
+ createJukebox!: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
55
+ // UserAbuseReports belongsTo PlatformUserPlaylist via playlistId
56
+ playlist!: PlatformUserPlaylist;
57
+ getPlaylist!: Sequelize.BelongsToGetAssociationMixin<PlatformUserPlaylist>;
58
+ setPlaylist!: Sequelize.BelongsToSetAssociationMixin<PlatformUserPlaylist, PlatformUserPlaylistId>;
59
+ createPlaylist!: Sequelize.BelongsToCreateAssociationMixin<PlatformUserPlaylist>;
60
+ // UserAbuseReports belongsTo RadioShow via radioShowId
61
+ radioShow!: RadioShow;
62
+ getRadioShow!: Sequelize.BelongsToGetAssociationMixin<RadioShow>;
63
+ setRadioShow!: Sequelize.BelongsToSetAssociationMixin<RadioShow, RadioShowId>;
64
+ createRadioShow!: Sequelize.BelongsToCreateAssociationMixin<RadioShow>;
65
+ // UserAbuseReports belongsTo RadioShowMedia via radioShowMediaId
66
+ radioShowMedium!: RadioShowMedia;
67
+ getRadioShowMedium!: Sequelize.BelongsToGetAssociationMixin<RadioShowMedia>;
68
+ setRadioShowMedium!: Sequelize.BelongsToSetAssociationMixin<RadioShowMedia, RadioShowMediaId>;
69
+ createRadioShowMedium!: Sequelize.BelongsToCreateAssociationMixin<RadioShowMedia>;
70
+ // UserAbuseReports belongsTo UserComments via commentId
71
+ comment!: UserComments;
72
+ getComment!: Sequelize.BelongsToGetAssociationMixin<UserComments>;
73
+ setComment!: Sequelize.BelongsToSetAssociationMixin<UserComments, UserCommentsId>;
74
+ createComment!: Sequelize.BelongsToCreateAssociationMixin<UserComments>;
75
+ // UserAbuseReports belongsTo UserMessages via directMessageId
76
+ directMessage!: UserMessages;
77
+ getDirectMessage!: Sequelize.BelongsToGetAssociationMixin<UserMessages>;
78
+ setDirectMessage!: Sequelize.BelongsToSetAssociationMixin<UserMessages, UserMessagesId>;
79
+ createDirectMessage!: Sequelize.BelongsToCreateAssociationMixin<UserMessages>;
80
+
81
+ static initModel(sequelize: Sequelize.Sequelize): typeof UserAbuseReports {
82
+ return UserAbuseReports.init({
83
+ reporterUserId: {
84
+ type: DataTypes.UUID,
85
+ allowNull: false,
86
+ references: {
87
+ model: 'app_user',
88
+ key: 'id'
89
+ },
90
+ field: 'reporter_user_id'
91
+ },
92
+ jukeboxId: {
93
+ type: DataTypes.UUID,
94
+ allowNull: true,
95
+ references: {
96
+ model: 'jukebox_session',
97
+ key: 'id'
98
+ },
99
+ field: 'jukebox_id'
100
+ },
101
+ jukeboxChatMessageId: {
102
+ type: DataTypes.STRING(50),
103
+ allowNull: true,
104
+ field: 'jukebox_chat_message_id'
105
+ },
106
+ radioShowId: {
107
+ type: DataTypes.UUID,
108
+ allowNull: true,
109
+ references: {
110
+ model: 'radio_show',
111
+ key: 'id'
112
+ },
113
+ field: 'radio_show_id'
114
+ },
115
+ radioShowMediaId: {
116
+ type: DataTypes.UUID,
117
+ allowNull: true,
118
+ references: {
119
+ model: 'radio_show_media',
120
+ key: 'id'
121
+ },
122
+ field: 'radio_show_media_id'
123
+ },
124
+ playlistId: {
125
+ type: DataTypes.UUID,
126
+ allowNull: true,
127
+ references: {
128
+ model: 'platform_user_playlist',
129
+ key: 'id'
130
+ },
131
+ field: 'playlist_id'
132
+ },
133
+ versusThemeTextId: {
134
+ type: DataTypes.UUID,
135
+ allowNull: true,
136
+ field: 'versus_theme_text_id'
137
+ },
138
+ commentId: {
139
+ type: DataTypes.UUID,
140
+ allowNull: true,
141
+ references: {
142
+ model: 'user_comments',
143
+ key: 'id'
144
+ },
145
+ field: 'comment_id'
146
+ },
147
+ directMessageId: {
148
+ type: DataTypes.UUID,
149
+ allowNull: true,
150
+ references: {
151
+ model: 'user_messages',
152
+ key: 'id'
153
+ },
154
+ field: 'direct_message_id'
155
+ },
156
+ id: {
157
+ type: DataTypes.UUID,
158
+ allowNull: false,
159
+ defaultValue: DataTypes.UUIDV4,
160
+ primaryKey: true
161
+ },
162
+ reportDate: {
163
+ type: DataTypes.DATE,
164
+ allowNull: false,
165
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
166
+ field: 'report_date'
167
+ },
168
+ updateDate: {
169
+ type: DataTypes.DATE,
170
+ allowNull: false,
171
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
172
+ field: 'update_date'
173
+ }
174
+ }, {
175
+ sequelize,
176
+ tableName: 'user_abuse_reports',
177
+ schema: 'eb',
178
+ timestamps: false,
179
+ indexes: [
180
+ {
181
+ name: "idx_user_abuse_reports_comment",
182
+ fields: [
183
+ { name: "comment_id" },
184
+ ]
185
+ },
186
+ {
187
+ name: "idx_user_abuse_reports_direct_message",
188
+ fields: [
189
+ { name: "direct_message_id" },
190
+ ]
191
+ },
192
+ {
193
+ name: "idx_user_abuse_reports_jukebox",
194
+ fields: [
195
+ { name: "jukebox_id" },
196
+ ]
197
+ },
198
+ {
199
+ name: "idx_user_abuse_reports_playlist",
200
+ fields: [
201
+ { name: "playlist_id" },
202
+ ]
203
+ },
204
+ {
205
+ name: "idx_user_abuse_reports_radio_show",
206
+ fields: [
207
+ { name: "radio_show_id" },
208
+ ]
209
+ },
210
+ {
211
+ name: "idx_user_abuse_reports_radio_show_media",
212
+ fields: [
213
+ { name: "radio_show_media_id" },
214
+ ]
215
+ },
216
+ {
217
+ name: "idx_user_abuse_reports_reporter",
218
+ fields: [
219
+ { name: "reporter_user_id" },
220
+ ]
221
+ },
222
+ {
223
+ name: "user_abuse_reports_pkey",
224
+ unique: true,
225
+ fields: [
226
+ { name: "id" },
227
+ ]
228
+ },
229
+ ]
230
+ });
231
+ }
232
+ }
@@ -4,6 +4,7 @@ import type { AppUser, AppUserId } from './AppUser';
4
4
  import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
5
5
  import type { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUserPlaylist';
6
6
  import type { RadioShow, RadioShowId } from './RadioShow';
7
+ import type { UserAbuseReports, UserAbuseReportsId } from './UserAbuseReports';
7
8
 
8
9
  export interface UserCommentsAttributes {
9
10
  appUserId: string;
@@ -63,6 +64,18 @@ export class UserComments extends Model<UserCommentsAttributes, UserCommentsCrea
63
64
  getRadioShow!: Sequelize.BelongsToGetAssociationMixin<RadioShow>;
64
65
  setRadioShow!: Sequelize.BelongsToSetAssociationMixin<RadioShow, RadioShowId>;
65
66
  createRadioShow!: Sequelize.BelongsToCreateAssociationMixin<RadioShow>;
67
+ // UserComments hasMany UserAbuseReports via commentId
68
+ userAbuseReports!: UserAbuseReports[];
69
+ getUserAbuseReports!: Sequelize.HasManyGetAssociationsMixin<UserAbuseReports>;
70
+ setUserAbuseReports!: Sequelize.HasManySetAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
71
+ addUserAbuseReport!: Sequelize.HasManyAddAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
72
+ addUserAbuseReports!: Sequelize.HasManyAddAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
73
+ createUserAbuseReport!: Sequelize.HasManyCreateAssociationMixin<UserAbuseReports>;
74
+ removeUserAbuseReport!: Sequelize.HasManyRemoveAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
75
+ removeUserAbuseReports!: Sequelize.HasManyRemoveAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
76
+ hasUserAbuseReport!: Sequelize.HasManyHasAssociationMixin<UserAbuseReports, UserAbuseReportsId>;
77
+ hasUserAbuseReports!: Sequelize.HasManyHasAssociationsMixin<UserAbuseReports, UserAbuseReportsId>;
78
+ countUserAbuseReports!: Sequelize.HasManyCountAssociationsMixin;
66
79
  // UserComments belongsTo UserComments via replyCommentId
67
80
  replyComment!: UserComments;
68
81
  getReplyComment!: Sequelize.BelongsToGetAssociationMixin<UserComments>;