@earbug/db-models 0.0.15 → 0.0.17

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.
Files changed (51) hide show
  1. package/.github/workflows/publish.yaml +54 -0
  2. package/.nvmrc +1 -1
  3. package/dist/AppUser.d.ts +24 -0
  4. package/dist/CanonArtist.d.ts +43 -1
  5. package/dist/CanonArtist.js +18 -2
  6. package/dist/GuestUser.d.ts +42 -0
  7. package/dist/GuestUser.js +91 -0
  8. package/dist/JukeboxQueueEntry.d.ts +19 -5
  9. package/dist/JukeboxQueueEntry.js +36 -18
  10. package/dist/JukeboxSession.d.ts +36 -0
  11. package/dist/MerchItem.d.ts +50 -0
  12. package/dist/MerchItem.js +120 -0
  13. package/dist/MerchOrchestration.d.ts +42 -0
  14. package/dist/MerchOrchestration.js +104 -0
  15. package/dist/MerchPlatform.d.ts +45 -0
  16. package/dist/MerchPlatform.js +75 -0
  17. package/dist/MerchType.d.ts +43 -0
  18. package/dist/MerchType.js +71 -0
  19. package/dist/NewsArticle.js +5 -5
  20. package/dist/NewsPlatform.js +2 -2
  21. package/dist/PlatformTrack.d.ts +12 -0
  22. package/dist/PlatformUserPlaylist.d.ts +24 -0
  23. package/dist/RadioShow.d.ts +24 -0
  24. package/dist/RadioShow.js +6 -0
  25. package/dist/RadioShowGenres.d.ts +3 -1
  26. package/dist/RadioShowGenres.js +24 -0
  27. package/dist/UserComments.d.ts +55 -0
  28. package/dist/UserComments.js +151 -0
  29. package/dist/UserLikes.d.ts +45 -0
  30. package/dist/UserLikes.js +151 -0
  31. package/dist/init-models.d.ts +23 -2
  32. package/dist/init-models.js +66 -2
  33. package/models/AppUser.ts +26 -0
  34. package/models/CanonArtist.ts +64 -3
  35. package/models/GuestUser.ts +108 -0
  36. package/models/JukeboxQueueEntry.ts +57 -23
  37. package/models/JukeboxSession.ts +39 -0
  38. package/models/MerchItem.ts +146 -0
  39. package/models/MerchOrchestration.ts +122 -0
  40. package/models/MerchPlatform.ts +95 -0
  41. package/models/MerchType.ts +89 -0
  42. package/models/NewsArticle.ts +5 -6
  43. package/models/NewsPlatform.ts +2 -3
  44. package/models/PlatformTrack.ts +13 -0
  45. package/models/PlatformUserPlaylist.ts +26 -0
  46. package/models/RadioShow.ts +32 -0
  47. package/models/RadioShowGenres.ts +27 -1
  48. package/models/UserComments.ts +184 -0
  49. package/models/UserLikes.ts +173 -0
  50. package/models/init-models.ts +85 -0
  51. package/package.json +1 -1
@@ -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';
@@ -10,6 +11,8 @@ import type { JukeboxTerminationCondition, JukeboxTerminationConditionId } from
10
11
  import type { JukeboxType, JukeboxTypeId } from './JukeboxType';
11
12
  import type { JukeboxUser, JukeboxUserId } from './JukeboxUser';
12
13
  import type { Notification, NotificationId } from './Notification';
14
+ import type { UserComments, UserCommentsId } from './UserComments';
15
+ import type { UserLikes, UserLikesId } from './UserLikes';
13
16
 
14
17
  export interface JukeboxSessionAttributes {
15
18
  typeId: number;
@@ -55,6 +58,18 @@ export class JukeboxSession extends Model<JukeboxSessionAttributes, JukeboxSessi
55
58
  getJukeboxQueueMode!: Sequelize.BelongsToGetAssociationMixin<JukeboxQueueMode>;
56
59
  setJukeboxQueueMode!: Sequelize.BelongsToSetAssociationMixin<JukeboxQueueMode, JukeboxQueueModeId>;
57
60
  createJukeboxQueueMode!: Sequelize.BelongsToCreateAssociationMixin<JukeboxQueueMode>;
61
+ // JukeboxSession hasMany GuestUser via jukeboxSessionId
62
+ guestUsers!: GuestUser[];
63
+ getGuestUsers!: Sequelize.HasManyGetAssociationsMixin<GuestUser>;
64
+ setGuestUsers!: Sequelize.HasManySetAssociationsMixin<GuestUser, GuestUserId>;
65
+ addGuestUser!: Sequelize.HasManyAddAssociationMixin<GuestUser, GuestUserId>;
66
+ addGuestUsers!: Sequelize.HasManyAddAssociationsMixin<GuestUser, GuestUserId>;
67
+ createGuestUser!: Sequelize.HasManyCreateAssociationMixin<GuestUser>;
68
+ removeGuestUser!: Sequelize.HasManyRemoveAssociationMixin<GuestUser, GuestUserId>;
69
+ removeGuestUsers!: Sequelize.HasManyRemoveAssociationsMixin<GuestUser, GuestUserId>;
70
+ hasGuestUser!: Sequelize.HasManyHasAssociationMixin<GuestUser, GuestUserId>;
71
+ hasGuestUsers!: Sequelize.HasManyHasAssociationsMixin<GuestUser, GuestUserId>;
72
+ countGuestUsers!: Sequelize.HasManyCountAssociationsMixin;
58
73
  // JukeboxSession hasMany JukeboxCanonGenreRelation via jukeboxSessionId
59
74
  jukeboxCanonGenreRelations!: JukeboxCanonGenreRelation[];
60
75
  getJukeboxCanonGenreRelations!: Sequelize.HasManyGetAssociationsMixin<JukeboxCanonGenreRelation>;
@@ -115,6 +130,30 @@ export class JukeboxSession extends Model<JukeboxSessionAttributes, JukeboxSessi
115
130
  hasNotification!: Sequelize.HasManyHasAssociationMixin<Notification, NotificationId>;
116
131
  hasNotifications!: Sequelize.HasManyHasAssociationsMixin<Notification, NotificationId>;
117
132
  countNotifications!: Sequelize.HasManyCountAssociationsMixin;
133
+ // JukeboxSession hasMany UserComments via jukeboxId
134
+ userComments!: UserComments[];
135
+ getUserComments!: Sequelize.HasManyGetAssociationsMixin<UserComments>;
136
+ setUserComments!: Sequelize.HasManySetAssociationsMixin<UserComments, UserCommentsId>;
137
+ addUserComment!: Sequelize.HasManyAddAssociationMixin<UserComments, UserCommentsId>;
138
+ addUserComments!: Sequelize.HasManyAddAssociationsMixin<UserComments, UserCommentsId>;
139
+ createUserComment!: Sequelize.HasManyCreateAssociationMixin<UserComments>;
140
+ removeUserComment!: Sequelize.HasManyRemoveAssociationMixin<UserComments, UserCommentsId>;
141
+ removeUserComments!: Sequelize.HasManyRemoveAssociationsMixin<UserComments, UserCommentsId>;
142
+ hasUserComment!: Sequelize.HasManyHasAssociationMixin<UserComments, UserCommentsId>;
143
+ hasUserComments!: Sequelize.HasManyHasAssociationsMixin<UserComments, UserCommentsId>;
144
+ countUserComments!: Sequelize.HasManyCountAssociationsMixin;
145
+ // JukeboxSession hasMany UserLikes via jukeboxId
146
+ userLikes!: UserLikes[];
147
+ getUserLikes!: Sequelize.HasManyGetAssociationsMixin<UserLikes>;
148
+ setUserLikes!: Sequelize.HasManySetAssociationsMixin<UserLikes, UserLikesId>;
149
+ addUserLike!: Sequelize.HasManyAddAssociationMixin<UserLikes, UserLikesId>;
150
+ addUserLikes!: Sequelize.HasManyAddAssociationsMixin<UserLikes, UserLikesId>;
151
+ createUserLike!: Sequelize.HasManyCreateAssociationMixin<UserLikes>;
152
+ removeUserLike!: Sequelize.HasManyRemoveAssociationMixin<UserLikes, UserLikesId>;
153
+ removeUserLikes!: Sequelize.HasManyRemoveAssociationsMixin<UserLikes, UserLikesId>;
154
+ hasUserLike!: Sequelize.HasManyHasAssociationMixin<UserLikes, UserLikesId>;
155
+ hasUserLikes!: Sequelize.HasManyHasAssociationsMixin<UserLikes, UserLikesId>;
156
+ countUserLikes!: Sequelize.HasManyCountAssociationsMixin;
118
157
  // JukeboxSession belongsTo JukeboxStatus via jukeboxStatusId
119
158
  jukeboxStatus!: JukeboxStatus;
120
159
  getJukeboxStatus!: Sequelize.BelongsToGetAssociationMixin<JukeboxStatus>;
@@ -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
+ canonArtistId: string;
9
+ merchTypeId: string;
10
+ merchPlatformId: string;
11
+ merchItemPlatformId: string;
12
+ title: string;
13
+ description: string;
14
+ photo?: string;
15
+ popularity?: number;
16
+ id: string;
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 = "photo" | "popularity" | "id" | "inactive" | "createDate" | "updateDate";
25
+ export type MerchItemCreationAttributes = Optional<MerchItemAttributes, MerchItemOptionalAttributes>;
26
+
27
+ export class MerchItem extends Model<MerchItemAttributes, MerchItemCreationAttributes> implements MerchItemAttributes {
28
+ canonArtistId!: string;
29
+ merchTypeId!: string;
30
+ merchPlatformId!: string;
31
+ merchItemPlatformId!: string;
32
+ title!: string;
33
+ description!: string;
34
+ photo?: string;
35
+ popularity?: number;
36
+ id!: string;
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
+ canonArtistId: {
60
+ type: DataTypes.UUID,
61
+ allowNull: false,
62
+ references: {
63
+ model: 'canon_artist',
64
+ key: 'id'
65
+ },
66
+ field: 'canon_artist_id'
67
+ },
68
+ merchTypeId: {
69
+ type: DataTypes.UUID,
70
+ allowNull: false,
71
+ references: {
72
+ model: 'merch_type',
73
+ key: 'id'
74
+ },
75
+ field: 'merch_type_id'
76
+ },
77
+ merchPlatformId: {
78
+ type: DataTypes.UUID,
79
+ allowNull: false,
80
+ references: {
81
+ model: 'merch_platform',
82
+ key: 'id'
83
+ },
84
+ field: 'merch_platform_id'
85
+ },
86
+ merchItemPlatformId: {
87
+ type: DataTypes.TEXT,
88
+ allowNull: false,
89
+ field: 'merch_item_platform_id'
90
+ },
91
+ title: {
92
+ type: DataTypes.TEXT,
93
+ allowNull: false
94
+ },
95
+ description: {
96
+ type: DataTypes.TEXT,
97
+ allowNull: false
98
+ },
99
+ photo: {
100
+ type: DataTypes.TEXT,
101
+ allowNull: true
102
+ },
103
+ popularity: {
104
+ type: DataTypes.SMALLINT,
105
+ allowNull: true
106
+ },
107
+ id: {
108
+ type: DataTypes.UUID,
109
+ allowNull: false,
110
+ defaultValue: DataTypes.UUIDV4,
111
+ primaryKey: 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
+ canonArtistId: string;
9
+ merchTypeId: string;
10
+ merchPlatformId: string;
11
+ errorMessage?: string;
12
+ lastHarvestDate?: Date;
13
+ id: string;
14
+ createDate: Date;
15
+ updateDate: Date;
16
+ }
17
+
18
+ export type MerchOrchestrationPk = "id";
19
+ export type MerchOrchestrationId = MerchOrchestration[MerchOrchestrationPk];
20
+ export type MerchOrchestrationOptionalAttributes = "errorMessage" | "lastHarvestDate" | "id" | "createDate" | "updateDate";
21
+ export type MerchOrchestrationCreationAttributes = Optional<MerchOrchestrationAttributes, MerchOrchestrationOptionalAttributes>;
22
+
23
+ export class MerchOrchestration extends Model<MerchOrchestrationAttributes, MerchOrchestrationCreationAttributes> implements MerchOrchestrationAttributes {
24
+ canonArtistId!: string;
25
+ merchTypeId!: string;
26
+ merchPlatformId!: string;
27
+ errorMessage?: string;
28
+ lastHarvestDate?: Date;
29
+ id!: string;
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
+ canonArtistId: {
52
+ type: DataTypes.UUID,
53
+ allowNull: false,
54
+ references: {
55
+ model: 'canon_artist',
56
+ key: 'id'
57
+ },
58
+ field: 'canon_artist_id'
59
+ },
60
+ merchTypeId: {
61
+ type: DataTypes.UUID,
62
+ allowNull: false,
63
+ references: {
64
+ model: 'merch_type',
65
+ key: 'id'
66
+ },
67
+ field: 'merch_type_id'
68
+ },
69
+ merchPlatformId: {
70
+ type: DataTypes.UUID,
71
+ allowNull: false,
72
+ references: {
73
+ model: 'merch_platform',
74
+ key: 'id'
75
+ },
76
+ field: 'merch_platform_id'
77
+ },
78
+ errorMessage: {
79
+ type: DataTypes.TEXT,
80
+ allowNull: true,
81
+ field: 'error_message'
82
+ },
83
+ lastHarvestDate: {
84
+ type: DataTypes.DATE,
85
+ allowNull: true,
86
+ field: 'last_harvest_date'
87
+ },
88
+ id: {
89
+ type: DataTypes.UUID,
90
+ allowNull: false,
91
+ defaultValue: DataTypes.UUIDV4,
92
+ primaryKey: true
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
+ name: string;
8
+ host: string;
9
+ id: 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
+ name!: string;
21
+ host!: string;
22
+ id!: 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
+ name: {
54
+ type: DataTypes.TEXT,
55
+ allowNull: false
56
+ },
57
+ host: {
58
+ type: DataTypes.TEXT,
59
+ allowNull: false
60
+ },
61
+ id: {
62
+ type: DataTypes.UUID,
63
+ allowNull: false,
64
+ defaultValue: DataTypes.UUIDV4,
65
+ primaryKey: true
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
+ }
@@ -0,0 +1,89 @@
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 MerchTypeAttributes {
7
+ description: string;
8
+ id: string;
9
+ createDate: Date;
10
+ updateDate: Date;
11
+ }
12
+
13
+ export type MerchTypePk = "id";
14
+ export type MerchTypeId = MerchType[MerchTypePk];
15
+ export type MerchTypeOptionalAttributes = "id" | "createDate" | "updateDate";
16
+ export type MerchTypeCreationAttributes = Optional<MerchTypeAttributes, MerchTypeOptionalAttributes>;
17
+
18
+ export class MerchType extends Model<MerchTypeAttributes, MerchTypeCreationAttributes> implements MerchTypeAttributes {
19
+ description!: string;
20
+ id!: string;
21
+ createDate!: Date;
22
+ updateDate!: Date;
23
+
24
+ // MerchType hasMany MerchItem via merchTypeId
25
+ merchItems!: MerchItem[];
26
+ getMerchItems!: Sequelize.HasManyGetAssociationsMixin<MerchItem>;
27
+ setMerchItems!: Sequelize.HasManySetAssociationsMixin<MerchItem, MerchItemId>;
28
+ addMerchItem!: Sequelize.HasManyAddAssociationMixin<MerchItem, MerchItemId>;
29
+ addMerchItems!: Sequelize.HasManyAddAssociationsMixin<MerchItem, MerchItemId>;
30
+ createMerchItem!: Sequelize.HasManyCreateAssociationMixin<MerchItem>;
31
+ removeMerchItem!: Sequelize.HasManyRemoveAssociationMixin<MerchItem, MerchItemId>;
32
+ removeMerchItems!: Sequelize.HasManyRemoveAssociationsMixin<MerchItem, MerchItemId>;
33
+ hasMerchItem!: Sequelize.HasManyHasAssociationMixin<MerchItem, MerchItemId>;
34
+ hasMerchItems!: Sequelize.HasManyHasAssociationsMixin<MerchItem, MerchItemId>;
35
+ countMerchItems!: Sequelize.HasManyCountAssociationsMixin;
36
+ // MerchType hasMany MerchOrchestration via merchTypeId
37
+ merchOrchestrations!: MerchOrchestration[];
38
+ getMerchOrchestrations!: Sequelize.HasManyGetAssociationsMixin<MerchOrchestration>;
39
+ setMerchOrchestrations!: Sequelize.HasManySetAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
40
+ addMerchOrchestration!: Sequelize.HasManyAddAssociationMixin<MerchOrchestration, MerchOrchestrationId>;
41
+ addMerchOrchestrations!: Sequelize.HasManyAddAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
42
+ createMerchOrchestration!: Sequelize.HasManyCreateAssociationMixin<MerchOrchestration>;
43
+ removeMerchOrchestration!: Sequelize.HasManyRemoveAssociationMixin<MerchOrchestration, MerchOrchestrationId>;
44
+ removeMerchOrchestrations!: Sequelize.HasManyRemoveAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
45
+ hasMerchOrchestration!: Sequelize.HasManyHasAssociationMixin<MerchOrchestration, MerchOrchestrationId>;
46
+ hasMerchOrchestrations!: Sequelize.HasManyHasAssociationsMixin<MerchOrchestration, MerchOrchestrationId>;
47
+ countMerchOrchestrations!: Sequelize.HasManyCountAssociationsMixin;
48
+
49
+ static initModel(sequelize: Sequelize.Sequelize): typeof MerchType {
50
+ return MerchType.init({
51
+ description: {
52
+ type: DataTypes.TEXT,
53
+ allowNull: false
54
+ },
55
+ id: {
56
+ type: DataTypes.UUID,
57
+ allowNull: false,
58
+ defaultValue: DataTypes.UUIDV4,
59
+ primaryKey: true
60
+ },
61
+ createDate: {
62
+ type: DataTypes.DATE,
63
+ allowNull: false,
64
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
65
+ field: 'create_date'
66
+ },
67
+ updateDate: {
68
+ type: DataTypes.DATE,
69
+ allowNull: false,
70
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
71
+ field: 'update_date'
72
+ }
73
+ }, {
74
+ sequelize,
75
+ tableName: 'merch_type',
76
+ schema: 'eb',
77
+ timestamps: false,
78
+ indexes: [
79
+ {
80
+ name: "merch_type_pkey",
81
+ unique: true,
82
+ fields: [
83
+ { name: "id" },
84
+ ]
85
+ },
86
+ ]
87
+ });
88
+ }
89
+ }
@@ -49,7 +49,7 @@ export class NewsArticle extends Model<NewsArticleAttributes, NewsArticleCreatio
49
49
  id: {
50
50
  type: DataTypes.UUID,
51
51
  allowNull: false,
52
- defaultValue: Sequelize.Sequelize.fn('uuid_generate_v4'),
52
+ defaultValue: DataTypes.UUIDV4,
53
53
  primaryKey: true
54
54
  },
55
55
  canonArtistId: {
@@ -71,20 +71,20 @@ export class NewsArticle extends Model<NewsArticleAttributes, NewsArticleCreatio
71
71
  field: 'news_platform_id'
72
72
  },
73
73
  title: {
74
- type: DataTypes.CITEXT,
74
+ type: DataTypes.TEXT,
75
75
  allowNull: false
76
76
  },
77
77
  description: {
78
- type: DataTypes.CITEXT,
78
+ type: DataTypes.TEXT,
79
79
  allowNull: false
80
80
  },
81
81
  articleUrl: {
82
- type: DataTypes.CITEXT,
82
+ type: DataTypes.TEXT,
83
83
  allowNull: false,
84
84
  field: 'article_url'
85
85
  },
86
86
  photoUrl: {
87
- type: DataTypes.CITEXT,
87
+ type: DataTypes.TEXT,
88
88
  allowNull: false,
89
89
  field: 'photo_url'
90
90
  },
@@ -123,4 +123,3 @@ export class NewsArticle extends Model<NewsArticleAttributes, NewsArticleCreatio
123
123
  });
124
124
  }
125
125
  }
126
-
@@ -38,11 +38,11 @@ export class NewsPlatform extends Model<NewsPlatformAttributes, NewsPlatformCrea
38
38
  id: {
39
39
  type: DataTypes.UUID,
40
40
  allowNull: false,
41
- defaultValue: Sequelize.Sequelize.fn('uuid_generate_v4'),
41
+ defaultValue: DataTypes.UUIDV4,
42
42
  primaryKey: true
43
43
  },
44
44
  name: {
45
- type: DataTypes.CITEXT,
45
+ type: DataTypes.TEXT,
46
46
  allowNull: false
47
47
  },
48
48
  createDate: {
@@ -74,4 +74,3 @@ export class NewsPlatform extends Model<NewsPlatformAttributes, NewsPlatformCrea
74
74
  });
75
75
  }
76
76
  }
77
-
@@ -2,6 +2,7 @@ import * as Sequelize from 'sequelize';
2
2
  import { DataTypes, Model, Optional } from 'sequelize';
3
3
  import type { CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId } from './CanonToPlatformTrackRelation';
4
4
  import type { CanonTrack, CanonTrackId } from './CanonTrack';
5
+ import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
5
6
  import type { Platform, PlatformId } from './Platform';
6
7
  import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
7
8
  import type { PlatformAlbumTrackRelation, PlatformAlbumTrackRelationId } from './PlatformAlbumTrackRelation';
@@ -79,6 +80,18 @@ export class PlatformTrack extends Model<PlatformTrackAttributes, PlatformTrackC
79
80
  hasCanonTrackIdCanonTrackCanonToPlatformTrackRelation!: Sequelize.BelongsToManyHasAssociationMixin<CanonTrack, CanonTrackId>;
80
81
  hasCanonTrackIdCanonTrackCanonToPlatformTrackRelations!: Sequelize.BelongsToManyHasAssociationsMixin<CanonTrack, CanonTrackId>;
81
82
  countCanonTrackIdCanonTrackCanonToPlatformTrackRelations!: Sequelize.BelongsToManyCountAssociationsMixin;
83
+ // PlatformTrack hasMany JukeboxQueueEntry via platformTrackId
84
+ jukeboxQueueEntries!: JukeboxQueueEntry[];
85
+ getJukeboxQueueEntries!: Sequelize.HasManyGetAssociationsMixin<JukeboxQueueEntry>;
86
+ setJukeboxQueueEntries!: Sequelize.HasManySetAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
87
+ addJukeboxQueueEntry!: Sequelize.HasManyAddAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
88
+ addJukeboxQueueEntries!: Sequelize.HasManyAddAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
89
+ createJukeboxQueueEntry!: Sequelize.HasManyCreateAssociationMixin<JukeboxQueueEntry>;
90
+ removeJukeboxQueueEntry!: Sequelize.HasManyRemoveAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
91
+ removeJukeboxQueueEntries!: Sequelize.HasManyRemoveAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
92
+ hasJukeboxQueueEntry!: Sequelize.HasManyHasAssociationMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
93
+ hasJukeboxQueueEntries!: Sequelize.HasManyHasAssociationsMixin<JukeboxQueueEntry, JukeboxQueueEntryId>;
94
+ countJukeboxQueueEntries!: Sequelize.HasManyCountAssociationsMixin;
82
95
  // PlatformTrack belongsToMany PlatformAlbum via platformTrackId and platformAlbumId
