@earbug/db-models 0.0.14 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CanonArtist.d.ts +56 -14
- package/dist/CanonArtist.js +35 -30
- package/dist/GuestUser.d.ts +42 -0
- package/dist/GuestUser.js +91 -0
- package/dist/JukeboxQueueEntry.d.ts +19 -5
- package/dist/JukeboxQueueEntry.js +36 -18
- package/dist/JukeboxSession.d.ts +12 -0
- package/dist/MerchItem.d.ts +50 -0
- package/dist/MerchItem.js +120 -0
- package/dist/MerchOrchestration.d.ts +42 -0
- package/dist/MerchOrchestration.js +104 -0
- package/dist/MerchPlatform.d.ts +45 -0
- package/dist/MerchPlatform.js +75 -0
- package/dist/MerchType.d.ts +43 -0
- package/dist/MerchType.js +71 -0
- package/dist/NewsArticle.js +5 -5
- package/dist/NewsPlatform.js +2 -2
- package/dist/PlatformTrack.d.ts +12 -0
- package/dist/RadioShow.js +6 -0
- package/dist/RadioShowGenres.d.ts +3 -1
- package/dist/RadioShowGenres.js +24 -0
- package/dist/init-models.d.ts +23 -2
- package/dist/init-models.js +54 -4
- package/models/CanonArtist.ts +435 -152
- package/models/GuestUser.ts +108 -0
- package/models/JukeboxQueueEntry.ts +57 -23
- package/models/JukeboxSession.ts +13 -0
- package/models/MerchItem.ts +146 -0
- package/models/MerchOrchestration.ts +122 -0
- package/models/MerchPlatform.ts +95 -0
- package/models/MerchType.ts +89 -0
- package/models/NewsArticle.ts +5 -6
- package/models/NewsPlatform.ts +2 -3
- package/models/PlatformTrack.ts +13 -0
- package/models/RadioShow.ts +6 -0
- package/models/RadioShowGenres.ts +27 -1
- package/models/init-models.ts +73 -2
- package/package.json +1 -1
- package/.env +0 -5
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { DataTypes, Model, Optional } from 'sequelize';
|
|
3
|
+
import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
|
|
4
|
+
import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
|
|
5
|
+
|
|
6
|
+
export interface GuestUserAttributes {
|
|
7
|
+
firstName: string;
|
|
8
|
+
lastName?: string;
|
|
9
|
+
jukeboxSessionId: string;
|
|
10
|
+
ipAddress?: string;
|
|
11
|
+
id: string;
|
|
12
|
+
createDate: Date;
|
|
13
|
+
updateDate: Date;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type GuestUserPk = "id";
|
|
17
|
+
export type GuestUserId = GuestUser[GuestUserPk];
|
|
18
|
+
export type GuestUserOptionalAttributes = "lastName" | "ipAddress" | "id" | "createDate" | "updateDate";
|
|
19
|
+
export type GuestUserCreationAttributes = Optional<GuestUserAttributes, GuestUserOptionalAttributes>;
|
|
20
|
+
|
|
21
|
+
export class GuestUser extends Model<GuestUserAttributes, GuestUserCreationAttributes> implements GuestUserAttributes {
|
|
22
|
+
firstName!: string;
|
|
23
|
+
lastName?: string;
|
|
24
|
+
jukeboxSessionId!: string;
|
|
25
|
+
ipAddress?: string;
|
|
26
|
+
id!: string;
|
|
27
|
+
createDate!: Date;
|
|
28
|
+
updateDate!: Date;
|
|
29
|
+
|
|
30
|
+
// GuestUser hasMany JukeboxQueueEntry via trackAddedGuestUserId
|
|
31
|
+
jukeboxQueueEntries!: JukeboxQueueEntry[];
|
|
32
|
+
getJukeboxQueueEntries!: Sequelize.HasManyGetAssociationsMixin<JukeboxQueueEntry>;
|
|
33
|
+
setJukeboxQueueEntries!: Sequelize.HasManySetAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
34
|
+
addJukeboxQueueEntry!: Sequelize.HasManyAddAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
35
|
+
addJukeboxQueueEntries!: Sequelize.HasManyAddAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
36
|
+
createJukeboxQueueEntry!: Sequelize.HasManyCreateAssociationMixin<JukeboxQueueEntry>;
|
|
37
|
+
removeJukeboxQueueEntry!: Sequelize.HasManyRemoveAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
38
|
+
removeJukeboxQueueEntries!: Sequelize.HasManyRemoveAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
39
|
+
hasJukeboxQueueEntry!: Sequelize.HasManyHasAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
40
|
+
hasJukeboxQueueEntries!: Sequelize.HasManyHasAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
|
|
41
|
+
countJukeboxQueueEntries!: Sequelize.HasManyCountAssociationsMixin;
|
|
42
|
+
// GuestUser belongsTo JukeboxSession via jukeboxSessionId
|
|
43
|
+
jukeboxSession!: JukeboxSession;
|
|
44
|
+
getJukeboxSession!: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
|
|
45
|
+
setJukeboxSession!: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
|
|
46
|
+
createJukeboxSession!: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
|
|
47
|
+
|
|
48
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof GuestUser {
|
|
49
|
+
return GuestUser.init({
|
|
50
|
+
firstName: {
|
|
51
|
+
type: DataTypes.TEXT,
|
|
52
|
+
allowNull: false,
|
|
53
|
+
field: 'first_name'
|
|
54
|
+
},
|
|
55
|
+
lastName: {
|
|
56
|
+
type: DataTypes.TEXT,
|
|
57
|
+
allowNull: true,
|
|
58
|
+
field: 'last_name'
|
|
59
|
+
},
|
|
60
|
+
jukeboxSessionId: {
|
|
61
|
+
type: DataTypes.UUID,
|
|
62
|
+
allowNull: false,
|
|
63
|
+
references: {
|
|
64
|
+
model: 'jukebox_session',
|
|
65
|
+
key: 'id'
|
|
66
|
+
},
|
|
67
|
+
field: 'jukebox_session_id'
|
|
68
|
+
},
|
|
69
|
+
ipAddress: {
|
|
70
|
+
type: DataTypes.TEXT,
|
|
71
|
+
allowNull: true,
|
|
72
|
+
field: 'ip_address'
|
|
73
|
+
},
|
|
74
|
+
id: {
|
|
75
|
+
type: DataTypes.UUID,
|
|
76
|
+
allowNull: false,
|
|
77
|
+
defaultValue: DataTypes.UUIDV4,
|
|
78
|
+
primaryKey: true
|
|
79
|
+
},
|
|
80
|
+
createDate: {
|
|
81
|
+
type: DataTypes.DATE,
|
|
82
|
+
allowNull: false,
|
|
83
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
84
|
+
field: 'create_date'
|
|
85
|
+
},
|
|
86
|
+
updateDate: {
|
|
87
|
+
type: DataTypes.DATE,
|
|
88
|
+
allowNull: false,
|
|
89
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
90
|
+
field: 'update_date'
|
|
91
|
+
}
|
|
92
|
+
}, {
|
|
93
|
+
sequelize,
|
|
94
|
+
tableName: 'guest_user',
|
|
95
|
+
schema: 'eb',
|
|
96
|
+
timestamps: false,
|
|
97
|
+
indexes: [
|
|
98
|
+
{
|
|
99
|
+
name: "guest_user_pkey",
|
|
100
|
+
unique: true,
|
|
101
|
+
fields: [
|
|
102
|
+
{ name: "id" },
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
]
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -2,16 +2,16 @@ 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 { CanonTrack, CanonTrackId } from './CanonTrack';
|
|
5
|
+
import type { GuestUser, GuestUserId } from './GuestUser';
|
|
5
6
|
import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
|
|
6
7
|
import type { JukeboxUser, JukeboxUserId } from './JukeboxUser';
|
|
8
|
+
import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
|
|
7
9
|
import type { PlaybackStatusType, PlaybackStatusTypeId } from './PlaybackStatusType';
|
|
8
10
|
import type { TrackDeletionReason, TrackDeletionReasonId } from './TrackDeletionReason';
|
|
9
11
|
|
|
10
12
|
export interface JukeboxQueueEntryAttributes {
|
|
11
13
|
jukeboxSessionId: string;
|
|
12
|
-
trackId: string;
|
|
13
14
|
playbackPriority?: number;
|
|
14
|
-
trackAddedUserId: string;
|
|
15
15
|
playbackStarted?: Date;
|
|
16
16
|
id: string;
|
|
17
17
|
createdAt: Date;
|
|
@@ -19,20 +19,22 @@ export interface JukeboxQueueEntryAttributes {
|
|
|
19
19
|
setOrder: number;
|
|
20
20
|
trackDeletionReasonId: number;
|
|
21
21
|
playbackStatusTypeId: number;
|
|
22
|
+
trackId?: string;
|
|
23
|
+
trackAddedUserId?: string;
|
|
22
24
|
trackThumbsUp?: string[];
|
|
23
25
|
trackThumbsDown?: string[];
|
|
26
|
+
platformTrackId?: string;
|
|
27
|
+
trackAddedGuestUserId?: string;
|
|
24
28
|
}
|
|
25
29
|
|
|
26
30
|
export type JukeboxQueueEntryPk = "id";
|
|
27
31
|
export type JukeboxQueueEntryId = JukeboxQueueEntry[JukeboxQueueEntryPk];
|
|
28
|
-
export type JukeboxQueueEntryOptionalAttributes = "playbackPriority" | "playbackStarted" | "id" | "createdAt" | "updatedAt" | "setOrder" | "trackDeletionReasonId" | "playbackStatusTypeId" | "trackThumbsUp" | "trackThumbsDown";
|
|
32
|
+
export type JukeboxQueueEntryOptionalAttributes = "playbackPriority" | "playbackStarted" | "id" | "createdAt" | "updatedAt" | "setOrder" | "trackDeletionReasonId" | "playbackStatusTypeId" | "trackId" | "trackAddedUserId" | "trackThumbsUp" | "trackThumbsDown" | "platformTrackId" | "trackAddedGuestUserId";
|
|
29
33
|
export type JukeboxQueueEntryCreationAttributes = Optional<JukeboxQueueEntryAttributes, JukeboxQueueEntryOptionalAttributes>;
|
|
30
34
|
|
|
31
35
|
export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, JukeboxQueueEntryCreationAttributes> implements JukeboxQueueEntryAttributes {
|
|
32
36
|
jukeboxSessionId!: string;
|
|
33
|
-
trackId!: string;
|
|
34
37
|
playbackPriority?: number;
|
|
35
|
-
trackAddedUserId!: string;
|
|
36
38
|
playbackStarted?: Date;
|
|
37
39
|
id!: string;
|
|
38
40
|
createdAt!: Date;
|
|
@@ -40,8 +42,12 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
|
|
|
40
42
|
setOrder!: number;
|
|
41
43
|
trackDeletionReasonId!: number;
|
|
42
44
|
playbackStatusTypeId!: number;
|
|
45
|
+
trackId?: string;
|
|
46
|
+
trackAddedUserId?: string;
|
|
43
47
|
trackThumbsUp?: string[];
|
|
44
48
|
trackThumbsDown?: string[];
|
|
49
|
+
platformTrackId?: string;
|
|
50
|
+
trackAddedGuestUserId?: string;
|
|
45
51
|
|
|
46
52
|
// JukeboxQueueEntry belongsTo AppUser via trackAddedUserId
|
|
47
53
|
trackAddedUser!: AppUser;
|
|
@@ -53,6 +59,11 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
|
|
|
53
59
|
getTrack!: Sequelize.BelongsToGetAssociationMixin<CanonTrack>;
|
|
54
60
|
setTrack!: Sequelize.BelongsToSetAssociationMixin<CanonTrack, CanonTrackId>;
|
|
55
61
|
createTrack!: Sequelize.BelongsToCreateAssociationMixin<CanonTrack>;
|
|
62
|
+
// JukeboxQueueEntry belongsTo GuestUser via trackAddedGuestUserId
|
|
63
|
+
trackAddedGuestUser!: GuestUser;
|
|
64
|
+
getTrackAddedGuestUser!: Sequelize.BelongsToGetAssociationMixin<GuestUser>;
|
|
65
|
+
setTrackAddedGuestUser!: Sequelize.BelongsToSetAssociationMixin<GuestUser, GuestUserId>;
|
|
66
|
+
createTrackAddedGuestUser!: Sequelize.BelongsToCreateAssociationMixin<GuestUser>;
|
|
56
67
|
// JukeboxQueueEntry hasMany JukeboxUser via pausedQueueEntryId
|
|
57
68
|
jukeboxUsers!: JukeboxUser[];
|
|
58
69
|
getJukeboxUsers!: Sequelize.HasManyGetAssociationsMixin<JukeboxUser>;
|
|
@@ -70,6 +81,11 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
|
|
|
70
81
|
getJukeboxSession!: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
|
|
71
82
|
setJukeboxSession!: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
|
|
72
83
|
createJukeboxSession!: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
|
|
84
|
+
// JukeboxQueueEntry belongsTo PlatformTrack via platformTrackId
|
|
85
|
+
platformTrack!: PlatformTrack;
|
|
86
|
+
getPlatformTrack!: Sequelize.BelongsToGetAssociationMixin<PlatformTrack>;
|
|
87
|
+
setPlatformTrack!: Sequelize.BelongsToSetAssociationMixin<PlatformTrack, PlatformTrackId>;
|
|
88
|
+
createPlatformTrack!: Sequelize.BelongsToCreateAssociationMixin<PlatformTrack>;
|
|
73
89
|
// JukeboxQueueEntry belongsTo PlaybackStatusType via playbackStatusTypeId
|
|
74
90
|
playbackStatusType!: PlaybackStatusType;
|
|
75
91
|
getPlaybackStatusType!: Sequelize.BelongsToGetAssociationMixin<PlaybackStatusType>;
|
|
@@ -92,29 +108,11 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
|
|
|
92
108
|
},
|
|
93
109
|
field: 'jukebox_session_id'
|
|
94
110
|
},
|
|
95
|
-
trackId: {
|
|
96
|
-
type: DataTypes.UUID,
|
|
97
|
-
allowNull: false,
|
|
98
|
-
references: {
|
|
99
|
-
model: 'canon_track',
|
|
100
|
-
key: 'id'
|
|
101
|
-
},
|
|
102
|
-
field: 'track_id'
|
|
103
|
-
},
|
|
104
111
|
playbackPriority: {
|
|
105
112
|
type: DataTypes.DECIMAL,
|
|
106
113
|
allowNull: true,
|
|
107
114
|
field: 'playback_priority'
|
|
108
115
|
},
|
|
109
|
-
trackAddedUserId: {
|
|
110
|
-
type: DataTypes.UUID,
|
|
111
|
-
allowNull: false,
|
|
112
|
-
references: {
|
|
113
|
-
model: 'app_user',
|
|
114
|
-
key: 'id'
|
|
115
|
-
},
|
|
116
|
-
field: 'track_added_user_id'
|
|
117
|
-
},
|
|
118
116
|
playbackStarted: {
|
|
119
117
|
type: DataTypes.DATE,
|
|
120
118
|
allowNull: true,
|
|
@@ -164,6 +162,24 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
|
|
|
164
162
|
},
|
|
165
163
|
field: 'playback_status_type_id'
|
|
166
164
|
},
|
|
165
|
+
trackId: {
|
|
166
|
+
type: DataTypes.UUID,
|
|
167
|
+
allowNull: true,
|
|
168
|
+
references: {
|
|
169
|
+
model: 'canon_track',
|
|
170
|
+
key: 'id'
|
|
171
|
+
},
|
|
172
|
+
field: 'track_id'
|
|
173
|
+
},
|
|
174
|
+
trackAddedUserId: {
|
|
175
|
+
type: DataTypes.UUID,
|
|
176
|
+
allowNull: true,
|
|
177
|
+
references: {
|
|
178
|
+
model: 'app_user',
|
|
179
|
+
key: 'id'
|
|
180
|
+
},
|
|
181
|
+
field: 'track_added_user_id'
|
|
182
|
+
},
|
|
167
183
|
trackThumbsUp: {
|
|
168
184
|
type: DataTypes.ARRAY(DataTypes.UUID),
|
|
169
185
|
allowNull: true,
|
|
@@ -175,6 +191,24 @@ export class JukeboxQueueEntry extends Model<JukeboxQueueEntryAttributes, Jukebo
|
|
|
175
191
|
allowNull: true,
|
|
176
192
|
defaultValue: ["ARRAY[]"],
|
|
177
193
|
field: 'track_thumbs_down'
|
|
194
|
+
},
|
|
195
|
+
platformTrackId: {
|
|
196
|
+
type: DataTypes.UUID,
|
|
197
|
+
allowNull: true,
|
|
198
|
+
references: {
|
|
199
|
+
model: 'platform_track',
|
|
200
|
+
key: 'id'
|
|
201
|
+
},
|
|
202
|
+
field: 'platform_track_id'
|
|
203
|
+
},
|
|
204
|
+
trackAddedGuestUserId: {
|
|
205
|
+
type: DataTypes.UUID,
|
|
206
|
+
allowNull: true,
|
|
207
|
+
references: {
|
|
208
|
+
model: 'guest_user',
|
|
209
|
+
key: 'id'
|
|
210
|
+
},
|
|
211
|
+
field: 'track_added_guest_user_id'
|
|
178
212
|
}
|
|
179
213
|
}, {
|
|
180
214
|
sequelize,
|
package/models/JukeboxSession.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Sequelize from 'sequelize';
|
|
2
2
|
import { DataTypes, Model, Optional } from 'sequelize';
|
|
3
|
+
import type { GuestUser, GuestUserId } from './GuestUser';
|
|
3
4
|
import type { JukeboxAccessType, JukeboxAccessTypeId } from './JukeboxAccessType';
|
|
4
5
|
import type { JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId } from './JukeboxCanonGenreRelation';
|
|
5
6
|
import type { JukeboxInvite, JukeboxInviteId } from './JukeboxInvite';
|
|
@@ -55,6 +56,18 @@ export class JukeboxSession extends Model<JukeboxSessionAttributes, JukeboxSessi
|
|
|
55
56
|
getJukeboxQueueMode!: Sequelize.BelongsToGetAssociationMixin<JukeboxQueueMode>;
|
|
56
57
|
setJukeboxQueueMode!: Sequelize.BelongsToSetAssociationMixin<JukeboxQueueMode, JukeboxQueueModeId>;
|
|
57
58
|
createJukeboxQueueMode!: Sequelize.BelongsToCreateAssociationMixin<JukeboxQueueMode>;
|
|
59
|
+
// JukeboxSession hasMany GuestUser via jukeboxSessionId
|
|
60
|
+
guestUsers!: GuestUser[];
|
|
61
|
+
getGuestUsers!: Sequelize.HasManyGetAssociationsMixin<GuestUser>;
|
|
62
|
+
setGuestUsers!: Sequelize.HasManySetAssociationsMixin<GuestUser, GuestUserId>;
|
|
63
|
+
addGuestUser!: Sequelize.HasManyAddAssociationMixin<GuestUser, GuestUserId>;
|
|
64
|
+
addGuestUsers!: Sequelize.HasManyAddAssociationsMixin<GuestUser, GuestUserId>;
|
|
65
|
+
createGuestUser!: Sequelize.HasManyCreateAssociationMixin<GuestUser>;
|
|
66
|
+
removeGuestUser!: Sequelize.HasManyRemoveAssociationMixin<GuestUser, GuestUserId>;
|
|
67
|
+
removeGuestUsers!: Sequelize.HasManyRemoveAssociationsMixin<GuestUser, GuestUserId>;
|
|
68
|
+
hasGuestUser!: Sequelize.HasManyHasAssociationMixin<GuestUser, GuestUserId>;
|
|
69
|
+
hasGuestUsers!: Sequelize.HasManyHasAssociationsMixin<GuestUser, GuestUserId>;
|
|
70
|
+
countGuestUsers!: Sequelize.HasManyCountAssociationsMixin;
|
|
58
71
|
// JukeboxSession hasMany JukeboxCanonGenreRelation via jukeboxSessionId
|
|
59
72
|
jukeboxCanonGenreRelations!: JukeboxCanonGenreRelation[];
|
|
60
73
|
getJukeboxCanonGenreRelations!: Sequelize.HasManyGetAssociationsMixin<JukeboxCanonGenreRelation>;
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { DataTypes, Model, Optional } from 'sequelize';
|
|
3
|
+
import type { CanonArtist, CanonArtistId } from './CanonArtist';
|
|
4
|
+
import type { MerchPlatform, MerchPlatformId } from './MerchPlatform';
|
|
5
|
+
import type { MerchType, MerchTypeId } from './MerchType';
|
|
6
|
+
|
|
7
|
+
export interface MerchItemAttributes {
|
|
8
|
+
id: string;
|
|
9
|
+
canonArtistId: string;
|
|
10
|
+
merchTypeId: string;
|
|
11
|
+
merchPlatformId: string;
|
|
12
|
+
merchItemPlatformId: string;
|
|
13
|
+
title: string;
|
|
14
|
+
description: string;
|
|
15
|
+
photo?: string;
|
|
16
|
+
popularity?: number;
|
|
17
|
+
inactive?: boolean;
|
|
18
|
+
createDate: Date;
|
|
19
|
+
updateDate: Date;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type MerchItemPk = "id";
|
|
23
|
+
export type MerchItemId = MerchItem[MerchItemPk];
|
|
24
|
+
export type MerchItemOptionalAttributes = "id" | "photo" | "popularity" | "inactive" | "createDate" | "updateDate";
|
|
25
|
+
export type MerchItemCreationAttributes = Optional<MerchItemAttributes, MerchItemOptionalAttributes>;
|
|
26
|
+
|
|
27
|
+
export class MerchItem extends Model<MerchItemAttributes, MerchItemCreationAttributes> implements MerchItemAttributes {
|
|
28
|
+
id!: string;
|
|
29
|
+
canonArtistId!: string;
|
|
30
|
+
merchTypeId!: string;
|
|
31
|
+
merchPlatformId!: string;
|
|
32
|
+
merchItemPlatformId!: string;
|
|
33
|
+
title!: string;
|
|
34
|
+
description!: string;
|
|
35
|
+
photo?: string;
|
|
36
|
+
popularity?: number;
|
|
37
|
+
inactive?: boolean;
|
|
38
|
+
createDate!: Date;
|
|
39
|
+
updateDate!: Date;
|
|
40
|
+
|
|
41
|
+
// MerchItem belongsTo CanonArtist via canonArtistId
|
|
42
|
+
canonArtist!: CanonArtist;
|
|
43
|
+
getCanonArtist!: Sequelize.BelongsToGetAssociationMixin<CanonArtist>;
|
|
44
|
+
setCanonArtist!: Sequelize.BelongsToSetAssociationMixin<CanonArtist, CanonArtistId>;
|
|
45
|
+
createCanonArtist!: Sequelize.BelongsToCreateAssociationMixin<CanonArtist>;
|
|
46
|
+
// MerchItem belongsTo MerchPlatform via merchPlatformId
|
|
47
|
+
merchPlatform!: MerchPlatform;
|
|
48
|
+
getMerchPlatform!: Sequelize.BelongsToGetAssociationMixin<MerchPlatform>;
|
|
49
|
+
setMerchPlatform!: Sequelize.BelongsToSetAssociationMixin<MerchPlatform, MerchPlatformId>;
|
|
50
|
+
createMerchPlatform!: Sequelize.BelongsToCreateAssociationMixin<MerchPlatform>;
|
|
51
|
+
// MerchItem belongsTo MerchType via merchTypeId
|
|
52
|
+
merchType!: MerchType;
|
|
53
|
+
getMerchType!: Sequelize.BelongsToGetAssociationMixin<MerchType>;
|
|
54
|
+
setMerchType!: Sequelize.BelongsToSetAssociationMixin<MerchType, MerchTypeId>;
|
|
55
|
+
createMerchType!: Sequelize.BelongsToCreateAssociationMixin<MerchType>;
|
|
56
|
+
|
|
57
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof MerchItem {
|
|
58
|
+
return MerchItem.init({
|
|
59
|
+
id: {
|
|
60
|
+
type: DataTypes.UUID,
|
|
61
|
+
allowNull: false,
|
|
62
|
+
defaultValue: DataTypes.UUIDV4,
|
|
63
|
+
primaryKey: true
|
|
64
|
+
},
|
|
65
|
+
canonArtistId: {
|
|
66
|
+
type: DataTypes.UUID,
|
|
67
|
+
allowNull: false,
|
|
68
|
+
references: {
|
|
69
|
+
model: 'canon_artist',
|
|
70
|
+
key: 'id'
|
|
71
|
+
},
|
|
72
|
+
field: 'canon_artist_id'
|
|
73
|
+
},
|
|
74
|
+
merchTypeId: {
|
|
75
|
+
type: DataTypes.UUID,
|
|
76
|
+
allowNull: false,
|
|
77
|
+
references: {
|
|
78
|
+
model: 'merch_type',
|
|
79
|
+
key: 'id'
|
|
80
|
+
},
|
|
81
|
+
field: 'merch_type_id'
|
|
82
|
+
},
|
|
83
|
+
merchPlatformId: {
|
|
84
|
+
type: DataTypes.UUID,
|
|
85
|
+
allowNull: false,
|
|
86
|
+
references: {
|
|
87
|
+
model: 'merch_platform',
|
|
88
|
+
key: 'id'
|
|
89
|
+
},
|
|
90
|
+
field: 'merch_platform_id'
|
|
91
|
+
},
|
|
92
|
+
merchItemPlatformId: {
|
|
93
|
+
type: DataTypes.TEXT,
|
|
94
|
+
allowNull: false,
|
|
95
|
+
field: 'merch_item_platform_id'
|
|
96
|
+
},
|
|
97
|
+
title: {
|
|
98
|
+
type: DataTypes.TEXT,
|
|
99
|
+
allowNull: false
|
|
100
|
+
},
|
|
101
|
+
description: {
|
|
102
|
+
type: DataTypes.TEXT,
|
|
103
|
+
allowNull: false
|
|
104
|
+
},
|
|
105
|
+
photo: {
|
|
106
|
+
type: DataTypes.TEXT,
|
|
107
|
+
allowNull: true
|
|
108
|
+
},
|
|
109
|
+
popularity: {
|
|
110
|
+
type: DataTypes.SMALLINT,
|
|
111
|
+
allowNull: true
|
|
112
|
+
},
|
|
113
|
+
inactive: {
|
|
114
|
+
type: DataTypes.BOOLEAN,
|
|
115
|
+
allowNull: true,
|
|
116
|
+
defaultValue: false
|
|
117
|
+
},
|
|
118
|
+
createDate: {
|
|
119
|
+
type: DataTypes.DATE,
|
|
120
|
+
allowNull: false,
|
|
121
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
122
|
+
field: 'create_date'
|
|
123
|
+
},
|
|
124
|
+
updateDate: {
|
|
125
|
+
type: DataTypes.DATE,
|
|
126
|
+
allowNull: false,
|
|
127
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
128
|
+
field: 'update_date'
|
|
129
|
+
}
|
|
130
|
+
}, {
|
|
131
|
+
sequelize,
|
|
132
|
+
tableName: 'merch_item',
|
|
133
|
+
schema: 'eb',
|
|
134
|
+
timestamps: false,
|
|
135
|
+
indexes: [
|
|
136
|
+
{
|
|
137
|
+
name: "merch_item_pkey",
|
|
138
|
+
unique: true,
|
|
139
|
+
fields: [
|
|
140
|
+
{ name: "id" },
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
]
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { DataTypes, Model, Optional } from 'sequelize';
|
|
3
|
+
import type { CanonArtist, CanonArtistId } from './CanonArtist';
|
|
4
|
+
import type { MerchPlatform, MerchPlatformId } from './MerchPlatform';
|
|
5
|
+
import type { MerchType, MerchTypeId } from './MerchType';
|
|
6
|
+
|
|
7
|
+
export interface MerchOrchestrationAttributes {
|
|
8
|
+
id: string;
|
|
9
|
+
canonArtistId: string;
|
|
10
|
+
merchTypeId: string;
|
|
11
|
+
merchPlatformId: string;
|
|
12
|
+
errorMessage?: string;
|
|
13
|
+
lastHarvestDate?: Date;
|
|
14
|
+
createDate: Date;
|
|
15
|
+
updateDate: Date;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export type MerchOrchestrationPk = "id";
|
|
19
|
+
export type MerchOrchestrationId = MerchOrchestration[MerchOrchestrationPk];
|
|
20
|
+
export type MerchOrchestrationOptionalAttributes = "id" | "errorMessage" | "lastHarvestDate" | "createDate" | "updateDate";
|
|
21
|
+
export type MerchOrchestrationCreationAttributes = Optional<MerchOrchestrationAttributes, MerchOrchestrationOptionalAttributes>;
|
|
22
|
+
|
|
23
|
+
export class MerchOrchestration extends Model<MerchOrchestrationAttributes, MerchOrchestrationCreationAttributes> implements MerchOrchestrationAttributes {
|
|
24
|
+
id!: string;
|
|
25
|
+
canonArtistId!: string;
|
|
26
|
+
merchTypeId!: string;
|
|
27
|
+
merchPlatformId!: string;
|
|
28
|
+
errorMessage?: string;
|
|
29
|
+
lastHarvestDate?: Date;
|
|
30
|
+
createDate!: Date;
|
|
31
|
+
updateDate!: Date;
|
|
32
|
+
|
|
33
|
+
// MerchOrchestration belongsTo CanonArtist via canonArtistId
|
|
34
|
+
canonArtist!: CanonArtist;
|
|
35
|
+
getCanonArtist!: Sequelize.BelongsToGetAssociationMixin<CanonArtist>;
|
|
36
|
+
setCanonArtist!: Sequelize.BelongsToSetAssociationMixin<CanonArtist, CanonArtistId>;
|
|
37
|
+
createCanonArtist!: Sequelize.BelongsToCreateAssociationMixin<CanonArtist>;
|
|
38
|
+
// MerchOrchestration belongsTo MerchPlatform via merchPlatformId
|
|
39
|
+
merchPlatform!: MerchPlatform;
|
|
40
|
+
getMerchPlatform!: Sequelize.BelongsToGetAssociationMixin<MerchPlatform>;
|
|
41
|
+
setMerchPlatform!: Sequelize.BelongsToSetAssociationMixin<MerchPlatform, MerchPlatformId>;
|
|
42
|
+
createMerchPlatform!: Sequelize.BelongsToCreateAssociationMixin<MerchPlatform>;
|
|
43
|
+
// MerchOrchestration belongsTo MerchType via merchTypeId
|
|
44
|
+
merchType!: MerchType;
|
|
45
|
+
getMerchType!: Sequelize.BelongsToGetAssociationMixin<MerchType>;
|
|
46
|
+
setMerchType!: Sequelize.BelongsToSetAssociationMixin<MerchType, MerchTypeId>;
|
|
47
|
+
createMerchType!: Sequelize.BelongsToCreateAssociationMixin<MerchType>;
|
|
48
|
+
|
|
49
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof MerchOrchestration {
|
|
50
|
+
return MerchOrchestration.init({
|
|
51
|
+
id: {
|
|
52
|
+
type: DataTypes.UUID,
|
|
53
|
+
allowNull: false,
|
|
54
|
+
defaultValue: DataTypes.UUIDV4,
|
|
55
|
+
primaryKey: true
|
|
56
|
+
},
|
|
57
|
+
canonArtistId: {
|
|
58
|
+
type: DataTypes.UUID,
|
|
59
|
+
allowNull: false,
|
|
60
|
+
references: {
|
|
61
|
+
model: 'canon_artist',
|
|
62
|
+
key: 'id'
|
|
63
|
+
},
|
|
64
|
+
field: 'canon_artist_id'
|
|
65
|
+
},
|
|
66
|
+
merchTypeId: {
|
|
67
|
+
type: DataTypes.UUID,
|
|
68
|
+
allowNull: false,
|
|
69
|
+
references: {
|
|
70
|
+
model: 'merch_type',
|
|
71
|
+
key: 'id'
|
|
72
|
+
},
|
|
73
|
+
field: 'merch_type_id'
|
|
74
|
+
},
|
|
75
|
+
merchPlatformId: {
|
|
76
|
+
type: DataTypes.UUID,
|
|
77
|
+
allowNull: false,
|
|
78
|
+
references: {
|
|
79
|
+
model: 'merch_platform',
|
|
80
|
+
key: 'id'
|
|
81
|
+
},
|
|
82
|
+
field: 'merch_platform_id'
|
|
83
|
+
},
|
|
84
|
+
errorMessage: {
|
|
85
|
+
type: DataTypes.TEXT,
|
|
86
|
+
allowNull: true,
|
|
87
|
+
field: 'error_message'
|
|
88
|
+
},
|
|
89
|
+
lastHarvestDate: {
|
|
90
|
+
type: DataTypes.DATE,
|
|
91
|
+
allowNull: true,
|
|
92
|
+
field: 'last_harvest_date'
|
|
93
|
+
},
|
|
94
|
+
createDate: {
|
|
95
|
+
type: DataTypes.DATE,
|
|
96
|
+
allowNull: false,
|
|
97
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
98
|
+
field: 'create_date'
|
|
99
|
+
},
|
|
100
|
+
updateDate: {
|
|
101
|
+
type: DataTypes.DATE,
|
|
102
|
+
allowNull: false,
|
|
103
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
104
|
+
field: 'update_date'
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
sequelize,
|
|
108
|
+
tableName: 'merch_orchestration',
|
|
109
|
+
schema: 'eb',
|
|
110
|
+
timestamps: false,
|
|
111
|
+
indexes: [
|
|
112
|
+
{
|
|
113
|
+
name: "merch_orchestration_pkey",
|
|
114
|
+
unique: true,
|
|
115
|
+
fields: [
|
|
116
|
+
{ name: "id" },
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
]
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import * as Sequelize from 'sequelize';
|
|
2
|
+
import { DataTypes, Model, Optional } from 'sequelize';
|
|
3
|
+
import type { MerchItem, MerchItemId } from './MerchItem';
|
|
4
|
+
import type { MerchOrchestration, MerchOrchestrationId } from './MerchOrchestration';
|
|
5
|
+
|
|
6
|
+
export interface MerchPlatformAttributes {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
host: string;
|
|
10
|
+
createDate: Date;
|
|
11
|
+
updateDate: Date;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export type MerchPlatformPk = "id";
|
|
15
|
+
export type MerchPlatformId = MerchPlatform[MerchPlatformPk];
|
|
16
|
+
export type MerchPlatformOptionalAttributes = "id" | "createDate" | "updateDate";
|
|
17
|
+
export type MerchPlatformCreationAttributes = Optional<MerchPlatformAttributes, MerchPlatformOptionalAttributes>;
|
|
18
|
+
|
|
19
|
+
export class MerchPlatform extends Model<MerchPlatformAttributes, MerchPlatformCreationAttributes> implements MerchPlatformAttributes {
|
|
20
|
+
id!: string;
|
|
21
|
+
name!: string;
|
|
22
|
+
host!: string;
|
|
23
|
+
createDate!: Date;
|
|
24
|
+
updateDate!: Date;
|
|
25
|
+
|
|
26
|
+
// MerchPlatform hasMany MerchItem via merchPlatformId
|
|
27
|
+
merchItems!: MerchItem[];
|
|
28
|
+
getMerchItems!: Sequelize.HasManyGetAssociationsMixin<MerchItem>;
|
|
29
|
+
setMerchItems!: Sequelize.HasManySetAssociationsMixin<MerchItem, MerchItemId>;
|
|
30
|
+
addMerchItem!: Sequelize.HasManyAddAssociationMixin<MerchItem, MerchItemId>;
|
|
31
|
+
addMerchItems!: Sequelize.HasManyAddAssociationsMixin<MerchItem, MerchItemId>;
|
|
32
|
+
createMerchItem!: Sequelize.HasManyCreateAssociationMixin<MerchItem>;
|
|
33
|
+
removeMerchItem!: Sequelize.HasManyRemoveAssociationMixin<MerchItem, MerchItemId>;
|
|
34
|
+
removeMerchItems!: Sequelize.HasManyRemoveAssociationsMixin<MerchItem, MerchItemId>;
|
|
35
|
+
hasMerchItem!: Sequelize.HasManyHasAssociationMixin<MerchItem, MerchItemId>;
|
|
36
|
+
hasMerchItems!: Sequelize.HasManyHasAssociationsMixin<MerchItem, MerchItemId>;
|
|
37
|
+
countMerchItems!: Sequelize.HasManyCountAssociationsMixin;
|
|
38
|
+
// MerchPlatform hasMany MerchOrchestration via merchPlatformId
|
|
39
|
+
merchOrchestrations!: MerchOrchestration[];
|
|
40
|
+
getMerchOrchestrations!: Sequelize.HasManyGetAssociationsMixin<MerchOrchestration>;
|
|
41
|
+
setMerchOrchestrations!: Sequelize.HasManySetAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
42
|
+
addMerchOrchestration!: Sequelize.HasManyAddAssociationMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
43
|
+
addMerchOrchestrations!: Sequelize.HasManyAddAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
44
|
+
createMerchOrchestration!: Sequelize.HasManyCreateAssociationMixin<MerchOrchestration>;
|
|
45
|
+
removeMerchOrchestration!: Sequelize.HasManyRemoveAssociationMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
46
|
+
removeMerchOrchestrations!: Sequelize.HasManyRemoveAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
47
|
+
hasMerchOrchestration!: Sequelize.HasManyHasAssociationMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
48
|
+
hasMerchOrchestrations!: Sequelize.HasManyHasAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
|
|
49
|
+
countMerchOrchestrations!: Sequelize.HasManyCountAssociationsMixin;
|
|
50
|
+
|
|
51
|
+
static initModel(sequelize: Sequelize.Sequelize): typeof MerchPlatform {
|
|
52
|
+
return MerchPlatform.init({
|
|
53
|
+
id: {
|
|
54
|
+
type: DataTypes.UUID,
|
|
55
|
+
allowNull: false,
|
|
56
|
+
defaultValue: DataTypes.UUIDV4,
|
|
57
|
+
primaryKey: true
|
|
58
|
+
},
|
|
59
|
+
name: {
|
|
60
|
+
type: DataTypes.TEXT,
|
|
61
|
+
allowNull: false
|
|
62
|
+
},
|
|
63
|
+
host: {
|
|
64
|
+
type: DataTypes.TEXT,
|
|
65
|
+
allowNull: false
|
|
66
|
+
},
|
|
67
|
+
createDate: {
|
|
68
|
+
type: DataTypes.DATE,
|
|
69
|
+
allowNull: false,
|
|
70
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
71
|
+
field: 'create_date'
|
|
72
|
+
},
|
|
73
|
+
updateDate: {
|
|
74
|
+
type: DataTypes.DATE,
|
|
75
|
+
allowNull: false,
|
|
76
|
+
defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
|
|
77
|
+
field: 'update_date'
|
|
78
|
+
}
|
|
79
|
+
}, {
|
|
80
|
+
sequelize,
|
|
81
|
+
tableName: 'merch_platform',
|
|
82
|
+
schema: 'eb',
|
|
83
|
+
timestamps: false,
|
|
84
|
+
indexes: [
|
|
85
|
+
{
|
|
86
|
+
name: "merch_platform_pkey",
|
|
87
|
+
unique: true,
|
|
88
|
+
fields: [
|
|
89
|
+
{ name: "id" },
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
]
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|