@earbug/db-models 0.0.8 → 0.0.10

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/AppUser.d.ts CHANGED
@@ -6,8 +6,10 @@ import type { AppUserPlatformRelation, AppUserPlatformRelationId } from './AppUs
6
6
  import type { JukeboxInvite, JukeboxInviteId } from './JukeboxInvite';
7
7
  import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
8
8
  import type { JukeboxUser, JukeboxUserId } from './JukeboxUser';
9
+ import type { Notification, NotificationId } from './Notification';
9
10
  import type { PlatformUserAlbum, PlatformUserAlbumId } from './PlatformUserAlbum';
10
11
  import type { PlatformUserPlaylist, PlatformUserPlaylistId } from './PlatformUserPlaylist';
12
+ import type { RadioShow, RadioShowId } from './RadioShow';
11
13
  import type { State, StateId } from './State';
12
14
  import type { UserContacts, UserContactsId } from './UserContacts';
13
15
  export interface AppUserAttributes {
@@ -120,6 +122,28 @@ export declare class AppUser extends Model<AppUserAttributes, AppUserCreationAtt
120
122
  hasJukeboxUser: Sequelize.HasManyHasAssociationMixin<JukeboxUser, JukeboxUserId>;
121
123
  hasJukeboxUsers: Sequelize.HasManyHasAssociationsMixin<JukeboxUser, JukeboxUserId>;
122
124
  countJukeboxUsers: Sequelize.HasManyCountAssociationsMixin;
125
+ notifications: Notification[];
126
+ getNotifications: Sequelize.HasManyGetAssociationsMixin<Notification>;
127
+ setNotifications: Sequelize.HasManySetAssociationsMixin<Notification, NotificationId>;
128
+ addNotification: Sequelize.HasManyAddAssociationMixin<Notification, NotificationId>;
129
+ addNotifications: Sequelize.HasManyAddAssociationsMixin<Notification, NotificationId>;
130
+ createNotification: Sequelize.HasManyCreateAssociationMixin<Notification>;
131
+ removeNotification: Sequelize.HasManyRemoveAssociationMixin<Notification, NotificationId>;
132
+ removeNotifications: Sequelize.HasManyRemoveAssociationsMixin<Notification, NotificationId>;
133
+ hasNotification: Sequelize.HasManyHasAssociationMixin<Notification, NotificationId>;
134
+ hasNotifications: Sequelize.HasManyHasAssociationsMixin<Notification, NotificationId>;
135
+ countNotifications: Sequelize.HasManyCountAssociationsMixin;
136
+ targetUserNotifications: Notification[];
137
+ getTargetUserNotifications: Sequelize.HasManyGetAssociationsMixin<Notification>;
138
+ setTargetUserNotifications: Sequelize.HasManySetAssociationsMixin<Notification, NotificationId>;
139
+ addTargetUserNotification: Sequelize.HasManyAddAssociationMixin<Notification, NotificationId>;
140
+ addTargetUserNotifications: Sequelize.HasManyAddAssociationsMixin<Notification, NotificationId>;
141
+ createTargetUserNotification: Sequelize.HasManyCreateAssociationMixin<Notification>;
142
+ removeTargetUserNotification: Sequelize.HasManyRemoveAssociationMixin<Notification, NotificationId>;
143
+ removeTargetUserNotifications: Sequelize.HasManyRemoveAssociationsMixin<Notification, NotificationId>;
144
+ hasTargetUserNotification: Sequelize.HasManyHasAssociationMixin<Notification, NotificationId>;
145
+ hasTargetUserNotifications: Sequelize.HasManyHasAssociationsMixin<Notification, NotificationId>;
146
+ countTargetUserNotifications: Sequelize.HasManyCountAssociationsMixin;
123
147
  platformUserAlbums: PlatformUserAlbum[];
124
148
  getPlatformUserAlbums: Sequelize.HasManyGetAssociationsMixin<PlatformUserAlbum>;
125
149
  setPlatformUserAlbums: Sequelize.HasManySetAssociationsMixin<PlatformUserAlbum, PlatformUserAlbumId>;
@@ -142,6 +166,17 @@ export declare class AppUser extends Model<AppUserAttributes, AppUserCreationAtt
142
166
  hasPlatformUserPlaylist: Sequelize.HasManyHasAssociationMixin<PlatformUserPlaylist, PlatformUserPlaylistId>;
143
167
  hasPlatformUserPlaylists: Sequelize.HasManyHasAssociationsMixin<PlatformUserPlaylist, PlatformUserPlaylistId>;
144
168
  countPlatformUserPlaylists: Sequelize.HasManyCountAssociationsMixin;
169
+ radioShows: RadioShow[];
170
+ getRadioShows: Sequelize.HasManyGetAssociationsMixin<RadioShow>;
171
+ setRadioShows: Sequelize.HasManySetAssociationsMixin<RadioShow, RadioShowId>;
172
+ addRadioShow: Sequelize.HasManyAddAssociationMixin<RadioShow, RadioShowId>;
173
+ addRadioShows: Sequelize.HasManyAddAssociationsMixin<RadioShow, RadioShowId>;
174
+ createRadioShow: Sequelize.HasManyCreateAssociationMixin<RadioShow>;
175
+ removeRadioShow: Sequelize.HasManyRemoveAssociationMixin<RadioShow, RadioShowId>;
176
+ removeRadioShows: Sequelize.HasManyRemoveAssociationsMixin<RadioShow, RadioShowId>;
177
+ hasRadioShow: Sequelize.HasManyHasAssociationMixin<RadioShow, RadioShowId>;
178
+ hasRadioShows: Sequelize.HasManyHasAssociationsMixin<RadioShow, RadioShowId>;
179
+ countRadioShows: Sequelize.HasManyCountAssociationsMixin;
145
180
  userContacts: UserContacts[];
146
181
  getUserContacts: Sequelize.HasManyGetAssociationsMixin<UserContacts>;
147
182
  setUserContacts: Sequelize.HasManySetAssociationsMixin<UserContacts, UserContactsId>;
@@ -9,6 +9,7 @@ import type { JukeboxCanonGenreRelation, JukeboxCanonGenreRelationId } from './J
9
9
  import type { PlatformAlbum, PlatformAlbumId } from './PlatformAlbum';
10
10
  import type { PlatformArtist, PlatformArtistId } from './PlatformArtist';
11
11
  import type { PlatformGenre, PlatformGenreId } from './PlatformGenre';
12
+ import type { RadioShowGenres, RadioShowGenresId } from './RadioShowGenres';
12
13
  export interface CanonGenreAttributes {
13
14
  name: string;
14
15
  asciiName: string;
@@ -129,5 +130,16 @@ export declare class CanonGenre extends Model<CanonGenreAttributes, CanonGenreCr
129
130
  hasPlatformGenreIdPlatformGenre: Sequelize.BelongsToManyHasAssociationMixin<PlatformGenre, PlatformGenreId>;
130
131
  hasPlatformGenreIdPlatformGenres: Sequelize.BelongsToManyHasAssociationsMixin<PlatformGenre, PlatformGenreId>;
131
132
  countPlatformGenreIdPlatformGenres: Sequelize.BelongsToManyCountAssociationsMixin;
133
+ radioShowGenres: RadioShowGenres[];
134
+ getRadioShowGenres: Sequelize.HasManyGetAssociationsMixin<RadioShowGenres>;
135
+ setRadioShowGenres: Sequelize.HasManySetAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
136
+ addRadioShowGenre: Sequelize.HasManyAddAssociationMixin<RadioShowGenres, RadioShowGenresId>;
137
+ addRadioShowGenres: Sequelize.HasManyAddAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
138
+ createRadioShowGenre: Sequelize.HasManyCreateAssociationMixin<RadioShowGenres>;
139
+ removeRadioShowGenre: Sequelize.HasManyRemoveAssociationMixin<RadioShowGenres, RadioShowGenresId>;
140
+ removeRadioShowGenres: Sequelize.HasManyRemoveAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
141
+ hasRadioShowGenre: Sequelize.HasManyHasAssociationMixin<RadioShowGenres, RadioShowGenresId>;
142
+ hasRadioShowGenres: Sequelize.HasManyHasAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
143
+ countRadioShowGenres: Sequelize.HasManyCountAssociationsMixin;
132
144
  static initModel(sequelize: Sequelize.Sequelize): typeof CanonGenre;
133
145
  }
@@ -7,6 +7,7 @@ import type { CanonArtistTrackRelation, CanonArtistTrackRelationId } from './Can
7
7
  import type { CanonToPlatformTrackRelation, CanonToPlatformTrackRelationId } from './CanonToPlatformTrackRelation';
8
8
  import type { JukeboxQueueEntry, JukeboxQueueEntryId } from './JukeboxQueueEntry';
9
9
  import type { PlatformTrack, PlatformTrackId } from './PlatformTrack';
10
+ import type { RadioShowPlacement, RadioShowPlacementId } from './RadioShowPlacement';
10
11
  export interface CanonTrackAttributes {
11
12
  name: string;
12
13
  asciiName: string;
@@ -109,5 +110,16 @@ export declare class CanonTrack extends Model<CanonTrackAttributes, CanonTrackCr
109
110
  hasPlatformTrackIdPlatformTrack: Sequelize.BelongsToManyHasAssociationMixin<PlatformTrack, PlatformTrackId>;
110
111
  hasPlatformTrackIdPlatformTracks: Sequelize.BelongsToManyHasAssociationsMixin<PlatformTrack, PlatformTrackId>;
111
112
  countPlatformTrackIdPlatformTracks: Sequelize.BelongsToManyCountAssociationsMixin;
113
+ radioShowPlacements: RadioShowPlacement[];
114
+ getRadioShowPlacements: Sequelize.HasManyGetAssociationsMixin<RadioShowPlacement>;
115
+ setRadioShowPlacements: Sequelize.HasManySetAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
116
+ addRadioShowPlacement: Sequelize.HasManyAddAssociationMixin<RadioShowPlacement, RadioShowPlacementId>;
117
+ addRadioShowPlacements: Sequelize.HasManyAddAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
118
+ createRadioShowPlacement: Sequelize.HasManyCreateAssociationMixin<RadioShowPlacement>;
119
+ removeRadioShowPlacement: Sequelize.HasManyRemoveAssociationMixin<RadioShowPlacement, RadioShowPlacementId>;
120
+ removeRadioShowPlacements: Sequelize.HasManyRemoveAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
121
+ hasRadioShowPlacement: Sequelize.HasManyHasAssociationMixin<RadioShowPlacement, RadioShowPlacementId>;
122
+ hasRadioShowPlacements: Sequelize.HasManyHasAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
123
+ countRadioShowPlacements: Sequelize.HasManyCountAssociationsMixin;
112
124
  static initModel(sequelize: Sequelize.Sequelize): typeof CanonTrack;
113
125
  }
@@ -9,6 +9,7 @@ import type { JukeboxStatus, JukeboxStatusId } from './JukeboxStatus';
9
9
  import type { JukeboxTerminationCondition, JukeboxTerminationConditionId } from './JukeboxTerminationCondition';
10
10
  import type { JukeboxType, JukeboxTypeId } from './JukeboxType';
11
11
  import type { JukeboxUser, JukeboxUserId } from './JukeboxUser';
12
+ import type { Notification, NotificationId } from './Notification';
12
13
  export interface JukeboxSessionAttributes {
13
14
  typeId: number;
14
15
  accessTypeId: number;
@@ -92,6 +93,17 @@ export declare class JukeboxSession extends Model<JukeboxSessionAttributes, Juke
92
93
  hasJukeboxUser: Sequelize.HasManyHasAssociationMixin<JukeboxUser, JukeboxUserId>;
93
94
  hasJukeboxUsers: Sequelize.HasManyHasAssociationsMixin<JukeboxUser, JukeboxUserId>;
94
95
  countJukeboxUsers: Sequelize.HasManyCountAssociationsMixin;
96
+ notifications: Notification[];
97
+ getNotifications: Sequelize.HasManyGetAssociationsMixin<Notification>;
98
+ setNotifications: Sequelize.HasManySetAssociationsMixin<Notification, NotificationId>;
99
+ addNotification: Sequelize.HasManyAddAssociationMixin<Notification, NotificationId>;
100
+ addNotifications: Sequelize.HasManyAddAssociationsMixin<Notification, NotificationId>;
101
+ createNotification: Sequelize.HasManyCreateAssociationMixin<Notification>;
102
+ removeNotification: Sequelize.HasManyRemoveAssociationMixin<Notification, NotificationId>;
103
+ removeNotifications: Sequelize.HasManyRemoveAssociationsMixin<Notification, NotificationId>;
104
+ hasNotification: Sequelize.HasManyHasAssociationMixin<Notification, NotificationId>;
105
+ hasNotifications: Sequelize.HasManyHasAssociationsMixin<Notification, NotificationId>;
106
+ countNotifications: Sequelize.HasManyCountAssociationsMixin;
95
107
  jukeboxStatus: JukeboxStatus;
96
108
  getJukeboxStatus: Sequelize.BelongsToGetAssociationMixin<JukeboxStatus>;
97
109
  setJukeboxStatus: Sequelize.BelongsToSetAssociationMixin<JukeboxStatus, JukeboxStatusId>;
@@ -0,0 +1,62 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model, Optional } from 'sequelize';
3
+ import type { AppUser, AppUserId } from './AppUser';
4
+ import type { JukeboxSession, JukeboxSessionId } from './JukeboxSession';
5
+ import type { NotificationType, NotificationTypeId } from './NotificationType';
6
+ export interface NotificationAttributes {
7
+ targetUserId: string;
8
+ notificationTypeId: number;
9
+ metadata?: object;
10
+ readAt?: Date;
11
+ dismissedAt?: Date;
12
+ sourceUserId?: string;
13
+ jukeboxSessionId?: string;
14
+ expiresAt?: Date;
15
+ pushSentAt?: Date;
16
+ pushError?: string;
17
+ id: string;
18
+ isRead: boolean;
19
+ isDismissed: boolean;
20
+ createdAt: Date;
21
+ updatedAt: Date;
22
+ pushSent: boolean;
23
+ }
24
+ export type NotificationPk = "id";
25
+ export type NotificationId = Notification[NotificationPk];
26
+ export type NotificationOptionalAttributes = "metadata" | "readAt" | "dismissedAt" | "sourceUserId" | "jukeboxSessionId" | "expiresAt" | "pushSentAt" | "pushError" | "id" | "createdAt" | "updatedAt";
27
+ export type NotificationCreationAttributes = Optional<NotificationAttributes, NotificationOptionalAttributes>;
28
+ export declare class Notification extends Model<NotificationAttributes, NotificationCreationAttributes> implements NotificationAttributes {
29
+ targetUserId: string;
30
+ notificationTypeId: number;
31
+ metadata?: object;
32
+ readAt?: Date;
33
+ dismissedAt?: Date;
34
+ sourceUserId?: string;
35
+ jukeboxSessionId?: string;
36
+ expiresAt?: Date;
37
+ pushSentAt?: Date;
38
+ pushError?: string;
39
+ id: string;
40
+ isRead: boolean;
41
+ isDismissed: boolean;
42
+ createdAt: Date;
43
+ updatedAt: Date;
44
+ pushSent: boolean;
45
+ sourceUser: AppUser;
46
+ getSourceUser: Sequelize.BelongsToGetAssociationMixin<AppUser>;
47
+ setSourceUser: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
48
+ createSourceUser: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
49
+ targetUser: AppUser;
50
+ getTargetUser: Sequelize.BelongsToGetAssociationMixin<AppUser>;
51
+ setTargetUser: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
52
+ createTargetUser: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
53
+ jukeboxSession: JukeboxSession;
54
+ getJukeboxSession: Sequelize.BelongsToGetAssociationMixin<JukeboxSession>;
55
+ setJukeboxSession: Sequelize.BelongsToSetAssociationMixin<JukeboxSession, JukeboxSessionId>;
56
+ createJukeboxSession: Sequelize.BelongsToCreateAssociationMixin<JukeboxSession>;
57
+ notificationType: NotificationType;
58
+ getNotificationType: Sequelize.BelongsToGetAssociationMixin<NotificationType>;
59
+ setNotificationType: Sequelize.BelongsToSetAssociationMixin<NotificationType, NotificationTypeId>;
60
+ createNotificationType: Sequelize.BelongsToCreateAssociationMixin<NotificationType>;
61
+ static initModel(sequelize: Sequelize.Sequelize): typeof Notification;
62
+ }
@@ -0,0 +1,163 @@
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.Notification = void 0;
27
+ const Sequelize = __importStar(require("sequelize"));
28
+ const sequelize_1 = require("sequelize");
29
+ class Notification extends sequelize_1.Model {
30
+ static initModel(sequelize) {
31
+ return Notification.init({
32
+ targetUserId: {
33
+ type: sequelize_1.DataTypes.UUID,
34
+ allowNull: false,
35
+ references: {
36
+ model: 'app_user',
37
+ key: 'id'
38
+ },
39
+ field: 'target_user_id'
40
+ },
41
+ notificationTypeId: {
42
+ type: sequelize_1.DataTypes.SMALLINT,
43
+ allowNull: false,
44
+ references: {
45
+ model: 'notification_type',
46
+ key: 'id'
47
+ },
48
+ field: 'notification_type_id'
49
+ },
50
+ metadata: {
51
+ type: sequelize_1.DataTypes.JSONB,
52
+ allowNull: true
53
+ },
54
+ readAt: {
55
+ type: sequelize_1.DataTypes.DATE,
56
+ allowNull: true,
57
+ field: 'read_at'
58
+ },
59
+ dismissedAt: {
60
+ type: sequelize_1.DataTypes.DATE,
61
+ allowNull: true,
62
+ field: 'dismissed_at'
63
+ },
64
+ sourceUserId: {
65
+ type: sequelize_1.DataTypes.UUID,
66
+ allowNull: true,
67
+ references: {
68
+ model: 'app_user',
69
+ key: 'id'
70
+ },
71
+ field: 'source_user_id'
72
+ },
73
+ jukeboxSessionId: {
74
+ type: sequelize_1.DataTypes.UUID,
75
+ allowNull: true,
76
+ references: {
77
+ model: 'jukebox_session',
78
+ key: 'id'
79
+ },
80
+ field: 'jukebox_session_id'
81
+ },
82
+ expiresAt: {
83
+ type: sequelize_1.DataTypes.DATE,
84
+ allowNull: true,
85
+ field: 'expires_at'
86
+ },
87
+ pushSentAt: {
88
+ type: sequelize_1.DataTypes.DATE,
89
+ allowNull: true,
90
+ field: 'push_sent_at'
91
+ },
92
+ pushError: {
93
+ type: sequelize_1.DataTypes.TEXT,
94
+ allowNull: true,
95
+ field: 'push_error'
96
+ },
97
+ id: {
98
+ type: sequelize_1.DataTypes.UUID,
99
+ allowNull: false,
100
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
101
+ primaryKey: true
102
+ },
103
+ isRead: {
104
+ type: sequelize_1.DataTypes.BOOLEAN,
105
+ allowNull: false,
106
+ defaultValue: false,
107
+ field: 'is_read'
108
+ },
109
+ isDismissed: {
110
+ type: sequelize_1.DataTypes.BOOLEAN,
111
+ allowNull: false,
112
+ defaultValue: false,
113
+ field: 'is_dismissed'
114
+ },
115
+ createdAt: {
116
+ type: sequelize_1.DataTypes.DATE,
117
+ allowNull: false,
118
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
119
+ field: 'created_at'
120
+ },
121
+ updatedAt: {
122
+ type: sequelize_1.DataTypes.DATE,
123
+ allowNull: false,
124
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
125
+ field: 'updated_at'
126
+ },
127
+ pushSent: {
128
+ type: sequelize_1.DataTypes.BOOLEAN,
129
+ allowNull: false,
130
+ defaultValue: false,
131
+ field: 'push_sent'
132
+ }
133
+ }, {
134
+ sequelize,
135
+ tableName: 'notification',
136
+ schema: 'eb',
137
+ timestamps: false,
138
+ indexes: [
139
+ {
140
+ name: "idx_notification_expires_at",
141
+ fields: [
142
+ { name: "expires_at" },
143
+ ]
144
+ },
145
+ {
146
+ name: "idx_notification_target_user_created_at",
147
+ fields: [
148
+ { name: "target_user_id" },
149
+ { name: "created_at", order: "DESC" },
150
+ ]
151
+ },
152
+ {
153
+ name: "notification_pkey",
154
+ unique: true,
155
+ fields: [
156
+ { name: "id" },
157
+ ]
158
+ },
159
+ ]
160
+ });
161
+ }
162
+ }
163
+ exports.Notification = Notification;
@@ -0,0 +1,26 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ import type { Notification, NotificationId } from './Notification';
4
+ export interface NotificationTypeAttributes {
5
+ id: number;
6
+ name: string;
7
+ }
8
+ export type NotificationTypePk = "id";
9
+ export type NotificationTypeId = NotificationType[NotificationTypePk];
10
+ export type NotificationTypeCreationAttributes = NotificationTypeAttributes;
11
+ export declare class NotificationType extends Model<NotificationTypeAttributes, NotificationTypeCreationAttributes> implements NotificationTypeAttributes {
12
+ id: number;
13
+ name: string;
14
+ notifications: Notification[];
15
+ getNotifications: Sequelize.HasManyGetAssociationsMixin<Notification>;
16
+ setNotifications: Sequelize.HasManySetAssociationsMixin<Notification, NotificationId>;
17
+ addNotification: Sequelize.HasManyAddAssociationMixin<Notification, NotificationId>;
18
+ addNotifications: Sequelize.HasManyAddAssociationsMixin<Notification, NotificationId>;
19
+ createNotification: Sequelize.HasManyCreateAssociationMixin<Notification>;
20
+ removeNotification: Sequelize.HasManyRemoveAssociationMixin<Notification, NotificationId>;
21
+ removeNotifications: Sequelize.HasManyRemoveAssociationsMixin<Notification, NotificationId>;
22
+ hasNotification: Sequelize.HasManyHasAssociationMixin<Notification, NotificationId>;
23
+ hasNotifications: Sequelize.HasManyHasAssociationsMixin<Notification, NotificationId>;
24
+ countNotifications: Sequelize.HasManyCountAssociationsMixin;
25
+ static initModel(sequelize: Sequelize.Sequelize): typeof NotificationType;
26
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotificationType = void 0;
4
+ const sequelize_1 = require("sequelize");
5
+ class NotificationType extends sequelize_1.Model {
6
+ static initModel(sequelize) {
7
+ return NotificationType.init({
8
+ id: {
9
+ type: sequelize_1.DataTypes.SMALLINT,
10
+ allowNull: false,
11
+ primaryKey: true
12
+ },
13
+ name: {
14
+ type: sequelize_1.DataTypes.TEXT,
15
+ allowNull: false,
16
+ unique: "notification_type_name_unique"
17
+ }
18
+ }, {
19
+ sequelize,
20
+ tableName: 'notification_type',
21
+ schema: 'eb',
22
+ timestamps: false,
23
+ indexes: [
24
+ {
25
+ name: "notification_type_name_unique",
26
+ unique: true,
27
+ fields: [
28
+ { name: "name" },
29
+ ]
30
+ },
31
+ {
32
+ name: "notification_type_pkey",
33
+ unique: true,
34
+ fields: [
35
+ { name: "id" },
36
+ ]
37
+ },
38
+ ]
39
+ });
40
+ }
41
+ }
42
+ exports.NotificationType = NotificationType;
@@ -0,0 +1,80 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model, Optional } from 'sequelize';
3
+ import type { AppUser, AppUserId } from './AppUser';
4
+ import type { RadioShowGenres, RadioShowGenresId } from './RadioShowGenres';
5
+ import type { RadioShowMedia, RadioShowMediaId } from './RadioShowMedia';
6
+ import type { RadioShowPlacement, RadioShowPlacementId } from './RadioShowPlacement';
7
+ import type { RadioShowPublishRequests, RadioShowPublishRequestsId } from './RadioShowPublishRequests';
8
+ export interface RadioShowAttributes {
9
+ creatorUserId: string;
10
+ scheduledRelease?: Date;
11
+ title: string;
12
+ description?: string;
13
+ deleted?: boolean;
14
+ id: string;
15
+ createDate: Date;
16
+ updateDate: Date;
17
+ }
18
+ export type RadioShowPk = "id";
19
+ export type RadioShowId = RadioShow[RadioShowPk];
20
+ export type RadioShowOptionalAttributes = "scheduledRelease" | "description" | "deleted" | "id" | "createDate" | "updateDate";
21
+ export type RadioShowCreationAttributes = Optional<RadioShowAttributes, RadioShowOptionalAttributes>;
22
+ export declare class RadioShow extends Model<RadioShowAttributes, RadioShowCreationAttributes> implements RadioShowAttributes {
23
+ creatorUserId: string;
24
+ scheduledRelease?: Date;
25
+ title: string;
26
+ description?: string;
27
+ deleted?: boolean;
28
+ id: string;
29
+ createDate: Date;
30
+ updateDate: Date;
31
+ creatorUser: AppUser;
32
+ getCreatorUser: Sequelize.BelongsToGetAssociationMixin<AppUser>;
33
+ setCreatorUser: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
34
+ createCreatorUser: Sequelize.BelongsToCreateAssociationMixin<AppUser>;
35
+ radioShowGenres: RadioShowGenres[];
36
+ getRadioShowGenres: Sequelize.HasManyGetAssociationsMixin<RadioShowGenres>;
37
+ setRadioShowGenres: Sequelize.HasManySetAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
38
+ addRadioShowGenre: Sequelize.HasManyAddAssociationMixin<RadioShowGenres, RadioShowGenresId>;
39
+ addRadioShowGenres: Sequelize.HasManyAddAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
40
+ createRadioShowGenre: Sequelize.HasManyCreateAssociationMixin<RadioShowGenres>;
41
+ removeRadioShowGenre: Sequelize.HasManyRemoveAssociationMixin<RadioShowGenres, RadioShowGenresId>;
42
+ removeRadioShowGenres: Sequelize.HasManyRemoveAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
43
+ hasRadioShowGenre: Sequelize.HasManyHasAssociationMixin<RadioShowGenres, RadioShowGenresId>;
44
+ hasRadioShowGenres: Sequelize.HasManyHasAssociationsMixin<RadioShowGenres, RadioShowGenresId>;
45
+ countRadioShowGenres: Sequelize.HasManyCountAssociationsMixin;
46
+ radioShowMedia: RadioShowMedia[];
47
+ getRadioShowMedia: Sequelize.HasManyGetAssociationsMixin<RadioShowMedia>;
48
+ setRadioShowMedia: Sequelize.HasManySetAssociationsMixin<RadioShowMedia, RadioShowMediaId>;
49
+ addRadioShowMedium: Sequelize.HasManyAddAssociationMixin<RadioShowMedia, RadioShowMediaId>;
50
+ addRadioShowMedia: Sequelize.HasManyAddAssociationsMixin<RadioShowMedia, RadioShowMediaId>;
51
+ createRadioShowMedium: Sequelize.HasManyCreateAssociationMixin<RadioShowMedia>;
52
+ removeRadioShowMedium: Sequelize.HasManyRemoveAssociationMixin<RadioShowMedia, RadioShowMediaId>;
53
+ removeRadioShowMedia: Sequelize.HasManyRemoveAssociationsMixin<RadioShowMedia, RadioShowMediaId>;
54
+ hasRadioShowMedium: Sequelize.HasManyHasAssociationMixin<RadioShowMedia, RadioShowMediaId>;
55
+ hasRadioShowMedia: Sequelize.HasManyHasAssociationsMixin<RadioShowMedia, RadioShowMediaId>;
56
+ countRadioShowMedia: Sequelize.HasManyCountAssociationsMixin;
57
+ radioShowPlacements: RadioShowPlacement[];
58
+ getRadioShowPlacements: Sequelize.HasManyGetAssociationsMixin<RadioShowPlacement>;
59
+ setRadioShowPlacements: Sequelize.HasManySetAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
60
+ addRadioShowPlacement: Sequelize.HasManyAddAssociationMixin<RadioShowPlacement, RadioShowPlacementId>;
61
+ addRadioShowPlacements: Sequelize.HasManyAddAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
62
+ createRadioShowPlacement: Sequelize.HasManyCreateAssociationMixin<RadioShowPlacement>;
63
+ removeRadioShowPlacement: Sequelize.HasManyRemoveAssociationMixin<RadioShowPlacement, RadioShowPlacementId>;
64
+ removeRadioShowPlacements: Sequelize.HasManyRemoveAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
65
+ hasRadioShowPlacement: Sequelize.HasManyHasAssociationMixin<RadioShowPlacement, RadioShowPlacementId>;
66
+ hasRadioShowPlacements: Sequelize.HasManyHasAssociationsMixin<RadioShowPlacement, RadioShowPlacementId>;
67
+ countRadioShowPlacements: Sequelize.HasManyCountAssociationsMixin;
68
+ radioShowPublishRequests: RadioShowPublishRequests[];
69
+ getRadioShowPublishRequests: Sequelize.HasManyGetAssociationsMixin<RadioShowPublishRequests>;
70
+ setRadioShowPublishRequests: Sequelize.HasManySetAssociationsMixin<RadioShowPublishRequests, RadioShowPublishRequestsId>;
71
+ addRadioShowPublishRequest: Sequelize.HasManyAddAssociationMixin<RadioShowPublishRequests, RadioShowPublishRequestsId>;
72
+ addRadioShowPublishRequests: Sequelize.HasManyAddAssociationsMixin<RadioShowPublishRequests, RadioShowPublishRequestsId>;
73
+ createRadioShowPublishRequest: Sequelize.HasManyCreateAssociationMixin<RadioShowPublishRequests>;
74
+ removeRadioShowPublishRequest: Sequelize.HasManyRemoveAssociationMixin<RadioShowPublishRequests, RadioShowPublishRequestsId>;
75
+ removeRadioShowPublishRequests: Sequelize.HasManyRemoveAssociationsMixin<RadioShowPublishRequests, RadioShowPublishRequestsId>;
76
+ hasRadioShowPublishRequest: Sequelize.HasManyHasAssociationMixin<RadioShowPublishRequests, RadioShowPublishRequestsId>;
77
+ hasRadioShowPublishRequests: Sequelize.HasManyHasAssociationsMixin<RadioShowPublishRequests, RadioShowPublishRequestsId>;
78
+ countRadioShowPublishRequests: Sequelize.HasManyCountAssociationsMixin;
79
+ static initModel(sequelize: Sequelize.Sequelize): typeof RadioShow;
80
+ }
@@ -0,0 +1,93 @@
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.RadioShow = void 0;
27
+ const Sequelize = __importStar(require("sequelize"));
28
+ const sequelize_1 = require("sequelize");
29
+ class RadioShow extends sequelize_1.Model {
30
+ static initModel(sequelize) {
31
+ return RadioShow.init({
32
+ creatorUserId: {
33
+ type: sequelize_1.DataTypes.UUID,
34
+ allowNull: false,
35
+ references: {
36
+ model: 'app_user',
37
+ key: 'id'
38
+ },
39
+ field: 'creator_user_id'
40
+ },
41
+ scheduledRelease: {
42
+ type: sequelize_1.DataTypes.DATE,
43
+ allowNull: true,
44
+ field: 'scheduled_release'
45
+ },
46
+ title: {
47
+ type: sequelize_1.DataTypes.STRING(40),
48
+ allowNull: false
49
+ },
50
+ description: {
51
+ type: sequelize_1.DataTypes.STRING(512),
52
+ allowNull: true
53
+ },
54
+ deleted: {
55
+ type: sequelize_1.DataTypes.BOOLEAN,
56
+ allowNull: true
57
+ },
58
+ id: {
59
+ type: sequelize_1.DataTypes.UUID,
60
+ allowNull: false,
61
+ defaultValue: sequelize_1.DataTypes.UUIDV4,
62
+ primaryKey: true
63
+ },
64
+ createDate: {
65
+ type: sequelize_1.DataTypes.DATE,
66
+ allowNull: false,
67
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
68
+ field: 'create_date'
69
+ },
70
+ updateDate: {
71
+ type: sequelize_1.DataTypes.DATE,
72
+ allowNull: false,
73
+ defaultValue: Sequelize.Sequelize.literal('CURRENT_TIMESTAMP'),
74
+ field: 'update_date'
75
+ }
76
+ }, {
77
+ sequelize,
78
+ tableName: 'radio_show',
79
+ schema: 'eb',
80
+ timestamps: false,
81
+ indexes: [
82
+ {
83
+ name: "radio_show_pkey",
84
+ unique: true,
85
+ fields: [
86
+ { name: "id" },
87
+ ]
88
+ },
89
+ ]
90
+ });
91
+ }
92
+ }
93
+ exports.RadioShow = RadioShow;
@@ -0,0 +1,29 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model, Optional } from 'sequelize';
3
+ import type { CanonGenre, CanonGenreId } from './CanonGenre';
4
+ import type { RadioShow, RadioShowId } from './RadioShow';
5
+ export interface RadioShowGenresAttributes {
6
+ canonGenreId: string;
7
+ radioShowId: string;
8
+ title: string;
9
+ id: string;
10
+ }
11
+ export type RadioShowGenresPk = "id";
12
+ export type RadioShowGenresId = RadioShowGenres[RadioShowGenresPk];
13
+ export type RadioShowGenresOptionalAttributes = "id";
14
+ export type RadioShowGenresCreationAttributes = Optional<RadioShowGenresAttributes, RadioShowGenresOptionalAttributes>;
15
+ export declare class RadioShowGenres extends Model<RadioShowGenresAttributes, RadioShowGenresCreationAttributes> implements RadioShowGenresAttributes {
16
+ canonGenreId: string;
17
+ radioShowId: string;
18
+ title: string;
19
+ id: string;
20
+ canonGenre: CanonGenre;
21
+ getCanonGenre: Sequelize.BelongsToGetAssociationMixin<CanonGenre>;
22
+ setCanonGenre: Sequelize.BelongsToSetAssociationMixin<CanonGenre, CanonGenreId>;
23
+ createCanonGenre: Sequelize.BelongsToCreateAssociationMixin<CanonGenre>;
24
+ radioShow: RadioShow;
25
+ getRadioShow: Sequelize.BelongsToGetAssociationMixin<RadioShow>;
26
+ setRadioShow: Sequelize.BelongsToSetAssociationMixin<RadioShow, RadioShowId>;
27
+ createRadioShow: Sequelize.BelongsToCreateAssociationMixin<RadioShow>;
28
+ static initModel(sequelize: Sequelize.Sequelize): typeof RadioShowGenres;
29
+ }