@earbug/db-models 0.0.28 → 0.0.30
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/AffinityTier.d.ts +62 -0
- package/dist/AffinityTier.js +42 -0
- package/dist/AppUser.d.ts +24 -0
- package/dist/CanonArtist.d.ts +24 -0
- package/dist/CanonGenre.d.ts +24 -0
- package/dist/JukeboxSession.d.ts +24 -0
- package/dist/JukeboxSessionArtistAffinity.d.ts +40 -0
- package/dist/JukeboxSessionArtistAffinity.js +120 -0
- package/dist/JukeboxSessionGenreAffinity.d.ts +40 -0
- package/dist/JukeboxSessionGenreAffinity.js +120 -0
- package/dist/UserArtistAffinity.d.ts +40 -0
- package/dist/UserArtistAffinity.js +120 -0
- package/dist/UserGenreAffinity.d.ts +40 -0
- package/dist/UserGenreAffinity.js +120 -0
- package/dist/init-models.d.ts +17 -2
- package/dist/init-models.js +46 -2
- package/models/AffinityTier.ts +105 -0
- package/models/AppUser.ts +26 -0
- package/models/CanonArtist.ts +26 -0
- package/models/CanonGenre.ts +26 -0
- package/models/JukeboxSession.ts +26 -0
- package/models/JukeboxSessionArtistAffinity.ts +136 -0
- package/models/JukeboxSessionGenreAffinity.ts +136 -0
- package/models/UserArtistAffinity.ts +136 -0
- package/models/UserGenreAffinity.ts +136 -0
- package/models/init-models.ts +59 -0
- package/package.json +1 -1
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { DataTypes, Model, Optional } from 'sequelize';
|
|
3
|
+
import type { AffinityTier, AffinityTierId } from './AffinityTier';
|
|
4
|
+
import type { AppUser, AppUserId } from './AppUser';
|
|
5
|
+
import type { CanonArtist, CanonArtistId } from './CanonArtist';
|
|
6
|
+
|
|
7
|
+
export interface UserArtistAffinityAttributes {
|
|
8
|
+
userId: string;
|
|
9
|
+
canonArtistId: string;
|
|
10
|
+
affinityTierId: number;
|
|
11
|
+
rank: number;
|
|
12
|
+
id: string;
|
|
13
|
+
createdAt: Date;
|
|
14
|
+
updatedAt: Date;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export type UserArtistAffinityPk = "id";
|
|
18
|
+
export type UserArtistAffinityId = UserArtistAffinity[UserArtistAffinityPk];
|
|
19
|
+
export type UserArtistAffinityOptionalAttributes = "id" | "createdAt" | "updatedAt";
|
|
20
|
+
export type UserArtistAffinityCreationAttributes = Optional<UserArtistAffinityAttributes, UserArtistAffinityOptionalAttributes>;
|
|
21
|
+
|
|
22
|
+
export class UserArtistAffinity extends Model<UserArtistAffinityAttributes, UserArtistAffinityCreationAttributes> implements UserArtistAffinityAttributes {
|
|
23
|
+
userId!: string;
|
|
24
|
+
canonArtistId!: string;
|
|
25
|
+
affinityTierId!: number;
|
|
26
|
+
rank!: number;
|
|
27
|
+
id!: string;
|
|
28
|
+
createdAt!: Date;
|
|
29
|
+
updatedAt!: Date;
|
|
30
|
+
|
|
31
|
+
// UserArtistAffinity belongsTo AffinityTier via affinityTierId
|
|
32
|
+
affinityTier!: AffinityTier;
|
|
33
|
+
getAffinityTier!: Sequelize.BelongsToGetAssociationMixin<AffinityTier>;
|
|
34
|
+
setAffinityTier!: Sequelize.BelongsToSetAssociationMixin<AffinityTier, AffinityTierId>;
|
|
35
|
+
createAffinityTier!: Sequelize.BelongsToCreateAssociationMixin<AffinityTier>;
|
|
36
|
+
// UserArtistAffinity belongsTo AppUser via userId
|
|
37
|
+
user!: AppUser;
|
|
38
|
+
getUser!: Sequelize.BelongsToGetAssociationMixin<AppUser>;
|
|
39
|
+
setUser!: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
|
|
40
|
+
createUser!: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
|
|
41
|
+
// UserArtistAffinity belongsTo CanonArtist via canonArtistId
|
|
42
|
+
canonArtist!: CanonArtist;
|
|
43
|
+
getCanonArtist!: Sequelize.BelongsToGetAssociationMixin<CanonArtist>;
|
|
44
|
+
setCanonArtist!: Sequelize.BelongsToSetAssociationMixin<CanonArtist, CanonArtistId>;
|
|
45
|
+
createCanonArtist!: Sequelize.BelongsToCreateAssociationMixin<CanonArtist>;
|
|
46
|
+
|
|
47
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof UserArtistAffinity {
|
|
48
|
+
return UserArtistAffinity.init({
|
|
49
|
+
userId: {
|
|
50
|
+
type: DataTypes.UUID,
|
|
51
|
+
allowNull: false,
|
|
52
|
+
references: {
|
|
53
|
+
model: 'app_user',
|
|
54
|
+
key: 'id'
|
|
55
|
+
},
|
|
56
|
+
unique: "user_artist_affinity_user_id_canon_artist_id_unique",
|
|
57
|
+
field: 'user_id'
|
|
58
|
+
},
|
|
59
|
+
canonArtistId: {
|
|
60
|
+
type: DataTypes.UUID,
|
|
61
|
+
allowNull: false,
|
|
62
|
+
references: {
|
|
63
|
+
model: 'canon_artist',
|
|
64
|
+
key: 'id'
|
|
65
|
+
},
|
|
66
|
+
unique: "user_artist_affinity_user_id_canon_artist_id_unique",
|
|
67
|
+
field: 'canon_artist_id'
|
|
68
|
+
},
|
|
69
|
+
affinityTierId: {
|
|
70
|
+
type: DataTypes.SMALLINT,
|
|
71
|
+
allowNull: false,
|
|
72
|
+
references: {
|
|
73
|
+
model: 'affinity_tier',
|
|
74
|
+
key: 'id'
|
|
75
|
+
},
|
|
76
|
+
field: 'affinity_tier_id'
|
|
77
|
+
},
|
|
78
|
+
rank: {
|
|
79
|
+
type: DataTypes.INTEGER,
|
|
80
|
+
allowNull: false
|
|
81
|
+
},
|
|
82
|
+
id: {
|
|
83
|
+
type: DataTypes.UUID,
|
|
84
|
+
allowNull: false,
|
|
85
|
+
defaultValue: DataTypes.UUIDV4,
|
|
86
|
+
primaryKey: true
|
|
87
|
+
},
|
|
88
|
+
createdAt: {
|
|
89
|
+
type: DataTypes.DATE,
|
|
90
|
+
allowNull: false,
|
|
91
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
92
|
+
field: 'created_at'
|
|
93
|
+
},
|
|
94
|
+
updatedAt: {
|
|
95
|
+
type: DataTypes.DATE,
|
|
96
|
+
allowNull: false,
|
|
97
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
98
|
+
field: 'updated_at'
|
|
99
|
+
}
|
|
100
|
+
}, {
|
|
101
|
+
sequelize,
|
|
102
|
+
tableName: 'user_artist_affinity',
|
|
103
|
+
schema: 'eb',
|
|
104
|
+
timestamps: false,
|
|
105
|
+
indexes: [
|
|
106
|
+
{
|
|
107
|
+
name: "idx_user_artist_affinity_artist",
|
|
108
|
+
fields: [
|
|
109
|
+
{ name: "canon_artist_id" },
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: "idx_user_artist_affinity_session",
|
|
114
|
+
fields: [
|
|
115
|
+
{ name: "user_id" },
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: "user_artist_affinity_pkey",
|
|
120
|
+
unique: true,
|
|
121
|
+
fields: [
|
|
122
|
+
{ name: "id" },
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: "user_artist_affinity_user_id_canon_artist_id_unique",
|
|
127
|
+
unique: true,
|
|
128
|
+
fields: [
|
|
129
|
+
{ name: "user_id" },
|
|
130
|
+
{ name: "canon_artist_id" },
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
]
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { DataTypes, Model, Optional } from 'sequelize';
|
|
3
|
+
import type { AffinityTier, AffinityTierId } from './AffinityTier';
|
|
4
|
+
import type { AppUser, AppUserId } from './AppUser';
|
|
5
|
+
import type { CanonGenre, CanonGenreId } from './CanonGenre';
|
|
6
|
+
|
|
7
|
+
export interface UserGenreAffinityAttributes {
|
|
8
|
+
userId: string;
|
|
9
|
+
canonGenreId: string;
|
|
10
|
+
affinityTierId: number;
|
|
11
|
+
rank: number;
|
|
12
|
+
id: string;
|
|
13
|
+
createdAt: Date;
|
|
14
|
+
updatedAt: Date;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export type UserGenreAffinityPk = "id";
|
|
18
|
+
export type UserGenreAffinityId = UserGenreAffinity[UserGenreAffinityPk];
|
|
19
|
+
export type UserGenreAffinityOptionalAttributes = "id" | "createdAt" | "updatedAt";
|
|
20
|
+
export type UserGenreAffinityCreationAttributes = Optional<UserGenreAffinityAttributes, UserGenreAffinityOptionalAttributes>;
|
|
21
|
+
|
|
22
|
+
export class UserGenreAffinity extends Model<UserGenreAffinityAttributes, UserGenreAffinityCreationAttributes> implements UserGenreAffinityAttributes {
|
|
23
|
+
userId!: string;
|
|
24
|
+
canonGenreId!: string;
|
|
25
|
+
affinityTierId!: number;
|
|
26
|
+
rank!: number;
|
|
27
|
+
id!: string;
|
|
28
|
+
createdAt!: Date;
|
|
29
|
+
updatedAt!: Date;
|
|
30
|
+
|
|
31
|
+
// UserGenreAffinity belongsTo AffinityTier via affinityTierId
|
|
32
|
+
affinityTier!: AffinityTier;
|
|
33
|
+
getAffinityTier!: Sequelize.BelongsToGetAssociationMixin<AffinityTier>;
|
|
34
|
+
setAffinityTier!: Sequelize.BelongsToSetAssociationMixin<AffinityTier, AffinityTierId>;
|
|
35
|
+
createAffinityTier!: Sequelize.BelongsToCreateAssociationMixin<AffinityTier>;
|
|
36
|
+
// UserGenreAffinity belongsTo AppUser via userId
|
|
37
|
+
user!: AppUser;
|
|
38
|
+
getUser!: Sequelize.BelongsToGetAssociationMixin<AppUser>;
|
|
39
|
+
setUser!: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
|
|
40
|
+
createUser!: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
|
|
41
|
+
// UserGenreAffinity belongsTo CanonGenre via canonGenreId
|
|
42
|
+
canonGenre!: CanonGenre;
|
|
43
|
+
getCanonGenre!: Sequelize.BelongsToGetAssociationMixin<CanonGenre>;
|
|
44
|
+
setCanonGenre!: Sequelize.BelongsToSetAssociationMixin<CanonGenre, CanonGenreId>;
|
|
45
|
+
createCanonGenre!: Sequelize.BelongsToCreateAssociationMixin<CanonGenre>;
|
|
46
|
+
|
|
47
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof UserGenreAffinity {
|
|
48
|
+
return UserGenreAffinity.init({
|
|
49
|
+
userId: {
|
|
50
|
+
type: DataTypes.UUID,
|
|
51
|
+
allowNull: false,
|
|
52
|
+
references: {
|
|
53
|
+
model: 'app_user',
|
|
54
|
+
key: 'id'
|
|
55
|
+
},
|
|
56
|
+
unique: "user_genre_affinity_user_id_canon_genre_id_unique",
|
|
57
|
+
field: 'user_id'
|
|
58
|
+
},
|
|
59
|
+
canonGenreId: {
|
|
60
|
+
type: DataTypes.UUID,
|
|
61
|
+
allowNull: false,
|
|
62
|
+
references: {
|
|
63
|
+
model: 'canon_genre',
|
|
64
|
+
key: 'id'
|
|
65
|
+
},
|
|
66
|
+
unique: "user_genre_affinity_user_id_canon_genre_id_unique",
|
|
67
|
+
field: 'canon_genre_id'
|
|
68
|
+
},
|
|
69
|
+
affinityTierId: {
|
|
70
|
+
type: DataTypes.SMALLINT,
|
|
71
|
+
allowNull: false,
|
|
72
|
+
references: {
|
|
73
|
+
model: 'affinity_tier',
|
|
74
|
+
key: 'id'
|
|
75
|
+
},
|
|
76
|
+
field: 'affinity_tier_id'
|
|
77
|
+
},
|
|
78
|
+
rank: {
|
|
79
|
+
type: DataTypes.INTEGER,
|
|
80
|
+
allowNull: false
|
|
81
|
+
},
|
|
82
|
+
id: {
|
|
83
|
+
type: DataTypes.UUID,
|
|
84
|
+
allowNull: false,
|
|
85
|
+
defaultValue: DataTypes.UUIDV4,
|
|
86
|
+
primaryKey: true
|
|
87
|
+
},
|
|
88
|
+
createdAt: {
|
|
89
|
+
type: DataTypes.DATE,
|
|
90
|
+
allowNull: false,
|
|
91
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
92
|
+
field: 'created_at'
|
|
93
|
+
},
|
|
94
|
+
updatedAt: {
|
|
95
|
+
type: DataTypes.DATE,
|
|
96
|
+
allowNull: false,
|
|
97
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
98
|
+
field: 'updated_at'
|
|
99
|
+
}
|
|
100
|
+
}, {
|
|
101
|
+
sequelize,
|
|
102
|
+
tableName: 'user_genre_affinity',
|
|
103
|
+
schema: 'eb',
|
|
104
|
+
timestamps: false,
|
|
105
|
+
indexes: [
|
|
106
|
+
{
|
|
107
|
+
name: "idx_user_genre_affinity_genre",
|
|
108
|
+
fields: [
|
|
109
|
+
{ name: "canon_genre_id" },
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: "idx_user_genre_affinity_session",
|
|
114
|
+
fields: [
|
|
115
|
+
{ name: "user_id" },
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
name: "user_genre_affinity_pkey",
|
|
120
|
+
unique: true,
|
|
121
|
+
fields: [
|
|
122
|
+
{ name: "id" },
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: "user_genre_affinity_user_id_canon_genre_id_unique",
|
|
127
|
+
unique: true,
|
|
128
|
+
fields: [
|
|
129
|
+
{ name: "user_id" },
|
|
130
|
+
{ name: "canon_genre_id" },
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
]
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
package/models/init-models.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { AccessControlPreference as _AccessControlPreference } from "./AccessCon
|
|
|
3
3
|
import type { AccessControlPreferenceAttributes, AccessControlPreferenceCreationAttributes } from "./AccessControlPreference";
|
|
4
4
|
import { AffinityRelationshipType as _AffinityRelationshipType } from "./AffinityRelationshipType";
|
|
5
5
|
import type { AffinityRelationshipTypeAttributes, AffinityRelationshipTypeCreationAttributes } from "./AffinityRelationshipType";
|
|
6
|
+
import { AffinityTier as _AffinityTier } from "./AffinityTier";
|
|
7
|
+
import type { AffinityTierAttributes, AffinityTierCreationAttributes } from "./AffinityTier";
|
|
6
8
|
import { AppUser as _AppUser } from "./AppUser";
|
|
7
9
|
import type { AppUserAttributes, AppUserCreationAttributes } from "./AppUser";
|
|
8
10
|
import { AppUserDevice as _AppUserDevice } from "./AppUserDevice";
|
|
@@ -81,6 +83,10 @@ import { JukeboxQueueMode as _JukeboxQueueMode } from "./JukeboxQueueMode";
|
|
|
81
83
|
import type { JukeboxQueueModeAttributes, JukeboxQueueModeCreationAttributes } from "./JukeboxQueueMode";
|
|
82
84
|
import { JukeboxSession as _JukeboxSession } from "./JukeboxSession";
|
|
83
85
|
import type { JukeboxSessionAttributes, JukeboxSessionCreationAttributes } from "./JukeboxSession";
|
|
86
|
+
import { JukeboxSessionArtistAffinity as _JukeboxSessionArtistAffinity } from "./JukeboxSessionArtistAffinity";
|
|
87
|
+
import type { JukeboxSessionArtistAffinityAttributes, JukeboxSessionArtistAffinityCreationAttributes } from "./JukeboxSessionArtistAffinity";
|
|
88
|
+
import { JukeboxSessionGenreAffinity as _JukeboxSessionGenreAffinity } from "./JukeboxSessionGenreAffinity";
|
|
89
|
+
import type { JukeboxSessionGenreAffinityAttributes, JukeboxSessionGenreAffinityCreationAttributes } from "./JukeboxSessionGenreAffinity";
|
|
84
90
|
import { JukeboxStatus as _JukeboxStatus } from "./JukeboxStatus";
|
|
85
91
|
import type { JukeboxStatusAttributes, JukeboxStatusCreationAttributes } from "./JukeboxStatus";
|
|
86
92
|
import { JukeboxTerminationCondition as _JukeboxTerminationCondition } from "./JukeboxTerminationCondition";
|
|
@@ -173,18 +179,23 @@ import { UnmatchedArtist as _UnmatchedArtist } from "./UnmatchedArtist";
|
|
|
173
179
|
import type { UnmatchedArtistAttributes, UnmatchedArtistCreationAttributes } from "./UnmatchedArtist";
|
|
174
180
|
import { UserAffinity as _UserAffinity } from "./UserAffinity";
|
|
175
181
|
import type { UserAffinityAttributes, UserAffinityCreationAttributes } from "./UserAffinity";
|
|
182
|
+
import { UserArtistAffinity as _UserArtistAffinity } from "./UserArtistAffinity";
|
|
183
|
+
import type { UserArtistAffinityAttributes, UserArtistAffinityCreationAttributes } from "./UserArtistAffinity";
|
|
176
184
|
import { UserComments as _UserComments } from "./UserComments";
|
|
177
185
|
import type { UserCommentsAttributes, UserCommentsCreationAttributes } from "./UserComments";
|
|
178
186
|
import { UserContacts as _UserContacts } from "./UserContacts";
|
|
179
187
|
import type { UserContactsAttributes, UserContactsCreationAttributes } from "./UserContacts";
|
|
180
188
|
import { UserEngagementFactor as _UserEngagementFactor } from "./UserEngagementFactor";
|
|
181
189
|
import type { UserEngagementFactorAttributes, UserEngagementFactorCreationAttributes } from "./UserEngagementFactor";
|
|
190
|
+
import { UserGenreAffinity as _UserGenreAffinity } from "./UserGenreAffinity";
|
|
191
|
+
import type { UserGenreAffinityAttributes, UserGenreAffinityCreationAttributes } from "./UserGenreAffinity";
|
|
182
192
|
import { UserLikes as _UserLikes } from "./UserLikes";
|
|
183
193
|
import type { UserLikesAttributes, UserLikesCreationAttributes } from "./UserLikes";
|
|
184
194
|
|
|
185
195
|
export {
|
|
186
196
|
_AccessControlPreference as AccessControlPreference,
|
|
187
197
|
_AffinityRelationshipType as AffinityRelationshipType,
|
|
198
|
+
_AffinityTier as AffinityTier,
|
|
188
199
|
_AppUser as AppUser,
|
|
189
200
|
_AppUserDevice as AppUserDevice,
|
|
190
201
|
_AppUserFollowRelation as AppUserFollowRelation,
|
|
@@ -224,6 +235,8 @@ export {
|
|
|
224
235
|
_JukeboxQueueEntry as JukeboxQueueEntry,
|
|
225
236
|
_JukeboxQueueMode as JukeboxQueueMode,
|
|
226
237
|
_JukeboxSession as JukeboxSession,
|
|
238
|
+
_JukeboxSessionArtistAffinity as JukeboxSessionArtistAffinity,
|
|
239
|
+
_JukeboxSessionGenreAffinity as JukeboxSessionGenreAffinity,
|
|
227
240
|
_JukeboxStatus as JukeboxStatus,
|
|
228
241
|
_JukeboxTerminationCondition as JukeboxTerminationCondition,
|
|
229
242
|
_JukeboxType as JukeboxType,
|
|
@@ -270,9 +283,11 @@ export {
|
|
|
270
283
|
_UnmatchedAlbum as UnmatchedAlbum,
|
|
271
284
|
_UnmatchedArtist as UnmatchedArtist,
|
|
272
285
|
_UserAffinity as UserAffinity,
|
|
286
|
+
_UserArtistAffinity as UserArtistAffinity,
|
|
273
287
|
_UserComments as UserComments,
|
|
274
288
|
_UserContacts as UserContacts,
|
|
275
289
|
_UserEngagementFactor as UserEngagementFactor,
|
|
290
|
+
_UserGenreAffinity as UserGenreAffinity,
|
|
276
291
|
_UserLikes as UserLikes,
|
|
277
292
|
};
|
|
278
293
|
|
|
@@ -281,6 +296,8 @@ export type {
|
|
|
281
296
|
AccessControlPreferenceCreationAttributes,
|
|
282
297
|
AffinityRelationshipTypeAttributes,
|
|
283
298
|
AffinityRelationshipTypeCreationAttributes,
|
|
299
|
+
AffinityTierAttributes,
|
|
300
|
+
AffinityTierCreationAttributes,
|
|
284
301
|
AppUserAttributes,
|
|
285
302
|
AppUserCreationAttributes,
|
|
286
303
|
AppUserDeviceAttributes,
|
|
@@ -359,6 +376,10 @@ export type {
|
|
|
359
376
|
JukeboxQueueModeCreationAttributes,
|
|
360
377
|
JukeboxSessionAttributes,
|
|
361
378
|
JukeboxSessionCreationAttributes,
|
|
379
|
+
JukeboxSessionArtistAffinityAttributes,
|
|
380
|
+
JukeboxSessionArtistAffinityCreationAttributes,
|
|
381
|
+
JukeboxSessionGenreAffinityAttributes,
|
|
382
|
+
JukeboxSessionGenreAffinityCreationAttributes,
|
|
362
383
|
JukeboxStatusAttributes,
|
|
363
384
|
JukeboxStatusCreationAttributes,
|
|
364
385
|
JukeboxTerminationConditionAttributes,
|
|
@@ -451,12 +472,16 @@ export type {
|
|
|
451
472
|
UnmatchedArtistCreationAttributes,
|
|
452
473
|
UserAffinityAttributes,
|
|
453
474
|
UserAffinityCreationAttributes,
|
|
475
|
+
UserArtistAffinityAttributes,
|
|
476
|
+
UserArtistAffinityCreationAttributes,
|
|
454
477
|
UserCommentsAttributes,
|
|
455
478
|
UserCommentsCreationAttributes,
|
|
456
479
|
UserContactsAttributes,
|
|
457
480
|
UserContactsCreationAttributes,
|
|
458
481
|
UserEngagementFactorAttributes,
|
|
459
482
|
UserEngagementFactorCreationAttributes,
|
|
483
|
+
UserGenreAffinityAttributes,
|
|
484
|
+
UserGenreAffinityCreationAttributes,
|
|
460
485
|
UserLikesAttributes,
|
|
461
486
|
UserLikesCreationAttributes,
|
|
462
487
|
};
|
|
@@ -464,6 +489,7 @@ export type {
|
|
|
464
489
|
export function initModels(sequelize: Sequelize) {
|
|
465
490
|
const AccessControlPreference = _AccessControlPreference.initModel(sequelize);
|
|
466
491
|
const AffinityRelationshipType = _AffinityRelationshipType.initModel(sequelize);
|
|
492
|
+
const AffinityTier = _AffinityTier.initModel(sequelize);
|
|
467
493
|
const AppUser = _AppUser.initModel(sequelize);
|
|
468
494
|
const AppUserDevice = _AppUserDevice.initModel(sequelize);
|
|
469
495
|
const AppUserFollowRelation = _AppUserFollowRelation.initModel(sequelize);
|
|
@@ -503,6 +529,8 @@ export function initModels(sequelize: Sequelize) {
|
|
|
503
529
|
const JukeboxQueueEntry = _JukeboxQueueEntry.initModel(sequelize);
|
|
504
530
|
const JukeboxQueueMode = _JukeboxQueueMode.initModel(sequelize);
|
|
505
531
|
const JukeboxSession = _JukeboxSession.initModel(sequelize);
|
|
532
|
+
const JukeboxSessionArtistAffinity = _JukeboxSessionArtistAffinity.initModel(sequelize);
|
|
533
|
+
const JukeboxSessionGenreAffinity = _JukeboxSessionGenreAffinity.initModel(sequelize);
|
|
506
534
|
const JukeboxStatus = _JukeboxStatus.initModel(sequelize);
|
|
507
535
|
const JukeboxTerminationCondition = _JukeboxTerminationCondition.initModel(sequelize);
|
|
508
536
|
const JukeboxType = _JukeboxType.initModel(sequelize);
|
|
@@ -549,9 +577,11 @@ export function initModels(sequelize: Sequelize) {
|
|
|
549
577
|
const UnmatchedAlbum = _UnmatchedAlbum.initModel(sequelize);
|
|
550
578
|
const UnmatchedArtist = _UnmatchedArtist.initModel(sequelize);
|
|
551
579
|
const UserAffinity = _UserAffinity.initModel(sequelize);
|
|
580
|
+
const UserArtistAffinity = _UserArtistAffinity.initModel(sequelize);
|
|
552
581
|
const UserComments = _UserComments.initModel(sequelize);
|
|
553
582
|
const UserContacts = _UserContacts.initModel(sequelize);
|
|
554
583
|
const UserEngagementFactor = _UserEngagementFactor.initModel(sequelize);
|
|
584
|
+
const UserGenreAffinity = _UserGenreAffinity.initModel(sequelize);
|
|
555
585
|
const UserLikes = _UserLikes.initModel(sequelize);
|
|
556
586
|
|
|
557
587
|
CanonAlbum.belongsToMany(CanonTrack, { as: 'canonTrackIdCanonTracks', through: CanonAlbumTrackRelation, foreignKey: "canonAlbumId", otherKey: "canonTrackId" });
|
|
@@ -600,6 +630,14 @@ export function initModels(sequelize: Sequelize) {
|
|
|
600
630
|
PlatformTrack.belongsToMany(PlatformGenre, { as: 'platformGenreIdPlatformGenrePlatformTrackGenreRelations', through: PlatformTrackGenreRelation, foreignKey: "platformTrackId", otherKey: "platformGenreId" });
|
|
601
631
|
UserAffinity.belongsTo(AffinityRelationshipType, { as: "affinityRelationshipType", foreignKey: "affinityRelationshipTypeId"});
|
|
602
632
|
AffinityRelationshipType.hasMany(UserAffinity, { as: "userAffinities", foreignKey: "affinityRelationshipTypeId"});
|
|
633
|
+
JukeboxSessionArtistAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId"});
|
|
634
|
+
AffinityTier.hasMany(JukeboxSessionArtistAffinity, { as: "jukeboxSessionArtistAffinities", foreignKey: "affinityTierId"});
|
|
635
|
+
JukeboxSessionGenreAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId"});
|
|
636
|
+
AffinityTier.hasMany(JukeboxSessionGenreAffinity, { as: "jukeboxSessionGenreAffinities", foreignKey: "affinityTierId"});
|
|
637
|
+
UserArtistAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId"});
|
|
638
|
+
AffinityTier.hasMany(UserArtistAffinity, { as: "userArtistAffinities", foreignKey: "affinityTierId"});
|
|
639
|
+
UserGenreAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId"});
|
|
640
|
+
AffinityTier.hasMany(UserGenreAffinity, { as: "userGenreAffinities", foreignKey: "affinityTierId"});
|
|
603
641
|
AppUserDevice.belongsTo(AppUser, { as: "appUser", foreignKey: "appUserId"});
|
|
604
642
|
AppUser.hasMany(AppUserDevice, { as: "appUserDevices", foreignKey: "appUserId"});
|
|
605
643
|
AppUserFollowRelation.belongsTo(AppUser, { as: "appUser", foreignKey: "appUserId"});
|
|
@@ -628,12 +666,16 @@ export function initModels(sequelize: Sequelize) {
|
|
|
628
666
|
AppUser.hasMany(RadioShow, { as: "radioShows", foreignKey: "creatorUserId"});
|
|
629
667
|
UserAffinity.belongsTo(AppUser, { as: "user", foreignKey: "userId"});
|
|
630
668
|
AppUser.hasMany(UserAffinity, { as: "userAffinities", foreignKey: "userId"});
|
|
669
|
+
UserArtistAffinity.belongsTo(AppUser, { as: "user", foreignKey: "userId"});
|
|
670
|
+
AppUser.hasMany(UserArtistAffinity, { as: "userArtistAffinities", foreignKey: "userId"});
|
|
631
671
|
UserComments.belongsTo(AppUser, { as: "appUser", foreignKey: "appUserId"});
|
|
632
672
|
AppUser.hasMany(UserComments, { as: "userComments", foreignKey: "appUserId"});
|
|
633
673
|
UserContacts.belongsTo(AppUser, { as: "appUser", foreignKey: "appUserId"});
|
|
634
674
|
AppUser.hasMany(UserContacts, { as: "userContacts", foreignKey: "appUserId"});
|
|
635
675
|
UserEngagementFactor.belongsTo(AppUser, { as: "user", foreignKey: "userId"});
|
|
636
676
|
AppUser.hasMany(UserEngagementFactor, { as: "userEngagementFactors", foreignKey: "userId"});
|
|
677
|
+
UserGenreAffinity.belongsTo(AppUser, { as: "user", foreignKey: "userId"});
|
|
678
|
+
AppUser.hasMany(UserGenreAffinity, { as: "userGenreAffinities", foreignKey: "userId"});
|
|
637
679
|
UserLikes.belongsTo(AppUser, { as: "appUser", foreignKey: "appUserId"});
|
|
638
680
|
AppUser.hasMany(UserLikes, { as: "userLikes", foreignKey: "appUserId"});
|
|
639
681
|
CanonAlbumExternalReferenceRelation.belongsTo(CanonAlbum, { as: "canonAlbum", foreignKey: "canonAlbumId"});
|
|
@@ -652,12 +694,16 @@ export function initModels(sequelize: Sequelize) {
|
|
|
652
694
|
CanonArtist.hasMany(CanonArtistTrackRelation, { as: "canonArtistTrackRelations", foreignKey: "canonArtistId"});
|
|
653
695
|
CanonToPlatformArtistRelation.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId"});
|
|
654
696
|
CanonArtist.hasMany(CanonToPlatformArtistRelation, { as: "canonToPlatformArtistRelations", foreignKey: "canonArtistId"});
|
|
697
|
+
JukeboxSessionArtistAffinity.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId"});
|
|
698
|
+
CanonArtist.hasMany(JukeboxSessionArtistAffinity, { as: "jukeboxSessionArtistAffinities", foreignKey: "canonArtistId"});
|
|
655
699
|
MerchItem.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId"});
|
|
656
700
|
CanonArtist.hasMany(MerchItem, { as: "merchItems", foreignKey: "canonArtistId"});
|
|
657
701
|
MerchOrchestration.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId"});
|
|
658
702
|
CanonArtist.hasMany(MerchOrchestration, { as: "merchOrchestrations", foreignKey: "canonArtistId"});
|
|
659
703
|
NewsArticle.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId"});
|
|
660
704
|
CanonArtist.hasMany(NewsArticle, { as: "newsArticles", foreignKey: "canonArtistId"});
|
|
705
|
+
UserArtistAffinity.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId"});
|
|
706
|
+
CanonArtist.hasMany(UserArtistAffinity, { as: "userArtistAffinities", foreignKey: "canonArtistId"});
|
|
661
707
|
CanonAlbumGenreRelation.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId"});
|
|
662
708
|
CanonGenre.hasMany(CanonAlbumGenreRelation, { as: "canonAlbumGenreRelations", foreignKey: "canonGenreId"});
|
|
663
709
|
CanonArtistGenreRelation.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId"});
|
|
@@ -668,8 +714,12 @@ export function initModels(sequelize: Sequelize) {
|
|
|
668
714
|
CanonGenre.hasMany(CanonToPlatformGenreRelation, { as: "canonToPlatformGenreRelations", foreignKey: "canonGenreId"});
|
|
669
715
|
JukeboxCanonGenreRelation.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId"});
|
|
670
716
|
CanonGenre.hasMany(JukeboxCanonGenreRelation, { as: "jukeboxCanonGenreRelations", foreignKey: "canonGenreId"});
|
|
717
|
+
JukeboxSessionGenreAffinity.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId"});
|
|
718
|
+
CanonGenre.hasMany(JukeboxSessionGenreAffinity, { as: "jukeboxSessionGenreAffinities", foreignKey: "canonGenreId"});
|
|
671
719
|
RadioShowGenres.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId"});
|
|
672
720
|
CanonGenre.hasMany(RadioShowGenres, { as: "radioShowGenres", foreignKey: "canonGenreId"});
|
|
721
|
+
UserGenreAffinity.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId"});
|
|
722
|
+
CanonGenre.hasMany(UserGenreAffinity, { as: "userGenreAffinities", foreignKey: "canonGenreId"});
|
|
673
723
|
CanonAlbumLabelRelation.belongsTo(CanonLabel, { as: "canonLabel", foreignKey: "canonLabelId"});
|
|
674
724
|
CanonLabel.hasMany(CanonAlbumLabelRelation, { as: "canonAlbumLabelRelations", foreignKey: "canonLabelId"});
|
|
675
725
|
CanonLabelExternalReferenceRelation.belongsTo(CanonLabel, { as: "canonLabel", foreignKey: "canonLabelId"});
|
|
@@ -716,6 +766,10 @@ export function initModels(sequelize: Sequelize) {
|
|
|
716
766
|
JukeboxSession.hasMany(JukeboxInvite, { as: "jukeboxInvites", foreignKey: "jukeboxSessionId"});
|
|
717
767
|
JukeboxQueueEntry.belongsTo(JukeboxSession, { as: "jukeboxSession", foreignKey: "jukeboxSessionId"});
|
|
718
768
|
JukeboxSession.hasMany(JukeboxQueueEntry, { as: "jukeboxQueueEntries", foreignKey: "jukeboxSessionId"});
|
|
769
|
+
JukeboxSessionArtistAffinity.belongsTo(JukeboxSession, { as: "jukeboxSession", foreignKey: "jukeboxSessionId"});
|
|
770
|
+
JukeboxSession.hasMany(JukeboxSessionArtistAffinity, { as: "jukeboxSessionArtistAffinities", foreignKey: "jukeboxSessionId"});
|
|
771
|
+
JukeboxSessionGenreAffinity.belongsTo(JukeboxSession, { as: "jukeboxSession", foreignKey: "jukeboxSessionId"});
|
|
772
|
+
JukeboxSession.hasMany(JukeboxSessionGenreAffinity, { as: "jukeboxSessionGenreAffinities", foreignKey: "jukeboxSessionId"});
|
|
719
773
|
JukeboxUser.belongsTo(JukeboxSession, { as: "jukeboxSession", foreignKey: "jukeboxSessionId"});
|
|
720
774
|
JukeboxSession.hasMany(JukeboxUser, { as: "jukeboxUsers", foreignKey: "jukeboxSessionId"});
|
|
721
775
|
Notification.belongsTo(JukeboxSession, { as: "jukeboxSession", foreignKey: "jukeboxSessionId"});
|
|
@@ -854,6 +908,7 @@ export function initModels(sequelize: Sequelize) {
|
|
|
854
908
|
return {
|
|
855
909
|
AccessControlPreference: AccessControlPreference,
|
|
856
910
|
AffinityRelationshipType: AffinityRelationshipType,
|
|
911
|
+
AffinityTier: AffinityTier,
|
|
857
912
|
AppUser: AppUser,
|
|
858
913
|
AppUserDevice: AppUserDevice,
|
|
859
914
|
AppUserFollowRelation: AppUserFollowRelation,
|
|
@@ -893,6 +948,8 @@ export function initModels(sequelize: Sequelize) {
|
|
|
893
948
|
JukeboxQueueEntry: JukeboxQueueEntry,
|
|
894
949
|
JukeboxQueueMode: JukeboxQueueMode,
|
|
895
950
|
JukeboxSession: JukeboxSession,
|
|
951
|
+
JukeboxSessionArtistAffinity: JukeboxSessionArtistAffinity,
|
|
952
|
+
JukeboxSessionGenreAffinity: JukeboxSessionGenreAffinity,
|
|
896
953
|
JukeboxStatus: JukeboxStatus,
|
|
897
954
|
JukeboxTerminationCondition: JukeboxTerminationCondition,
|
|
898
955
|
JukeboxType: JukeboxType,
|
|
@@ -939,9 +996,11 @@ export function initModels(sequelize: Sequelize) {
|
|
|
939
996
|
UnmatchedAlbum: UnmatchedAlbum,
|
|
940
997
|
UnmatchedArtist: UnmatchedArtist,
|
|
941
998
|
UserAffinity: UserAffinity,
|
|
999
|
+
UserArtistAffinity: UserArtistAffinity,
|
|
942
1000
|
UserComments: UserComments,
|
|
943
1001
|
UserContacts: UserContacts,
|
|
944
1002
|
UserEngagementFactor: UserEngagementFactor,
|
|
1003
|
+
UserGenreAffinity: UserGenreAffinity,
|
|
945
1004
|
UserLikes: UserLikes,
|
|
946
1005
|
};
|
|
947
1006
|
}
|