@earbug/db-models 0.0.51 → 0.0.53
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.
- package/dist/GuestUser.d.ts +0 -24
- package/dist/MerchItem.d.ts +24 -0
- package/dist/NewsArticle.d.ts +24 -0
- package/dist/UserComments.d.ts +15 -1
- package/dist/UserComments.js +30 -0
- package/dist/UserLikes.d.ts +15 -1
- package/dist/UserLikes.js +46 -0
- package/dist/VersusCoCreator.d.ts +3 -12
- package/dist/VersusCoCreator.js +14 -26
- package/dist/VersusOption.d.ts +1 -8
- package/dist/VersusOption.js +0 -9
- package/dist/init-models.js +8 -4
- package/models/GuestUser.ts +0 -26
- package/models/MerchItem.ts +26 -0
- package/models/NewsArticle.ts +26 -0
- package/models/UserComments.ts +47 -1
- package/models/UserLikes.ts +63 -1
- package/models/VersusCoCreator.ts +17 -39
- package/models/VersusOption.ts +1 -18
- package/models/init-models.ts +8 -4
- package/package.json +1 -1
package/dist/GuestUser.d.ts
CHANGED
|
@@ -3,8 +3,6 @@ import { Model, Optional } from 'sequelize';
|
|
|
3
3
|
import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
|
|
4
4
|
import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
|
|
5
5
|
import type { Versus, VersusId } from './Versus';
|
|
6
|
-
import type { VersusCoCreator, VersusCoCreatorId } from './VersusCoCreator';
|
|
7
|
-
import type { VersusOption, VersusOptionId } from './VersusOption';
|
|
8
6
|
export interface GuestUserAttributes {
|
|
9
7
|
jukeboxSessionId?: string;
|
|
10
8
|
firstName: string;
|
|
@@ -39,28 +37,6 @@ export declare class GuestUser extends Model<GuestUserAttributes, GuestUserCreat
|
|
|
39
37
|
hasJukeboxQueueEntry: Sequelize.HasManyHasAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
40
38
|
hasJukeboxQueueEntries: Sequelize.HasManyHasAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
41
39
|
countJukeboxQueueEntries: Sequelize.HasManyCountAssociationsMixin;
|
|
42
|
-
versusCoCreators: VersusCoCreator[];
|
|
43
|
-
getVersusCoCreators: Sequelize.HasManyGetAssociationsMixin<VersusCoCreator>;
|
|
44
|
-
setVersusCoCreators: Sequelize.HasManySetAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
45
|
-
addVersusCoCreator: Sequelize.HasManyAddAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
46
|
-
addVersusCoCreators: Sequelize.HasManyAddAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
47
|
-
createVersusCoCreator: Sequelize.HasManyCreateAssociationMixin<VersusCoCreator>;
|
|
48
|
-
removeVersusCoCreator: Sequelize.HasManyRemoveAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
49
|
-
removeVersusCoCreators: Sequelize.HasManyRemoveAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
50
|
-
hasVersusCoCreator: Sequelize.HasManyHasAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
51
|
-
hasVersusCoCreators: Sequelize.HasManyHasAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
52
|
-
countVersusCoCreators: Sequelize.HasManyCountAssociationsMixin;
|
|
53
|
-
versusOptions: VersusOption[];
|
|
54
|
-
getVersusOptions: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
|
|
55
|
-
setVersusOptions: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
|
|
56
|
-
addVersusOption: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
|
|
57
|
-
addVersusOptions: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
|
|
58
|
-
createVersusOption: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
|
|
59
|
-
removeVersusOption: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
|
|
60
|
-
removeVersusOptions: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
|
|
61
|
-
hasVersusOption: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
|
|
62
|
-
hasVersusOptions: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
|
|
63
|
-
countVersusOptions: Sequelize.HasManyCountAssociationsMixin;
|
|
64
40
|
jukeboxSession: JukeboxSession;
|
|
65
41
|
getJukeboxSession: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
|
|
66
42
|
setJukeboxSession: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
|
package/dist/MerchItem.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ import type { CanonArtist, CanonArtistId } from './CanonArtist';
|
|
|
4
4
|
import type { MerchPlatform, MerchPlatformId } from './MerchPlatform';
|
|
5
5
|
import type { MerchType, MerchTypeId } from './MerchType';
|
|
6
6
|
import type { UserBookmarks, UserBookmarksId } from './UserBookmarks';
|
|
7
|
+
import type { UserComments, UserCommentsId } from './UserComments';
|
|
8
|
+
import type { UserLikes, UserLikesId } from './UserLikes';
|
|
7
9
|
export interface MerchItemAttributes {
|
|
8
10
|
canonArtistId: string;
|
|
9
11
|
merchTypeId: string;
|
|
@@ -50,6 +52,28 @@ export declare class MerchItem extends Model<MerchItemAttributes, MerchItemCreat
|
|
|
50
52
|
hasUserBookmark: Sequelize.HasManyHasAssociationMixin<UserBookmarks, UserBookmarksId>;
|
|
51
53
|
hasUserBookmarks: Sequelize.HasManyHasAssociationsMixin<UserBookmarks, UserBookmarksId>;
|
|
52
54
|
countUserBookmarks: Sequelize.HasManyCountAssociationsMixin;
|
|
55
|
+
userComments: UserComments[];
|
|
56
|
+
getUserComments: Sequelize.HasManyGetAssociationsMixin<UserComments>;
|
|
57
|
+
setUserComments: Sequelize.HasManySetAssociationsMixin<UserComments, UserCommentsId>;
|
|
58
|
+
addUserComment: Sequelize.HasManyAddAssociationMixin<UserComments, UserCommentsId>;
|
|
59
|
+
addUserComments: Sequelize.HasManyAddAssociationsMixin<UserComments, UserCommentsId>;
|
|
60
|
+
createUserComment: Sequelize.HasManyCreateAssociationMixin<UserComments>;
|
|
61
|
+
removeUserComment: Sequelize.HasManyRemoveAssociationMixin<UserComments, UserCommentsId>;
|
|
62
|
+
removeUserComments: Sequelize.HasManyRemoveAssociationsMixin<UserComments, UserCommentsId>;
|
|
63
|
+
hasUserComment: Sequelize.HasManyHasAssociationMixin<UserComments, UserCommentsId>;
|
|
64
|
+
hasUserComments: Sequelize.HasManyHasAssociationsMixin<UserComments, UserCommentsId>;
|
|
65
|
+
countUserComments: Sequelize.HasManyCountAssociationsMixin;
|
|
66
|
+
userLikes: UserLikes[];
|
|
67
|
+
getUserLikes: Sequelize.HasManyGetAssociationsMixin<UserLikes>;
|
|
68
|
+
setUserLikes: Sequelize.HasManySetAssociationsMixin<UserLikes, UserLikesId>;
|
|
69
|
+
addUserLike: Sequelize.HasManyAddAssociationMixin<UserLikes, UserLikesId>;
|
|
70
|
+
addUserLikes: Sequelize.HasManyAddAssociationsMixin<UserLikes, UserLikesId>;
|
|
71
|
+
createUserLike: Sequelize.HasManyCreateAssociationMixin<UserLikes>;
|
|
72
|
+
removeUserLike: Sequelize.HasManyRemoveAssociationMixin<UserLikes, UserLikesId>;
|
|
73
|
+
removeUserLikes: Sequelize.HasManyRemoveAssociationsMixin<UserLikes, UserLikesId>;
|
|
74
|
+
hasUserLike: Sequelize.HasManyHasAssociationMixin<UserLikes, UserLikesId>;
|
|
75
|
+
hasUserLikes: Sequelize.HasManyHasAssociationsMixin<UserLikes, UserLikesId>;
|
|
76
|
+
countUserLikes: Sequelize.HasManyCountAssociationsMixin;
|
|
53
77
|
merchPlatform: MerchPlatform;
|
|
54
78
|
getMerchPlatform: Sequelize.BelongsToGetAssociationMixin<MerchPlatform>;
|
|
55
79
|
setMerchPlatform: Sequelize.BelongsToSetAssociationMixin<MerchPlatform, MerchPlatformId>;
|
package/dist/NewsArticle.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { Model, Optional } from 'sequelize';
|
|
|
3
3
|
import type { CanonArtist, CanonArtistId } from './CanonArtist';
|
|
4
4
|
import type { NewsPlatform, NewsPlatformId } from './NewsPlatform';
|
|
5
5
|
import type { UserBookmarks, UserBookmarksId } from './UserBookmarks';
|
|
6
|
+
import type { UserComments, UserCommentsId } from './UserComments';
|
|
7
|
+
import type { UserLikes, UserLikesId } from './UserLikes';
|
|
6
8
|
export interface NewsArticleAttributes {
|
|
7
9
|
id: string;
|
|
8
10
|
canonArtistId: string;
|
|
@@ -45,6 +47,28 @@ export declare class NewsArticle extends Model<NewsArticleAttributes, NewsArticl
|
|
|
45
47
|
hasUserBookmark: Sequelize.HasManyHasAssociationMixin<UserBookmarks, UserBookmarksId>;
|
|
46
48
|
hasUserBookmarks: Sequelize.HasManyHasAssociationsMixin<UserBookmarks, UserBookmarksId>;
|
|
47
49
|
countUserBookmarks: Sequelize.HasManyCountAssociationsMixin;
|
|
50
|
+
userComments: UserComments[];
|
|
51
|
+
getUserComments: Sequelize.HasManyGetAssociationsMixin<UserComments>;
|
|
52
|
+
setUserComments: Sequelize.HasManySetAssociationsMixin<UserComments, UserCommentsId>;
|
|
53
|
+
addUserComment: Sequelize.HasManyAddAssociationMixin<UserComments, UserCommentsId>;
|
|
54
|
+
addUserComments: Sequelize.HasManyAddAssociationsMixin<UserComments, UserCommentsId>;
|
|
55
|
+
createUserComment: Sequelize.HasManyCreateAssociationMixin<UserComments>;
|
|
56
|
+
removeUserComment: Sequelize.HasManyRemoveAssociationMixin<UserComments, UserCommentsId>;
|
|
57
|
+
removeUserComments: Sequelize.HasManyRemoveAssociationsMixin<UserComments, UserCommentsId>;
|
|
58
|
+
hasUserComment: Sequelize.HasManyHasAssociationMixin<UserComments, UserCommentsId>;
|
|
59
|
+
hasUserComments: Sequelize.HasManyHasAssociationsMixin<UserComments, UserCommentsId>;
|
|
60
|
+
countUserComments: Sequelize.HasManyCountAssociationsMixin;
|
|
61
|
+
userLikes: UserLikes[];
|
|
62
|
+
getUserLikes: Sequelize.HasManyGetAssociationsMixin<UserLikes>;
|
|
63
|
+
setUserLikes: Sequelize.HasManySetAssociationsMixin<UserLikes, UserLikesId>;
|
|
64
|
+
addUserLike: Sequelize.HasManyAddAssociationMixin<UserLikes, UserLikesId>;
|
|
65
|
+
addUserLikes: Sequelize.HasManyAddAssociationsMixin<UserLikes, UserLikesId>;
|
|
66
|
+
createUserLike: Sequelize.HasManyCreateAssociationMixin<UserLikes>;
|
|
67
|
+
removeUserLike: Sequelize.HasManyRemoveAssociationMixin<UserLikes, UserLikesId>;
|
|
68
|
+
removeUserLikes: Sequelize.HasManyRemoveAssociationsMixin<UserLikes, UserLikesId>;
|
|
69
|
+
hasUserLike: Sequelize.HasManyHasAssociationMixin<UserLikes, UserLikesId>;
|
|
70
|
+
hasUserLikes: Sequelize.HasManyHasAssociationsMixin<UserLikes, UserLikesId>;
|
|
71
|
+
countUserLikes: Sequelize.HasManyCountAssociationsMixin;
|
|
48
72
|
newsPlatform: NewsPlatform;
|
|
49
73
|
getNewsPlatform: Sequelize.BelongsToGetAssociationMixin<NewsPlatform>;
|
|
50
74
|
setNewsPlatform: Sequelize.BelongsToSetAssociationMixin<NewsPlatform, NewsPlatformId>;
|
package/dist/UserComments.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import * as Sequelize from 'sequelize';
|
|
|
2
2
|
import { Model, Optional } from 'sequelize';
|
|
3
3
|
import type { AppUser, AppUserId } from './AppUser';
|
|
4
4
|
import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
|
|
5
|
+
import type { MerchItem, MerchItemId } from './MerchItem';
|
|
6
|
+
import type { NewsArticle, NewsArticleId } from './NewsArticle';
|
|
5
7
|
import type { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUserPlaylist';
|
|
6
8
|
import type { RadioShow, RadioShowId } from './RadioShow';
|
|
7
9
|
import type { UserAbuseReports, UserAbuseReportsId } from './UserAbuseReports';
|
|
@@ -20,10 +22,12 @@ export interface UserCommentsAttributes {
|
|
|
20
22
|
moderationScore?: number;
|
|
21
23
|
moderationLevel?: string;
|
|
22
24
|
strippedUrls?: object;
|
|
25
|
+
newsArticleId?: string;
|
|
26
|
+
merchItemId?: string;
|
|
23
27
|
}
|
|
24
28
|
export type UserCommentsPk = "id";
|
|
25
29
|
export type UserCommentsId = UserComments[UserCommentsPk];
|
|
26
|
-
export type UserCommentsOptionalAttributes = "jukeboxId" | "playlistId" | "radioShowId" | "id" | "replyCommentId" | "createDate" | "updateDate" | "modifiedComment" | "moderationScore" | "moderationLevel" | "strippedUrls";
|
|
30
|
+
export type UserCommentsOptionalAttributes = "jukeboxId" | "playlistId" | "radioShowId" | "id" | "replyCommentId" | "createDate" | "updateDate" | "modifiedComment" | "moderationScore" | "moderationLevel" | "strippedUrls" | "newsArticleId" | "merchItemId";
|
|
27
31
|
export type UserCommentsCreationAttributes = Optional<UserCommentsAttributes, UserCommentsOptionalAttributes>;
|
|
28
32
|
export declare class UserComments extends Model<UserCommentsAttributes, UserCommentsCreationAttributes> implements UserCommentsAttributes {
|
|
29
33
|
appUserId: string;
|
|
@@ -40,6 +44,8 @@ export declare class UserComments extends Model<UserCommentsAttributes, UserComm
|
|
|
40
44
|
moderationScore?: number;
|
|
41
45
|
moderationLevel?: string;
|
|
42
46
|
strippedUrls?: object;
|
|
47
|
+
newsArticleId?: string;
|
|
48
|
+
merchItemId?: string;
|
|
43
49
|
appUser: AppUser;
|
|
44
50
|
getAppUser: Sequelize.BelongsToGetAssociationMixin<AppUser>;
|
|
45
51
|
setAppUser: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
|
|
@@ -48,6 +54,14 @@ export declare class UserComments extends Model<UserCommentsAttributes, UserComm
|
|
|
48
54
|
getJukebox: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
|
|
49
55
|
setJukebox: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
|
|
50
56
|
createJukebox: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
|
|
57
|
+
merchItem: MerchItem;
|
|
58
|
+
getMerchItem: Sequelize.BelongsToGetAssociationMixin<MerchItem>;
|
|
59
|
+
setMerchItem: Sequelize.BelongsToSetAssociationMixin<MerchItem, MerchItemId>;
|
|
60
|
+
createMerchItem: Sequelize.BelongsToCreateAssociationMixin<MerchItem>;
|
|
61
|
+
newsArticle: NewsArticle;
|
|
62
|
+
getNewsArticle: Sequelize.BelongsToGetAssociationMixin<NewsArticle>;
|
|
63
|
+
setNewsArticle: Sequelize.BelongsToSetAssociationMixin<NewsArticle, NewsArticleId>;
|
|
64
|
+
createNewsArticle: Sequelize.BelongsToCreateAssociationMixin<NewsArticle>;
|
|
51
65
|
playlist: PlatformUserPlaylist;
|
|
52
66
|
getPlaylist: Sequelize.BelongsToGetAssociationMixin<PlatformUserPlaylist>;
|
|
53
67
|
setPlaylist: Sequelize.BelongsToSetAssociationMixin<PlatformUserPlaylist, PlatformUserPlaylistId>;
|
package/dist/UserComments.js
CHANGED
|
@@ -120,6 +120,24 @@ class UserComments extends sequelize_1.Model {
|
|
|
120
120
|
type: sequelize_1.DataTypes.JSONB,
|
|
121
121
|
allowNull: true,
|
|
122
122
|
field: 'stripped_urls'
|
|
123
|
+
},
|
|
124
|
+
newsArticleId: {
|
|
125
|
+
type: sequelize_1.DataTypes.UUID,
|
|
126
|
+
allowNull: true,
|
|
127
|
+
references: {
|
|
128
|
+
model: 'news_article',
|
|
129
|
+
key: 'id'
|
|
130
|
+
},
|
|
131
|
+
field: 'news_article_id'
|
|
132
|
+
},
|
|
133
|
+
merchItemId: {
|
|
134
|
+
type: sequelize_1.DataTypes.UUID,
|
|
135
|
+
allowNull: true,
|
|
136
|
+
references: {
|
|
137
|
+
model: 'merch_item',
|
|
138
|
+
key: 'id'
|
|
139
|
+
},
|
|
140
|
+
field: 'merch_item_id'
|
|
123
141
|
}
|
|
124
142
|
}, {
|
|
125
143
|
sequelize,
|
|
@@ -133,6 +151,18 @@ class UserComments extends sequelize_1.Model {
|
|
|
133
151
|
{ name: "jukebox_id" },
|
|
134
152
|
]
|
|
135
153
|
},
|
|
154
|
+
{
|
|
155
|
+
name: "idx_user_comments_merch_item",
|
|
156
|
+
fields: [
|
|
157
|
+
{ name: "merch_item_id" },
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
name: "idx_user_comments_news_article",
|
|
162
|
+
fields: [
|
|
163
|
+
{ name: "news_article_id" },
|
|
164
|
+
]
|
|
165
|
+
},
|
|
136
166
|
{
|
|
137
167
|
name: "idx_user_comments_playlist",
|
|
138
168
|
fields: [
|
package/dist/UserLikes.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ import * as Sequelize from 'sequelize';
|
|
|
2
2
|
import { Model, Optional } from 'sequelize';
|
|
3
3
|
import type { AppUser, AppUserId } from './AppUser';
|
|
4
4
|
import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
|
|
5
|
+
import type { MerchItem, MerchItemId } from './MerchItem';
|
|
6
|
+
import type { NewsArticle, NewsArticleId } from './NewsArticle';
|
|
5
7
|
import type { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUserPlaylist';
|
|
6
8
|
import type { RadioShow, RadioShowId } from './RadioShow';
|
|
7
9
|
export interface UserLikesAttributes {
|
|
@@ -12,10 +14,12 @@ export interface UserLikesAttributes {
|
|
|
12
14
|
id: string;
|
|
13
15
|
createDate: Date;
|
|
14
16
|
updateDate: Date;
|
|
17
|
+
merchItemId?: string;
|
|
18
|
+
newsArticleId?: string;
|
|
15
19
|
}
|
|
16
20
|
export type UserLikesPk = "id";
|
|
17
21
|
export type UserLikesId = UserLikes[UserLikesPk];
|
|
18
|
-
export type UserLikesOptionalAttributes = "jukeboxId" | "playlistId" | "radioShowId" | "id" | "createDate" | "updateDate";
|
|
22
|
+
export type UserLikesOptionalAttributes = "jukeboxId" | "playlistId" | "radioShowId" | "id" | "createDate" | "updateDate" | "merchItemId" | "newsArticleId";
|
|
19
23
|
export type UserLikesCreationAttributes = Optional<UserLikesAttributes, UserLikesOptionalAttributes>;
|
|
20
24
|
export declare class UserLikes extends Model<UserLikesAttributes, UserLikesCreationAttributes> implements UserLikesAttributes {
|
|
21
25
|
appUserId: string;
|
|
@@ -25,6 +29,8 @@ export declare class UserLikes extends Model<UserLikesAttributes, UserLikesCreat
|
|
|
25
29
|
id: string;
|
|
26
30
|
createDate: Date;
|
|
27
31
|
updateDate: Date;
|
|
32
|
+
merchItemId?: string;
|
|
33
|
+
newsArticleId?: string;
|
|
28
34
|
appUser: AppUser;
|
|
29
35
|
getAppUser: Sequelize.BelongsToGetAssociationMixin<AppUser>;
|
|
30
36
|
setAppUser: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
|
|
@@ -33,6 +39,14 @@ export declare class UserLikes extends Model<UserLikesAttributes, UserLikesCreat
|
|
|
33
39
|
getJukebox: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
|
|
34
40
|
setJukebox: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
|
|
35
41
|
createJukebox: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
|
|
42
|
+
merchItem: MerchItem;
|
|
43
|
+
getMerchItem: Sequelize.BelongsToGetAssociationMixin<MerchItem>;
|
|
44
|
+
setMerchItem: Sequelize.BelongsToSetAssociationMixin<MerchItem, MerchItemId>;
|
|
45
|
+
createMerchItem: Sequelize.BelongsToCreateAssociationMixin<MerchItem>;
|
|
46
|
+
newsArticle: NewsArticle;
|
|
47
|
+
getNewsArticle: Sequelize.BelongsToGetAssociationMixin<NewsArticle>;
|
|
48
|
+
setNewsArticle: Sequelize.BelongsToSetAssociationMixin<NewsArticle, NewsArticleId>;
|
|
49
|
+
createNewsArticle: Sequelize.BelongsToCreateAssociationMixin<NewsArticle>;
|
|
36
50
|
playlist: PlatformUserPlaylist;
|
|
37
51
|
getPlaylist: Sequelize.BelongsToGetAssociationMixin<PlatformUserPlaylist>;
|
|
38
52
|
setPlaylist: Sequelize.BelongsToSetAssociationMixin<PlatformUserPlaylist, PlatformUserPlaylistId>;
|
package/dist/UserLikes.js
CHANGED
|
@@ -82,6 +82,24 @@ class UserLikes extends sequelize_1.Model {
|
|
|
82
82
|
allowNull: false,
|
|
83
83
|
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
84
84
|
field: 'update_date'
|
|
85
|
+
},
|
|
86
|
+
merchItemId: {
|
|
87
|
+
type: sequelize_1.DataTypes.UUID,
|
|
88
|
+
allowNull: true,
|
|
89
|
+
references: {
|
|
90
|
+
model: 'merch_item',
|
|
91
|
+
key: 'id'
|
|
92
|
+
},
|
|
93
|
+
field: 'merch_item_id'
|
|
94
|
+
},
|
|
95
|
+
newsArticleId: {
|
|
96
|
+
type: sequelize_1.DataTypes.UUID,
|
|
97
|
+
allowNull: true,
|
|
98
|
+
references: {
|
|
99
|
+
model: 'news_article',
|
|
100
|
+
key: 'id'
|
|
101
|
+
},
|
|
102
|
+
field: 'news_article_id'
|
|
85
103
|
}
|
|
86
104
|
}, {
|
|
87
105
|
sequelize,
|
|
@@ -95,6 +113,18 @@ class UserLikes extends sequelize_1.Model {
|
|
|
95
113
|
{ name: "jukebox_id" },
|
|
96
114
|
]
|
|
97
115
|
},
|
|
116
|
+
{
|
|
117
|
+
name: "idx_user_likes_merch_item",
|
|
118
|
+
fields: [
|
|
119
|
+
{ name: "merch_item_id" },
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
name: "idx_user_likes_news_article",
|
|
124
|
+
fields: [
|
|
125
|
+
{ name: "news_article_id" },
|
|
126
|
+
]
|
|
127
|
+
},
|
|
98
128
|
{
|
|
99
129
|
name: "idx_user_likes_playlist",
|
|
100
130
|
fields: [
|
|
@@ -121,6 +151,22 @@ class UserLikes extends sequelize_1.Model {
|
|
|
121
151
|
{ name: "jukebox_id" },
|
|
122
152
|
]
|
|
123
153
|
},
|
|
154
|
+
{
|
|
155
|
+
name: "uq_user_likes_user_merch_item",
|
|
156
|
+
unique: true,
|
|
157
|
+
fields: [
|
|
158
|
+
{ name: "app_user_id" },
|
|
159
|
+
{ name: "merch_item_id" },
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
name: "uq_user_likes_user_news_article",
|
|
164
|
+
unique: true,
|
|
165
|
+
fields: [
|
|
166
|
+
{ name: "app_user_id" },
|
|
167
|
+
{ name: "news_article_id" },
|
|
168
|
+
]
|
|
169
|
+
},
|
|
124
170
|
{
|
|
125
171
|
name: "uq_user_likes_user_playlist",
|
|
126
172
|
unique: true,
|
|
@@ -1,37 +1,28 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { Model, Optional } from 'sequelize';
|
|
3
3
|
import type { AppUser, AppUserId } from './AppUser';
|
|
4
|
-
import type { GuestUser, GuestUserId } from './GuestUser';
|
|
5
4
|
import type { Versus, VersusId } from './Versus';
|
|
6
5
|
export interface VersusCoCreatorAttributes {
|
|
7
6
|
versusId: string;
|
|
8
|
-
appUserId?: string;
|
|
9
|
-
guestUserId?: string;
|
|
10
|
-
invitedEmail?: string;
|
|
11
7
|
id: string;
|
|
12
8
|
createdAt: Date;
|
|
13
9
|
updatedAt: Date;
|
|
10
|
+
appUserId: string;
|
|
14
11
|
}
|
|
15
12
|
export type VersusCoCreatorPk = "id";
|
|
16
13
|
export type VersusCoCreatorId = VersusCoCreator[VersusCoCreatorPk];
|
|
17
|
-
export type VersusCoCreatorOptionalAttributes = "
|
|
14
|
+
export type VersusCoCreatorOptionalAttributes = "id" | "createdAt" | "updatedAt";
|
|
18
15
|
export type VersusCoCreatorCreationAttributes = Optional<VersusCoCreatorAttributes, VersusCoCreatorOptionalAttributes>;
|
|
19
16
|
export declare class VersusCoCreator extends Model<VersusCoCreatorAttributes, VersusCoCreatorCreationAttributes> implements VersusCoCreatorAttributes {
|
|
20
17
|
versusId: string;
|
|
21
|
-
appUserId?: string;
|
|
22
|
-
guestUserId?: string;
|
|
23
|
-
invitedEmail?: string;
|
|
24
18
|
id: string;
|
|
25
19
|
createdAt: Date;
|
|
26
20
|
updatedAt: Date;
|
|
21
|
+
appUserId: string;
|
|
27
22
|
appUser: AppUser;
|
|
28
23
|
getAppUser: Sequelize.BelongsToGetAssociationMixin<AppUser>;
|
|
29
24
|
setAppUser: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
|
|
30
25
|
createAppUser: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
|
|
31
|
-
guestUser: GuestUser;
|
|
32
|
-
getGuestUser: Sequelize.BelongsToGetAssociationMixin<GuestUser>;
|
|
33
|
-
setGuestUser: Sequelize.BelongsToSetAssociationMixin<GuestUser, GuestUserId>;
|
|
34
|
-
createGuestUser: Sequelize.BelongsToCreateAssociationMixin<GuestUser>;
|
|
35
26
|
versu: Versus;
|
|
36
27
|
getVersu: Sequelize.BelongsToGetAssociationMixin<Versus>;
|
|
37
28
|
setVersu: Sequelize.BelongsToSetAssociationMixin<Versus, VersusId>;
|
package/dist/VersusCoCreator.js
CHANGED
|
@@ -38,29 +38,6 @@ class VersusCoCreator extends sequelize_1.Model {
|
|
|
38
38
|
},
|
|
39
39
|
field: 'versus_id'
|
|
40
40
|
},
|
|
41
|
-
appUserId: {
|
|
42
|
-
type: sequelize_1.DataTypes.UUID,
|
|
43
|
-
allowNull: true,
|
|
44
|
-
references: {
|
|
45
|
-
model: 'app_user',
|
|
46
|
-
key: 'id'
|
|
47
|
-
},
|
|
48
|
-
field: 'app_user_id'
|
|
49
|
-
},
|
|
50
|
-
guestUserId: {
|
|
51
|
-
type: sequelize_1.DataTypes.UUID,
|
|
52
|
-
allowNull: true,
|
|
53
|
-
references: {
|
|
54
|
-
model: 'guest_user',
|
|
55
|
-
key: 'id'
|
|
56
|
-
},
|
|
57
|
-
field: 'guest_user_id'
|
|
58
|
-
},
|
|
59
|
-
invitedEmail: {
|
|
60
|
-
type: sequelize_1.DataTypes.TEXT,
|
|
61
|
-
allowNull: true,
|
|
62
|
-
field: 'invited_email'
|
|
63
|
-
},
|
|
64
41
|
id: {
|
|
65
42
|
type: sequelize_1.DataTypes.UUID,
|
|
66
43
|
allowNull: false,
|
|
@@ -78,6 +55,15 @@ class VersusCoCreator extends sequelize_1.Model {
|
|
|
78
55
|
allowNull: false,
|
|
79
56
|
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
80
57
|
field: 'updated_at'
|
|
58
|
+
},
|
|
59
|
+
appUserId: {
|
|
60
|
+
type: sequelize_1.DataTypes.UUID,
|
|
61
|
+
allowNull: false,
|
|
62
|
+
references: {
|
|
63
|
+
model: 'app_user',
|
|
64
|
+
key: 'id'
|
|
65
|
+
},
|
|
66
|
+
field: 'app_user_id'
|
|
81
67
|
}
|
|
82
68
|
}, {
|
|
83
69
|
sequelize,
|
|
@@ -92,15 +78,17 @@ class VersusCoCreator extends sequelize_1.Model {
|
|
|
92
78
|
]
|
|
93
79
|
},
|
|
94
80
|
{
|
|
95
|
-
name: "
|
|
81
|
+
name: "idx_versus_co_creator_versus",
|
|
96
82
|
fields: [
|
|
97
|
-
{ name: "
|
|
83
|
+
{ name: "versus_id" },
|
|
98
84
|
]
|
|
99
85
|
},
|
|
100
86
|
{
|
|
101
|
-
name: "
|
|
87
|
+
name: "uk_versus_co_creator_versus_app_user",
|
|
88
|
+
unique: true,
|
|
102
89
|
fields: [
|
|
103
90
|
{ name: "versus_id" },
|
|
91
|
+
{ name: "app_user_id" },
|
|
104
92
|
]
|
|
105
93
|
},
|
|
106
94
|
{
|
package/dist/VersusOption.d.ts
CHANGED
|
@@ -4,7 +4,6 @@ import type { AppUser, AppUserId } from './AppUser';
|
|
|
4
4
|
import type { CanonAlbum, CanonAlbumId } from './CanonAlbum';
|
|
5
5
|
import type { CanonArtist, CanonArtistId } from './CanonArtist';
|
|
6
6
|
import type { CanonTrack, CanonTrackId } from './CanonTrack';
|
|
7
|
-
import type { GuestUser, GuestUserId } from './GuestUser';
|
|
8
7
|
import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
|
|
9
8
|
import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
|
|
10
9
|
import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
|
|
@@ -27,11 +26,10 @@ export interface VersusOptionAttributes {
|
|
|
27
26
|
updatedAt: Date;
|
|
28
27
|
deleted: boolean;
|
|
29
28
|
appUserId?: string;
|
|
30
|
-
guestUserId?: string;
|
|
31
29
|
}
|
|
32
30
|
export type VersusOptionPk = "id";
|
|
33
31
|
export type VersusOptionId = VersusOption[VersusOptionPk];
|
|
34
|
-
export type VersusOptionOptionalAttributes = "canonTrackId" | "platformTrackId" | "canonAlbumId" | "platformAlbumId" | "canonArtistId" | "platformArtistId" | "voteScore" | "resultsScore" | "id" | "createdAt" | "updatedAt" | "appUserId"
|
|
32
|
+
export type VersusOptionOptionalAttributes = "canonTrackId" | "platformTrackId" | "canonAlbumId" | "platformAlbumId" | "canonArtistId" | "platformArtistId" | "voteScore" | "resultsScore" | "id" | "createdAt" | "updatedAt" | "appUserId";
|
|
35
33
|
export type VersusOptionCreationAttributes = Optional<VersusOptionAttributes, VersusOptionOptionalAttributes>;
|
|
36
34
|
export declare class VersusOption extends Model<VersusOptionAttributes, VersusOptionCreationAttributes> implements VersusOptionAttributes {
|
|
37
35
|
versusId: string;
|
|
@@ -50,7 +48,6 @@ export declare class VersusOption extends Model<VersusOptionAttributes, VersusOp
|
|
|
50
48
|
updatedAt: Date;
|
|
51
49
|
deleted: boolean;
|
|
52
50
|
appUserId?: string;
|
|
53
|
-
guestUserId?: string;
|
|
54
51
|
appUser: AppUser;
|
|
55
52
|
getAppUser: Sequelize.BelongsToGetAssociationMixin<AppUser>;
|
|
56
53
|
setAppUser: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
|
|
@@ -67,10 +64,6 @@ export declare class VersusOption extends Model<VersusOptionAttributes, VersusOp
|
|
|
67
64
|
getCanonTrack: Sequelize.BelongsToGetAssociationMixin<CanonTrack>;
|
|
68
65
|
setCanonTrack: Sequelize.BelongsToSetAssociationMixin<CanonTrack, CanonTrackId>;
|
|
69
66
|
createCanonTrack: Sequelize.BelongsToCreateAssociationMixin<CanonTrack>;
|
|
70
|
-
guestUser: GuestUser;
|
|
71
|
-
getGuestUser: Sequelize.BelongsToGetAssociationMixin<GuestUser>;
|
|
72
|
-
setGuestUser: Sequelize.BelongsToSetAssociationMixin<GuestUser, GuestUserId>;
|
|
73
|
-
createGuestUser: Sequelize.BelongsToCreateAssociationMixin<GuestUser>;
|
|
74
67
|
platformAlbum: PlatformAlbum;
|
|
75
68
|
getPlatformAlbum: Sequelize.BelongsToGetAssociationMixin<PlatformAlbum>;
|
|
76
69
|
setPlatformAlbum: Sequelize.BelongsToSetAssociationMixin<PlatformAlbum, PlatformAlbumId>;
|
package/dist/VersusOption.js
CHANGED
|
@@ -147,15 +147,6 @@ class VersusOption extends sequelize_1.Model {
|
|
|
147
147
|
key: 'id'
|
|
148
148
|
},
|
|
149
149
|
field: 'app_user_id'
|
|
150
|
-
},
|
|
151
|
-
guestUserId: {
|
|
152
|
-
type: sequelize_1.DataTypes.UUID,
|
|
153
|
-
allowNull: true,
|
|
154
|
-
references: {
|
|
155
|
-
model: 'guest_user',
|
|
156
|
-
key: 'id'
|
|
157
|
-
},
|
|
158
|
-
field: 'guest_user_id'
|
|
159
150
|
}
|
|
160
151
|
}, {
|
|
161
152
|
sequelize,
|
package/dist/init-models.js
CHANGED
|
@@ -549,10 +549,6 @@ function initModels(sequelize) {
|
|
|
549
549
|
FeedContentType.hasMany(UserEngagementFactor, { as: "userEngagementFactors", foreignKey: "contentTypeId" });
|
|
550
550
|
JukeboxQueueEntry.belongsTo(GuestUser, { as: "trackAddedGuestUser", foreignKey: "trackAddedGuestUserId" });
|
|
551
551
|
GuestUser.hasMany(JukeboxQueueEntry, { as: "jukeboxQueueEntries", foreignKey: "trackAddedGuestUserId" });
|
|
552
|
-
VersusCoCreator.belongsTo(GuestUser, { as: "guestUser", foreignKey: "guestUserId" });
|
|
553
|
-
GuestUser.hasMany(VersusCoCreator, { as: "versusCoCreators", foreignKey: "guestUserId" });
|
|
554
|
-
VersusOption.belongsTo(GuestUser, { as: "guestUser", foreignKey: "guestUserId" });
|
|
555
|
-
GuestUser.hasMany(VersusOption, { as: "versusOptions", foreignKey: "guestUserId" });
|
|
556
552
|
JukeboxSession.belongsTo(JukeboxAccessType, { as: "accessType", foreignKey: "accessTypeId" });
|
|
557
553
|
JukeboxAccessType.hasMany(JukeboxSession, { as: "jukeboxSessions", foreignKey: "accessTypeId" });
|
|
558
554
|
JukeboxUser.belongsTo(JukeboxQueueEntry, { as: "pausedQueueEntry", foreignKey: "pausedQueueEntryId" });
|
|
@@ -593,6 +589,10 @@ function initModels(sequelize) {
|
|
|
593
589
|
JukeboxUserType.hasMany(JukeboxUser, { as: "jukeboxUsers", foreignKey: "jukeboxUserTypeId" });
|
|
594
590
|
UserBookmarks.belongsTo(MerchItem, { as: "merchItem", foreignKey: "merchItemId" });
|
|
595
591
|
MerchItem.hasMany(UserBookmarks, { as: "userBookmarks", foreignKey: "merchItemId" });
|
|
592
|
+
UserComments.belongsTo(MerchItem, { as: "merchItem", foreignKey: "merchItemId" });
|
|
593
|
+
MerchItem.hasMany(UserComments, { as: "userComments", foreignKey: "merchItemId" });
|
|
594
|
+
UserLikes.belongsTo(MerchItem, { as: "merchItem", foreignKey: "merchItemId" });
|
|
595
|
+
MerchItem.hasMany(UserLikes, { as: "userLikes", foreignKey: "merchItemId" });
|
|
596
596
|
MerchItem.belongsTo(MerchPlatform, { as: "merchPlatform", foreignKey: "merchPlatformId" });
|
|
597
597
|
MerchPlatform.hasMany(MerchItem, { as: "merchItems", foreignKey: "merchPlatformId" });
|
|
598
598
|
MerchOrchestration.belongsTo(MerchPlatform, { as: "merchPlatform", foreignKey: "merchPlatformId" });
|
|
@@ -603,6 +603,10 @@ function initModels(sequelize) {
|
|
|
603
603
|
MerchType.hasMany(MerchOrchestration, { as: "merchOrchestrations", foreignKey: "merchTypeId" });
|
|
604
604
|
UserBookmarks.belongsTo(NewsArticle, { as: "newsArticle", foreignKey: "newsArticleId" });
|
|
605
605
|
NewsArticle.hasMany(UserBookmarks, { as: "userBookmarks", foreignKey: "newsArticleId" });
|
|
606
|
+
UserComments.belongsTo(NewsArticle, { as: "newsArticle", foreignKey: "newsArticleId" });
|
|
607
|
+
NewsArticle.hasMany(UserComments, { as: "userComments", foreignKey: "newsArticleId" });
|
|
608
|
+
UserLikes.belongsTo(NewsArticle, { as: "newsArticle", foreignKey: "newsArticleId" });
|
|
609
|
+
NewsArticle.hasMany(UserLikes, { as: "userLikes", foreignKey: "newsArticleId" });
|
|
606
610
|
NewsArticle.belongsTo(NewsPlatform, { as: "newsPlatform", foreignKey: "newsPlatformId" });
|
|
607
611
|
NewsPlatform.hasMany(NewsArticle, { as: "newsArticles", foreignKey: "newsPlatformId" });
|
|
608
612
|
Notification.belongsTo(NotificationType, { as: "notificationType", foreignKey: "notificationTypeId" });
|
package/models/GuestUser.ts
CHANGED
|
@@ -3,8 +3,6 @@ import { DataTypes, Model, Optional } from 'sequelize';
|
|
|
3
3
|
import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
|
|
4
4
|
import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
|
|
5
5
|
import type { Versus, VersusId } from './Versus';
|
|
6
|
-
import type { VersusCoCreator, VersusCoCreatorId } from './VersusCoCreator';
|
|
7
|
-
import type { VersusOption, VersusOptionId } from './VersusOption';
|
|
8
6
|
|
|
9
7
|
export interface GuestUserAttributes {
|
|
10
8
|
jukeboxSessionId?: string;
|
|
@@ -44,30 +42,6 @@ export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttri
|
|
|
44
42
|
hasJukeboxQueueEntry!: Sequelize.HasManyHasAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
45
43
|
hasJukeboxQueueEntries!: Sequelize.HasManyHasAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
46
44
|
countJukeboxQueueEntries!: Sequelize.HasManyCountAssociationsMixin;
|
|
47
|
-
// GuestUser hasMany VersusCoCreator via guestUserId
|
|
48
|
-
versusCoCreators!: VersusCoCreator[];
|
|
49
|
-
getVersusCoCreators!: Sequelize.HasManyGetAssociationsMixin<VersusCoCreator>;
|
|
50
|
-
setVersusCoCreators!: Sequelize.HasManySetAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
51
|
-
addVersusCoCreator!: Sequelize.HasManyAddAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
52
|
-
addVersusCoCreators!: Sequelize.HasManyAddAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
53
|
-
createVersusCoCreator!: Sequelize.HasManyCreateAssociationMixin<VersusCoCreator>;
|
|
54
|
-
removeVersusCoCreator!: Sequelize.HasManyRemoveAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
55
|
-
removeVersusCoCreators!: Sequelize.HasManyRemoveAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
56
|
-
hasVersusCoCreator!: Sequelize.HasManyHasAssociationMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
57
|
-
hasVersusCoCreators!: Sequelize.HasManyHasAssociationsMixin<VersusCoCreator, VersusCoCreatorId>;
|
|
58
|
-
countVersusCoCreators!: Sequelize.HasManyCountAssociationsMixin;
|
|
59
|
-
// GuestUser hasMany VersusOption via guestUserId
|
|
60
|
-
versusOptions!: VersusOption[];
|
|
61
|
-
getVersusOptions!: Sequelize.HasManyGetAssociationsMixin<VersusOption>;
|
|
62
|
-
setVersusOptions!: Sequelize.HasManySetAssociationsMixin<VersusOption, VersusOptionId>;
|
|
63
|
-
addVersusOption!: Sequelize.HasManyAddAssociationMixin<VersusOption, VersusOptionId>;
|
|
64
|
-
addVersusOptions!: Sequelize.HasManyAddAssociationsMixin<VersusOption, VersusOptionId>;
|
|
65
|
-
createVersusOption!: Sequelize.HasManyCreateAssociationMixin<VersusOption>;
|
|
66
|
-
removeVersusOption!: Sequelize.HasManyRemoveAssociationMixin<VersusOption, VersusOptionId>;
|
|
67
|
-
removeVersusOptions!: Sequelize.HasManyRemoveAssociationsMixin<VersusOption, VersusOptionId>;
|
|
68
|
-
hasVersusOption!: Sequelize.HasManyHasAssociationMixin<VersusOption, VersusOptionId>;
|
|
69
|
-
hasVersusOptions!: Sequelize.HasManyHasAssociationsMixin<VersusOption, VersusOptionId>;
|
|
70
|
-
countVersusOptions!: Sequelize.HasManyCountAssociationsMixin;
|
|
71
45
|
// GuestUser belongsTo JukeboxSession via jukeboxSessionId
|
|
72
46
|
jukeboxSession!: JukeboxSession;
|
|
73
47
|
getJukeboxSession!: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
|
package/models/MerchItem.ts
CHANGED
|
@@ -4,6 +4,8 @@ import type { CanonArtist, CanonArtistId } from './CanonArtist';
|
|
|
4
4
|
import type { MerchPlatform, MerchPlatformId } from './MerchPlatform';
|
|
5
5
|
import type { MerchType, MerchTypeId } from './MerchType';
|
|
6
6
|
import type { UserBookmarks, UserBookmarksId } from './UserBookmarks';
|
|
7
|
+
import type { UserComments, UserCommentsId } from './UserComments';
|
|
8
|
+
import type { UserLikes, UserLikesId } from './UserLikes';
|
|
7
9
|
|
|
8
10
|
export interface MerchItemAttributes {
|
|
9
11
|
canonArtistId: string;
|
|
@@ -56,6 +58,30 @@ export class MerchItem extends Model<MerchItemAttributes, MerchItemCreationAttri
|
|
|
56
58
|
hasUserBookmark!: Sequelize.HasManyHasAssociationMixin<UserBookmarks, UserBookmarksId>;
|
|
57
59
|
hasUserBookmarks!: Sequelize.HasManyHasAssociationsMixin<UserBookmarks, UserBookmarksId>;
|
|
58
60
|
countUserBookmarks!: Sequelize.HasManyCountAssociationsMixin;
|
|
61
|
+
// MerchItem hasMany UserComments via merchItemId
|
|
62
|
+
userComments!: UserComments[];
|
|
63
|
+
getUserComments!: Sequelize.HasManyGetAssociationsMixin<UserComments>;
|
|
64
|
+
setUserComments!: Sequelize.HasManySetAssociationsMixin<UserComments, UserCommentsId>;
|
|
65
|
+
addUserComment!: Sequelize.HasManyAddAssociationMixin<UserComments, UserCommentsId>;
|
|
66
|
+
addUserComments!: Sequelize.HasManyAddAssociationsMixin<UserComments, UserCommentsId>;
|
|
67
|
+
createUserComment!: Sequelize.HasManyCreateAssociationMixin<UserComments>;
|
|
68
|
+
removeUserComment!: Sequelize.HasManyRemoveAssociationMixin<UserComments, UserCommentsId>;
|
|
69
|
+
removeUserComments!: Sequelize.HasManyRemoveAssociationsMixin<UserComments, UserCommentsId>;
|
|
70
|
+
hasUserComment!: Sequelize.HasManyHasAssociationMixin<UserComments, UserCommentsId>;
|
|
71
|
+
hasUserComments!: Sequelize.HasManyHasAssociationsMixin<UserComments, UserCommentsId>;
|
|
72
|
+
countUserComments!: Sequelize.HasManyCountAssociationsMixin;
|
|
73
|
+
// MerchItem hasMany UserLikes via merchItemId
|
|
74
|
+
userLikes!: UserLikes[];
|
|
75
|
+
getUserLikes!: Sequelize.HasManyGetAssociationsMixin<UserLikes>;
|
|
76
|
+
setUserLikes!: Sequelize.HasManySetAssociationsMixin<UserLikes, UserLikesId>;
|
|
77
|
+
addUserLike!: Sequelize.HasManyAddAssociationMixin<UserLikes, UserLikesId>;
|
|
78
|
+
addUserLikes!: Sequelize.HasManyAddAssociationsMixin<UserLikes, UserLikesId>;
|
|
79
|
+
createUserLike!: Sequelize.HasManyCreateAssociationMixin<UserLikes>;
|
|
80
|
+
removeUserLike!: Sequelize.HasManyRemoveAssociationMixin<UserLikes, UserLikesId>;
|
|
81
|
+
removeUserLikes!: Sequelize.HasManyRemoveAssociationsMixin<UserLikes, UserLikesId>;
|
|
82
|
+
hasUserLike!: Sequelize.HasManyHasAssociationMixin<UserLikes, UserLikesId>;
|
|
83
|
+
hasUserLikes!: Sequelize.HasManyHasAssociationsMixin<UserLikes, UserLikesId>;
|
|
84
|
+
countUserLikes!: Sequelize.HasManyCountAssociationsMixin;
|
|
59
85
|
// MerchItem belongsTo MerchPlatform via merchPlatformId
|
|
60
86
|
merchPlatform!: MerchPlatform;
|
|
61
87
|
getMerchPlatform!: Sequelize.BelongsToGetAssociationMixin<MerchPlatform>;
|
package/models/NewsArticle.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { DataTypes, Model, Optional } from 'sequelize';
|
|
|
3
3
|
import type { CanonArtist, CanonArtistId } from './CanonArtist';
|
|
4
4
|
import type { NewsPlatform, NewsPlatformId } from './NewsPlatform';
|
|
5
5
|
import type { UserBookmarks, UserBookmarksId } from './UserBookmarks';
|
|
6
|
+
import type { UserComments, UserCommentsId } from './UserComments';
|
|
7
|
+
import type { UserLikes, UserLikesId } from './UserLikes';
|
|
6
8
|
|
|
7
9
|
export interface NewsArticleAttributes {
|
|
8
10
|
id: string;
|
|
@@ -51,6 +53,30 @@ export class NewsArticle extends Model<NewsArticleAttributes, NewsArticleCreatio
|
|
|
51
53
|
hasUserBookmark!: Sequelize.HasManyHasAssociationMixin<UserBookmarks, UserBookmarksId>;
|
|
52
54
|
hasUserBookmarks!: Sequelize.HasManyHasAssociationsMixin<UserBookmarks, UserBookmarksId>;
|
|
53
55
|
countUserBookmarks!: Sequelize.HasManyCountAssociationsMixin;
|
|
56
|
+
// NewsArticle hasMany UserComments via newsArticleId
|
|
57
|
+
userComments!: UserComments[];
|
|
58
|
+
getUserComments!: Sequelize.HasManyGetAssociationsMixin<UserComments>;
|
|
59
|
+
setUserComments!: Sequelize.HasManySetAssociationsMixin<UserComments, UserCommentsId>;
|
|
60
|
+
addUserComment!: Sequelize.HasManyAddAssociationMixin<UserComments, UserCommentsId>;
|
|
61
|
+
addUserComments!: Sequelize.HasManyAddAssociationsMixin<UserComments, UserCommentsId>;
|
|
62
|
+
createUserComment!: Sequelize.HasManyCreateAssociationMixin<UserComments>;
|
|
63
|
+
removeUserComment!: Sequelize.HasManyRemoveAssociationMixin<UserComments, UserCommentsId>;
|
|
64
|
+
removeUserComments!: Sequelize.HasManyRemoveAssociationsMixin<UserComments, UserCommentsId>;
|
|
65
|
+
hasUserComment!: Sequelize.HasManyHasAssociationMixin<UserComments, UserCommentsId>;
|
|
66
|
+
hasUserComments!: Sequelize.HasManyHasAssociationsMixin<UserComments, UserCommentsId>;
|
|
67
|
+
countUserComments!: Sequelize.HasManyCountAssociationsMixin;
|
|
68
|
+
// NewsArticle hasMany UserLikes via newsArticleId
|
|
69
|
+
userLikes!: UserLikes[];
|
|
70
|
+
getUserLikes!: Sequelize.HasManyGetAssociationsMixin<UserLikes>;
|
|
71
|
+
setUserLikes!: Sequelize.HasManySetAssociationsMixin<UserLikes, UserLikesId>;
|
|
72
|
+
addUserLike!: Sequelize.HasManyAddAssociationMixin<UserLikes, UserLikesId>;
|
|
73
|
+
addUserLikes!: Sequelize.HasManyAddAssociationsMixin<UserLikes, UserLikesId>;
|
|
74
|
+
createUserLike!: Sequelize.HasManyCreateAssociationMixin<UserLikes>;
|
|
75
|
+
removeUserLike!: Sequelize.HasManyRemoveAssociationMixin<UserLikes, UserLikesId>;
|
|
76
|
+
removeUserLikes!: Sequelize.HasManyRemoveAssociationsMixin<UserLikes, UserLikesId>;
|
|
77
|
+
hasUserLike!: Sequelize.HasManyHasAssociationMixin<UserLikes, UserLikesId>;
|
|
78
|
+
hasUserLikes!: Sequelize.HasManyHasAssociationsMixin<UserLikes, UserLikesId>;
|
|
79
|
+
countUserLikes!: Sequelize.HasManyCountAssociationsMixin;
|
|
54
80
|
// NewsArticle belongsTo NewsPlatform via newsPlatformId
|
|
55
81
|
newsPlatform!: NewsPlatform;
|
|
56
82
|
getNewsPlatform!: Sequelize.BelongsToGetAssociationMixin<NewsPlatform>;
|
package/models/UserComments.ts
CHANGED
|
@@ -2,6 +2,8 @@ import * as Sequelize from 'sequelize';
|
|
|
2
2
|
import { DataTypes, Model, Optional } from 'sequelize';
|
|
3
3
|
import type { AppUser, AppUserId } from './AppUser';
|
|
4
4
|
import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
|
|
5
|
+
import type { MerchItem, MerchItemId } from './MerchItem';
|
|
6
|
+
import type { NewsArticle, NewsArticleId } from './NewsArticle';
|
|
5
7
|
import type { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUserPlaylist';
|
|
6
8
|
import type { RadioShow, RadioShowId } from './RadioShow';
|
|
7
9
|
import type { UserAbuseReports, UserAbuseReportsId } from './UserAbuseReports';
|
|
@@ -21,11 +23,13 @@ export interface UserCommentsAttributes {
|
|
|
21
23
|
moderationScore?: number;
|
|
22
24
|
moderationLevel?: string;
|
|
23
25
|
strippedUrls?: object;
|
|
26
|
+
newsArticleId?: string;
|
|
27
|
+
merchItemId?: string;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
export type UserCommentsPk = "id";
|
|
27
31
|
export type UserCommentsId = UserComments[UserCommentsPk];
|
|
28
|
-
export type UserCommentsOptionalAttributes = "jukeboxId" | "playlistId" | "radioShowId" | "id" | "replyCommentId" | "createDate" | "updateDate" | "modifiedComment" | "moderationScore" | "moderationLevel" | "strippedUrls";
|
|
32
|
+
export type UserCommentsOptionalAttributes = "jukeboxId" | "playlistId" | "radioShowId" | "id" | "replyCommentId" | "createDate" | "updateDate" | "modifiedComment" | "moderationScore" | "moderationLevel" | "strippedUrls" | "newsArticleId" | "merchItemId";
|
|
29
33
|
export type UserCommentsCreationAttributes = Optional<UserCommentsAttributes, UserCommentsOptionalAttributes>;
|
|
30
34
|
|
|
31
35
|
export class UserComments extends Model<UserCommentsAttributes, UserCommentsCreationAttributes> implements UserCommentsAttributes {
|
|
@@ -43,6 +47,8 @@ export class UserComments extends Model<UserCommentsAttributes, UserCommentsCrea
|
|
|
43
47
|
moderationScore?: number;
|
|
44
48
|
moderationLevel?: string;
|
|
45
49
|
strippedUrls?: object;
|
|
50
|
+
newsArticleId?: string;
|
|
51
|
+
merchItemId?: string;
|
|
46
52
|
|
|
47
53
|
// UserComments belongsTo AppUser via appUserId
|
|
48
54
|
appUser!: AppUser;
|
|
@@ -54,6 +60,16 @@ export class UserComments extends Model<UserCommentsAttributes, UserCommentsCrea
|
|
|
54
60
|
getJukebox!: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
|
|
55
61
|
setJukebox!: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
|
|
56
62
|
createJukebox!: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
|
|
63
|
+
// UserComments belongsTo MerchItem via merchItemId
|
|
64
|
+
merchItem!: MerchItem;
|
|
65
|
+
getMerchItem!: Sequelize.BelongsToGetAssociationMixin<MerchItem>;
|
|
66
|
+
setMerchItem!: Sequelize.BelongsToSetAssociationMixin<MerchItem, MerchItemId>;
|
|
67
|
+
createMerchItem!: Sequelize.BelongsToCreateAssociationMixin<MerchItem>;
|
|
68
|
+
// UserComments belongsTo NewsArticle via newsArticleId
|
|
69
|
+
newsArticle!: NewsArticle;
|
|
70
|
+
getNewsArticle!: Sequelize.BelongsToGetAssociationMixin<NewsArticle>;
|
|
71
|
+
setNewsArticle!: Sequelize.BelongsToSetAssociationMixin<NewsArticle, NewsArticleId>;
|
|
72
|
+
createNewsArticle!: Sequelize.BelongsToCreateAssociationMixin<NewsArticle>;
|
|
57
73
|
// UserComments belongsTo PlatformUserPlaylist via playlistId
|
|
58
74
|
playlist!: PlatformUserPlaylist;
|
|
59
75
|
getPlaylist!: Sequelize.BelongsToGetAssociationMixin<PlatformUserPlaylist>;
|
|
@@ -175,6 +191,24 @@ export class UserComments extends Model<UserCommentsAttributes, UserCommentsCrea
|
|
|
175
191
|
type: DataTypes.JSONB,
|
|
176
192
|
allowNull: true,
|
|
177
193
|
field: 'stripped_urls'
|
|
194
|
+
},
|
|
195
|
+
newsArticleId: {
|
|
196
|
+
type: DataTypes.UUID,
|
|
197
|
+
allowNull: true,
|
|
198
|
+
references: {
|
|
199
|
+
model: 'news_article',
|
|
200
|
+
key: 'id'
|
|
201
|
+
},
|
|
202
|
+
field: 'news_article_id'
|
|
203
|
+
},
|
|
204
|
+
merchItemId: {
|
|
205
|
+
type: DataTypes.UUID,
|
|
206
|
+
allowNull: true,
|
|
207
|
+
references: {
|
|
208
|
+
model: 'merch_item',
|
|
209
|
+
key: 'id'
|
|
210
|
+
},
|
|
211
|
+
field: 'merch_item_id'
|
|
178
212
|
}
|
|
179
213
|
}, {
|
|
180
214
|
sequelize,
|
|
@@ -188,6 +222,18 @@ export class UserComments extends Model<UserCommentsAttributes, UserCommentsCrea
|
|
|
188
222
|
{ name: "jukebox_id" },
|
|
189
223
|
]
|
|
190
224
|
},
|
|
225
|
+
{
|
|
226
|
+
name: "idx_user_comments_merch_item",
|
|
227
|
+
fields: [
|
|
228
|
+
{ name: "merch_item_id" },
|
|
229
|
+
]
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: "idx_user_comments_news_article",
|
|
233
|
+
fields: [
|
|
234
|
+
{ name: "news_article_id" },
|
|
235
|
+
]
|
|
236
|
+
},
|
|
191
237
|
{
|
|
192
238
|
name: "idx_user_comments_playlist",
|
|
193
239
|
fields: [
|
package/models/UserLikes.ts
CHANGED
|
@@ -2,6 +2,8 @@ import * as Sequelize from 'sequelize';
|
|
|
2
2
|
import { DataTypes, Model, Optional } from 'sequelize';
|
|
3
3
|
import type { AppUser, AppUserId } from './AppUser';
|
|
4
4
|
import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
|
|
5
|
+
import type { MerchItem, MerchItemId } from './MerchItem';
|
|
6
|
+
import type { NewsArticle, NewsArticleId } from './NewsArticle';
|
|
5
7
|
import type { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUserPlaylist';
|
|
6
8
|
import type { RadioShow, RadioShowId } from './RadioShow';
|
|
7
9
|
|
|
@@ -13,11 +15,13 @@ export interface UserLikesAttributes {
|
|
|
13
15
|
id: string;
|
|
14
16
|
createDate: Date;
|
|
15
17
|
updateDate: Date;
|
|
18
|
+
merchItemId?: string;
|
|
19
|
+
newsArticleId?: string;
|
|
16
20
|
}
|
|
17
21
|
|
|
18
22
|
export type UserLikesPk = "id";
|
|
19
23
|
export type UserLikesId = UserLikes[UserLikesPk];
|
|
20
|
-
export type UserLikesOptionalAttributes = "jukeboxId" | "playlistId" | "radioShowId" | "id" | "createDate" | "updateDate";
|
|
24
|
+
export type UserLikesOptionalAttributes = "jukeboxId" | "playlistId" | "radioShowId" | "id" | "createDate" | "updateDate" | "merchItemId" | "newsArticleId";
|
|
21
25
|
export type UserLikesCreationAttributes = Optional<UserLikesAttributes, UserLikesOptionalAttributes>;
|
|
22
26
|
|
|
23
27
|
export class UserLikes extends Model<UserLikesAttributes, UserLikesCreationAttributes> implements UserLikesAttributes {
|
|
@@ -28,6 +32,8 @@ export class UserLikes extends Model<UserLikesAttributes, UserLikesCreationAttri
|
|
|
28
32
|
id!: string;
|
|
29
33
|
createDate!: Date;
|
|
30
34
|
updateDate!: Date;
|
|
35
|
+
merchItemId?: string;
|
|
36
|
+
newsArticleId?: string;
|
|
31
37
|
|
|
32
38
|
// UserLikes belongsTo AppUser via appUserId
|
|
33
39
|
appUser!: AppUser;
|
|
@@ -39,6 +45,16 @@ export class UserLikes extends Model<UserLikesAttributes, UserLikesCreationAttri
|
|
|
39
45
|
getJukebox!: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
|
|
40
46
|
setJukebox!: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
|
|
41
47
|
createJukebox!: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
|
|
48
|
+
// UserLikes belongsTo MerchItem via merchItemId
|
|
49
|
+
merchItem!: MerchItem;
|
|
50
|
+
getMerchItem!: Sequelize.BelongsToGetAssociationMixin<MerchItem>;
|
|
51
|
+
setMerchItem!: Sequelize.BelongsToSetAssociationMixin<MerchItem, MerchItemId>;
|
|
52
|
+
createMerchItem!: Sequelize.BelongsToCreateAssociationMixin<MerchItem>;
|
|
53
|
+
// UserLikes belongsTo NewsArticle via newsArticleId
|
|
54
|
+
newsArticle!: NewsArticle;
|
|
55
|
+
getNewsArticle!: Sequelize.BelongsToGetAssociationMixin<NewsArticle>;
|
|
56
|
+
setNewsArticle!: Sequelize.BelongsToSetAssociationMixin<NewsArticle, NewsArticleId>;
|
|
57
|
+
createNewsArticle!: Sequelize.BelongsToCreateAssociationMixin<NewsArticle>;
|
|
42
58
|
// UserLikes belongsTo PlatformUserPlaylist via playlistId
|
|
43
59
|
playlist!: PlatformUserPlaylist;
|
|
44
60
|
getPlaylist!: Sequelize.BelongsToGetAssociationMixin<PlatformUserPlaylist>;
|
|
@@ -105,6 +121,24 @@ export class UserLikes extends Model<UserLikesAttributes, UserLikesCreationAttri
|
|
|
105
121
|
allowNull: false,
|
|
106
122
|
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
107
123
|
field: 'update_date'
|
|
124
|
+
},
|
|
125
|
+
merchItemId: {
|
|
126
|
+
type: DataTypes.UUID,
|
|
127
|
+
allowNull: true,
|
|
128
|
+
references: {
|
|
129
|
+
model: 'merch_item',
|
|
130
|
+
key: 'id'
|
|
131
|
+
},
|
|
132
|
+
field: 'merch_item_id'
|
|
133
|
+
},
|
|
134
|
+
newsArticleId: {
|
|
135
|
+
type: DataTypes.UUID,
|
|
136
|
+
allowNull: true,
|
|
137
|
+
references: {
|
|
138
|
+
model: 'news_article',
|
|
139
|
+
key: 'id'
|
|
140
|
+
},
|
|
141
|
+
field: 'news_article_id'
|
|
108
142
|
}
|
|
109
143
|
}, {
|
|
110
144
|
sequelize,
|
|
@@ -118,6 +152,18 @@ export class UserLikes extends Model<UserLikesAttributes, UserLikesCreationAttri
|
|
|
118
152
|
{ name: "jukebox_id" },
|
|
119
153
|
]
|
|
120
154
|
},
|
|
155
|
+
{
|
|
156
|
+
name: "idx_user_likes_merch_item",
|
|
157
|
+
fields: [
|
|
158
|
+
{ name: "merch_item_id" },
|
|
159
|
+
]
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
name: "idx_user_likes_news_article",
|
|
163
|
+
fields: [
|
|
164
|
+
{ name: "news_article_id" },
|
|
165
|
+
]
|
|
166
|
+
},
|
|
121
167
|
{
|
|
122
168
|
name: "idx_user_likes_playlist",
|
|
123
169
|
fields: [
|
|
@@ -144,6 +190,22 @@ export class UserLikes extends Model<UserLikesAttributes, UserLikesCreationAttri
|
|
|
144
190
|
{ name: "jukebox_id" },
|
|
145
191
|
]
|
|
146
192
|
},
|
|
193
|
+
{
|
|
194
|
+
name: "uq_user_likes_user_merch_item",
|
|
195
|
+
unique: true,
|
|
196
|
+
fields: [
|
|
197
|
+
{ name: "app_user_id" },
|
|
198
|
+
{ name: "merch_item_id" },
|
|
199
|
+
]
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
name: "uq_user_likes_user_news_article",
|
|
203
|
+
unique: true,
|
|
204
|
+
fields: [
|
|
205
|
+
{ name: "app_user_id" },
|
|
206
|
+
{ name: "news_article_id" },
|
|
207
|
+
]
|
|
208
|
+
},
|
|
147
209
|
{
|
|
148
210
|
name: "uq_user_likes_user_playlist",
|
|
149
211
|
unique: true,
|
|
@@ -1,43 +1,33 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { DataTypes, Model, Optional } from 'sequelize';
|
|
3
3
|
import type { AppUser, AppUserId } from './AppUser';
|
|
4
|
-
import type { GuestUser, GuestUserId } from './GuestUser';
|
|
5
4
|
import type { Versus, VersusId } from './Versus';
|
|
6
5
|
|
|
7
6
|
export interface VersusCoCreatorAttributes {
|
|
8
7
|
versusId: string;
|
|
9
|
-
appUserId?: string;
|
|
10
|
-
guestUserId?: string;
|
|
11
|
-
invitedEmail?: string;
|
|
12
8
|
id: string;
|
|
13
9
|
createdAt: Date;
|
|
14
10
|
updatedAt: Date;
|
|
11
|
+
appUserId: string;
|
|
15
12
|
}
|
|
16
13
|
|
|
17
14
|
export type VersusCoCreatorPk = "id";
|
|
18
15
|
export type VersusCoCreatorId = VersusCoCreator[VersusCoCreatorPk];
|
|
19
|
-
export type VersusCoCreatorOptionalAttributes = "
|
|
16
|
+
export type VersusCoCreatorOptionalAttributes = "id" | "createdAt" | "updatedAt";
|
|
20
17
|
export type VersusCoCreatorCreationAttributes = Optional<VersusCoCreatorAttributes, VersusCoCreatorOptionalAttributes>;
|
|
21
18
|
|
|
22
19
|
export class VersusCoCreator extends Model<VersusCoCreatorAttributes, VersusCoCreatorCreationAttributes> implements VersusCoCreatorAttributes {
|
|
23
20
|
versusId!: string;
|
|
24
|
-
appUserId?: string;
|
|
25
|
-
guestUserId?: string;
|
|
26
|
-
invitedEmail?: string;
|
|
27
21
|
id!: string;
|
|
28
22
|
createdAt!: Date;
|
|
29
23
|
updatedAt!: Date;
|
|
24
|
+
appUserId!: string;
|
|
30
25
|
|
|
31
26
|
// VersusCoCreator belongsTo AppUser via appUserId
|
|
32
27
|
appUser!: AppUser;
|
|
33
28
|
getAppUser!: Sequelize.BelongsToGetAssociationMixin<AppUser>;
|
|
34
29
|
setAppUser!: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
|
|
35
30
|
createAppUser!: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
|
|
36
|
-
// VersusCoCreator belongsTo GuestUser via guestUserId
|
|
37
|
-
guestUser!: GuestUser;
|
|
38
|
-
getGuestUser!: Sequelize.BelongsToGetAssociationMixin<GuestUser>;
|
|
39
|
-
setGuestUser!: Sequelize.BelongsToSetAssociationMixin<GuestUser, GuestUserId>;
|
|
40
|
-
createGuestUser!: Sequelize.BelongsToCreateAssociationMixin<GuestUser>;
|
|
41
31
|
// VersusCoCreator belongsTo Versus via versusId
|
|
42
32
|
versu!: Versus;
|
|
43
33
|
getVersu!: Sequelize.BelongsToGetAssociationMixin<Versus>;
|
|
@@ -55,29 +45,6 @@ export class VersusCoCreator extends Model<VersusCoCreatorAttributes, VersusCoCr
|
|
|
55
45
|
},
|
|
56
46
|
field: 'versus_id'
|
|
57
47
|
},
|
|
58
|
-
appUserId: {
|
|
59
|
-
type: DataTypes.UUID,
|
|
60
|
-
allowNull: true,
|
|
61
|
-
references: {
|
|
62
|
-
model: 'app_user',
|
|
63
|
-
key: 'id'
|
|
64
|
-
},
|
|
65
|
-
field: 'app_user_id'
|
|
66
|
-
},
|
|
67
|
-
guestUserId: {
|
|
68
|
-
type: DataTypes.UUID,
|
|
69
|
-
allowNull: true,
|
|
70
|
-
references: {
|
|
71
|
-
model: 'guest_user',
|
|
72
|
-
key: 'id'
|
|
73
|
-
},
|
|
74
|
-
field: 'guest_user_id'
|
|
75
|
-
},
|
|
76
|
-
invitedEmail: {
|
|
77
|
-
type: DataTypes.TEXT,
|
|
78
|
-
allowNull: true,
|
|
79
|
-
field: 'invited_email'
|
|
80
|
-
},
|
|
81
48
|
id: {
|
|
82
49
|
type: DataTypes.UUID,
|
|
83
50
|
allowNull: false,
|
|
@@ -95,6 +62,15 @@ export class VersusCoCreator extends Model<VersusCoCreatorAttributes, VersusCoCr
|
|
|
95
62
|
allowNull: false,
|
|
96
63
|
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
97
64
|
field: 'updated_at'
|
|
65
|
+
},
|
|
66
|
+
appUserId: {
|
|
67
|
+
type: DataTypes.UUID,
|
|
68
|
+
allowNull: false,
|
|
69
|
+
references: {
|
|
70
|
+
model: 'app_user',
|
|
71
|
+
key: 'id'
|
|
72
|
+
},
|
|
73
|
+
field: 'app_user_id'
|
|
98
74
|
}
|
|
99
75
|
}, {
|
|
100
76
|
sequelize,
|
|
@@ -109,15 +85,17 @@ export class VersusCoCreator extends Model<VersusCoCreatorAttributes, VersusCoCr
|
|
|
109
85
|
]
|
|
110
86
|
},
|
|
111
87
|
{
|
|
112
|
-
name: "
|
|
88
|
+
name: "idx_versus_co_creator_versus",
|
|
113
89
|
fields: [
|
|
114
|
-
{ name: "
|
|
90
|
+
{ name: "versus_id" },
|
|
115
91
|
]
|
|
116
92
|
},
|
|
117
93
|
{
|
|
118
|
-
name: "
|
|
94
|
+
name: "uk_versus_co_creator_versus_app_user",
|
|
95
|
+
unique: true,
|
|
119
96
|
fields: [
|
|
120
97
|
{ name: "versus_id" },
|
|
98
|
+
{ name: "app_user_id" },
|
|
121
99
|
]
|
|
122
100
|
},
|
|
123
101
|
{
|
package/models/VersusOption.ts
CHANGED
|
@@ -4,7 +4,6 @@ import type { AppUser, AppUserId } from './AppUser';
|
|
|
4
4
|
import type { CanonAlbum, CanonAlbumId } from './CanonAlbum';
|
|
5
5
|
import type { CanonArtist, CanonArtistId } from './CanonArtist';
|
|
6
6
|
import type { CanonTrack, CanonTrackId } from './CanonTrack';
|
|
7
|
-
import type { GuestUser, GuestUserId } from './GuestUser';
|
|
8
7
|
import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
|
|
9
8
|
import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
|
|
10
9
|
import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
|
|
@@ -28,12 +27,11 @@ export interface VersusOptionAttributes {
|
|
|
28
27
|
updatedAt: Date;
|
|
29
28
|
deleted: boolean;
|
|
30
29
|
appUserId?: string;
|
|
31
|
-
guestUserId?: string;
|
|
32
30
|
}
|
|
33
31
|
|
|
34
32
|
export type VersusOptionPk = "id";
|
|
35
33
|
export type VersusOptionId = VersusOption[VersusOptionPk];
|
|
36
|
-
export type VersusOptionOptionalAttributes = "canonTrackId" | "platformTrackId" | "canonAlbumId" | "platformAlbumId" | "canonArtistId" | "platformArtistId" | "voteScore" | "resultsScore" | "id" | "createdAt" | "updatedAt" | "appUserId"
|
|
34
|
+
export type VersusOptionOptionalAttributes = "canonTrackId" | "platformTrackId" | "canonAlbumId" | "platformAlbumId" | "canonArtistId" | "platformArtistId" | "voteScore" | "resultsScore" | "id" | "createdAt" | "updatedAt" | "appUserId";
|
|
37
35
|
export type VersusOptionCreationAttributes = Optional<VersusOptionAttributes, VersusOptionOptionalAttributes>;
|
|
38
36
|
|
|
39
37
|
export class VersusOption extends Model<VersusOptionAttributes, VersusOptionCreationAttributes> implements VersusOptionAttributes {
|
|
@@ -53,7 +51,6 @@ export class VersusOption extends Model<VersusOptionAttributes, VersusOptionCrea
|
|
|
53
51
|
updatedAt!: Date;
|
|
54
52
|
deleted!: boolean;
|
|
55
53
|
appUserId?: string;
|
|
56
|
-
guestUserId?: string;
|
|
57
54
|
|
|
58
55
|
// VersusOption belongsTo AppUser via appUserId
|
|
59
56
|
appUser!: AppUser;
|
|
@@ -75,11 +72,6 @@ export class VersusOption extends Model<VersusOptionAttributes, VersusOptionCrea
|
|
|
75
72
|
getCanonTrack!: Sequelize.BelongsToGetAssociationMixin<CanonTrack>;
|
|
76
73
|
setCanonTrack!: Sequelize.BelongsToSetAssociationMixin<CanonTrack, CanonTrackId>;
|
|
77
74
|
createCanonTrack!: Sequelize.BelongsToCreateAssociationMixin<CanonTrack>;
|
|
78
|
-
// VersusOption belongsTo GuestUser via guestUserId
|
|
79
|
-
guestUser!: GuestUser;
|
|
80
|
-
getGuestUser!: Sequelize.BelongsToGetAssociationMixin<GuestUser>;
|
|
81
|
-
setGuestUser!: Sequelize.BelongsToSetAssociationMixin<GuestUser, GuestUserId>;
|
|
82
|
-
createGuestUser!: Sequelize.BelongsToCreateAssociationMixin<GuestUser>;
|
|
83
75
|
// VersusOption belongsTo PlatformAlbum via platformAlbumId
|
|
84
76
|
platformAlbum!: PlatformAlbum;
|
|
85
77
|
getPlatformAlbum!: Sequelize.BelongsToGetAssociationMixin<PlatformAlbum>;
|
|
@@ -226,15 +218,6 @@ export class VersusOption extends Model<VersusOptionAttributes, VersusOptionCrea
|
|
|
226
218
|
key: 'id'
|
|
227
219
|
},
|
|
228
220
|
field: 'app_user_id'
|
|
229
|
-
},
|
|
230
|
-
guestUserId: {
|
|
231
|
-
type: DataTypes.UUID,
|
|
232
|
-
allowNull: true,
|
|
233
|
-
references: {
|
|
234
|
-
model: 'guest_user',
|
|
235
|
-
key: 'id'
|
|
236
|
-
},
|
|
237
|
-
field: 'guest_user_id'
|
|
238
221
|
}
|
|
239
222
|
}, {
|
|
240
223
|
sequelize,
|
package/models/init-models.ts
CHANGED
|
@@ -894,10 +894,6 @@ export function initModels(sequelize: Sequelize) {
|
|
|
894
894
|
FeedContentType.hasMany(UserEngagementFactor, { as: "userEngagementFactors", foreignKey: "contentTypeId"});
|
|
895
895
|
JukeboxQueueEntry.belongsTo(GuestUser, { as: "trackAddedGuestUser", foreignKey: "trackAddedGuestUserId"});
|
|
896
896
|
GuestUser.hasMany(JukeboxQueueEntry, { as: "jukeboxQueueEntries", foreignKey: "trackAddedGuestUserId"});
|
|
897
|
-
VersusCoCreator.belongsTo(GuestUser, { as: "guestUser", foreignKey: "guestUserId"});
|
|
898
|
-
GuestUser.hasMany(VersusCoCreator, { as: "versusCoCreators", foreignKey: "guestUserId"});
|
|
899
|
-
VersusOption.belongsTo(GuestUser, { as: "guestUser", foreignKey: "guestUserId"});
|
|
900
|
-
GuestUser.hasMany(VersusOption, { as: "versusOptions", foreignKey: "guestUserId"});
|
|
901
897
|
JukeboxSession.belongsTo(JukeboxAccessType, { as: "accessType", foreignKey: "accessTypeId"});
|
|
902
898
|
JukeboxAccessType.hasMany(JukeboxSession, { as: "jukeboxSessions", foreignKey: "accessTypeId"});
|
|
903
899
|
JukeboxUser.belongsTo(JukeboxQueueEntry, { as: "pausedQueueEntry", foreignKey: "pausedQueueEntryId"});
|
|
@@ -938,6 +934,10 @@ export function initModels(sequelize: Sequelize) {
|
|
|
938
934
|
JukeboxUserType.hasMany(JukeboxUser, { as: "jukeboxUsers", foreignKey: "jukeboxUserTypeId"});
|
|
939
935
|
UserBookmarks.belongsTo(MerchItem, { as: "merchItem", foreignKey: "merchItemId"});
|
|
940
936
|
MerchItem.hasMany(UserBookmarks, { as: "userBookmarks", foreignKey: "merchItemId"});
|
|
937
|
+
UserComments.belongsTo(MerchItem, { as: "merchItem", foreignKey: "merchItemId"});
|
|
938
|
+
MerchItem.hasMany(UserComments, { as: "userComments", foreignKey: "merchItemId"});
|
|
939
|
+
UserLikes.belongsTo(MerchItem, { as: "merchItem", foreignKey: "merchItemId"});
|
|
940
|
+
MerchItem.hasMany(UserLikes, { as: "userLikes", foreignKey: "merchItemId"});
|
|
941
941
|
MerchItem.belongsTo(MerchPlatform, { as: "merchPlatform", foreignKey: "merchPlatformId"});
|
|
942
942
|
MerchPlatform.hasMany(MerchItem, { as: "merchItems", foreignKey: "merchPlatformId"});
|
|
943
943
|
MerchOrchestration.belongsTo(MerchPlatform, { as: "merchPlatform", foreignKey: "merchPlatformId"});
|
|
@@ -948,6 +948,10 @@ export function initModels(sequelize: Sequelize) {
|
|
|
948
948
|
MerchType.hasMany(MerchOrchestration, { as: "merchOrchestrations", foreignKey: "merchTypeId"});
|
|
949
949
|
UserBookmarks.belongsTo(NewsArticle, { as: "newsArticle", foreignKey: "newsArticleId"});
|
|
950
950
|
NewsArticle.hasMany(UserBookmarks, { as: "userBookmarks", foreignKey: "newsArticleId"});
|
|
951
|
+
UserComments.belongsTo(NewsArticle, { as: "newsArticle", foreignKey: "newsArticleId"});
|
|
952
|
+
NewsArticle.hasMany(UserComments, { as: "userComments", foreignKey: "newsArticleId"});
|
|
953
|
+
UserLikes.belongsTo(NewsArticle, { as: "newsArticle", foreignKey: "newsArticleId"});
|
|
954
|
+
NewsArticle.hasMany(UserLikes, { as: "userLikes", foreignKey: "newsArticleId"});
|
|
951
955
|
NewsArticle.belongsTo(NewsPlatform, { as: "newsPlatform", foreignKey: "newsPlatformId"});
|
|
952
956
|
NewsPlatform.hasMany(NewsArticle, { as: "newsArticles", foreignKey: "newsPlatformId"});
|
|
953
957
|
Notification.belongsTo(NotificationType, { as: "notificationType", foreignKey: "notificationTypeId"});
|