@earbug/db-models 0.0.31 → 0.0.32

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.
@@ -2,6 +2,8 @@ import * as Sequelize from 'sequelize';
2
2
  import { Model } from 'sequelize';
3
3
  import type { JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId } from './JukeboxSessionArtistAffinity';
4
4
  import type { JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId } from './JukeboxSessionGenreAffinity';
5
+ import type { PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId } from './PlatformUserPlaylistArtistAffinity';
6
+ import type { PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId } from './PlatformUserPlaylistGenreAffinity';
5
7
  import type { UserArtistAffinity, UserArtistAffinityId } from './UserArtistAffinity';
6
8
  import type { UserGenreAffinity, UserGenreAffinityId } from './UserGenreAffinity';
7
9
  export interface AffinityTierAttributes {
@@ -36,6 +38,28 @@ export declare class AffinityTier extends Model<AffinityTierAttributes, Affinity
36
38
  hasJukeboxSessionGenreAffinity: Sequelize.HasManyHasAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
37
39
  hasJukeboxSessionGenreAffinities: Sequelize.HasManyHasAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
38
40
  countJukeboxSessionGenreAffinities: Sequelize.HasManyCountAssociationsMixin;
41
+ platformUserPlaylistArtistAffinities: PlatformUserPlaylistArtistAffinity[];
42
+ getPlatformUserPlaylistArtistAffinities: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistArtistAffinity>;
43
+ setPlatformUserPlaylistArtistAffinities: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
44
+ addPlatformUserPlaylistArtistAffinity: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
45
+ addPlatformUserPlaylistArtistAffinities: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
46
+ createPlatformUserPlaylistArtistAffinity: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistArtistAffinity>;
47
+ removePlatformUserPlaylistArtistAffinity: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
48
+ removePlatformUserPlaylistArtistAffinities: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
49
+ hasPlatformUserPlaylistArtistAffinity: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
50
+ hasPlatformUserPlaylistArtistAffinities: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
51
+ countPlatformUserPlaylistArtistAffinities: Sequelize.HasManyCountAssociationsMixin;
52
+ platformUserPlaylistGenreAffinities: PlatformUserPlaylistGenreAffinity[];
53
+ getPlatformUserPlaylistGenreAffinities: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistGenreAffinity>;
54
+ setPlatformUserPlaylistGenreAffinities: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
55
+ addPlatformUserPlaylistGenreAffinity: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
56
+ addPlatformUserPlaylistGenreAffinities: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
57
+ createPlatformUserPlaylistGenreAffinity: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistGenreAffinity>;
58
+ removePlatformUserPlaylistGenreAffinity: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
59
+ removePlatformUserPlaylistGenreAffinities: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
60
+ hasPlatformUserPlaylistGenreAffinity: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
61
+ hasPlatformUserPlaylistGenreAffinities: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
62
+ countPlatformUserPlaylistGenreAffinities: Sequelize.HasManyCountAssociationsMixin;
39
63
  userArtistAffinities: UserArtistAffinity[];
40
64
  getUserArtistAffinities: Sequelize.HasManyGetAssociationsMixin<UserArtistAffinity>;
41
65
  setUserArtistAffinities: Sequelize.HasManySetAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
@@ -11,6 +11,7 @@ import type { MerchOrchestration, MerchOrchestrationId } from './MerchOrchestrat
11
11
  import type { NewsArticle, NewsArticleId } from './NewsArticle';
12
12
  import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
13
13
  import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
14
+ import type { PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId } from './PlatformUserPlaylistArtistAffinity';
14
15
  import type { UserArtistAffinity, UserArtistAffinityId } from './UserArtistAffinity';
15
16
  export interface CanonArtistAttributes {
16
17
  name: string;
@@ -170,6 +171,17 @@ export declare class CanonArtist extends Model<CanonArtistAttributes, CanonArtis
170
171
  hasPlatformArtistIdPlatformArtist: Sequelize.BelongsToManyHasAssociationMixin<PlatformArtist, PlatformArtistId>;
171
172
  hasPlatformArtistIdPlatformArtists: Sequelize.BelongsToManyHasAssociationsMixin<PlatformArtist, PlatformArtistId>;
172
173
  countPlatformArtistIdPlatformArtists: Sequelize.BelongsToManyCountAssociationsMixin;
174
+ platformUserPlaylistArtistAffinities: PlatformUserPlaylistArtistAffinity[];
175
+ getPlatformUserPlaylistArtistAffinities: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistArtistAffinity>;
176
+ setPlatformUserPlaylistArtistAffinities: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
177
+ addPlatformUserPlaylistArtistAffinity: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
178
+ addPlatformUserPlaylistArtistAffinities: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
179
+ createPlatformUserPlaylistArtistAffinity: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistArtistAffinity>;
180
+ removePlatformUserPlaylistArtistAffinity: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
181
+ removePlatformUserPlaylistArtistAffinities: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
182
+ hasPlatformUserPlaylistArtistAffinity: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
183
+ hasPlatformUserPlaylistArtistAffinities: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
184
+ countPlatformUserPlaylistArtistAffinities: Sequelize.HasManyCountAssociationsMixin;
173
185
  userArtistAffinities: UserArtistAffinity[];
174
186
  getUserArtistAffinities: Sequelize.HasManyGetAssociationsMixin<UserArtistAffinity>;
175
187
  setUserArtistAffinities: Sequelize.HasManySetAssociationsMixin<UserArtistAffinity, UserArtistAffinityId>;
@@ -10,6 +10,7 @@ import type { JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId } from
10
10
  import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
11
11
  import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
12
12
  import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
13
+ import type { PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId } from './PlatformUserPlaylistGenreAffinity';
13
14
  import type { RadioShowGenres, RadioShowGenresId } from './RadioShowGenres';
14
15
  import type { UserGenreAffinity, UserGenreAffinityId } from './UserGenreAffinity';
15
16
  export interface CanonGenreAttributes {
@@ -143,6 +144,17 @@ export declare class CanonGenre extends Model<CanonGenreAttributes, CanonGenreCr
143
144
  hasPlatformGenreIdPlatformGenre: Sequelize.BelongsToManyHasAssociationMixin<PlatformGenre, PlatformGenreId>;
144
145
  hasPlatformGenreIdPlatformGenres: Sequelize.BelongsToManyHasAssociationsMixin<PlatformGenre, PlatformGenreId>;
145
146
  countPlatformGenreIdPlatformGenres: Sequelize.BelongsToManyCountAssociationsMixin;
147
+ platformUserPlaylistGenreAffinities: PlatformUserPlaylistGenreAffinity[];
148
+ getPlatformUserPlaylistGenreAffinities: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistGenreAffinity>;
149
+ setPlatformUserPlaylistGenreAffinities: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
150
+ addPlatformUserPlaylistGenreAffinity: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
151
+ addPlatformUserPlaylistGenreAffinities: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
152
+ createPlatformUserPlaylistGenreAffinity: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistGenreAffinity>;
153
+ removePlatformUserPlaylistGenreAffinity: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
154
+ removePlatformUserPlaylistGenreAffinities: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
155
+ hasPlatformUserPlaylistGenreAffinity: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
156
+ hasPlatformUserPlaylistGenreAffinities: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
157
+ countPlatformUserPlaylistGenreAffinities: Sequelize.HasManyCountAssociationsMixin;
146
158
  radioShowGenres: RadioShowGenres[];
147
159
  getRadioShowGenres: Sequelize.HasManyGetAssociationsMixin<RadioShowGenres>;
148
160
  setRadioShowGenres: Sequelize.HasManySetAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
@@ -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 { Platform, PlatformId } from './Platform';
5
+ import type { PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId } from './PlatformUserPlaylistArtistAffinity';
6
+ import type { PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId } from './PlatformUserPlaylistGenreAffinity';
5
7
  import type { PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId } from './PlatformUserPlaylistTrack';
6
8
  import type { State, StateId } from './State';
7
9
  import type { UserComments, UserCommentsId } from './UserComments';
@@ -47,6 +49,28 @@ export declare class PlatformUserPlaylist extends Model<PlatformUserPlaylistAttr
47
49
  getPlatform: Sequelize.BelongsToGetAssociationMixin<Platform>;
48
50
  setPlatform: Sequelize.BelongsToSetAssociationMixin<Platform, PlatformId>;
49
51
  createPlatform: Sequelize.BelongsToCreateAssociationMixin<Platform>;
52
+ platformUserPlaylistArtistAffinities: PlatformUserPlaylistArtistAffinity[];
53
+ getPlatformUserPlaylistArtistAffinities: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistArtistAffinity>;
54
+ setPlatformUserPlaylistArtistAffinities: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
55
+ addPlatformUserPlaylistArtistAffinity: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
56
+ addPlatformUserPlaylistArtistAffinities: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
57
+ createPlatformUserPlaylistArtistAffinity: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistArtistAffinity>;
58
+ removePlatformUserPlaylistArtistAffinity: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
59
+ removePlatformUserPlaylistArtistAffinities: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
60
+ hasPlatformUserPlaylistArtistAffinity: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
61
+ hasPlatformUserPlaylistArtistAffinities: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
62
+ countPlatformUserPlaylistArtistAffinities: Sequelize.HasManyCountAssociationsMixin;
63
+ platformUserPlaylistGenreAffinities: PlatformUserPlaylistGenreAffinity[];
64
+ getPlatformUserPlaylistGenreAffinities: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistGenreAffinity>;
65
+ setPlatformUserPlaylistGenreAffinities: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
66
+ addPlatformUserPlaylistGenreAffinity: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
67
+ addPlatformUserPlaylistGenreAffinities: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
68
+ createPlatformUserPlaylistGenreAffinity: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistGenreAffinity>;
69
+ removePlatformUserPlaylistGenreAffinity: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
70
+ removePlatformUserPlaylistGenreAffinities: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
71
+ hasPlatformUserPlaylistGenreAffinity: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
72
+ hasPlatformUserPlaylistGenreAffinities: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
73
+ countPlatformUserPlaylistGenreAffinities: Sequelize.HasManyCountAssociationsMixin;
50
74
  platformUserPlaylistTracks: PlatformUserPlaylistTrack[];
51
75
  getPlatformUserPlaylistTracks: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistTrack>;
52
76
  setPlatformUserPlaylistTracks: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
@@ -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 { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUserPlaylist';
6
+ export interface PlatformUserPlaylistArtistAffinityAttributes {
7
+ id: string;
8
+ createdAt: Date;
9
+ updatedAt: Date;
10
+ platformUserPlaylistId: string;
11
+ canonArtistId: string;
12
+ affinityTierId: number;
13
+ rank: number;
14
+ }
15
+ export type PlatformUserPlaylistArtistAffinityPk = "id";
16
+ export type PlatformUserPlaylistArtistAffinityId = PlatformUserPlaylistArtistAffinity[PlatformUserPlaylistArtistAffinityPk];
17
+ export type PlatformUserPlaylistArtistAffinityOptionalAttributes = "id" | "createdAt" | "updatedAt";
18
+ export type PlatformUserPlaylistArtistAffinityCreationAttributes = Optional<PlatformUserPlaylistArtistAffinityAttributes, PlatformUserPlaylistArtistAffinityOptionalAttributes>;
19
+ export declare class PlatformUserPlaylistArtistAffinity extends Model<PlatformUserPlaylistArtistAffinityAttributes, PlatformUserPlaylistArtistAffinityCreationAttributes> implements PlatformUserPlaylistArtistAffinityAttributes {
20
+ id: string;
21
+ createdAt: Date;
22
+ updatedAt: Date;
23
+ platformUserPlaylistId: string;
24
+ canonArtistId: string;
25
+ affinityTierId: number;
26
+ rank: number;
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
+ platformUserPlaylist: PlatformUserPlaylist;
36
+ getPlatformUserPlaylist: Sequelize.BelongsToGetAssociationMixin<PlatformUserPlaylist>;
37
+ setPlatformUserPlaylist: Sequelize.BelongsToSetAssociationMixin<PlatformUserPlaylist, PlatformUserPlaylistId>;
38
+ createPlatformUserPlaylist: Sequelize.BelongsToCreateAssociationMixin<PlatformUserPlaylist>;
39
+ static initModel(sequelize: Sequelize.Sequelize): typeof PlatformUserPlaylistArtistAffinity;
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.PlatformUserPlaylistArtistAffinity = void 0;
27
+ const Sequelize = __importStar(require("sequelize"));
28
+ const sequelize_1 = require("sequelize");
29
+ class PlatformUserPlaylistArtistAffinity extends sequelize_1.Model {
30
+ static initModel(sequelize) {
31
+ return PlatformUserPlaylistArtistAffinity.init({
32
+ id: {
33
+ type: sequelize_1.DataTypes.UUID,
34
+ allowNull: false,
35
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
36
+ primaryKey: true
37
+ },
38
+ createdAt: {
39
+ type: sequelize_1.DataTypes.DATE,
40
+ allowNull: false,
41
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
42
+ field: 'created_at'
43
+ },
44
+ updatedAt: {
45
+ type: sequelize_1.DataTypes.DATE,
46
+ allowNull: false,
47
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
48
+ field: 'updated_at'
49
+ },
50
+ platformUserPlaylistId: {
51
+ type: sequelize_1.DataTypes.UUID,
52
+ allowNull: false,
53
+ references: {
54
+ model: 'platform_user_playlist',
55
+ key: 'id'
56
+ },
57
+ unique: "unique_pupaa_canon_artist",
58
+ field: 'platform_user_playlist_id'
59
+ },
60
+ canonArtistId: {
61
+ type: sequelize_1.DataTypes.UUID,
62
+ allowNull: false,
63
+ references: {
64
+ model: 'canon_artist',
65
+ key: 'id'
66
+ },
67
+ unique: "unique_pupaa_canon_artist",
68
+ field: 'canon_artist_id'
69
+ },
70
+ affinityTierId: {
71
+ type: sequelize_1.DataTypes.SMALLINT,
72
+ allowNull: false,
73
+ references: {
74
+ model: 'affinity_tier',
75
+ key: 'id'
76
+ },
77
+ field: 'affinity_tier_id'
78
+ },
79
+ rank: {
80
+ type: sequelize_1.DataTypes.INTEGER,
81
+ allowNull: false
82
+ }
83
+ }, {
84
+ sequelize,
85
+ tableName: 'platform_user_playlist_artist_affinity',
86
+ schema: 'eb',
87
+ timestamps: false,
88
+ indexes: [
89
+ {
90
+ name: "idx_platform_user_playlist_artist_affinity",
91
+ fields: [
92
+ { name: "platform_user_playlist_id" },
93
+ ]
94
+ },
95
+ {
96
+ name: "idx_platform_user_playlist_artist_affinity_artist",
97
+ fields: [
98
+ { name: "canon_artist_id" },
99
+ ]
100
+ },
101
+ {
102
+ name: "platform_user_playlist_artist_affinity_pkey",
103
+ unique: true,
104
+ fields: [
105
+ { name: "id" },
106
+ ]
107
+ },
108
+ {
109
+ name: "unique_pupaa_canon_artist",
110
+ unique: true,
111
+ fields: [
112
+ { name: "platform_user_playlist_id" },
113
+ { name: "canon_artist_id" },
114
+ ]
115
+ },
116
+ ]
117
+ });
118
+ }
119
+ }
120
+ exports.PlatformUserPlaylistArtistAffinity = PlatformUserPlaylistArtistAffinity;
@@ -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 { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUserPlaylist';
6
+ export interface PlatformUserPlaylistGenreAffinityAttributes {
7
+ platformUserPlaylistId: string;
8
+ canonGenreId: string;
9
+ affinityTierId: number;
10
+ rank: number;
11
+ id: string;
12
+ createdAt: Date;
13
+ updatedAt: Date;
14
+ }
15
+ export type PlatformUserPlaylistGenreAffinityPk = "id";
16
+ export type PlatformUserPlaylistGenreAffinityId = PlatformUserPlaylistGenreAffinity[PlatformUserPlaylistGenreAffinityPk];
17
+ export type PlatformUserPlaylistGenreAffinityOptionalAttributes = "id" | "createdAt" | "updatedAt";
18
+ export type PlatformUserPlaylistGenreAffinityCreationAttributes = Optional<PlatformUserPlaylistGenreAffinityAttributes, PlatformUserPlaylistGenreAffinityOptionalAttributes>;
19
+ export declare class PlatformUserPlaylistGenreAffinity extends Model<PlatformUserPlaylistGenreAffinityAttributes, PlatformUserPlaylistGenreAffinityCreationAttributes> implements PlatformUserPlaylistGenreAffinityAttributes {
20
+ platformUserPlaylistId: 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
+ platformUserPlaylist: PlatformUserPlaylist;
36
+ getPlatformUserPlaylist: Sequelize.BelongsToGetAssociationMixin<PlatformUserPlaylist>;
37
+ setPlatformUserPlaylist: Sequelize.BelongsToSetAssociationMixin<PlatformUserPlaylist, PlatformUserPlaylistId>;
38
+ createPlatformUserPlaylist: Sequelize.BelongsToCreateAssociationMixin<PlatformUserPlaylist>;
39
+ static initModel(sequelize: Sequelize.Sequelize): typeof PlatformUserPlaylistGenreAffinity;
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.PlatformUserPlaylistGenreAffinity = void 0;
27
+ const Sequelize = __importStar(require("sequelize"));
28
+ const sequelize_1 = require("sequelize");
29
+ class PlatformUserPlaylistGenreAffinity extends sequelize_1.Model {
30
+ static initModel(sequelize) {
31
+ return PlatformUserPlaylistGenreAffinity.init({
32
+ platformUserPlaylistId: {
33
+ type: sequelize_1.DataTypes.UUID,
34
+ allowNull: false,
35
+ references: {
36
+ model: 'platform_user_playlist',
37
+ key: 'id'
38
+ },
39
+ unique: "unique_pupga_canon_genre",
40
+ field: 'platform_user_playlist_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: "unique_pupga_canon_genre",
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: 'platform_user_playlist_genre_affinity',
86
+ schema: 'eb',
87
+ timestamps: false,
88
+ indexes: [
89
+ {
90
+ name: "idx_platform_user_playlist_genre_affinity",
91
+ fields: [
92
+ { name: "platform_user_playlist_id" },
93
+ ]
94
+ },
95
+ {
96
+ name: "idx_platform_user_playlist_genre_affinity_genre",
97
+ fields: [
98
+ { name: "canon_genre_id" },
99
+ ]
100
+ },
101
+ {
102
+ name: "platform_user_playlist_genre_affinity_pkey",
103
+ unique: true,
104
+ fields: [
105
+ { name: "id" },
106
+ ]
107
+ },
108
+ {
109
+ name: "unique_pupga_canon_genre",
110
+ unique: true,
111
+ fields: [
112
+ { name: "platform_user_playlist_id" },
113
+ { name: "canon_genre_id" },
114
+ ]
115
+ },
116
+ ]
117
+ });
118
+ }
119
+ }
120
+ exports.PlatformUserPlaylistGenreAffinity = PlatformUserPlaylistGenreAffinity;
@@ -153,6 +153,10 @@ import { PlatformUserAlbumTrack as _PlatformUserAlbumTrack } from "./PlatformUse
153
153
  import type { PlatformUserAlbumTrackAttributes, PlatformUserAlbumTrackCreationAttributes } from "./PlatformUserAlbumTrack";
154
154
  import { PlatformUserPlaylist as _PlatformUserPlaylist } from "./PlatformUserPlaylist";
155
155
  import type { PlatformUserPlaylistAttributes, PlatformUserPlaylistCreationAttributes } from "./PlatformUserPlaylist";
156
+ import { PlatformUserPlaylistArtistAffinity as _PlatformUserPlaylistArtistAffinity } from "./PlatformUserPlaylistArtistAffinity";
157
+ import type { PlatformUserPlaylistArtistAffinityAttributes, PlatformUserPlaylistArtistAffinityCreationAttributes } from "./PlatformUserPlaylistArtistAffinity";
158
+ import { PlatformUserPlaylistGenreAffinity as _PlatformUserPlaylistGenreAffinity } from "./PlatformUserPlaylistGenreAffinity";
159
+ import type { PlatformUserPlaylistGenreAffinityAttributes, PlatformUserPlaylistGenreAffinityCreationAttributes } from "./PlatformUserPlaylistGenreAffinity";
156
160
  import { PlatformUserPlaylistTrack as _PlatformUserPlaylistTrack } from "./PlatformUserPlaylistTrack";
157
161
  import type { PlatformUserPlaylistTrackAttributes, PlatformUserPlaylistTrackCreationAttributes } from "./PlatformUserPlaylistTrack";
158
162
  import { PlaybackStatus as _PlaybackStatus } from "./PlaybackStatus";
@@ -191,8 +195,8 @@ import { UserGenreAffinity as _UserGenreAffinity } from "./UserGenreAffinity";
191
195
  import type { UserGenreAffinityAttributes, UserGenreAffinityCreationAttributes } from "./UserGenreAffinity";
192
196
  import { UserLikes as _UserLikes } from "./UserLikes";
193
197
  import type { UserLikesAttributes, UserLikesCreationAttributes } from "./UserLikes";
194
- export { _AccessControlPreference as AccessControlPreference, _AffinityRelationshipType as AffinityRelationshipType, _AffinityTier as AffinityTier, _AppUser as AppUser, _AppUserDevice as AppUserDevice, _AppUserFollowRelation as AppUserFollowRelation, _AppUserPlatformRelation as AppUserPlatformRelation, _CanonAlbum as CanonAlbum, _CanonAlbumExternalReferenceRelation as CanonAlbumExternalReferenceRelation, _CanonAlbumGenreRelation as CanonAlbumGenreRelation, _CanonAlbumImageHarvested as CanonAlbumImageHarvested, _CanonAlbumLabelRelation as CanonAlbumLabelRelation, _CanonAlbumTrackRelation as CanonAlbumTrackRelation, _CanonArtist as CanonArtist, _CanonArtistAlbumRelation as CanonArtistAlbumRelation, _CanonArtistExternalReferenceRelation as CanonArtistExternalReferenceRelation, _CanonArtistGenreRelation as CanonArtistGenreRelation, _CanonArtistImageHarvested as CanonArtistImageHarvested, _CanonArtistMemberRelation as CanonArtistMemberRelation, _CanonArtistTrackRelation as CanonArtistTrackRelation, _CanonGenre as CanonGenre, _CanonGenreExternalReferenceRelation as CanonGenreExternalReferenceRelation, _CanonLabel as CanonLabel, _CanonLabelExternalReferenceRelation as CanonLabelExternalReferenceRelation, _CanonMember as CanonMember, _CanonMemberExternalReferenceRelation as CanonMemberExternalReferenceRelation, _CanonToPlatformAlbumRelation as CanonToPlatformAlbumRelation, _CanonToPlatformArtistRelation as CanonToPlatformArtistRelation, _CanonToPlatformGenreRelation as CanonToPlatformGenreRelation, _CanonToPlatformTrackRelation as CanonToPlatformTrackRelation, _CanonTrack as CanonTrack, _ConfigParam as ConfigParam, _ExternalReference as ExternalReference, _FeedConfig as FeedConfig, _FeedContentType as FeedContentType, _GuestUser as GuestUser, _JukeboxAccessType as JukeboxAccessType, _JukeboxCanonGenreRelation as JukeboxCanonGenreRelation, _JukeboxInvite as JukeboxInvite, _JukeboxQueueEntry as JukeboxQueueEntry, _JukeboxQueueMode as JukeboxQueueMode, _JukeboxSession as JukeboxSession, _JukeboxSessionArtistAffinity as JukeboxSessionArtistAffinity, _JukeboxSessionGenreAffinity as JukeboxSessionGenreAffinity, _JukeboxStatus as JukeboxStatus, _JukeboxTerminationCondition as JukeboxTerminationCondition, _JukeboxType as JukeboxType, _JukeboxUser as JukeboxUser, _JukeboxUserType as JukeboxUserType, _KnexMigrations as KnexMigrations, _KnexMigrationsLock as KnexMigrationsLock, _MerchItem as MerchItem, _MerchOrchestration as MerchOrchestration, _MerchPlatform as MerchPlatform, _MerchType as MerchType, _MetricsDaily as MetricsDaily, _MetricsEvent as MetricsEvent, _NewsArticle as NewsArticle, _NewsPlatform as NewsPlatform, _NewsSite as NewsSite, _Notification as Notification, _NotificationType as NotificationType, _PauseStatusType as PauseStatusType, _Platform as Platform, _PlatformAlbum as PlatformAlbum, _PlatformAlbumGenreRelation as PlatformAlbumGenreRelation, _PlatformAlbumTrackRelation as PlatformAlbumTrackRelation, _PlatformArtist as PlatformArtist, _PlatformArtistAlbumRelation as PlatformArtistAlbumRelation, _PlatformArtistGenreRelation as PlatformArtistGenreRelation, _PlatformArtistTrackRelation as PlatformArtistTrackRelation, _PlatformGenre as PlatformGenre, _PlatformTrack as PlatformTrack, _PlatformTrackGenreRelation as PlatformTrackGenreRelation, _PlatformUserAlbum as PlatformUserAlbum, _PlatformUserAlbumTrack as PlatformUserAlbumTrack, _PlatformUserPlaylist as PlatformUserPlaylist, _PlatformUserPlaylistTrack as PlatformUserPlaylistTrack, _PlaybackStatus as PlaybackStatus, _PlaybackStatusType as PlaybackStatusType, _RadioShow as RadioShow, _RadioShowGenres as RadioShowGenres, _RadioShowMedia as RadioShowMedia, _RadioShowPlacement as RadioShowPlacement, _RadioShowPublishRequests as RadioShowPublishRequests, _State as State, _TrackDeletionReason as TrackDeletionReason, _UnmatchedAlbum as UnmatchedAlbum, _UnmatchedArtist as UnmatchedArtist, _UserAffinity as UserAffinity, _UserArtistAffinity as UserArtistAffinity, _UserComments as UserComments, _UserContacts as UserContacts, _UserEngagementFactor as UserEngagementFactor, _UserGenreAffinity as UserGenreAffinity, _UserLikes as UserLikes, };
195
- export type { AccessControlPreferenceAttributes, AccessControlPreferenceCreationAttributes, AffinityRelationshipTypeAttributes, AffinityRelationshipTypeCreationAttributes, AffinityTierAttributes, AffinityTierCreationAttributes, AppUserAttributes, AppUserCreationAttributes, AppUserDeviceAttributes, AppUserDeviceCreationAttributes, AppUserFollowRelationAttributes, AppUserFollowRelationCreationAttributes, AppUserPlatformRelationAttributes, AppUserPlatformRelationCreationAttributes, CanonAlbumAttributes, CanonAlbumCreationAttributes, CanonAlbumExternalReferenceRelationAttributes, CanonAlbumExternalReferenceRelationCreationAttributes, CanonAlbumGenreRelationAttributes, CanonAlbumGenreRelationCreationAttributes, CanonAlbumImageHarvestedAttributes, CanonAlbumImageHarvestedCreationAttributes, CanonAlbumLabelRelationAttributes, CanonAlbumLabelRelationCreationAttributes, CanonAlbumTrackRelationAttributes, CanonAlbumTrackRelationCreationAttributes, CanonArtistAttributes, CanonArtistCreationAttributes, CanonArtistAlbumRelationAttributes, CanonArtistAlbumRelationCreationAttributes, CanonArtistExternalReferenceRelationAttributes, CanonArtistExternalReferenceRelationCreationAttributes, CanonArtistGenreRelationAttributes, CanonArtistGenreRelationCreationAttributes, CanonArtistImageHarvestedAttributes, CanonArtistImageHarvestedCreationAttributes, CanonArtistMemberRelationAttributes, CanonArtistMemberRelationCreationAttributes, CanonArtistTrackRelationAttributes, CanonArtistTrackRelationCreationAttributes, CanonGenreAttributes, CanonGenreCreationAttributes, CanonGenreExternalReferenceRelationAttributes, CanonGenreExternalReferenceRelationCreationAttributes, CanonLabelAttributes, CanonLabelCreationAttributes, CanonLabelExternalReferenceRelationAttributes, CanonLabelExternalReferenceRelationCreationAttributes, CanonMemberAttributes, CanonMemberCreationAttributes, CanonMemberExternalReferenceRelationAttributes, CanonMemberExternalReferenceRelationCreationAttributes, CanonToPlatformAlbumRelationAttributes, CanonToPlatformAlbumRelationCreationAttributes, CanonToPlatformArtistRelationAttributes, CanonToPlatformArtistRelationCreationAttributes, CanonToPlatformGenreRelationAttributes, CanonToPlatformGenreRelationCreationAttributes, CanonToPlatformTrackRelationAttributes, CanonToPlatformTrackRelationCreationAttributes, CanonTrackAttributes, CanonTrackCreationAttributes, ConfigParamAttributes, ConfigParamCreationAttributes, ExternalReferenceAttributes, ExternalReferenceCreationAttributes, FeedConfigAttributes, FeedConfigCreationAttributes, FeedContentTypeAttributes, FeedContentTypeCreationAttributes, GuestUserAttributes, GuestUserCreationAttributes, JukeboxAccessTypeAttributes, JukeboxAccessTypeCreationAttributes, JukeboxCanonGenreRelationAttributes, JukeboxCanonGenreRelationCreationAttributes, JukeboxInviteAttributes, JukeboxInviteCreationAttributes, JukeboxQueueEntryAttributes, JukeboxQueueEntryCreationAttributes, JukeboxQueueModeAttributes, JukeboxQueueModeCreationAttributes, JukeboxSessionAttributes, JukeboxSessionCreationAttributes, JukeboxSessionArtistAffinityAttributes, JukeboxSessionArtistAffinityCreationAttributes, JukeboxSessionGenreAffinityAttributes, JukeboxSessionGenreAffinityCreationAttributes, JukeboxStatusAttributes, JukeboxStatusCreationAttributes, JukeboxTerminationConditionAttributes, JukeboxTerminationConditionCreationAttributes, JukeboxTypeAttributes, JukeboxTypeCreationAttributes, JukeboxUserAttributes, JukeboxUserCreationAttributes, JukeboxUserTypeAttributes, JukeboxUserTypeCreationAttributes, KnexMigrationsAttributes, KnexMigrationsCreationAttributes, KnexMigrationsLockAttributes, KnexMigrationsLockCreationAttributes, MerchItemAttributes, MerchItemCreationAttributes, MerchOrchestrationAttributes, MerchOrchestrationCreationAttributes, MerchPlatformAttributes, MerchPlatformCreationAttributes, MerchTypeAttributes, MerchTypeCreationAttributes, MetricsDailyAttributes, MetricsDailyCreationAttributes, MetricsEventAttributes, MetricsEventCreationAttributes, NewsArticleAttributes, NewsArticleCreationAttributes, NewsPlatformAttributes, NewsPlatformCreationAttributes, NewsSiteAttributes, NewsSiteCreationAttributes, NotificationAttributes, NotificationCreationAttributes, NotificationTypeAttributes, NotificationTypeCreationAttributes, PauseStatusTypeAttributes, PauseStatusTypeCreationAttributes, PlatformAttributes, PlatformCreationAttributes, PlatformAlbumAttributes, PlatformAlbumCreationAttributes, PlatformAlbumGenreRelationAttributes, PlatformAlbumGenreRelationCreationAttributes, PlatformAlbumTrackRelationAttributes, PlatformAlbumTrackRelationCreationAttributes, PlatformArtistAttributes, PlatformArtistCreationAttributes, PlatformArtistAlbumRelationAttributes, PlatformArtistAlbumRelationCreationAttributes, PlatformArtistGenreRelationAttributes, PlatformArtistGenreRelationCreationAttributes, PlatformArtistTrackRelationAttributes, PlatformArtistTrackRelationCreationAttributes, PlatformGenreAttributes, PlatformGenreCreationAttributes, PlatformTrackAttributes, PlatformTrackCreationAttributes, PlatformTrackGenreRelationAttributes, PlatformTrackGenreRelationCreationAttributes, PlatformUserAlbumAttributes, PlatformUserAlbumCreationAttributes, PlatformUserAlbumTrackAttributes, PlatformUserAlbumTrackCreationAttributes, PlatformUserPlaylistAttributes, PlatformUserPlaylistCreationAttributes, PlatformUserPlaylistTrackAttributes, PlatformUserPlaylistTrackCreationAttributes, PlaybackStatusAttributes, PlaybackStatusCreationAttributes, PlaybackStatusTypeAttributes, PlaybackStatusTypeCreationAttributes, RadioShowAttributes, RadioShowCreationAttributes, RadioShowGenresAttributes, RadioShowGenresCreationAttributes, RadioShowMediaAttributes, RadioShowMediaCreationAttributes, RadioShowPlacementAttributes, RadioShowPlacementCreationAttributes, RadioShowPublishRequestsAttributes, RadioShowPublishRequestsCreationAttributes, StateAttributes, StateCreationAttributes, TrackDeletionReasonAttributes, TrackDeletionReasonCreationAttributes, UnmatchedAlbumAttributes, UnmatchedAlbumCreationAttributes, UnmatchedArtistAttributes, UnmatchedArtistCreationAttributes, UserAffinityAttributes, UserAffinityCreationAttributes, UserArtistAffinityAttributes, UserArtistAffinityCreationAttributes, UserCommentsAttributes, UserCommentsCreationAttributes, UserContactsAttributes, UserContactsCreationAttributes, UserEngagementFactorAttributes, UserEngagementFactorCreationAttributes, UserGenreAffinityAttributes, UserGenreAffinityCreationAttributes, UserLikesAttributes, UserLikesCreationAttributes, };
198
+ export { _AccessControlPreference as AccessControlPreference, _AffinityRelationshipType as AffinityRelationshipType, _AffinityTier as AffinityTier, _AppUser as AppUser, _AppUserDevice as AppUserDevice, _AppUserFollowRelation as AppUserFollowRelation, _AppUserPlatformRelation as AppUserPlatformRelation, _CanonAlbum as CanonAlbum, _CanonAlbumExternalReferenceRelation as CanonAlbumExternalReferenceRelation, _CanonAlbumGenreRelation as CanonAlbumGenreRelation, _CanonAlbumImageHarvested as CanonAlbumImageHarvested, _CanonAlbumLabelRelation as CanonAlbumLabelRelation, _CanonAlbumTrackRelation as CanonAlbumTrackRelation, _CanonArtist as CanonArtist, _CanonArtistAlbumRelation as CanonArtistAlbumRelation, _CanonArtistExternalReferenceRelation as CanonArtistExternalReferenceRelation, _CanonArtistGenreRelation as CanonArtistGenreRelation, _CanonArtistImageHarvested as CanonArtistImageHarvested, _CanonArtistMemberRelation as CanonArtistMemberRelation, _CanonArtistTrackRelation as CanonArtistTrackRelation, _CanonGenre as CanonGenre, _CanonGenreExternalReferenceRelation as CanonGenreExternalReferenceRelation, _CanonLabel as CanonLabel, _CanonLabelExternalReferenceRelation as CanonLabelExternalReferenceRelation, _CanonMember as CanonMember, _CanonMemberExternalReferenceRelation as CanonMemberExternalReferenceRelation, _CanonToPlatformAlbumRelation as CanonToPlatformAlbumRelation, _CanonToPlatformArtistRelation as CanonToPlatformArtistRelation, _CanonToPlatformGenreRelation as CanonToPlatformGenreRelation, _CanonToPlatformTrackRelation as CanonToPlatformTrackRelation, _CanonTrack as CanonTrack, _ConfigParam as ConfigParam, _ExternalReference as ExternalReference, _FeedConfig as FeedConfig, _FeedContentType as FeedContentType, _GuestUser as GuestUser, _JukeboxAccessType as JukeboxAccessType, _JukeboxCanonGenreRelation as JukeboxCanonGenreRelation, _JukeboxInvite as JukeboxInvite, _JukeboxQueueEntry as JukeboxQueueEntry, _JukeboxQueueMode as JukeboxQueueMode, _JukeboxSession as JukeboxSession, _JukeboxSessionArtistAffinity as JukeboxSessionArtistAffinity, _JukeboxSessionGenreAffinity as JukeboxSessionGenreAffinity, _JukeboxStatus as JukeboxStatus, _JukeboxTerminationCondition as JukeboxTerminationCondition, _JukeboxType as JukeboxType, _JukeboxUser as JukeboxUser, _JukeboxUserType as JukeboxUserType, _KnexMigrations as KnexMigrations, _KnexMigrationsLock as KnexMigrationsLock, _MerchItem as MerchItem, _MerchOrchestration as MerchOrchestration, _MerchPlatform as MerchPlatform, _MerchType as MerchType, _MetricsDaily as MetricsDaily, _MetricsEvent as MetricsEvent, _NewsArticle as NewsArticle, _NewsPlatform as NewsPlatform, _NewsSite as NewsSite, _Notification as Notification, _NotificationType as NotificationType, _PauseStatusType as PauseStatusType, _Platform as Platform, _PlatformAlbum as PlatformAlbum, _PlatformAlbumGenreRelation as PlatformAlbumGenreRelation, _PlatformAlbumTrackRelation as PlatformAlbumTrackRelation, _PlatformArtist as PlatformArtist, _PlatformArtistAlbumRelation as PlatformArtistAlbumRelation, _PlatformArtistGenreRelation as PlatformArtistGenreRelation, _PlatformArtistTrackRelation as PlatformArtistTrackRelation, _PlatformGenre as PlatformGenre, _PlatformTrack as PlatformTrack, _PlatformTrackGenreRelation as PlatformTrackGenreRelation, _PlatformUserAlbum as PlatformUserAlbum, _PlatformUserAlbumTrack as PlatformUserAlbumTrack, _PlatformUserPlaylist as PlatformUserPlaylist, _PlatformUserPlaylistArtistAffinity as PlatformUserPlaylistArtistAffinity, _PlatformUserPlaylistGenreAffinity as PlatformUserPlaylistGenreAffinity, _PlatformUserPlaylistTrack as PlatformUserPlaylistTrack, _PlaybackStatus as PlaybackStatus, _PlaybackStatusType as PlaybackStatusType, _RadioShow as RadioShow, _RadioShowGenres as RadioShowGenres, _RadioShowMedia as RadioShowMedia, _RadioShowPlacement as RadioShowPlacement, _RadioShowPublishRequests as RadioShowPublishRequests, _State as State, _TrackDeletionReason as TrackDeletionReason, _UnmatchedAlbum as UnmatchedAlbum, _UnmatchedArtist as UnmatchedArtist, _UserAffinity as UserAffinity, _UserArtistAffinity as UserArtistAffinity, _UserComments as UserComments, _UserContacts as UserContacts, _UserEngagementFactor as UserEngagementFactor, _UserGenreAffinity as UserGenreAffinity, _UserLikes as UserLikes, };
199
+ export type { AccessControlPreferenceAttributes, AccessControlPreferenceCreationAttributes, AffinityRelationshipTypeAttributes, AffinityRelationshipTypeCreationAttributes, AffinityTierAttributes, AffinityTierCreationAttributes, AppUserAttributes, AppUserCreationAttributes, AppUserDeviceAttributes, AppUserDeviceCreationAttributes, AppUserFollowRelationAttributes, AppUserFollowRelationCreationAttributes, AppUserPlatformRelationAttributes, AppUserPlatformRelationCreationAttributes, CanonAlbumAttributes, CanonAlbumCreationAttributes, CanonAlbumExternalReferenceRelationAttributes, CanonAlbumExternalReferenceRelationCreationAttributes, CanonAlbumGenreRelationAttributes, CanonAlbumGenreRelationCreationAttributes, CanonAlbumImageHarvestedAttributes, CanonAlbumImageHarvestedCreationAttributes, CanonAlbumLabelRelationAttributes, CanonAlbumLabelRelationCreationAttributes, CanonAlbumTrackRelationAttributes, CanonAlbumTrackRelationCreationAttributes, CanonArtistAttributes, CanonArtistCreationAttributes, CanonArtistAlbumRelationAttributes, CanonArtistAlbumRelationCreationAttributes, CanonArtistExternalReferenceRelationAttributes, CanonArtistExternalReferenceRelationCreationAttributes, CanonArtistGenreRelationAttributes, CanonArtistGenreRelationCreationAttributes, CanonArtistImageHarvestedAttributes, CanonArtistImageHarvestedCreationAttributes, CanonArtistMemberRelationAttributes, CanonArtistMemberRelationCreationAttributes, CanonArtistTrackRelationAttributes, CanonArtistTrackRelationCreationAttributes, CanonGenreAttributes, CanonGenreCreationAttributes, CanonGenreExternalReferenceRelationAttributes, CanonGenreExternalReferenceRelationCreationAttributes, CanonLabelAttributes, CanonLabelCreationAttributes, CanonLabelExternalReferenceRelationAttributes, CanonLabelExternalReferenceRelationCreationAttributes, CanonMemberAttributes, CanonMemberCreationAttributes, CanonMemberExternalReferenceRelationAttributes, CanonMemberExternalReferenceRelationCreationAttributes, CanonToPlatformAlbumRelationAttributes, CanonToPlatformAlbumRelationCreationAttributes, CanonToPlatformArtistRelationAttributes, CanonToPlatformArtistRelationCreationAttributes, CanonToPlatformGenreRelationAttributes, CanonToPlatformGenreRelationCreationAttributes, CanonToPlatformTrackRelationAttributes, CanonToPlatformTrackRelationCreationAttributes, CanonTrackAttributes, CanonTrackCreationAttributes, ConfigParamAttributes, ConfigParamCreationAttributes, ExternalReferenceAttributes, ExternalReferenceCreationAttributes, FeedConfigAttributes, FeedConfigCreationAttributes, FeedContentTypeAttributes, FeedContentTypeCreationAttributes, GuestUserAttributes, GuestUserCreationAttributes, JukeboxAccessTypeAttributes, JukeboxAccessTypeCreationAttributes, JukeboxCanonGenreRelationAttributes, JukeboxCanonGenreRelationCreationAttributes, JukeboxInviteAttributes, JukeboxInviteCreationAttributes, JukeboxQueueEntryAttributes, JukeboxQueueEntryCreationAttributes, JukeboxQueueModeAttributes, JukeboxQueueModeCreationAttributes, JukeboxSessionAttributes, JukeboxSessionCreationAttributes, JukeboxSessionArtistAffinityAttributes, JukeboxSessionArtistAffinityCreationAttributes, JukeboxSessionGenreAffinityAttributes, JukeboxSessionGenreAffinityCreationAttributes, JukeboxStatusAttributes, JukeboxStatusCreationAttributes, JukeboxTerminationConditionAttributes, JukeboxTerminationConditionCreationAttributes, JukeboxTypeAttributes, JukeboxTypeCreationAttributes, JukeboxUserAttributes, JukeboxUserCreationAttributes, JukeboxUserTypeAttributes, JukeboxUserTypeCreationAttributes, KnexMigrationsAttributes, KnexMigrationsCreationAttributes, KnexMigrationsLockAttributes, KnexMigrationsLockCreationAttributes, MerchItemAttributes, MerchItemCreationAttributes, MerchOrchestrationAttributes, MerchOrchestrationCreationAttributes, MerchPlatformAttributes, MerchPlatformCreationAttributes, MerchTypeAttributes, MerchTypeCreationAttributes, MetricsDailyAttributes, MetricsDailyCreationAttributes, MetricsEventAttributes, MetricsEventCreationAttributes, NewsArticleAttributes, NewsArticleCreationAttributes, NewsPlatformAttributes, NewsPlatformCreationAttributes, NewsSiteAttributes, NewsSiteCreationAttributes, NotificationAttributes, NotificationCreationAttributes, NotificationTypeAttributes, NotificationTypeCreationAttributes, PauseStatusTypeAttributes, PauseStatusTypeCreationAttributes, PlatformAttributes, PlatformCreationAttributes, PlatformAlbumAttributes, PlatformAlbumCreationAttributes, PlatformAlbumGenreRelationAttributes, PlatformAlbumGenreRelationCreationAttributes, PlatformAlbumTrackRelationAttributes, PlatformAlbumTrackRelationCreationAttributes, PlatformArtistAttributes, PlatformArtistCreationAttributes, PlatformArtistAlbumRelationAttributes, PlatformArtistAlbumRelationCreationAttributes, PlatformArtistGenreRelationAttributes, PlatformArtistGenreRelationCreationAttributes, PlatformArtistTrackRelationAttributes, PlatformArtistTrackRelationCreationAttributes, PlatformGenreAttributes, PlatformGenreCreationAttributes, PlatformTrackAttributes, PlatformTrackCreationAttributes, PlatformTrackGenreRelationAttributes, PlatformTrackGenreRelationCreationAttributes, PlatformUserAlbumAttributes, PlatformUserAlbumCreationAttributes, PlatformUserAlbumTrackAttributes, PlatformUserAlbumTrackCreationAttributes, PlatformUserPlaylistAttributes, PlatformUserPlaylistCreationAttributes, PlatformUserPlaylistArtistAffinityAttributes, PlatformUserPlaylistArtistAffinityCreationAttributes, PlatformUserPlaylistGenreAffinityAttributes, PlatformUserPlaylistGenreAffinityCreationAttributes, PlatformUserPlaylistTrackAttributes, PlatformUserPlaylistTrackCreationAttributes, PlaybackStatusAttributes, PlaybackStatusCreationAttributes, PlaybackStatusTypeAttributes, PlaybackStatusTypeCreationAttributes, RadioShowAttributes, RadioShowCreationAttributes, RadioShowGenresAttributes, RadioShowGenresCreationAttributes, RadioShowMediaAttributes, RadioShowMediaCreationAttributes, RadioShowPlacementAttributes, RadioShowPlacementCreationAttributes, RadioShowPublishRequestsAttributes, RadioShowPublishRequestsCreationAttributes, StateAttributes, StateCreationAttributes, TrackDeletionReasonAttributes, TrackDeletionReasonCreationAttributes, UnmatchedAlbumAttributes, UnmatchedAlbumCreationAttributes, UnmatchedArtistAttributes, UnmatchedArtistCreationAttributes, UserAffinityAttributes, UserAffinityCreationAttributes, UserArtistAffinityAttributes, UserArtistAffinityCreationAttributes, UserCommentsAttributes, UserCommentsCreationAttributes, UserContactsAttributes, UserContactsCreationAttributes, UserEngagementFactorAttributes, UserEngagementFactorCreationAttributes, UserGenreAffinityAttributes, UserGenreAffinityCreationAttributes, UserLikesAttributes, UserLikesCreationAttributes, };
196
200
  export declare function initModels(sequelize: Sequelize): {
197
201
  AccessControlPreference: typeof _AccessControlPreference;
198
202
  AffinityRelationshipType: typeof _AffinityRelationshipType;
@@ -271,6 +275,8 @@ export declare function initModels(sequelize: Sequelize): {
271
275
  PlatformUserAlbum: typeof _PlatformUserAlbum;
272
276
  PlatformUserAlbumTrack: typeof _PlatformUserAlbumTrack;
273
277
  PlatformUserPlaylist: typeof _PlatformUserPlaylist;
278
+ PlatformUserPlaylistArtistAffinity: typeof _PlatformUserPlaylistArtistAffinity;
279
+ PlatformUserPlaylistGenreAffinity: typeof _PlatformUserPlaylistGenreAffinity;
274
280
  PlatformUserPlaylistTrack: typeof _PlatformUserPlaylistTrack;
275
281
  PlaybackStatus: typeof _PlaybackStatus;
276
282
  PlaybackStatusType: typeof _PlaybackStatusType;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.KnexMigrations = exports.JukeboxUserType = exports.JukeboxUser = exports.JukeboxType = exports.JukeboxTerminationCondition = exports.JukeboxStatus = exports.JukeboxSessionGenreAffinity = exports.JukeboxSessionArtistAffinity = exports.JukeboxSession = exports.JukeboxQueueMode = exports.JukeboxQueueEntry = exports.JukeboxInvite = exports.JukeboxCanonGenreRelation = exports.JukeboxAccessType = exports.GuestUser = exports.FeedContentType = exports.FeedConfig = exports.ExternalReference = exports.ConfigParam = exports.CanonTrack = exports.CanonToPlatformTrackRelation = exports.CanonToPlatformGenreRelation = exports.CanonToPlatformArtistRelation = exports.CanonToPlatformAlbumRelation = exports.CanonMemberExternalReferenceRelation = exports.CanonMember = exports.CanonLabelExternalReferenceRelation = exports.CanonLabel = exports.CanonGenreExternalReferenceRelation = exports.CanonGenre = exports.CanonArtistTrackRelation = exports.CanonArtistMemberRelation = exports.CanonArtistImageHarvested = exports.CanonArtistGenreRelation = exports.CanonArtistExternalReferenceRelation = exports.CanonArtistAlbumRelation = exports.CanonArtist = exports.CanonAlbumTrackRelation = exports.CanonAlbumLabelRelation = exports.CanonAlbumImageHarvested = exports.CanonAlbumGenreRelation = exports.CanonAlbumExternalReferenceRelation = exports.CanonAlbum = exports.AppUserPlatformRelation = exports.AppUserFollowRelation = exports.AppUserDevice = exports.AppUser = exports.AffinityTier = exports.AffinityRelationshipType = exports.AccessControlPreference = void 0;
4
- exports.UserLikes = exports.UserGenreAffinity = exports.UserEngagementFactor = exports.UserContacts = exports.UserComments = exports.UserArtistAffinity = exports.UserAffinity = exports.UnmatchedArtist = exports.UnmatchedAlbum = exports.TrackDeletionReason = exports.State = exports.RadioShowPublishRequests = exports.RadioShowPlacement = exports.RadioShowMedia = exports.RadioShowGenres = exports.RadioShow = exports.PlaybackStatusType = exports.PlaybackStatus = exports.PlatformUserPlaylistTrack = exports.PlatformUserPlaylist = exports.PlatformUserAlbumTrack = exports.PlatformUserAlbum = exports.PlatformTrackGenreRelation = exports.PlatformTrack = exports.PlatformGenre = exports.PlatformArtistTrackRelation = exports.PlatformArtistGenreRelation = exports.PlatformArtistAlbumRelation = exports.PlatformArtist = exports.PlatformAlbumTrackRelation = exports.PlatformAlbumGenreRelation = exports.PlatformAlbum = exports.Platform = exports.PauseStatusType = exports.NotificationType = exports.Notification = exports.NewsSite = exports.NewsPlatform = exports.NewsArticle = exports.MetricsEvent = exports.MetricsDaily = exports.MerchType = exports.MerchPlatform = exports.MerchOrchestration = exports.MerchItem = exports.KnexMigrationsLock = void 0;
4
+ exports.UserLikes = exports.UserGenreAffinity = exports.UserEngagementFactor = exports.UserContacts = exports.UserComments = exports.UserArtistAffinity = exports.UserAffinity = exports.UnmatchedArtist = exports.UnmatchedAlbum = exports.TrackDeletionReason = exports.State = exports.RadioShowPublishRequests = exports.RadioShowPlacement = exports.RadioShowMedia = exports.RadioShowGenres = exports.RadioShow = exports.PlaybackStatusType = exports.PlaybackStatus = exports.PlatformUserPlaylistTrack = exports.PlatformUserPlaylistGenreAffinity = exports.PlatformUserPlaylistArtistAffinity = exports.PlatformUserPlaylist = exports.PlatformUserAlbumTrack = exports.PlatformUserAlbum = exports.PlatformTrackGenreRelation = exports.PlatformTrack = exports.PlatformGenre = exports.PlatformArtistTrackRelation = exports.PlatformArtistGenreRelation = exports.PlatformArtistAlbumRelation = exports.PlatformArtist = exports.PlatformAlbumTrackRelation = exports.PlatformAlbumGenreRelation = exports.PlatformAlbum = exports.Platform = exports.PauseStatusType = exports.NotificationType = exports.Notification = exports.NewsSite = exports.NewsPlatform = exports.NewsArticle = exports.MetricsEvent = exports.MetricsDaily = exports.MerchType = exports.MerchPlatform = exports.MerchOrchestration = exports.MerchItem = exports.KnexMigrationsLock = void 0;
5
5
  exports.initModels = initModels;
6
6
  const AccessControlPreference_1 = require("./AccessControlPreference");
7
7
  Object.defineProperty(exports, "AccessControlPreference", { enumerable: true, get: function () { return AccessControlPreference_1.AccessControlPreference; } });
@@ -157,6 +157,10 @@ const PlatformUserAlbumTrack_1 = require("./PlatformUserAlbumTrack");
157
157
  Object.defineProperty(exports, "PlatformUserAlbumTrack", { enumerable: true, get: function () { return PlatformUserAlbumTrack_1.PlatformUserAlbumTrack; } });
158
158
  const PlatformUserPlaylist_1 = require("./PlatformUserPlaylist");
159
159
  Object.defineProperty(exports, "PlatformUserPlaylist", { enumerable: true, get: function () { return PlatformUserPlaylist_1.PlatformUserPlaylist; } });
160
+ const PlatformUserPlaylistArtistAffinity_1 = require("./PlatformUserPlaylistArtistAffinity");
161
+ Object.defineProperty(exports, "PlatformUserPlaylistArtistAffinity", { enumerable: true, get: function () { return PlatformUserPlaylistArtistAffinity_1.PlatformUserPlaylistArtistAffinity; } });
162
+ const PlatformUserPlaylistGenreAffinity_1 = require("./PlatformUserPlaylistGenreAffinity");
163
+ Object.defineProperty(exports, "PlatformUserPlaylistGenreAffinity", { enumerable: true, get: function () { return PlatformUserPlaylistGenreAffinity_1.PlatformUserPlaylistGenreAffinity; } });
160
164
  const PlatformUserPlaylistTrack_1 = require("./PlatformUserPlaylistTrack");
161
165
  Object.defineProperty(exports, "PlatformUserPlaylistTrack", { enumerable: true, get: function () { return PlatformUserPlaylistTrack_1.PlatformUserPlaylistTrack; } });
162
166
  const PlaybackStatus_1 = require("./PlaybackStatus");
@@ -273,6 +277,8 @@ function initModels(sequelize) {
273
277
  const PlatformUserAlbum = PlatformUserAlbum_1.PlatformUserAlbum.initModel(sequelize);
274
278
  const PlatformUserAlbumTrack = PlatformUserAlbumTrack_1.PlatformUserAlbumTrack.initModel(sequelize);
275
279
  const PlatformUserPlaylist = PlatformUserPlaylist_1.PlatformUserPlaylist.initModel(sequelize);
280
+ const PlatformUserPlaylistArtistAffinity = PlatformUserPlaylistArtistAffinity_1.PlatformUserPlaylistArtistAffinity.initModel(sequelize);
281
+ const PlatformUserPlaylistGenreAffinity = PlatformUserPlaylistGenreAffinity_1.PlatformUserPlaylistGenreAffinity.initModel(sequelize);
276
282
  const PlatformUserPlaylistTrack = PlatformUserPlaylistTrack_1.PlatformUserPlaylistTrack.initModel(sequelize);
277
283
  const PlaybackStatus = PlaybackStatus_1.PlaybackStatus.initModel(sequelize);
278
284
  const PlaybackStatusType = PlaybackStatusType_1.PlaybackStatusType.initModel(sequelize);
@@ -342,6 +348,10 @@ function initModels(sequelize) {
342
348
  AffinityTier.hasMany(JukeboxSessionArtistAffinity, { as: "jukeboxSessionArtistAffinities", foreignKey: "affinityTierId" });
343
349
  JukeboxSessionGenreAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId" });
344
350
  AffinityTier.hasMany(JukeboxSessionGenreAffinity, { as: "jukeboxSessionGenreAffinities", foreignKey: "affinityTierId" });
351
+ PlatformUserPlaylistArtistAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId" });
352
+ AffinityTier.hasMany(PlatformUserPlaylistArtistAffinity, { as: "platformUserPlaylistArtistAffinities", foreignKey: "affinityTierId" });
353
+ PlatformUserPlaylistGenreAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId" });
354
+ AffinityTier.hasMany(PlatformUserPlaylistGenreAffinity, { as: "platformUserPlaylistGenreAffinities", foreignKey: "affinityTierId" });
345
355
  UserArtistAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId" });
346
356
  AffinityTier.hasMany(UserArtistAffinity, { as: "userArtistAffinities", foreignKey: "affinityTierId" });
347
357
  UserGenreAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId" });
@@ -410,6 +420,8 @@ function initModels(sequelize) {
410
420
  CanonArtist.hasMany(MerchOrchestration, { as: "merchOrchestrations", foreignKey: "canonArtistId" });
411
421
  NewsArticle.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
412
422
  CanonArtist.hasMany(NewsArticle, { as: "newsArticles", foreignKey: "canonArtistId" });
423
+ PlatformUserPlaylistArtistAffinity.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
424
+ CanonArtist.hasMany(PlatformUserPlaylistArtistAffinity, { as: "platformUserPlaylistArtistAffinities", foreignKey: "canonArtistId" });
413
425
  UserArtistAffinity.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId" });
414
426
  CanonArtist.hasMany(UserArtistAffinity, { as: "userArtistAffinities", foreignKey: "canonArtistId" });
415
427
  CanonAlbumGenreRelation.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId" });
@@ -424,6 +436,8 @@ function initModels(sequelize) {
424
436
  CanonGenre.hasMany(JukeboxCanonGenreRelation, { as: "jukeboxCanonGenreRelations", foreignKey: "canonGenreId" });
425
437
  JukeboxSessionGenreAffinity.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId" });
426
438
  CanonGenre.hasMany(JukeboxSessionGenreAffinity, { as: "jukeboxSessionGenreAffinities", foreignKey: "canonGenreId" });
439
+ PlatformUserPlaylistGenreAffinity.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId" });
440
+ CanonGenre.hasMany(PlatformUserPlaylistGenreAffinity, { as: "platformUserPlaylistGenreAffinities", foreignKey: "canonGenreId" });
427
441
  RadioShowGenres.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId" });
428
442
  CanonGenre.hasMany(RadioShowGenres, { as: "radioShowGenres", foreignKey: "canonGenreId" });
429
443
  UserGenreAffinity.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId" });
@@ -582,6 +596,10 @@ function initModels(sequelize) {
582
596
  PlatformTrack.hasMany(PlatformUserPlaylistTrack, { as: "platformUserPlaylistTracks", foreignKey: "platformTrackId" });
583
597
  PlatformUserAlbumTrack.belongsTo(PlatformUserAlbum, { as: "platformUserAlbum", foreignKey: "platformUserAlbumId" });
584
598
  PlatformUserAlbum.hasMany(PlatformUserAlbumTrack, { as: "platformUserAlbumTracks", foreignKey: "platformUserAlbumId" });
599
+ PlatformUserPlaylistArtistAffinity.belongsTo(PlatformUserPlaylist, { as: "platformUserPlaylist", foreignKey: "platformUserPlaylistId" });
600
+ PlatformUserPlaylist.hasMany(PlatformUserPlaylistArtistAffinity, { as: "platformUserPlaylistArtistAffinities", foreignKey: "platformUserPlaylistId" });
601
+ PlatformUserPlaylistGenreAffinity.belongsTo(PlatformUserPlaylist, { as: "platformUserPlaylist", foreignKey: "platformUserPlaylistId" });
602
+ PlatformUserPlaylist.hasMany(PlatformUserPlaylistGenreAffinity, { as: "platformUserPlaylistGenreAffinities", foreignKey: "platformUserPlaylistId" });
585
603
  PlatformUserPlaylistTrack.belongsTo(PlatformUserPlaylist, { as: "platformUserPlaylist", foreignKey: "platformUserPlaylistId" });
586
604
  PlatformUserPlaylist.hasMany(PlatformUserPlaylistTrack, { as: "platformUserPlaylistTracks", foreignKey: "platformUserPlaylistId" });
587
605
  UserComments.belongsTo(PlatformUserPlaylist, { as: "playlist", foreignKey: "playlistId" });
@@ -690,6 +708,8 @@ function initModels(sequelize) {
690
708
  PlatformUserAlbum: PlatformUserAlbum,
691
709
  PlatformUserAlbumTrack: PlatformUserAlbumTrack,
692
710
  PlatformUserPlaylist: PlatformUserPlaylist,
711
+ PlatformUserPlaylistArtistAffinity: PlatformUserPlaylistArtistAffinity,
712
+ PlatformUserPlaylistGenreAffinity: PlatformUserPlaylistGenreAffinity,
693
713
  PlatformUserPlaylistTrack: PlatformUserPlaylistTrack,
694
714
  PlaybackStatus: PlaybackStatus,
695
715
  PlaybackStatusType: PlaybackStatusType,
@@ -2,6 +2,8 @@ import * as Sequelize from 'sequelize';
2
2
  import { DataTypes, Model, Optional } from 'sequelize';
3
3
  import type { JukeboxSessionArtistAffinity, JukeboxSessionArtistAffinityId } from './JukeboxSessionArtistAffinity';
4
4
  import type { JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId } from './JukeboxSessionGenreAffinity';
5
+ import type { PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId } from './PlatformUserPlaylistArtistAffinity';
6
+ import type { PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId } from './PlatformUserPlaylistGenreAffinity';
5
7
  import type { UserArtistAffinity, UserArtistAffinityId } from './UserArtistAffinity';
6
8
  import type { UserGenreAffinity, UserGenreAffinityId } from './UserGenreAffinity';
7
9
 
@@ -42,6 +44,30 @@ export class AffinityTier extends Model<AffinityTierAttributes, AffinityTierCrea
42
44
  hasJukeboxSessionGenreAffinity!: Sequelize.HasManyHasAssociationMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
43
45
  hasJukeboxSessionGenreAffinities!: Sequelize.HasManyHasAssociationsMixin<JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId>;
44
46
  countJukeboxSessionGenreAffinities!: Sequelize.HasManyCountAssociationsMixin;
47
+ // AffinityTier hasMany PlatformUserPlaylistArtistAffinity via affinityTierId
48
+ platformUserPlaylistArtistAffinities!: PlatformUserPlaylistArtistAffinity[];
49
+ getPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistArtistAffinity>;
50
+ setPlatformUserPlaylistArtistAffinities!: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
51
+ addPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
52
+ addPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
53
+ createPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistArtistAffinity>;
54
+ removePlatformUserPlaylistArtistAffinity!: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
55
+ removePlatformUserPlaylistArtistAffinities!: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
56
+ hasPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
57
+ hasPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
58
+ countPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyCountAssociationsMixin;
59
+ // AffinityTier hasMany PlatformUserPlaylistGenreAffinity via affinityTierId
60
+ platformUserPlaylistGenreAffinities!: PlatformUserPlaylistGenreAffinity[];
61
+ getPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistGenreAffinity>;
62
+ setPlatformUserPlaylistGenreAffinities!: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
63
+ addPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
64
+ addPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
65
+ createPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistGenreAffinity>;
66
+ removePlatformUserPlaylistGenreAffinity!: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
67
+ removePlatformUserPlaylistGenreAffinities!: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
68
+ hasPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
69
+ hasPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
70
+ countPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyCountAssociationsMixin;
45
71
  // AffinityTier hasMany UserArtistAffinity via affinityTierId
46
72
  userArtistAffinities!: UserArtistAffinity[];
47
73
  getUserArtistAffinities!: Sequelize.HasManyGetAssociationsMixin<UserArtistAffinity>;
@@ -11,6 +11,7 @@ import type { MerchOrchestration, MerchOrchestrationId } from './MerchOrchestrat
11
11
  import type { NewsArticle, NewsArticleId } from './NewsArticle';
12
12
  import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
13
13
  import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
14
+ import type { PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId } from './PlatformUserPlaylistArtistAffinity';
14
15
  import type { UserArtistAffinity, UserArtistAffinityId } from './UserArtistAffinity';
15
16
 
16
17
  export interface CanonArtistAttributes {
@@ -185,6 +186,18 @@ export class CanonArtist extends Model<CanonArtistAttributes, CanonArtistCreatio
185
186
  hasPlatformArtistIdPlatformArtist!: Sequelize.BelongsToManyHasAssociationMixin<PlatformArtist, PlatformArtistId>;
186
187
  hasPlatformArtistIdPlatformArtists!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformArtist, PlatformArtistId>;
187
188
  countPlatformArtistIdPlatformArtists!: Sequelize.BelongsToManyCountAssociationsMixin;
189
+ // CanonArtist hasMany PlatformUserPlaylistArtistAffinity via canonArtistId
190
+ platformUserPlaylistArtistAffinities!: PlatformUserPlaylistArtistAffinity[];
191
+ getPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistArtistAffinity>;
192
+ setPlatformUserPlaylistArtistAffinities!: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
193
+ addPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
194
+ addPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
195
+ createPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistArtistAffinity>;
196
+ removePlatformUserPlaylistArtistAffinity!: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
197
+ removePlatformUserPlaylistArtistAffinities!: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
198
+ hasPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
199
+ hasPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
200
+ countPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyCountAssociationsMixin;
188
201
  // CanonArtist hasMany UserArtistAffinity via canonArtistId
189
202
  userArtistAffinities!: UserArtistAffinity[];
190
203
  getUserArtistAffinities!: Sequelize.HasManyGetAssociationsMixin<UserArtistAffinity>;
@@ -10,6 +10,7 @@ import type { JukeboxSessionGenreAffinity, JukeboxSessionGenreAffinityId } from
10
10
  import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
11
11
  import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
12
12
  import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
13
+ import type { PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId } from './PlatformUserPlaylistGenreAffinity';
13
14
  import type { RadioShowGenres, RadioShowGenresId } from './RadioShowGenres';
14
15
  import type { UserGenreAffinity, UserGenreAffinityId } from './UserGenreAffinity';
15
16
 
@@ -157,6 +158,18 @@ export class CanonGenre extends Model<CanonGenreAttributes, CanonGenreCreationAt
157
158
  hasPlatformGenreIdPlatformGenre!: Sequelize.BelongsToManyHasAssociationMixin<PlatformGenre, PlatformGenreId>;
158
159
  hasPlatformGenreIdPlatformGenres!: Sequelize.BelongsToManyHasAssociationsMixin<PlatformGenre, PlatformGenreId>;
159
160
  countPlatformGenreIdPlatformGenres!: Sequelize.BelongsToManyCountAssociationsMixin;
161
+ // CanonGenre hasMany PlatformUserPlaylistGenreAffinity via canonGenreId
162
+ platformUserPlaylistGenreAffinities!: PlatformUserPlaylistGenreAffinity[];
163
+ getPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistGenreAffinity>;
164
+ setPlatformUserPlaylistGenreAffinities!: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
165
+ addPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
166
+ addPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
167
+ createPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistGenreAffinity>;
168
+ removePlatformUserPlaylistGenreAffinity!: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
169
+ removePlatformUserPlaylistGenreAffinities!: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
170
+ hasPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
171
+ hasPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
172
+ countPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyCountAssociationsMixin;
160
173
  // CanonGenre hasMany RadioShowGenres via canonGenreId
161
174
  radioShowGenres!: RadioShowGenres[];
162
175
  getRadioShowGenres!: Sequelize.HasManyGetAssociationsMixin<RadioShowGenres>;
@@ -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 { Platform, PlatformId } from './Platform';
5
+ import type { PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId } from './PlatformUserPlaylistArtistAffinity';
6
+ import type { PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId } from './PlatformUserPlaylistGenreAffinity';
5
7
  import type { PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId } from './PlatformUserPlaylistTrack';
6
8
  import type { State, StateId } from './State';
7
9
  import type { UserComments, UserCommentsId } from './UserComments';
@@ -53,6 +55,30 @@ export class PlatformUserPlaylist extends Model<PlatformUserPlaylistAttributes,
53
55
  getPlatform!: Sequelize.BelongsToGetAssociationMixin<Platform>;
54
56
  setPlatform!: Sequelize.BelongsToSetAssociationMixin<Platform, PlatformId>;
55
57
  createPlatform!: Sequelize.BelongsToCreateAssociationMixin<Platform>;
58
+ // PlatformUserPlaylist hasMany PlatformUserPlaylistArtistAffinity via platformUserPlaylistId
59
+ platformUserPlaylistArtistAffinities!: PlatformUserPlaylistArtistAffinity[];
60
+ getPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistArtistAffinity>;
61
+ setPlatformUserPlaylistArtistAffinities!: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
62
+ addPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
63
+ addPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
64
+ createPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistArtistAffinity>;
65
+ removePlatformUserPlaylistArtistAffinity!: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
66
+ removePlatformUserPlaylistArtistAffinities!: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
67
+ hasPlatformUserPlaylistArtistAffinity!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
68
+ hasPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistArtistAffinity, PlatformUserPlaylistArtistAffinityId>;
69
+ countPlatformUserPlaylistArtistAffinities!: Sequelize.HasManyCountAssociationsMixin;
70
+ // PlatformUserPlaylist hasMany PlatformUserPlaylistGenreAffinity via platformUserPlaylistId
71
+ platformUserPlaylistGenreAffinities!: PlatformUserPlaylistGenreAffinity[];
72
+ getPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistGenreAffinity>;
73
+ setPlatformUserPlaylistGenreAffinities!: Sequelize.HasManySetAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
74
+ addPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyAddAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
75
+ addPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyAddAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
76
+ createPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyCreateAssociationMixin<PlatformUserPlaylistGenreAffinity>;
77
+ removePlatformUserPlaylistGenreAffinity!: Sequelize.HasManyRemoveAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
78
+ removePlatformUserPlaylistGenreAffinities!: Sequelize.HasManyRemoveAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
79
+ hasPlatformUserPlaylistGenreAffinity!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
80
+ hasPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistGenreAffinity, PlatformUserPlaylistGenreAffinityId>;
81
+ countPlatformUserPlaylistGenreAffinities!: Sequelize.HasManyCountAssociationsMixin;
56
82
  // PlatformUserPlaylist hasMany PlatformUserPlaylistTrack via platformUserPlaylistId
57
83
  platformUserPlaylistTracks!: PlatformUserPlaylistTrack[];
58
84
  getPlatformUserPlaylistTracks!: Sequelize.HasManyGetAssociationsMixin<PlatformUserPlaylistTrack>;
@@ -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 { CanonArtist, CanonArtistId } from './CanonArtist';
5
+ import type { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUserPlaylist';
6
+
7
+ export interface PlatformUserPlaylistArtistAffinityAttributes {
8
+ id: string;
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ platformUserPlaylistId: string;
12
+ canonArtistId: string;
13
+ affinityTierId: number;
14
+ rank: number;
15
+ }
16
+
17
+ export type PlatformUserPlaylistArtistAffinityPk = "id";
18
+ export type PlatformUserPlaylistArtistAffinityId = PlatformUserPlaylistArtistAffinity[PlatformUserPlaylistArtistAffinityPk];
19
+ export type PlatformUserPlaylistArtistAffinityOptionalAttributes = "id" | "createdAt" | "updatedAt";
20
+ export type PlatformUserPlaylistArtistAffinityCreationAttributes = Optional<PlatformUserPlaylistArtistAffinityAttributes, PlatformUserPlaylistArtistAffinityOptionalAttributes>;
21
+
22
+ export class PlatformUserPlaylistArtistAffinity extends Model<PlatformUserPlaylistArtistAffinityAttributes, PlatformUserPlaylistArtistAffinityCreationAttributes> implements PlatformUserPlaylistArtistAffinityAttributes {
23
+ id!: string;
24
+ createdAt!: Date;
25
+ updatedAt!: Date;
26
+ platformUserPlaylistId!: string;
27
+ canonArtistId!: string;
28
+ affinityTierId!: number;
29
+ rank!: number;
30
+
31
+ // PlatformUserPlaylistArtistAffinity belongsTo AffinityTier via affinityTierId
32
+ affinityTier!: AffinityTier;
33
+ getAffinityTier!: Sequelize.BelongsToGetAssociationMixin<AffinityTier>;
34
+ setAffinityTier!: Sequelize.BelongsToSetAssociationMixin<AffinityTier, AffinityTierId>;
35
+ createAffinityTier!: Sequelize.BelongsToCreateAssociationMixin<AffinityTier>;
36
+ // PlatformUserPlaylistArtistAffinity belongsTo CanonArtist via canonArtistId
37
+ canonArtist!: CanonArtist;
38
+ getCanonArtist!: Sequelize.BelongsToGetAssociationMixin<CanonArtist>;
39
+ setCanonArtist!: Sequelize.BelongsToSetAssociationMixin<CanonArtist, CanonArtistId>;
40
+ createCanonArtist!: Sequelize.BelongsToCreateAssociationMixin<CanonArtist>;
41
+ // PlatformUserPlaylistArtistAffinity belongsTo PlatformUserPlaylist via platformUserPlaylistId
42
+ platformUserPlaylist!: PlatformUserPlaylist;
43
+ getPlatformUserPlaylist!: Sequelize.BelongsToGetAssociationMixin<PlatformUserPlaylist>;
44
+ setPlatformUserPlaylist!: Sequelize.BelongsToSetAssociationMixin<PlatformUserPlaylist, PlatformUserPlaylistId>;
45
+ createPlatformUserPlaylist!: Sequelize.BelongsToCreateAssociationMixin<PlatformUserPlaylist>;
46
+
47
+ static initModel(sequelize: Sequelize.Sequelize): typeof PlatformUserPlaylistArtistAffinity {
48
+ return PlatformUserPlaylistArtistAffinity.init({
49
+ id: {
50
+ type: DataTypes.UUID,
51
+ allowNull: false,
52
+ defaultValue: DataTypes.UUIDV4,
53
+ primaryKey: true
54
+ },
55
+ createdAt: {
56
+ type: DataTypes.DATE,
57
+ allowNull: false,
58
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
59
+ field: 'created_at'
60
+ },
61
+ updatedAt: {
62
+ type: DataTypes.DATE,
63
+ allowNull: false,
64
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
65
+ field: 'updated_at'
66
+ },
67
+ platformUserPlaylistId: {
68
+ type: DataTypes.UUID,
69
+ allowNull: false,
70
+ references: {
71
+ model: 'platform_user_playlist',
72
+ key: 'id'
73
+ },
74
+ unique: "unique_pupaa_canon_artist",
75
+ field: 'platform_user_playlist_id'
76
+ },
77
+ canonArtistId: {
78
+ type: DataTypes.UUID,
79
+ allowNull: false,
80
+ references: {
81
+ model: 'canon_artist',
82
+ key: 'id'
83
+ },
84
+ unique: "unique_pupaa_canon_artist",
85
+ field: 'canon_artist_id'
86
+ },
87
+ affinityTierId: {
88
+ type: DataTypes.SMALLINT,
89
+ allowNull: false,
90
+ references: {
91
+ model: 'affinity_tier',
92
+ key: 'id'
93
+ },
94
+ field: 'affinity_tier_id'
95
+ },
96
+ rank: {
97
+ type: DataTypes.INTEGER,
98
+ allowNull: false
99
+ }
100
+ }, {
101
+ sequelize,
102
+ tableName: 'platform_user_playlist_artist_affinity',
103
+ schema: 'eb',
104
+ timestamps: false,
105
+ indexes: [
106
+ {
107
+ name: "idx_platform_user_playlist_artist_affinity",
108
+ fields: [
109
+ { name: "platform_user_playlist_id" },
110
+ ]
111
+ },
112
+ {
113
+ name: "idx_platform_user_playlist_artist_affinity_artist",
114
+ fields: [
115
+ { name: "canon_artist_id" },
116
+ ]
117
+ },
118
+ {
119
+ name: "platform_user_playlist_artist_affinity_pkey",
120
+ unique: true,
121
+ fields: [
122
+ { name: "id" },
123
+ ]
124
+ },
125
+ {
126
+ name: "unique_pupaa_canon_artist",
127
+ unique: true,
128
+ fields: [
129
+ { name: "platform_user_playlist_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 { CanonGenre, CanonGenreId } from './CanonGenre';
5
+ import type { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUserPlaylist';
6
+
7
+ export interface PlatformUserPlaylistGenreAffinityAttributes {
8
+ platformUserPlaylistId: string;
9
+ canonGenreId: string;
10
+ affinityTierId: number;
11
+ rank: number;
12
+ id: string;
13
+ createdAt: Date;
14
+ updatedAt: Date;
15
+ }
16
+
17
+ export type PlatformUserPlaylistGenreAffinityPk = "id";
18
+ export type PlatformUserPlaylistGenreAffinityId = PlatformUserPlaylistGenreAffinity[PlatformUserPlaylistGenreAffinityPk];
19
+ export type PlatformUserPlaylistGenreAffinityOptionalAttributes = "id" | "createdAt" | "updatedAt";
20
+ export type PlatformUserPlaylistGenreAffinityCreationAttributes = Optional<PlatformUserPlaylistGenreAffinityAttributes, PlatformUserPlaylistGenreAffinityOptionalAttributes>;
21
+
22
+ export class PlatformUserPlaylistGenreAffinity extends Model<PlatformUserPlaylistGenreAffinityAttributes, PlatformUserPlaylistGenreAffinityCreationAttributes> implements PlatformUserPlaylistGenreAffinityAttributes {
23
+ platformUserPlaylistId!: string;
24
+ canonGenreId!: string;
25
+ affinityTierId!: number;
26
+ rank!: number;
27
+ id!: string;
28
+ createdAt!: Date;
29
+ updatedAt!: Date;
30
+
31
+ // PlatformUserPlaylistGenreAffinity belongsTo AffinityTier via affinityTierId
32
+ affinityTier!: AffinityTier;
33
+ getAffinityTier!: Sequelize.BelongsToGetAssociationMixin<AffinityTier>;
34
+ setAffinityTier!: Sequelize.BelongsToSetAssociationMixin<AffinityTier, AffinityTierId>;
35
+ createAffinityTier!: Sequelize.BelongsToCreateAssociationMixin<AffinityTier>;
36
+ // PlatformUserPlaylistGenreAffinity belongsTo CanonGenre via canonGenreId
37
+ canonGenre!: CanonGenre;
38
+ getCanonGenre!: Sequelize.BelongsToGetAssociationMixin<CanonGenre>;
39
+ setCanonGenre!: Sequelize.BelongsToSetAssociationMixin<CanonGenre, CanonGenreId>;
40
+ createCanonGenre!: Sequelize.BelongsToCreateAssociationMixin<CanonGenre>;
41
+ // PlatformUserPlaylistGenreAffinity belongsTo PlatformUserPlaylist via platformUserPlaylistId
42
+ platformUserPlaylist!: PlatformUserPlaylist;
43
+ getPlatformUserPlaylist!: Sequelize.BelongsToGetAssociationMixin<PlatformUserPlaylist>;
44
+ setPlatformUserPlaylist!: Sequelize.BelongsToSetAssociationMixin<PlatformUserPlaylist, PlatformUserPlaylistId>;
45
+ createPlatformUserPlaylist!: Sequelize.BelongsToCreateAssociationMixin<PlatformUserPlaylist>;
46
+
47
+ static initModel(sequelize: Sequelize.Sequelize): typeof PlatformUserPlaylistGenreAffinity {
48
+ return PlatformUserPlaylistGenreAffinity.init({
49
+ platformUserPlaylistId: {
50
+ type: DataTypes.UUID,
51
+ allowNull: false,
52
+ references: {
53
+ model: 'platform_user_playlist',
54
+ key: 'id'
55
+ },
56
+ unique: "unique_pupga_canon_genre",
57
+ field: 'platform_user_playlist_id'
58
+ },
59
+ canonGenreId: {
60
+ type: DataTypes.UUID,
61
+ allowNull: false,
62
+ references: {
63
+ model: 'canon_genre',
64
+ key: 'id'
65
+ },
66
+ unique: "unique_pupga_canon_genre",
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: 'platform_user_playlist_genre_affinity',
103
+ schema: 'eb',
104
+ timestamps: false,
105
+ indexes: [
106
+ {
107
+ name: "idx_platform_user_playlist_genre_affinity",
108
+ fields: [
109
+ { name: "platform_user_playlist_id" },
110
+ ]
111
+ },
112
+ {
113
+ name: "idx_platform_user_playlist_genre_affinity_genre",
114
+ fields: [
115
+ { name: "canon_genre_id" },
116
+ ]
117
+ },
118
+ {
119
+ name: "platform_user_playlist_genre_affinity_pkey",
120
+ unique: true,
121
+ fields: [
122
+ { name: "id" },
123
+ ]
124
+ },
125
+ {
126
+ name: "unique_pupga_canon_genre",
127
+ unique: true,
128
+ fields: [
129
+ { name: "platform_user_playlist_id" },
130
+ { name: "canon_genre_id" },
131
+ ]
132
+ },
133
+ ]
134
+ });
135
+ }
136
+ }
@@ -153,6 +153,10 @@ import { PlatformUserAlbumTrack as _PlatformUserAlbumTrack } from "./PlatformUse
153
153
  import type { PlatformUserAlbumTrackAttributes, PlatformUserAlbumTrackCreationAttributes } from "./PlatformUserAlbumTrack";
154
154
  import { PlatformUserPlaylist as _PlatformUserPlaylist } from "./PlatformUserPlaylist";
155
155
  import type { PlatformUserPlaylistAttributes, PlatformUserPlaylistCreationAttributes } from "./PlatformUserPlaylist";
156
+ import { PlatformUserPlaylistArtistAffinity as _PlatformUserPlaylistArtistAffinity } from "./PlatformUserPlaylistArtistAffinity";
157
+ import type { PlatformUserPlaylistArtistAffinityAttributes, PlatformUserPlaylistArtistAffinityCreationAttributes } from "./PlatformUserPlaylistArtistAffinity";
158
+ import { PlatformUserPlaylistGenreAffinity as _PlatformUserPlaylistGenreAffinity } from "./PlatformUserPlaylistGenreAffinity";
159
+ import type { PlatformUserPlaylistGenreAffinityAttributes, PlatformUserPlaylistGenreAffinityCreationAttributes } from "./PlatformUserPlaylistGenreAffinity";
156
160
  import { PlatformUserPlaylistTrack as _PlatformUserPlaylistTrack } from "./PlatformUserPlaylistTrack";
157
161
  import type { PlatformUserPlaylistTrackAttributes, PlatformUserPlaylistTrackCreationAttributes } from "./PlatformUserPlaylistTrack";
158
162
  import { PlaybackStatus as _PlaybackStatus } from "./PlaybackStatus";
@@ -270,6 +274,8 @@ export {
270
274
  _PlatformUserAlbum as PlatformUserAlbum,
271
275
  _PlatformUserAlbumTrack as PlatformUserAlbumTrack,
272
276
  _PlatformUserPlaylist as PlatformUserPlaylist,
277
+ _PlatformUserPlaylistArtistAffinity as PlatformUserPlaylistArtistAffinity,
278
+ _PlatformUserPlaylistGenreAffinity as PlatformUserPlaylistGenreAffinity,
273
279
  _PlatformUserPlaylistTrack as PlatformUserPlaylistTrack,
274
280
  _PlaybackStatus as PlaybackStatus,
275
281
  _PlaybackStatusType as PlaybackStatusType,
@@ -446,6 +452,10 @@ export type {
446
452
  PlatformUserAlbumTrackCreationAttributes,
447
453
  PlatformUserPlaylistAttributes,
448
454
  PlatformUserPlaylistCreationAttributes,
455
+ PlatformUserPlaylistArtistAffinityAttributes,
456
+ PlatformUserPlaylistArtistAffinityCreationAttributes,
457
+ PlatformUserPlaylistGenreAffinityAttributes,
458
+ PlatformUserPlaylistGenreAffinityCreationAttributes,
449
459
  PlatformUserPlaylistTrackAttributes,
450
460
  PlatformUserPlaylistTrackCreationAttributes,
451
461
  PlaybackStatusAttributes,
@@ -564,6 +574,8 @@ export function initModels(sequelize: Sequelize) {
564
574
  const PlatformUserAlbum = _PlatformUserAlbum.initModel(sequelize);
565
575
  const PlatformUserAlbumTrack = _PlatformUserAlbumTrack.initModel(sequelize);
566
576
  const PlatformUserPlaylist = _PlatformUserPlaylist.initModel(sequelize);
577
+ const PlatformUserPlaylistArtistAffinity = _PlatformUserPlaylistArtistAffinity.initModel(sequelize);
578
+ const PlatformUserPlaylistGenreAffinity = _PlatformUserPlaylistGenreAffinity.initModel(sequelize);
567
579
  const PlatformUserPlaylistTrack = _PlatformUserPlaylistTrack.initModel(sequelize);
568
580
  const PlaybackStatus = _PlaybackStatus.initModel(sequelize);
569
581
  const PlaybackStatusType = _PlaybackStatusType.initModel(sequelize);
@@ -634,6 +646,10 @@ export function initModels(sequelize: Sequelize) {
634
646
  AffinityTier.hasMany(JukeboxSessionArtistAffinity, { as: "jukeboxSessionArtistAffinities", foreignKey: "affinityTierId"});
635
647
  JukeboxSessionGenreAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId"});
636
648
  AffinityTier.hasMany(JukeboxSessionGenreAffinity, { as: "jukeboxSessionGenreAffinities", foreignKey: "affinityTierId"});
649
+ PlatformUserPlaylistArtistAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId"});
650
+ AffinityTier.hasMany(PlatformUserPlaylistArtistAffinity, { as: "platformUserPlaylistArtistAffinities", foreignKey: "affinityTierId"});
651
+ PlatformUserPlaylistGenreAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId"});
652
+ AffinityTier.hasMany(PlatformUserPlaylistGenreAffinity, { as: "platformUserPlaylistGenreAffinities", foreignKey: "affinityTierId"});
637
653
  UserArtistAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId"});
638
654
  AffinityTier.hasMany(UserArtistAffinity, { as: "userArtistAffinities", foreignKey: "affinityTierId"});
639
655
  UserGenreAffinity.belongsTo(AffinityTier, { as: "affinityTier", foreignKey: "affinityTierId"});
@@ -702,6 +718,8 @@ export function initModels(sequelize: Sequelize) {
702
718
  CanonArtist.hasMany(MerchOrchestration, { as: "merchOrchestrations", foreignKey: "canonArtistId"});
703
719
  NewsArticle.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId"});
704
720
  CanonArtist.hasMany(NewsArticle, { as: "newsArticles", foreignKey: "canonArtistId"});
721
+ PlatformUserPlaylistArtistAffinity.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId"});
722
+ CanonArtist.hasMany(PlatformUserPlaylistArtistAffinity, { as: "platformUserPlaylistArtistAffinities", foreignKey: "canonArtistId"});
705
723
  UserArtistAffinity.belongsTo(CanonArtist, { as: "canonArtist", foreignKey: "canonArtistId"});
706
724
  CanonArtist.hasMany(UserArtistAffinity, { as: "userArtistAffinities", foreignKey: "canonArtistId"});
707
725
  CanonAlbumGenreRelation.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId"});
@@ -716,6 +734,8 @@ export function initModels(sequelize: Sequelize) {
716
734
  CanonGenre.hasMany(JukeboxCanonGenreRelation, { as: "jukeboxCanonGenreRelations", foreignKey: "canonGenreId"});
717
735
  JukeboxSessionGenreAffinity.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId"});
718
736
  CanonGenre.hasMany(JukeboxSessionGenreAffinity, { as: "jukeboxSessionGenreAffinities", foreignKey: "canonGenreId"});
737
+ PlatformUserPlaylistGenreAffinity.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId"});
738
+ CanonGenre.hasMany(PlatformUserPlaylistGenreAffinity, { as: "platformUserPlaylistGenreAffinities", foreignKey: "canonGenreId"});
719
739
  RadioShowGenres.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId"});
720
740
  CanonGenre.hasMany(RadioShowGenres, { as: "radioShowGenres", foreignKey: "canonGenreId"});
721
741
  UserGenreAffinity.belongsTo(CanonGenre, { as: "canonGenre", foreignKey: "canonGenreId"});
@@ -874,6 +894,10 @@ export function initModels(sequelize: Sequelize) {
874
894
  PlatformTrack.hasMany(PlatformUserPlaylistTrack, { as: "platformUserPlaylistTracks", foreignKey: "platformTrackId"});
875
895
  PlatformUserAlbumTrack.belongsTo(PlatformUserAlbum, { as: "platformUserAlbum", foreignKey: "platformUserAlbumId"});
876
896
  PlatformUserAlbum.hasMany(PlatformUserAlbumTrack, { as: "platformUserAlbumTracks", foreignKey: "platformUserAlbumId"});
897
+ PlatformUserPlaylistArtistAffinity.belongsTo(PlatformUserPlaylist, { as: "platformUserPlaylist", foreignKey: "platformUserPlaylistId"});
898
+ PlatformUserPlaylist.hasMany(PlatformUserPlaylistArtistAffinity, { as: "platformUserPlaylistArtistAffinities", foreignKey: "platformUserPlaylistId"});
899
+ PlatformUserPlaylistGenreAffinity.belongsTo(PlatformUserPlaylist, { as: "platformUserPlaylist", foreignKey: "platformUserPlaylistId"});
900
+ PlatformUserPlaylist.hasMany(PlatformUserPlaylistGenreAffinity, { as: "platformUserPlaylistGenreAffinities", foreignKey: "platformUserPlaylistId"});
877
901
  PlatformUserPlaylistTrack.belongsTo(PlatformUserPlaylist, { as: "platformUserPlaylist", foreignKey: "platformUserPlaylistId"});
878
902
  PlatformUserPlaylist.hasMany(PlatformUserPlaylistTrack, { as: "platformUserPlaylistTracks", foreignKey: "platformUserPlaylistId"});
879
903
  UserComments.belongsTo(PlatformUserPlaylist, { as: "playlist", foreignKey: "playlistId"});
@@ -983,6 +1007,8 @@ export function initModels(sequelize: Sequelize) {
983
1007
  PlatformUserAlbum: PlatformUserAlbum,
984
1008
  PlatformUserAlbumTrack: PlatformUserAlbumTrack,
985
1009
  PlatformUserPlaylist: PlatformUserPlaylist,
1010
+ PlatformUserPlaylistArtistAffinity: PlatformUserPlaylistArtistAffinity,
1011
+ PlatformUserPlaylistGenreAffinity: PlatformUserPlaylistGenreAffinity,
986
1012
  PlatformUserPlaylistTrack: PlatformUserPlaylistTrack,
987
1013
  PlaybackStatus: PlaybackStatus,
988
1014
  PlaybackStatusType: PlaybackStatusType,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@earbug/db-models",
3
- "version": "0.0.31",
3
+ "version": "0.0.32",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {