@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.
@@ -0,0 +1,62 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import type { JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId } from './JukeboxSessionArtistAffinity';
4
+ import type { JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId } from './JukeboxSessionGenreAffinity';
5
+ import type { UserArtistAffinity, UserArtistAffinityId } from './UserArtistAffinity';
6
+ import type { UserGenreAffinity, UserGenreAffinityId } from './UserGenreAffinity';
7
+ export interface AffinityTierAttributes {
8
+ id: number;
9
+ name: string;
10
+ }
11
+ export type AffinityTierPk = "id";
12
+ export type AffinityTierId = AffinityTier[AffinityTierPk];
13
+ export type AffinityTierCreationAttributes = AffinityTierAttributes;
14
+ export declare class AffinityTier extends Model<AffinityTierAttributes, AffinityTierCreationAttributes> implements AffinityTierAttributes {
15
+ id: number;
16
+ name: string;
17
+ jukeboxSessionArtistAffinities: JukeboxSessionArtistAffinity[];
18
+ getJukeboxSessionArtistAffinities: Sequelize.HasManyGetAssociationsMixin<JukeboxSessionArtistAffinity>;
19
+ setJukeboxSessionArtistAffinities: Sequelize.HasManySetAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
20
+ addJukeboxSessionArtistAffinity: Sequelize.HasManyAddAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
21
+ addJukeboxSessionArtistAffinities: Sequelize.HasManyAddAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
22
+ createJukeboxSessionArtistAffinity: Sequelize.HasManyCreateAssociationMixin<JukeboxSessionArtistAffinity>;
23
+ removeJukeboxSessionArtistAffinity: Sequelize.HasManyRemoveAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
24
+ removeJukeboxSessionArtistAffinities: Sequelize.HasManyRemoveAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
25
+ hasJukeboxSessionArtistAffinity: Sequelize.HasManyHasAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
26
+ hasJukeboxSessionArtistAffinities: Sequelize.HasManyHasAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
27
+ countJukeboxSessionArtistAffinities: Sequelize.HasManyCountAssociationsMixin;
28
+ jukeboxSessionGenreAffinities: JukeboxSessionGenreAffinity[];
29
+ getJukeboxSessionGenreAffinities: Sequelize.HasManyGetAssociationsMixin<JukeboxSessionGenreAffinity>;
30
+ setJukeboxSessionGenreAffinities: Sequelize.HasManySetAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
31
+ addJukeboxSessionGenreAffinity: Sequelize.HasManyAddAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
32
+ addJukeboxSessionGenreAffinities: Sequelize.HasManyAddAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
33
+ createJukeboxSessionGenreAffinity: Sequelize.HasManyCreateAssociationMixin<JukeboxSessionGenreAffinity>;
34
+ removeJukeboxSessionGenreAffinity: Sequelize.HasManyRemoveAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
35
+ removeJukeboxSessionGenreAffinities: Sequelize.HasManyRemoveAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
36
+ hasJukeboxSessionGenreAffinity: Sequelize.HasManyHasAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
37
+ hasJukeboxSessionGenreAffinities: Sequelize.HasManyHasAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
38
+ countJukeboxSessionGenreAffinities: Sequelize.HasManyCountAssociationsMixin;
39
+ userArtistAffinities: UserArtistAffinity[];
40
+ getUserArtistAffinities: Sequelize.HasManyGetAssociationsMixin<UserArtistAffinity>;
41
+ setUserArtistAffinities: Sequelize.HasManySetAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
42
+ addUserArtistAffinity: Sequelize.HasManyAddAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
43
+ addUserArtistAffinities: Sequelize.HasManyAddAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
44
+ createUserArtistAffinity: Sequelize.HasManyCreateAssociationMixin<UserArtistAffinity>;
45
+ removeUserArtistAffinity: Sequelize.HasManyRemoveAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
46
+ removeUserArtistAffinities: Sequelize.HasManyRemoveAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
47
+ hasUserArtistAffinity: Sequelize.HasManyHasAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
48
+ hasUserArtistAffinities: Sequelize.HasManyHasAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
49
+ countUserArtistAffinities: Sequelize.HasManyCountAssociationsMixin;
50
+ userGenreAffinities: UserGenreAffinity[];
51
+ getUserGenreAffinities: Sequelize.HasManyGetAssociationsMixin<UserGenreAffinity>;
52
+ setUserGenreAffinities: Sequelize.HasManySetAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
53
+ addUserGenreAffinity: Sequelize.HasManyAddAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
54
+ addUserGenreAffinities: Sequelize.HasManyAddAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
55
+ createUserGenreAffinity: Sequelize.HasManyCreateAssociationMixin<UserGenreAffinity>;
56
+ removeUserGenreAffinity: Sequelize.HasManyRemoveAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
57
+ removeUserGenreAffinities: Sequelize.HasManyRemoveAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
58
+ hasUserGenreAffinity: Sequelize.HasManyHasAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
59
+ hasUserGenreAffinities: Sequelize.HasManyHasAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
60
+ countUserGenreAffinities: Sequelize.HasManyCountAssociationsMixin;
61
+ static initModel(sequelize: Sequelize.Sequelize): typeof AffinityTier;
62
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AffinityTier = void 0;
4
+ const sequelize_1 = require("sequelize");
5
+ class AffinityTier extends sequelize_1.Model {
6
+ static initModel(sequelize) {
7
+ return AffinityTier.init({
8
+ id: {
9
+ type: sequelize_1.DataTypes.SMALLINT,
10
+ allowNull: false,
11
+ primaryKey: true
12
+ },
13
+ name: {
14
+ type: sequelize_1.DataTypes.STRING(32),
15
+ allowNull: false,
16
+ unique: "affinity_tier_name_unique"
17
+ }
18
+ }, {
19
+ sequelize,
20
+ tableName: 'affinity_tier',
21
+ schema: 'eb',
22
+ timestamps: false,
23
+ indexes: [
24
+ {
25
+ name: "affinity_tier_name_unique",
26
+ unique: true,
27
+ fields: [
28
+ { name: "name" },
29
+ ]
30
+ },
31
+ {
32
+ name: "affinity_tier_pkey",
33
+ unique: true,
34
+ fields: [
35
+ { name: "id" },
36
+ ]
37
+ },
38
+ ]
39
+ });
40
+ }
41
+ }
42
+ exports.AffinityTier = AffinityTier;
package/dist/AppUser.d.ts CHANGED
@@ -12,9 +12,11 @@ import type { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUse
12
12
  import type { RadioShow, RadioShowId } from './RadioShow';
13
13
  import type { State, StateId } from './State';
14
14
  import type { UserAffinity, UserAffinityId } from './UserAffinity';
15
+ import type { UserArtistAffinity, UserArtistAffinityId } from './UserArtistAffinity';
15
16
  import type { UserComments, UserCommentsId } from './UserComments';
16
17
  import type { UserContacts, UserContactsId } from './UserContacts';
17
18
  import type { UserEngagementFactor, UserEngagementFactorId } from './UserEngagementFactor';
19
+ import type { UserGenreAffinity, UserGenreAffinityId } from './UserGenreAffinity';
18
20
  import type { UserLikes, UserLikesId } from './UserLikes';
19
21
  export interface AppUserAttributes {
20
22
  email: string;
@@ -194,6 +196,17 @@ export declare class AppUser extends Model<AppUserAttributes, AppUserCreationAtt
194
196
  hasUserAffinity: Sequelize.HasManyHasAssociationMixin<UserAffinity, UserAffinityId>;
195
197
  hasUserAffinities: Sequelize.HasManyHasAssociationsMixin<UserAffinity, UserAffinityId>;
196
198
  countUserAffinities: Sequelize.HasManyCountAssociationsMixin;
199
+ userArtistAffinities: UserArtistAffinity[];
200
+ getUserArtistAffinities: Sequelize.HasManyGetAssociationsMixin<UserArtistAffinity>;
201
+ setUserArtistAffinities: Sequelize.HasManySetAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
202
+ addUserArtistAffinity: Sequelize.HasManyAddAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
203
+ addUserArtistAffinities: Sequelize.HasManyAddAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
204
+ createUserArtistAffinity: Sequelize.HasManyCreateAssociationMixin<UserArtistAffinity>;
205
+ removeUserArtistAffinity: Sequelize.HasManyRemoveAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
206
+ removeUserArtistAffinities: Sequelize.HasManyRemoveAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
207
+ hasUserArtistAffinity: Sequelize.HasManyHasAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
208
+ hasUserArtistAffinities: Sequelize.HasManyHasAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
209
+ countUserArtistAffinities: Sequelize.HasManyCountAssociationsMixin;
197
210
  userComments: UserComments[];
198
211
  getUserComments: Sequelize.HasManyGetAssociationsMixin<UserComments>;
199
212
  setUserComments: Sequelize.HasManySetAssociationsMixin<UserComments, UserCommentsId>;
@@ -227,6 +240,17 @@ export declare class AppUser extends Model<AppUserAttributes, AppUserCreationAtt
227
240
  hasUserEngagementFactor: Sequelize.HasManyHasAssociationMixin<UserEngagementFactor, UserEngagementFactorId>;
228
241
  hasUserEngagementFactors: Sequelize.HasManyHasAssociationsMixin<UserEngagementFactor, UserEngagementFactorId>;
229
242
  countUserEngagementFactors: Sequelize.HasManyCountAssociationsMixin;
243
+ userGenreAffinities: UserGenreAffinity[];
244
+ getUserGenreAffinities: Sequelize.HasManyGetAssociationsMixin<UserGenreAffinity>;
245
+ setUserGenreAffinities: Sequelize.HasManySetAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
246
+ addUserGenreAffinity: Sequelize.HasManyAddAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
247
+ addUserGenreAffinities: Sequelize.HasManyAddAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
248
+ createUserGenreAffinity: Sequelize.HasManyCreateAssociationMixin<UserGenreAffinity>;
249
+ removeUserGenreAffinity: Sequelize.HasManyRemoveAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
250
+ removeUserGenreAffinities: Sequelize.HasManyRemoveAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
251
+ hasUserGenreAffinity: Sequelize.HasManyHasAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
252
+ hasUserGenreAffinities: Sequelize.HasManyHasAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
253
+ countUserGenreAffinities: Sequelize.HasManyCountAssociationsMixin;
230
254
  userLikes: UserLikes[];
231
255
  getUserLikes: Sequelize.HasManyGetAssociationsMixin<UserLikes>;
232
256
  setUserLikes: Sequelize.HasManySetAssociationsMixin<UserLikes, UserLikesId>;
@@ -5,11 +5,13 @@ import type { CanonArtistImageHarvested, CanonArtistImageHarvestedId } from './C
5
5
  import type { CanonArtistTrackRelation, CanonArtistTrackRelationId } from './CanonArtistTrackRelation';
6
6
  import type { CanonToPlatformArtistRelation, CanonToPlatformArtistRelationId } from './CanonToPlatformArtistRelation';
7
7
  import type { CanonTrack, CanonTrackId } from './CanonTrack';
8
+ import type { JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId } from './JukeboxSessionArtistAffinity';
8
9
  import type { MerchItem, MerchItemId } from './MerchItem';
9
10
  import type { MerchOrchestration, MerchOrchestrationId } from './MerchOrchestration';
10
11
  import type { NewsArticle, NewsArticleId } from './NewsArticle';
11
12
  import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
12
13
  import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
14
+ import type { UserArtistAffinity, UserArtistAffinityId } from './UserArtistAffinity';
13
15
  export interface CanonArtistAttributes {
14
16
  name: string;
15
17
  asciiName: string;
@@ -102,6 +104,17 @@ export declare class CanonArtist extends Model<CanonArtistAttributes, CanonArtis
102
104
  hasCanonTrackIdCanonTrackCanonArtistTrackRelation: Sequelize.BelongsToManyHasAssociationMixin<CanonTrack, CanonTrackId>;
103
105
  hasCanonTrackIdCanonTrackCanonArtistTrackRelations: Sequelize.BelongsToManyHasAssociationsMixin<CanonTrack, CanonTrackId>;
104
106
  countCanonTrackIdCanonTrackCanonArtistTrackRelations: Sequelize.BelongsToManyCountAssociationsMixin;
107
+ jukeboxSessionArtistAffinities: JukeboxSessionArtistAffinity[];
108
+ getJukeboxSessionArtistAffinities: Sequelize.HasManyGetAssociationsMixin<JukeboxSessionArtistAffinity>;
109
+ setJukeboxSessionArtistAffinities: Sequelize.HasManySetAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
110
+ addJukeboxSessionArtistAffinity: Sequelize.HasManyAddAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
111
+ addJukeboxSessionArtistAffinities: Sequelize.HasManyAddAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
112
+ createJukeboxSessionArtistAffinity: Sequelize.HasManyCreateAssociationMixin<JukeboxSessionArtistAffinity>;
113
+ removeJukeboxSessionArtistAffinity: Sequelize.HasManyRemoveAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
114
+ removeJukeboxSessionArtistAffinities: Sequelize.HasManyRemoveAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
115
+ hasJukeboxSessionArtistAffinity: Sequelize.HasManyHasAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
116
+ hasJukeboxSessionArtistAffinities: Sequelize.HasManyHasAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
117
+ countJukeboxSessionArtistAffinities: Sequelize.HasManyCountAssociationsMixin;
105
118
  merchItems: MerchItem[];
106
119
  getMerchItems: Sequelize.HasManyGetAssociationsMixin<MerchItem>;
107
120
  setMerchItems: Sequelize.HasManySetAssociationsMixin<MerchItem, MerchItemId>;
@@ -157,5 +170,16 @@ export declare class CanonArtist extends Model<CanonArtistAttributes, CanonArtis
157
170
  hasPlatformArtistIdPlatformArtist: Sequelize.BelongsToManyHasAssociationMixin<PlatformArtist, PlatformArtistId>;
158
171
  hasPlatformArtistIdPlatformArtists: Sequelize.BelongsToManyHasAssociationsMixin<PlatformArtist, PlatformArtistId>;
159
172
  countPlatformArtistIdPlatformArtists: Sequelize.BelongsToManyCountAssociationsMixin;
173
+ userArtistAffinities: UserArtistAffinity[];
174
+ getUserArtistAffinities: Sequelize.HasManyGetAssociationsMixin<UserArtistAffinity>;
175
+ setUserArtistAffinities: Sequelize.HasManySetAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
176
+ addUserArtistAffinity: Sequelize.HasManyAddAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
177
+ addUserArtistAffinities: Sequelize.HasManyAddAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
178
+ createUserArtistAffinity: Sequelize.HasManyCreateAssociationMixin<UserArtistAffinity>;
179
+ removeUserArtistAffinity: Sequelize.HasManyRemoveAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
180
+ removeUserArtistAffinities: Sequelize.HasManyRemoveAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
181
+ hasUserArtistAffinity: Sequelize.HasManyHasAssociationMixin<UserArtistAffinity, UserArtistAffinityId>;
182
+ hasUserArtistAffinities: Sequelize.HasManyHasAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
183
+ countUserArtistAffinities: Sequelize.HasManyCountAssociationsMixin;
160
184
  static initModel(sequelize: Sequelize.Sequelize): typeof CanonArtist;
161
185
  }
@@ -6,10 +6,12 @@ import type { CanonGenreExternalReferenceRelation, CanonGenreExternalReferenceRe
6
6
  import type { CanonToPlatformGenreRelation, CanonToPlatformGenreRelationId } from './CanonToPlatformGenreRelation';
7
7
  import type { ExternalReference, ExternalReferenceId } from './ExternalReference';
8
8
  import type { JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId } from './JukeboxCanonGenreRelation';
9
+ import type { JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId } from './JukeboxSessionGenreAffinity';
9
10
  import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
10
11
  import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
11
12
  import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
12
13
  import type { RadioShowGenres, RadioShowGenresId } from './RadioShowGenres';
14
+ import type { UserGenreAffinity, UserGenreAffinityId } from './UserGenreAffinity';
13
15
  export interface CanonGenreAttributes {
14
16
  name: string;
15
17
  asciiName: string;
@@ -97,6 +99,17 @@ export declare class CanonGenre extends Model<CanonGenreAttributes, CanonGenreCr
97
99
  hasJukeboxCanonGenreRelation: Sequelize.HasManyHasAssociationMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
98
100
  hasJukeboxCanonGenreRelations: Sequelize.HasManyHasAssociationsMixin<JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId>;
99
101
  countJukeboxCanonGenreRelations: Sequelize.HasManyCountAssociationsMixin;
102
+ jukeboxSessionGenreAffinities: JukeboxSessionGenreAffinity[];
103
+ getJukeboxSessionGenreAffinities: Sequelize.HasManyGetAssociationsMixin<JukeboxSessionGenreAffinity>;
104
+ setJukeboxSessionGenreAffinities: Sequelize.HasManySetAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
105
+ addJukeboxSessionGenreAffinity: Sequelize.HasManyAddAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
106
+ addJukeboxSessionGenreAffinities: Sequelize.HasManyAddAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
107
+ createJukeboxSessionGenreAffinity: Sequelize.HasManyCreateAssociationMixin<JukeboxSessionGenreAffinity>;
108
+ removeJukeboxSessionGenreAffinity: Sequelize.HasManyRemoveAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
109
+ removeJukeboxSessionGenreAffinities: Sequelize.HasManyRemoveAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
110
+ hasJukeboxSessionGenreAffinity: Sequelize.HasManyHasAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
111
+ hasJukeboxSessionGenreAffinities: Sequelize.HasManyHasAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
112
+ countJukeboxSessionGenreAffinities: Sequelize.HasManyCountAssociationsMixin;
100
113
  canonAlbumIdPlatformAlbums: PlatformAlbum[];
101
114
  getCanonAlbumIdPlatformAlbums: Sequelize.BelongsToManyGetAssociationsMixin<PlatformAlbum>;
102
115
  setCanonAlbumIdPlatformAlbums: Sequelize.BelongsToManySetAssociationsMixin<PlatformAlbum, PlatformAlbumId>;
@@ -141,5 +154,16 @@ export declare class CanonGenre extends Model<CanonGenreAttributes, CanonGenreCr
141
154
  hasRadioShowGenre: Sequelize.HasManyHasAssociationMixin<RadioShowGenres, RadioShowGenresId>;
142
155
  hasRadioShowGenres: Sequelize.HasManyHasAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
143
156
  countRadioShowGenres: Sequelize.HasManyCountAssociationsMixin;
157
+ userGenreAffinities: UserGenreAffinity[];
158
+ getUserGenreAffinities: Sequelize.HasManyGetAssociationsMixin<UserGenreAffinity>;
159
+ setUserGenreAffinities: Sequelize.HasManySetAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
160
+ addUserGenreAffinity: Sequelize.HasManyAddAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
161
+ addUserGenreAffinities: Sequelize.HasManyAddAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
162
+ createUserGenreAffinity: Sequelize.HasManyCreateAssociationMixin<UserGenreAffinity>;
163
+ removeUserGenreAffinity: Sequelize.HasManyRemoveAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
164
+ removeUserGenreAffinities: Sequelize.HasManyRemoveAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
165
+ hasUserGenreAffinity: Sequelize.HasManyHasAssociationMixin<UserGenreAffinity, UserGenreAffinityId>;
166
+ hasUserGenreAffinities: Sequelize.HasManyHasAssociationsMixin<UserGenreAffinity, UserGenreAffinityId>;
167
+ countUserGenreAffinities: Sequelize.HasManyCountAssociationsMixin;
144
168
  static initModel(sequelize: Sequelize.Sequelize): typeof CanonGenre;
145
169
  }
@@ -6,6 +6,8 @@ import type { JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId } from './J
6
6
  import type { JukeboxInvite, JukeboxInviteId } from './JukeboxInvite';
7
7
  import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
8
8
  import type { JukeboxQueueMode, JukeboxQueueModeId } from './JukeboxQueueMode';
9
+ import type { JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId } from './JukeboxSessionArtistAffinity';
10
+ import type { JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId } from './JukeboxSessionGenreAffinity';
9
11
  import type { JukeboxStatus, JukeboxStatusId } from './JukeboxStatus';
10
12
  import type { JukeboxTerminationCondition, JukeboxTerminationConditionId } from './JukeboxTerminationCondition';
11
13
  import type { JukeboxType, JukeboxTypeId } from './JukeboxType';
@@ -96,6 +98,28 @@ export declare class JukeboxSession extends Model<JukeboxSessionAttributes, Juke
96
98
  hasJukeboxQueueEntry: Sequelize.HasManyHasAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
97
99
  hasJukeboxQueueEntries: Sequelize.HasManyHasAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
98
100
  countJukeboxQueueEntries: Sequelize.HasManyCountAssociationsMixin;
101
+ jukeboxSessionArtistAffinities: JukeboxSessionArtistAffinity[];
102
+ getJukeboxSessionArtistAffinities: Sequelize.HasManyGetAssociationsMixin<JukeboxSessionArtistAffinity>;
103
+ setJukeboxSessionArtistAffinities: Sequelize.HasManySetAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
104
+ addJukeboxSessionArtistAffinity: Sequelize.HasManyAddAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
105
+ addJukeboxSessionArtistAffinities: Sequelize.HasManyAddAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
106
+ createJukeboxSessionArtistAffinity: Sequelize.HasManyCreateAssociationMixin<JukeboxSessionArtistAffinity>;
107
+ removeJukeboxSessionArtistAffinity: Sequelize.HasManyRemoveAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
108
+ removeJukeboxSessionArtistAffinities: Sequelize.HasManyRemoveAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
109
+ hasJukeboxSessionArtistAffinity: Sequelize.HasManyHasAssociationMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
110
+ hasJukeboxSessionArtistAffinities: Sequelize.HasManyHasAssociationsMixin<JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId>;
111
+ countJukeboxSessionArtistAffinities: Sequelize.HasManyCountAssociationsMixin;
112
+ jukeboxSessionGenreAffinities: JukeboxSessionGenreAffinity[];
113
+ getJukeboxSessionGenreAffinities: Sequelize.HasManyGetAssociationsMixin<JukeboxSessionGenreAffinity>;
114
+ setJukeboxSessionGenreAffinities: Sequelize.HasManySetAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
115
+ addJukeboxSessionGenreAffinity: Sequelize.HasManyAddAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
116
+ addJukeboxSessionGenreAffinities: Sequelize.HasManyAddAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
117
+ createJukeboxSessionGenreAffinity: Sequelize.HasManyCreateAssociationMixin<JukeboxSessionGenreAffinity>;
118
+ removeJukeboxSessionGenreAffinity: Sequelize.HasManyRemoveAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
119
+ removeJukeboxSessionGenreAffinities: Sequelize.HasManyRemoveAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
120
+ hasJukeboxSessionGenreAffinity: Sequelize.HasManyHasAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
121
+ hasJukeboxSessionGenreAffinities: Sequelize.HasManyHasAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
122
+ countJukeboxSessionGenreAffinities: Sequelize.HasManyCountAssociationsMixin;
99
123
  jukeboxUsers: JukeboxUser[];
100
124
  getJukeboxUsers: Sequelize.HasManyGetAssociationsMixin<JukeboxUser>;
101
125
  setJukeboxUsers: Sequelize.HasManySetAssociationsMixin<JukeboxUser, JukeboxUserId>;
@@ -0,0 +1,40 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model, Optional } from 'sequelize';
3
+ import type { AffinityTier, AffinityTierId } from './AffinityTier';
4
+ import type { CanonArtist, CanonArtistId } from './CanonArtist';
5
+ import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
6
+ export interface JukeboxSessionArtistAffinityAttributes {
7
+ jukeboxSessionId: string;
8
+ canonArtistId: string;
9
+ affinityTierId: number;
10
+ rank: number;
11
+ id: string;
12
+ createdAt: Date;
13
+ updatedAt: Date;
14
+ }
15
+ export type JukeboxSessionArtistAffinityPk = "id";
16
+ export type JukeboxSessionArtistAffinityId = JukeboxSessionArtistAffinity[JukeboxSessionArtistAffinityPk];
17
+ export type JukeboxSessionArtistAffinityOptionalAttributes = "id" | "createdAt" | "updatedAt";
18
+ export type JukeboxSessionArtistAffinityCreationAttributes = Optional<JukeboxSessionArtistAffinityAttributes, JukeboxSessionArtistAffinityOptionalAttributes>;
19
+ export declare class JukeboxSessionArtistAffinity extends Model<JukeboxSessionArtistAffinityAttributes, JukeboxSessionArtistAffinityCreationAttributes> implements JukeboxSessionArtistAffinityAttributes {
20
+ jukeboxSessionId: string;
21
+ canonArtistId: string;
22
+ affinityTierId: number;
23
+ rank: number;
24
+ id: string;
25
+ createdAt: Date;
26
+ updatedAt: Date;
27
+ affinityTier: AffinityTier;
28
+ getAffinityTier: Sequelize.BelongsToGetAssociationMixin<AffinityTier>;
29
+ setAffinityTier: Sequelize.BelongsToSetAssociationMixin<AffinityTier, AffinityTierId>;
30
+ createAffinityTier: Sequelize.BelongsToCreateAssociationMixin<AffinityTier>;
31
+ canonArtist: CanonArtist;
32
+ getCanonArtist: Sequelize.BelongsToGetAssociationMixin<CanonArtist>;
33
+ setCanonArtist: Sequelize.BelongsToSetAssociationMixin<CanonArtist, CanonArtistId>;
34
+ createCanonArtist: Sequelize.BelongsToCreateAssociationMixin<CanonArtist>;
35
+ jukeboxSession: JukeboxSession;
36
+ getJukeboxSession: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
37
+ setJukeboxSession: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
38
+ createJukeboxSession: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
39
+ static initModel(sequelize: Sequelize.Sequelize): typeof JukeboxSessionArtistAffinity;
40
+ }
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.JukeboxSessionArtistAffinity = void 0;
27
+ const Sequelize = __importStar(require("sequelize"));
28
+ const sequelize_1 = require("sequelize");
29
+ class JukeboxSessionArtistAffinity extends sequelize_1.Model {
30
+ static initModel(sequelize) {
31
+ return JukeboxSessionArtistAffinity.init({
32
+ jukeboxSessionId: {
33
+ type: sequelize_1.DataTypes.UUID,
34
+ allowNull: false,
35
+ references: {
36
+ model: 'jukebox_session',
37
+ key: 'id'
38
+ },
39
+ unique: "jukebox_session_artist_affinity_jukebox_session_id_canon_artist",
40
+ field: 'jukebox_session_id'
41
+ },
42
+ canonArtistId: {
43
+ type: sequelize_1.DataTypes.UUID,
44
+ allowNull: false,
45
+ references: {
46
+ model: 'canon_artist',
47
+ key: 'id'
48
+ },
49
+ unique: "jukebox_session_artist_affinity_jukebox_session_id_canon_artist",
50
+ field: 'canon_artist_id'
51
+ },
52
+ affinityTierId: {
53
+ type: sequelize_1.DataTypes.SMALLINT,
54
+ allowNull: false,
55
+ references: {
56
+ model: 'affinity_tier',
57
+ key: 'id'
58
+ },
59
+ field: 'affinity_tier_id'
60
+ },
61
+ rank: {
62
+ type: sequelize_1.DataTypes.INTEGER,
63
+ allowNull: false
64
+ },
65
+ id: {
66
+ type: sequelize_1.DataTypes.UUID,
67
+ allowNull: false,
68
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
69
+ primaryKey: true
70
+ },
71
+ createdAt: {
72
+ type: sequelize_1.DataTypes.DATE,
73
+ allowNull: false,
74
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
75
+ field: 'created_at'
76
+ },
77
+ updatedAt: {
78
+ type: sequelize_1.DataTypes.DATE,
79
+ allowNull: false,
80
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
81
+ field: 'updated_at'
82
+ }
83
+ }, {
84
+ sequelize,
85
+ tableName: 'jukebox_session_artist_affinity',
86
+ schema: 'eb',
87
+ timestamps: false,
88
+ indexes: [
89
+ {
90
+ name: "idx_jukebox_session_artist_affinity_artist",
91
+ fields: [
92
+ { name: "canon_artist_id" },
93
+ ]
94
+ },
95
+ {
96
+ name: "idx_jukebox_session_artist_affinity_session",
97
+ fields: [
98
+ { name: "jukebox_session_id" },
99
+ ]
100
+ },
101
+ {
102
+ name: "jukebox_session_artist_affinity_jukebox_session_id_canon_artist",
103
+ unique: true,
104
+ fields: [
105
+ { name: "jukebox_session_id" },
106
+ { name: "canon_artist_id" },
107
+ ]
108
+ },
109
+ {
110
+ name: "jukebox_session_artist_affinity_pkey",
111
+ unique: true,
112
+ fields: [
113
+ { name: "id" },
114
+ ]
115
+ },
116
+ ]
117
+ });
118
+ }
119
+ }
120
+ exports.JukeboxSessionArtistAffinity = JukeboxSessionArtistAffinity;
@@ -0,0 +1,40 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model, Optional } from 'sequelize';
3
+ import type { AffinityTier, AffinityTierId } from './AffinityTier';
4
+ import type { CanonGenre, CanonGenreId } from './CanonGenre';
5
+ import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
6
+ export interface JukeboxSessionGenreAffinityAttributes {
7
+ jukeboxSessionId: string;
8
+ canonGenreId: string;
9
+ affinityTierId: number;
10
+ rank: number;
11
+ id: string;
12
+ createdAt: Date;
13
+ updatedAt: Date;
14
+ }
15
+ export type JukeboxSessionGenreAffinityPk = "id";
16
+ export type JukeboxSessionGenreAffinityId = JukeboxSessionGenreAffinity[JukeboxSessionGenreAffinityPk];
17
+ export type JukeboxSessionGenreAffinityOptionalAttributes = "id" | "createdAt" | "updatedAt";
18
+ export type JukeboxSessionGenreAffinityCreationAttributes = Optional<JukeboxSessionGenreAffinityAttributes, JukeboxSessionGenreAffinityOptionalAttributes>;
19
+ export declare class JukeboxSessionGenreAffinity extends Model<JukeboxSessionGenreAffinityAttributes, JukeboxSessionGenreAffinityCreationAttributes> implements JukeboxSessionGenreAffinityAttributes {
20
+ jukeboxSessionId: string;
21
+ canonGenreId: string;
22
+ affinityTierId: number;
23
+ rank: number;
24
+ id: string;
25
+ createdAt: Date;
26
+ updatedAt: Date;
27
+ affinityTier: AffinityTier;
28
+ getAffinityTier: Sequelize.BelongsToGetAssociationMixin<AffinityTier>;
29
+ setAffinityTier: Sequelize.BelongsToSetAssociationMixin<AffinityTier, AffinityTierId>;
30
+ createAffinityTier: Sequelize.BelongsToCreateAssociationMixin<AffinityTier>;
31
+ canonGenre: CanonGenre;
32
+ getCanonGenre: Sequelize.BelongsToGetAssociationMixin<CanonGenre>;
33
+ setCanonGenre: Sequelize.BelongsToSetAssociationMixin<CanonGenre, CanonGenreId>;
34
+ createCanonGenre: Sequelize.BelongsToCreateAssociationMixin<CanonGenre>;
35
+ jukeboxSession: JukeboxSession;
36
+ getJukeboxSession: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
37
+ setJukeboxSession: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
38
+ createJukeboxSession: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
39
+ static initModel(sequelize: Sequelize.Sequelize): typeof JukeboxSessionGenreAffinity;
40
+ }
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.JukeboxSessionGenreAffinity = void 0;
27
+ const Sequelize = __importStar(require("sequelize"));
28
+ const sequelize_1 = require("sequelize");
29
+ class JukeboxSessionGenreAffinity extends sequelize_1.Model {
30
+ static initModel(sequelize) {
31
+ return JukeboxSessionGenreAffinity.init({
32
+ jukeboxSessionId: {
33
+ type: sequelize_1.DataTypes.UUID,
34
+ allowNull: false,
35
+ references: {
36
+ model: 'jukebox_session',
37
+ key: 'id'
38
+ },
39
+ unique: "jukebox_session_genre_affinity_jukebox_session_id_canon_genre_i",
40
+ field: 'jukebox_session_id'
41
+ },
42
+ canonGenreId: {
43
+ type: sequelize_1.DataTypes.UUID,
44
+ allowNull: false,
45
+ references: {
46
+ model: 'canon_genre',
47
+ key: 'id'
48
+ },
49
+ unique: "jukebox_session_genre_affinity_jukebox_session_id_canon_genre_i",
50
+ field: 'canon_genre_id'
51
+ },
52
+ affinityTierId: {
53
+ type: sequelize_1.DataTypes.SMALLINT,
54
+ allowNull: false,
55
+ references: {
56
+ model: 'affinity_tier',
57
+ key: 'id'
58
+ },
59
+ field: 'affinity_tier_id'
60
+ },
61
+ rank: {
62
+ type: sequelize_1.DataTypes.INTEGER,
63
+ allowNull: false
64
+ },
65
+ id: {
66
+ type: sequelize_1.DataTypes.UUID,
67
+ allowNull: false,
68
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
69
+ primaryKey: true
70
+ },
71
+ createdAt: {
72
+ type: sequelize_1.DataTypes.DATE,
73
+ allowNull: false,
74
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
75
+ field: 'created_at'
76
+ },
77
+ updatedAt: {
78
+ type: sequelize_1.DataTypes.DATE,
79
+ allowNull: false,
80
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
81
+ field: 'updated_at'
82
+ }
83
+ }, {
84
+ sequelize,
85
+ tableName: 'jukebox_session_genre_affinity',
86
+ schema: 'eb',
87
+ timestamps: false,
88
+ indexes: [
89
+ {
90
+ name: "idx_jukebox_session_genre_affinity_genre",
91
+ fields: [
92
+ { name: "canon_genre_id" },
93
+ ]
94
+ },
95
+ {
96
+ name: "idx_jukebox_session_genre_affinity_session",
97
+ fields: [
98
+ { name: "jukebox_session_id" },
99
+ ]
100
+ },
101
+ {
102
+ name: "jukebox_session_genre_affinity_jukebox_session_id_canon_genre_i",
103
+ unique: true,
104
+ fields: [
105
+ { name: "jukebox_session_id" },
106
+ { name: "canon_genre_id" },
107
+ ]
108
+ },
109
+ {
110
+ name: "jukebox_session_genre_affinity_pkey",
111
+ unique: true,
112
+ fields: [
113
+ { name: "id" },
114
+ ]
115
+ },
116
+ ]
117
+ });
118
+ }
119
+ }
120
+ exports.JukeboxSessionGenreAffinity = JukeboxSessionGenreAffinity;