83
96
  platformAlbumIdPlatformAlbumPlatformAlbumTrackRelations!: PlatformAlbum[];
84
97
  getPlatformAlbumIdPlatformAlbumPlatformAlbumTrackRelations!: Sequelize.BelongsToManyGetAssociationsMixin<PlatformAlbum>;
@@ -4,6 +4,8 @@ import type { AppUser, AppUserId } from './AppUser';
4
4
  import type { Platform, PlatformId } from './Platform';
5
5
  import type { PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId } from './PlatformUserPlaylistTrack';
6
6
  import type { State, StateId } from './State';
7
+ import type { UserComments, UserCommentsId } from './UserComments';
8
+ import type { UserLikes, UserLikesId } from './UserLikes';
7
9
 
8
10
  export interface PlatformUserPlaylistAttributes {
9
11
  appUserId: string;
@@ -63,6 +65,30 @@ export class PlatformUserPlaylist extends Model<PlatformUserPlaylistAttributes,
63
65
  hasPlatformUserPlaylistTrack!: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
64
66
  hasPlatformUserPlaylistTracks!: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylistTrack, PlatformUserPlaylistTrackId>;
65
67
  countPlatformUserPlaylistTracks!: Sequelize.HasManyCountAssociationsMixin;
68
+ // PlatformUserPlaylist hasMany UserComments via playlistId
69
+ userComments!: UserComments[];
70
+ getUserComments!: Sequelize.HasManyGetAssociationsMixin<UserComments>;
71
+ setUserComments!: Sequelize.HasManySetAssociationsMixin<UserComments, UserCommentsId>;
72
+ addUserComment!: Sequelize.HasManyAddAssociationMixin<UserComments, UserCommentsId>;
73
+ addUserComments!: Sequelize.HasManyAddAssociationsMixin<UserComments, UserCommentsId>;
74
+ createUserComment!: Sequelize.HasManyCreateAssociationMixin<UserComments>;
75
+ removeUserComment!: Sequelize.HasManyRemoveAssociationMixin<UserComments, UserCommentsId>;
76
+ removeUserComments!: Sequelize.HasManyRemoveAssociationsMixin<UserComments, UserCommentsId>;
77
+ hasUserComment!: Sequelize.HasManyHasAssociationMixin<UserComments, UserCommentsId>;
78
+ hasUserComments!: Sequelize.HasManyHasAssociationsMixin<UserComments, UserCommentsId>;
79
+ countUserComments!: Sequelize.HasManyCountAssociationsMixin;
80
+ // PlatformUserPlaylist hasMany UserLikes via playlistId
81
+ userLikes!: UserLikes[];
82
+ getUserLikes!: Sequelize.HasManyGetAssociationsMixin<UserLikes>;
83
+ setUserLikes!: Sequelize.HasManySetAssociationsMixin<UserLikes, UserLikesId>;
84
+ addUserLike!: Sequelize.HasManyAddAssociationMixin<UserLikes, UserLikesId>;
85
+ addUserLikes!: Sequelize.HasManyAddAssociationsMixin<UserLikes, UserLikesId>;
86
+ createUserLike!: Sequelize.HasManyCreateAssociationMixin<UserLikes>;
87
+ removeUserLike!: Sequelize.HasManyRemoveAssociationMixin<UserLikes, UserLikesId>;
88
+ removeUserLikes!: Sequelize.HasManyRemoveAssociationsMixin<UserLikes, UserLikesId>;
89
+ hasUserLike!: Sequelize.HasManyHasAssociationMixin<UserLikes, UserLikesId>;
90
+ hasUserLikes!: Sequelize.HasManyHasAssociationsMixin<UserLikes, UserLikesId>;
91
+ countUserLikes!: Sequelize.HasManyCountAssociationsMixin;
66
92
  // PlatformUserPlaylist belongsTo State via stateId
67
93
  state!: State;
68
94
  getState!: Sequelize.BelongsToGetAssociationMixin<State>;