@earbug/db-models 0.0.10 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,14 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { Model } from 'sequelize';
3
+ export interface AccessControlPreferenceAttributes {
4
+ id: number;
5
+ name: string;
6
+ }
7
+ export type AccessControlPreferencePk = "id";
8
+ export type AccessControlPreferenceId = AccessControlPreference[AccessControlPreferencePk];
9
+ export type AccessControlPreferenceCreationAttributes = AccessControlPreferenceAttributes;
10
+ export declare class AccessControlPreference extends Model<AccessControlPreferenceAttributes, AccessControlPreferenceCreationAttributes> implements AccessControlPreferenceAttributes {
11
+ id: number;
12
+ name: string;
13
+ static initModel(sequelize: Sequelize.Sequelize): typeof AccessControlPreference;
14
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccessControlPreference = void 0;
4
+ const sequelize_1 = require("sequelize");
5
+ class AccessControlPreference extends sequelize_1.Model {
6
+ static initModel(sequelize) {
7
+ return AccessControlPreference.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: "access_control_preference_name_unique"
17
+ }
18
+ }, {
19
+ sequelize,
20
+ tableName: 'access_control_preference',
21
+ schema: 'eb',
22
+ timestamps: false,
23
+ indexes: [
24
+ {
25
+ name: "access_control_preference_name_unique",
26
+ unique: true,
27
+ fields: [
28
+ { name: "name" },
29
+ ]
30
+ },
31
+ {
32
+ name: "access_control_preference_pkey",
33
+ unique: true,
34
+ fields: [
35
+ { name: "id" },
36
+ ]
37
+ },
38
+ ]
39
+ });
40
+ }
41
+ }
42
+ exports.AccessControlPreference = AccessControlPreference;
package/dist/AppUser.d.ts CHANGED
@@ -24,10 +24,11 @@ export interface AppUserAttributes {
24
24
  autoApproveFollowers: boolean;
25
25
  lastHarvested?: Date;
26
26
  lastHarvestedError?: string;
27
+ earbugAccessControlPreference: string;
27
28
  }
28
29
  export type AppUserPk = "id";
29
30
  export type AppUserId = AppUser[AppUserPk];
30
- export type AppUserOptionalAttributes = "id" | "createDate" | "updateDate" | "syncContacts" | "stateId" | "lastName" | "autoApproveFollowers" | "lastHarvested" | "lastHarvestedError";
31
+ export type AppUserOptionalAttributes = "id" | "createDate" | "updateDate" | "syncContacts" | "stateId" | "lastName" | "autoApproveFollowers" | "lastHarvested" | "lastHarvestedError" | "earbugAccessControlPreference";
31
32
  export type AppUserCreationAttributes = Optional<AppUserAttributes, AppUserOptionalAttributes>;
32
33
  export declare class AppUser extends Model<AppUserAttributes, AppUserCreationAttributes> implements AppUserAttributes {
33
34
  email: string;
@@ -41,6 +42,7 @@ export declare class AppUser extends Model<AppUserAttributes, AppUserCreationAtt
41
42
  autoApproveFollowers: boolean;
42
43
  lastHarvested?: Date;
43
44
  lastHarvestedError?: string;
45
+ earbugAccessControlPreference: string;
44
46
  appUserDevices: AppUserDevice[];
45
47
  getAppUserDevices: Sequelize.HasManyGetAssociationsMixin<AppUserDevice>;
46
48
  setAppUserDevices: Sequelize.HasManySetAssociationsMixin<AppUserDevice, AppUserDeviceId>;
package/dist/AppUser.js CHANGED
@@ -93,6 +93,12 @@ class AppUser extends sequelize_1.Model {
93
93
  type: sequelize_1.DataTypes.STRING(512),
94
94
  allowNull: true,
95
95
  field: 'last_harvested_error'
96
+ },
97
+ earbugAccessControlPreference: {
98
+ type: sequelize_1.DataTypes.TEXT,
99
+ allowNull: false,
100
+ defaultValue: "PUBLIC",
101
+ field: 'earbug_access_control_preference'
96
102
  }
97
103
  }, {
98
104
  sequelize,
@@ -17,10 +17,11 @@ export interface PlatformUserPlaylistAttributes {
17
17
  createDate: Date;
18
18
  updateDate: Date;
19
19
  stateId: number;
20
+ earbugAccessControlPreference: string;
20
21
  }
21
22
  export type PlatformUserPlaylistPk = "id";
22
23
  export type PlatformUserPlaylistId = PlatformUserPlaylist[PlatformUserPlaylistPk];
23
- export type PlatformUserPlaylistOptionalAttributes = "description" | "id" | "public" | "createDate" | "updateDate" | "stateId";
24
+ export type PlatformUserPlaylistOptionalAttributes = "description" | "id" | "public" | "createDate" | "updateDate" | "stateId" | "earbugAccessControlPreference";
24
25
  export type PlatformUserPlaylistCreationAttributes = Optional<PlatformUserPlaylistAttributes, PlatformUserPlaylistOptionalAttributes>;
25
26
  export declare class PlatformUserPlaylist extends Model<PlatformUserPlaylistAttributes, PlatformUserPlaylistCreationAttributes> implements PlatformUserPlaylistAttributes {
26
27
  appUserId: string;
@@ -35,6 +36,7 @@ export declare class PlatformUserPlaylist extends Model<PlatformUserPlaylistAttr
35
36
  createDate: Date;
36
37
  updateDate: Date;
37
38
  stateId: number;
39
+ earbugAccessControlPreference: string;
38
40
  appUser: AppUser;
39
41
  getAppUser: Sequelize.BelongsToGetAssociationMixin<AppUser>;
40
42
  setAppUser: Sequelize.BelongsToSetAssociationMixin<AppUser, AppUserId>;
@@ -105,6 +105,12 @@ class PlatformUserPlaylist extends sequelize_1.Model {
105
105
  key: 'id'
106
106
  },
107
107
  field: 'state_id'
108
+ },
109
+ earbugAccessControlPreference: {
110
+ type: sequelize_1.DataTypes.TEXT,
111
+ allowNull: false,
112
+ defaultValue: "PRIVATE",
113
+ field: 'earbug_access_control_preference'
108
114
  }
109
115
  }, {
110
116
  sequelize,
@@ -1,4 +1,6 @@
1
1
  import type { Sequelize } from "sequelize";
2
+ import { AccessControlPreference as _AccessControlPreference } from "./AccessControlPreference";
3
+ import type { AccessControlPreferenceAttributes, AccessControlPreferenceCreationAttributes } from "./AccessControlPreference";
2
4
  import { AppUser as _AppUser } from "./AppUser";
3
5
  import type { AppUserAttributes, AppUserCreationAttributes } from "./AppUser";
4
6
  import { AppUserDevice as _AppUserDevice } from "./AppUserDevice";
@@ -151,9 +153,10 @@ import { UnmatchedArtist as _UnmatchedArtist } from "./UnmatchedArtist";
151
153
  import type { UnmatchedArtistAttributes, UnmatchedArtistCreationAttributes } from "./UnmatchedArtist";
152
154
  import { UserContacts as _UserContacts } from "./UserContacts";
153
155
  import type { UserContactsAttributes, UserContactsCreationAttributes } from "./UserContacts";
154
- export { _AppUser as AppUser, _AppUserDevice as AppUserDevice, _AppUserFollowRelation as AppUserFollowRelation, _AppUserPlatformRelation as AppUserPlatformRelation, _CanonAlbum as CanonAlbum, _CanonAlbumExternalReferenceRelation as CanonAlbumExternalReferenceRelation, _CanonAlbumGenreRelation as CanonAlbumGenreRelation, _CanonAlbumImageHarvested as CanonAlbumImageHarvested, _CanonAlbumLabelRelation as CanonAlbumLabelRelation, _CanonAlbumTrackRelation as CanonAlbumTrackRelation, _CanonArtist as CanonArtist, _CanonArtistAlbumRelation as CanonArtistAlbumRelation, _CanonArtistExternalReferenceRelation as CanonArtistExternalReferenceRelation, _CanonArtistGenreRelation as CanonArtistGenreRelation, _CanonArtistImageHarvested as CanonArtistImageHarvested, _CanonArtistMemberRelation as CanonArtistMemberRelation, _CanonArtistTrackRelation as CanonArtistTrackRelation, _CanonGenre as CanonGenre, _CanonGenreExternalReferenceRelation as CanonGenreExternalReferenceRelation, _CanonLabel as CanonLabel, _CanonLabelExternalReferenceRelation as CanonLabelExternalReferenceRelation, _CanonMember as CanonMember, _CanonMemberExternalReferenceRelation as CanonMemberExternalReferenceRelation, _CanonToPlatformAlbumRelation as CanonToPlatformAlbumRelation, _CanonToPlatformArtistRelation as CanonToPlatformArtistRelation, _CanonToPlatformGenreRelation as CanonToPlatformGenreRelation, _CanonToPlatformTrackRelation as CanonToPlatformTrackRelation, _CanonTrack as CanonTrack, _ConfigParam as ConfigParam, _ExternalReference as ExternalReference, _JukeboxAccessType as JukeboxAccessType, _JukeboxCanonGenreRelation as JukeboxCanonGenreRelation, _JukeboxInvite as JukeboxInvite, _JukeboxQueueEntry as JukeboxQueueEntry, _JukeboxQueueMode as JukeboxQueueMode, _JukeboxSession as JukeboxSession, _JukeboxStatus as JukeboxStatus, _JukeboxTerminationCondition as JukeboxTerminationCondition, _JukeboxType as JukeboxType, _JukeboxUser as JukeboxUser, _JukeboxUserType as JukeboxUserType, _KnexMigrations as KnexMigrations, _KnexMigrationsLock as KnexMigrationsLock, _MetricsDaily as MetricsDaily, _MetricsEvent as MetricsEvent, _NewsSite as NewsSite, _Notification as Notification, _NotificationType as NotificationType, _PauseStatusType as PauseStatusType, _Platform as Platform, _PlatformAlbum as PlatformAlbum, _PlatformAlbumGenreRelation as PlatformAlbumGenreRelation, _PlatformAlbumTrackRelation as PlatformAlbumTrackRelation, _PlatformArtist as PlatformArtist, _PlatformArtistAlbumRelation as PlatformArtistAlbumRelation, _PlatformArtistGenreRelation as PlatformArtistGenreRelation, _PlatformArtistTrackRelation as PlatformArtistTrackRelation, _PlatformGenre as PlatformGenre, _PlatformTrack as PlatformTrack, _PlatformTrackGenreRelation as PlatformTrackGenreRelation, _PlatformUserAlbum as PlatformUserAlbum, _PlatformUserAlbumTrack as PlatformUserAlbumTrack, _PlatformUserPlaylist as PlatformUserPlaylist, _PlatformUserPlaylistTrack as PlatformUserPlaylistTrack, _PlaybackStatus as PlaybackStatus, _PlaybackStatusType as PlaybackStatusType, _RadioShow as RadioShow, _RadioShowGenres as RadioShowGenres, _RadioShowMedia as RadioShowMedia, _RadioShowPlacement as RadioShowPlacement, _RadioShowPublishRequests as RadioShowPublishRequests, _State as State, _TrackDeletionReason as TrackDeletionReason, _UnmatchedAlbum as UnmatchedAlbum, _UnmatchedArtist as UnmatchedArtist, _UserContacts as UserContacts, };
155
- export type { AppUserAttributes, AppUserCreationAttributes, AppUserDeviceAttributes, AppUserDeviceCreationAttributes, AppUserFollowRelationAttributes, AppUserFollowRelationCreationAttributes, AppUserPlatformRelationAttributes, AppUserPlatformRelationCreationAttributes, CanonAlbumAttributes, CanonAlbumCreationAttributes, CanonAlbumExternalReferenceRelationAttributes, CanonAlbumExternalReferenceRelationCreationAttributes, CanonAlbumGenreRelationAttributes, CanonAlbumGenreRelationCreationAttributes, CanonAlbumImageHarvestedAttributes, CanonAlbumImageHarvestedCreationAttributes, CanonAlbumLabelRelationAttributes, CanonAlbumLabelRelationCreationAttributes, CanonAlbumTrackRelationAttributes, CanonAlbumTrackRelationCreationAttributes, CanonArtistAttributes, CanonArtistCreationAttributes, CanonArtistAlbumRelationAttributes, CanonArtistAlbumRelationCreationAttributes, CanonArtistExternalReferenceRelationAttributes, CanonArtistExternalReferenceRelationCreationAttributes, CanonArtistGenreRelationAttributes, CanonArtistGenreRelationCreationAttributes, CanonArtistImageHarvestedAttributes, CanonArtistImageHarvestedCreationAttributes, CanonArtistMemberRelationAttributes, CanonArtistMemberRelationCreationAttributes, CanonArtistTrackRelationAttributes, CanonArtistTrackRelationCreationAttributes, CanonGenreAttributes, CanonGenreCreationAttributes, CanonGenreExternalReferenceRelationAttributes, CanonGenreExternalReferenceRelationCreationAttributes, CanonLabelAttributes, CanonLabelCreationAttributes, CanonLabelExternalReferenceRelationAttributes, CanonLabelExternalReferenceRelationCreationAttributes, CanonMemberAttributes, CanonMemberCreationAttributes, CanonMemberExternalReferenceRelationAttributes, CanonMemberExternalReferenceRelationCreationAttributes, CanonToPlatformAlbumRelationAttributes, CanonToPlatformAlbumRelationCreationAttributes, CanonToPlatformArtistRelationAttributes, CanonToPlatformArtistRelationCreationAttributes, CanonToPlatformGenreRelationAttributes, CanonToPlatformGenreRelationCreationAttributes, CanonToPlatformTrackRelationAttributes, CanonToPlatformTrackRelationCreationAttributes, CanonTrackAttributes, CanonTrackCreationAttributes, ConfigParamAttributes, ConfigParamCreationAttributes, ExternalReferenceAttributes, ExternalReferenceCreationAttributes, JukeboxAccessTypeAttributes, JukeboxAccessTypeCreationAttributes, JukeboxCanonGenreRelationAttributes, JukeboxCanonGenreRelationCreationAttributes, JukeboxInviteAttributes, JukeboxInviteCreationAttributes, JukeboxQueueEntryAttributes, JukeboxQueueEntryCreationAttributes, JukeboxQueueModeAttributes, JukeboxQueueModeCreationAttributes, JukeboxSessionAttributes, JukeboxSessionCreationAttributes, JukeboxStatusAttributes, JukeboxStatusCreationAttributes, JukeboxTerminationConditionAttributes, JukeboxTerminationConditionCreationAttributes, JukeboxTypeAttributes, JukeboxTypeCreationAttributes, JukeboxUserAttributes, JukeboxUserCreationAttributes, JukeboxUserTypeAttributes, JukeboxUserTypeCreationAttributes, KnexMigrationsAttributes, KnexMigrationsCreationAttributes, KnexMigrationsLockAttributes, KnexMigrationsLockCreationAttributes, MetricsDailyAttributes, MetricsDailyCreationAttributes, MetricsEventAttributes, MetricsEventCreationAttributes, NewsSiteAttributes, NewsSiteCreationAttributes, NotificationAttributes, NotificationCreationAttributes, NotificationTypeAttributes, NotificationTypeCreationAttributes, PauseStatusTypeAttributes, PauseStatusTypeCreationAttributes, PlatformAttributes, PlatformCreationAttributes, PlatformAlbumAttributes, PlatformAlbumCreationAttributes, PlatformAlbumGenreRelationAttributes, PlatformAlbumGenreRelationCreationAttributes, PlatformAlbumTrackRelationAttributes, PlatformAlbumTrackRelationCreationAttributes, PlatformArtistAttributes, PlatformArtistCreationAttributes, PlatformArtistAlbumRelationAttributes, PlatformArtistAlbumRelationCreationAttributes, PlatformArtistGenreRelationAttributes, PlatformArtistGenreRelationCreationAttributes, PlatformArtistTrackRelationAttributes, PlatformArtistTrackRelationCreationAttributes, PlatformGenreAttributes, PlatformGenreCreationAttributes, PlatformTrackAttributes, PlatformTrackCreationAttributes, PlatformTrackGenreRelationAttributes, PlatformTrackGenreRelationCreationAttributes, PlatformUserAlbumAttributes, PlatformUserAlbumCreationAttributes, PlatformUserAlbumTrackAttributes, PlatformUserAlbumTrackCreationAttributes, PlatformUserPlaylistAttributes, PlatformUserPlaylistCreationAttributes, PlatformUserPlaylistTrackAttributes, PlatformUserPlaylistTrackCreationAttributes, PlaybackStatusAttributes, PlaybackStatusCreationAttributes, PlaybackStatusTypeAttributes, PlaybackStatusTypeCreationAttributes, RadioShowAttributes, RadioShowCreationAttributes, RadioShowGenresAttributes, RadioShowGenresCreationAttributes, RadioShowMediaAttributes, RadioShowMediaCreationAttributes, RadioShowPlacementAttributes, RadioShowPlacementCreationAttributes, RadioShowPublishRequestsAttributes, RadioShowPublishRequestsCreationAttributes, StateAttributes, StateCreationAttributes, TrackDeletionReasonAttributes, TrackDeletionReasonCreationAttributes, UnmatchedAlbumAttributes, UnmatchedAlbumCreationAttributes, UnmatchedArtistAttributes, UnmatchedArtistCreationAttributes, UserContactsAttributes, UserContactsCreationAttributes, };
156
+ export { _AccessControlPreference as AccessControlPreference, _AppUser as AppUser, _AppUserDevice as AppUserDevice, _AppUserFollowRelation as AppUserFollowRelation, _AppUserPlatformRelation as AppUserPlatformRelation, _CanonAlbum as CanonAlbum, _CanonAlbumExternalReferenceRelation as CanonAlbumExternalReferenceRelation, _CanonAlbumGenreRelation as CanonAlbumGenreRelation, _CanonAlbumImageHarvested as CanonAlbumImageHarvested, _CanonAlbumLabelRelation as CanonAlbumLabelRelation, _CanonAlbumTrackRelation as CanonAlbumTrackRelation, _CanonArtist as CanonArtist, _CanonArtistAlbumRelation as CanonArtistAlbumRelation, _CanonArtistExternalReferenceRelation as CanonArtistExternalReferenceRelation, _CanonArtistGenreRelation as CanonArtistGenreRelation, _CanonArtistImageHarvested as CanonArtistImageHarvested, _CanonArtistMemberRelation as CanonArtistMemberRelation, _CanonArtistTrackRelation as CanonArtistTrackRelation, _CanonGenre as CanonGenre, _CanonGenreExternalReferenceRelation as CanonGenreExternalReferenceRelation, _CanonLabel as CanonLabel, _CanonLabelExternalReferenceRelation as CanonLabelExternalReferenceRelation, _CanonMember as CanonMember, _CanonMemberExternalReferenceRelation as CanonMemberExternalReferenceRelation, _CanonToPlatformAlbumRelation as CanonToPlatformAlbumRelation, _CanonToPlatformArtistRelation as CanonToPlatformArtistRelation, _CanonToPlatformGenreRelation as CanonToPlatformGenreRelation, _CanonToPlatformTrackRelation as CanonToPlatformTrackRelation, _CanonTrack as CanonTrack, _ConfigParam as ConfigParam, _ExternalReference as ExternalReference, _JukeboxAccessType as JukeboxAccessType, _JukeboxCanonGenreRelation as JukeboxCanonGenreRelation, _JukeboxInvite as JukeboxInvite, _JukeboxQueueEntry as JukeboxQueueEntry, _JukeboxQueueMode as JukeboxQueueMode, _JukeboxSession as JukeboxSession, _JukeboxStatus as JukeboxStatus, _JukeboxTerminationCondition as JukeboxTerminationCondition, _JukeboxType as JukeboxType, _JukeboxUser as JukeboxUser, _JukeboxUserType as JukeboxUserType, _KnexMigrations as KnexMigrations, _KnexMigrationsLock as KnexMigrationsLock, _MetricsDaily as MetricsDaily, _MetricsEvent as MetricsEvent, _NewsSite as NewsSite, _Notification as Notification, _NotificationType as NotificationType, _PauseStatusType as PauseStatusType, _Platform as Platform, _PlatformAlbum as PlatformAlbum, _PlatformAlbumGenreRelation as PlatformAlbumGenreRelation, _PlatformAlbumTrackRelation as PlatformAlbumTrackRelation, _PlatformArtist as PlatformArtist, _PlatformArtistAlbumRelation as PlatformArtistAlbumRelation, _PlatformArtistGenreRelation as PlatformArtistGenreRelation, _PlatformArtistTrackRelation as PlatformArtistTrackRelation, _PlatformGenre as PlatformGenre, _PlatformTrack as PlatformTrack, _PlatformTrackGenreRelation as PlatformTrackGenreRelation, _PlatformUserAlbum as PlatformUserAlbum, _PlatformUserAlbumTrack as PlatformUserAlbumTrack, _PlatformUserPlaylist as PlatformUserPlaylist, _PlatformUserPlaylistTrack as PlatformUserPlaylistTrack, _PlaybackStatus as PlaybackStatus, _PlaybackStatusType as PlaybackStatusType, _RadioShow as RadioShow, _RadioShowGenres as RadioShowGenres, _RadioShowMedia as RadioShowMedia, _RadioShowPlacement as RadioShowPlacement, _RadioShowPublishRequests as RadioShowPublishRequests, _State as State, _TrackDeletionReason as TrackDeletionReason, _UnmatchedAlbum as UnmatchedAlbum, _UnmatchedArtist as UnmatchedArtist, _UserContacts as UserContacts, };
157
+ export type { AccessControlPreferenceAttributes, AccessControlPreferenceCreationAttributes, AppUserAttributes, AppUserCreationAttributes, AppUserDeviceAttributes, AppUserDeviceCreationAttributes, AppUserFollowRelationAttributes, AppUserFollowRelationCreationAttributes, AppUserPlatformRelationAttributes, AppUserPlatformRelationCreationAttributes, CanonAlbumAttributes, CanonAlbumCreationAttributes, CanonAlbumExternalReferenceRelationAttributes, CanonAlbumExternalReferenceRelationCreationAttributes, CanonAlbumGenreRelationAttributes, CanonAlbumGenreRelationCreationAttributes, CanonAlbumImageHarvestedAttributes, CanonAlbumImageHarvestedCreationAttributes, CanonAlbumLabelRelationAttributes, CanonAlbumLabelRelationCreationAttributes, CanonAlbumTrackRelationAttributes, CanonAlbumTrackRelationCreationAttributes, CanonArtistAttributes, CanonArtistCreationAttributes, CanonArtistAlbumRelationAttributes, CanonArtistAlbumRelationCreationAttributes, CanonArtistExternalReferenceRelationAttributes, CanonArtistExternalReferenceRelationCreationAttributes, CanonArtistGenreRelationAttributes, CanonArtistGenreRelationCreationAttributes, CanonArtistImageHarvestedAttributes, CanonArtistImageHarvestedCreationAttributes, CanonArtistMemberRelationAttributes, CanonArtistMemberRelationCreationAttributes, CanonArtistTrackRelationAttributes, CanonArtistTrackRelationCreationAttributes, CanonGenreAttributes, CanonGenreCreationAttributes, CanonGenreExternalReferenceRelationAttributes, CanonGenreExternalReferenceRelationCreationAttributes, CanonLabelAttributes, CanonLabelCreationAttributes, CanonLabelExternalReferenceRelationAttributes, CanonLabelExternalReferenceRelationCreationAttributes, CanonMemberAttributes, CanonMemberCreationAttributes, CanonMemberExternalReferenceRelationAttributes, CanonMemberExternalReferenceRelationCreationAttributes, CanonToPlatformAlbumRelationAttributes, CanonToPlatformAlbumRelationCreationAttributes, CanonToPlatformArtistRelationAttributes, CanonToPlatformArtistRelationCreationAttributes, CanonToPlatformGenreRelationAttributes, CanonToPlatformGenreRelationCreationAttributes, CanonToPlatformTrackRelationAttributes, CanonToPlatformTrackRelationCreationAttributes, CanonTrackAttributes, CanonTrackCreationAttributes, ConfigParamAttributes, ConfigParamCreationAttributes, ExternalReferenceAttributes, ExternalReferenceCreationAttributes, JukeboxAccessTypeAttributes, JukeboxAccessTypeCreationAttributes, JukeboxCanonGenreRelationAttributes, JukeboxCanonGenreRelationCreationAttributes, JukeboxInviteAttributes, JukeboxInviteCreationAttributes, JukeboxQueueEntryAttributes, JukeboxQueueEntryCreationAttributes, JukeboxQueueModeAttributes, JukeboxQueueModeCreationAttributes, JukeboxSessionAttributes, JukeboxSessionCreationAttributes, JukeboxStatusAttributes, JukeboxStatusCreationAttributes, JukeboxTerminationConditionAttributes, JukeboxTerminationConditionCreationAttributes, JukeboxTypeAttributes, JukeboxTypeCreationAttributes, JukeboxUserAttributes, JukeboxUserCreationAttributes, JukeboxUserTypeAttributes, JukeboxUserTypeCreationAttributes, KnexMigrationsAttributes, KnexMigrationsCreationAttributes, KnexMigrationsLockAttributes, KnexMigrationsLockCreationAttributes, MetricsDailyAttributes, MetricsDailyCreationAttributes, MetricsEventAttributes, MetricsEventCreationAttributes, NewsSiteAttributes, NewsSiteCreationAttributes, NotificationAttributes, NotificationCreationAttributes, NotificationTypeAttributes, NotificationTypeCreationAttributes, PauseStatusTypeAttributes, PauseStatusTypeCreationAttributes, PlatformAttributes, PlatformCreationAttributes, PlatformAlbumAttributes, PlatformAlbumCreationAttributes, PlatformAlbumGenreRelationAttributes, PlatformAlbumGenreRelationCreationAttributes, PlatformAlbumTrackRelationAttributes, PlatformAlbumTrackRelationCreationAttributes, PlatformArtistAttributes, PlatformArtistCreationAttributes, PlatformArtistAlbumRelationAttributes, PlatformArtistAlbumRelationCreationAttributes, PlatformArtistGenreRelationAttributes, PlatformArtistGenreRelationCreationAttributes, PlatformArtistTrackRelationAttributes, PlatformArtistTrackRelationCreationAttributes, PlatformGenreAttributes, PlatformGenreCreationAttributes, PlatformTrackAttributes, PlatformTrackCreationAttributes, PlatformTrackGenreRelationAttributes, PlatformTrackGenreRelationCreationAttributes, PlatformUserAlbumAttributes, PlatformUserAlbumCreationAttributes, PlatformUserAlbumTrackAttributes, PlatformUserAlbumTrackCreationAttributes, PlatformUserPlaylistAttributes, PlatformUserPlaylistCreationAttributes, PlatformUserPlaylistTrackAttributes, PlatformUserPlaylistTrackCreationAttributes, PlaybackStatusAttributes, PlaybackStatusCreationAttributes, PlaybackStatusTypeAttributes, PlaybackStatusTypeCreationAttributes, RadioShowAttributes, RadioShowCreationAttributes, RadioShowGenresAttributes, RadioShowGenresCreationAttributes, RadioShowMediaAttributes, RadioShowMediaCreationAttributes, RadioShowPlacementAttributes, RadioShowPlacementCreationAttributes, RadioShowPublishRequestsAttributes, RadioShowPublishRequestsCreationAttributes, StateAttributes, StateCreationAttributes, TrackDeletionReasonAttributes, TrackDeletionReasonCreationAttributes, UnmatchedAlbumAttributes, UnmatchedAlbumCreationAttributes, UnmatchedArtistAttributes, UnmatchedArtistCreationAttributes, UserContactsAttributes, UserContactsCreationAttributes, };
156
158
  export declare function initModels(sequelize: Sequelize): {
159
+ AccessControlPreference: typeof _AccessControlPreference;
157
160
  AppUser: typeof _AppUser;
158
161
  AppUserDevice: typeof _AppUserDevice;
159
162
  AppUserFollowRelation: typeof _AppUserFollowRelation;
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Platform = exports.PauseStatusType = exports.NotificationType = exports.Notification = exports.NewsSite = exports.MetricsEvent = exports.MetricsDaily = exports.KnexMigrationsLock = exports.KnexMigrations = exports.JukeboxUserType = exports.JukeboxUser = exports.JukeboxType = exports.JukeboxTerminationCondition = exports.JukeboxStatus = exports.JukeboxSession = exports.JukeboxQueueMode = exports.JukeboxQueueEntry = exports.JukeboxInvite = exports.JukeboxCanonGenreRelation = exports.JukeboxAccessType = exports.ExternalReference = exports.ConfigParam = exports.CanonTrack = exports.CanonToPlatformTrackRelation = exports.CanonToPlatformGenreRelation = exports.CanonToPlatformArtistRelation = exports.CanonToPlatformAlbumRelation = exports.CanonMemberExternalReferenceRelation = exports.CanonMember = exports.CanonLabelExternalReferenceRelation = exports.CanonLabel = exports.CanonGenreExternalReferenceRelation = exports.CanonGenre = exports.CanonArtistTrackRelation = exports.CanonArtistMemberRelation = exports.CanonArtistImageHarvested = exports.CanonArtistGenreRelation = exports.CanonArtistExternalReferenceRelation = exports.CanonArtistAlbumRelation = exports.CanonArtist = exports.CanonAlbumTrackRelation = exports.CanonAlbumLabelRelation = exports.CanonAlbumImageHarvested = exports.CanonAlbumGenreRelation = exports.CanonAlbumExternalReferenceRelation = exports.CanonAlbum = exports.AppUserPlatformRelation = exports.AppUserFollowRelation = exports.AppUserDevice = exports.AppUser = void 0;
4
- exports.UserContacts = exports.UnmatchedArtist = exports.UnmatchedAlbum = exports.TrackDeletionReason = exports.State = exports.RadioShowPublishRequests = exports.RadioShowPlacement = exports.RadioShowMedia = exports.RadioShowGenres = exports.RadioShow = exports.PlaybackStatusType = exports.PlaybackStatus = exports.PlatformUserPlaylistTrack = exports.PlatformUserPlaylist = exports.PlatformUserAlbumTrack = exports.PlatformUserAlbum = exports.PlatformTrackGenreRelation = exports.PlatformTrack = exports.PlatformGenre = exports.PlatformArtistTrackRelation = exports.PlatformArtistGenreRelation = exports.PlatformArtistAlbumRelation = exports.PlatformArtist = exports.PlatformAlbumTrackRelation = exports.PlatformAlbumGenreRelation = exports.PlatformAlbum = void 0;
3
+ exports.PauseStatusType = exports.NotificationType = exports.Notification = exports.NewsSite = exports.MetricsEvent = exports.MetricsDaily = exports.KnexMigrationsLock = exports.KnexMigrations = exports.JukeboxUserType = exports.JukeboxUser = exports.JukeboxType = exports.JukeboxTerminationCondition = exports.JukeboxStatus = exports.JukeboxSession = exports.JukeboxQueueMode = exports.JukeboxQueueEntry = exports.JukeboxInvite = exports.JukeboxCanonGenreRelation = exports.JukeboxAccessType = exports.ExternalReference = exports.ConfigParam = exports.CanonTrack = exports.CanonToPlatformTrackRelation = exports.CanonToPlatformGenreRelation = exports.CanonToPlatformArtistRelation = exports.CanonToPlatformAlbumRelation = exports.CanonMemberExternalReferenceRelation = exports.CanonMember = exports.CanonLabelExternalReferenceRelation = exports.CanonLabel = exports.CanonGenreExternalReferenceRelation = exports.CanonGenre = exports.CanonArtistTrackRelation = exports.CanonArtistMemberRelation = exports.CanonArtistImageHarvested = exports.CanonArtistGenreRelation = exports.CanonArtistExternalReferenceRelation = exports.CanonArtistAlbumRelation = exports.CanonArtist = exports.CanonAlbumTrackRelation = exports.CanonAlbumLabelRelation = exports.CanonAlbumImageHarvested = exports.CanonAlbumGenreRelation = exports.CanonAlbumExternalReferenceRelation = exports.CanonAlbum = exports.AppUserPlatformRelation = exports.AppUserFollowRelation = exports.AppUserDevice = exports.AppUser = exports.AccessControlPreference = void 0;
4
+ exports.UserContacts = exports.UnmatchedArtist = exports.UnmatchedAlbum = exports.TrackDeletionReason = exports.State = exports.RadioShowPublishRequests = exports.RadioShowPlacement = exports.RadioShowMedia = exports.RadioShowGenres = exports.RadioShow = exports.PlaybackStatusType = exports.PlaybackStatus = exports.PlatformUserPlaylistTrack = exports.PlatformUserPlaylist = exports.PlatformUserAlbumTrack = exports.PlatformUserAlbum = exports.PlatformTrackGenreRelation = exports.PlatformTrack = exports.PlatformGenre = exports.PlatformArtistTrackRelation = exports.PlatformArtistGenreRelation = exports.PlatformArtistAlbumRelation = exports.PlatformArtist = exports.PlatformAlbumTrackRelation = exports.PlatformAlbumGenreRelation = exports.PlatformAlbum = exports.Platform = void 0;
5
5
  exports.initModels = initModels;
6
+ const AccessControlPreference_1 = require("./AccessControlPreference");
7
+ Object.defineProperty(exports, "AccessControlPreference", { enumerable: true, get: function () { return AccessControlPreference_1.AccessControlPreference; } });
6
8
  const AppUser_1 = require("./AppUser");
7
9
  Object.defineProperty(exports, "AppUser", { enumerable: true, get: function () { return AppUser_1.AppUser; } });
8
10
  const AppUserDevice_1 = require("./AppUserDevice");
@@ -156,6 +158,7 @@ Object.defineProperty(exports, "UnmatchedArtist", { enumerable: true, get: funct
156
158
  const UserContacts_1 = require("./UserContacts");
157
159
  Object.defineProperty(exports, "UserContacts", { enumerable: true, get: function () { return UserContacts_1.UserContacts; } });
158
160
  function initModels(sequelize) {
161
+ const AccessControlPreference = AccessControlPreference_1.AccessControlPreference.initModel(sequelize);
159
162
  const AppUser = AppUser_1.AppUser.initModel(sequelize);
160
163
  const AppUserDevice = AppUserDevice_1.AppUserDevice.initModel(sequelize);
161
164
  const AppUserFollowRelation = AppUserFollowRelation_1.AppUserFollowRelation.initModel(sequelize);
@@ -481,6 +484,7 @@ function initModels(sequelize) {
481
484
  JukeboxQueueEntry.belongsTo(TrackDeletionReason, { as: "trackDeletionReason", foreignKey: "trackDeletionReasonId" });
482
485
  TrackDeletionReason.hasMany(JukeboxQueueEntry, { as: "jukeboxQueueEntries", foreignKey: "trackDeletionReasonId" });
483
486
  return {
487
+ AccessControlPreference: AccessControlPreference,
484
488
  AppUser: AppUser,
485
489
  AppUserDevice: AppUserDevice,
486
490
  AppUserFollowRelation: AppUserFollowRelation,
@@ -0,0 +1,53 @@
1
+ import * as Sequelize from 'sequelize';
2
+ import { DataTypes, Model, Optional } from 'sequelize';
3
+
4
+ export interface AccessControlPreferenceAttributes {
5
+ id: number;
6
+ name: string;
7
+ }
8
+
9
+ export type AccessControlPreferencePk = "id";
10
+ export type AccessControlPreferenceId = AccessControlPreference[AccessControlPreferencePk];
11
+ export type AccessControlPreferenceCreationAttributes = AccessControlPreferenceAttributes;
12
+
13
+ export class AccessControlPreference extends Model<AccessControlPreferenceAttributes, AccessControlPreferenceCreationAttributes> implements AccessControlPreferenceAttributes {
14
+ id!: number;
15
+ name!: string;
16
+
17
+
18
+ static initModel(sequelize: Sequelize.Sequelize): typeof AccessControlPreference {
19
+ return AccessControlPreference.init({
20
+ id: {
21
+ type: DataTypes.SMALLINT,
22
+ allowNull: false,
23
+ primaryKey: true
24
+ },
25
+ name: {
26
+ type: DataTypes.TEXT,
27
+ allowNull: false,
28
+ unique: "access_control_preference_name_unique"
29
+ }
30
+ }, {
31
+ sequelize,
32
+ tableName: 'access_control_preference',
33
+ schema: 'eb',
34
+ timestamps: false,
35
+ indexes: [
36
+ {
37
+ name: "access_control_preference_name_unique",
38
+ unique: true,
39
+ fields: [
40
+ { name: "name" },
41
+ ]
42
+ },
43
+ {
44
+ name: "access_control_preference_pkey",
45
+ unique: true,
46
+ fields: [
47
+ { name: "id" },
48
+ ]
49
+ },
50
+ ]
51
+ });
52
+ }
53
+ }
package/models/AppUser.ts CHANGED
@@ -25,11 +25,12 @@ export interface AppUserAttributes {
25
25
  autoApproveFollowers: boolean;
26
26
  lastHarvested?: Date;
27
27
  lastHarvestedError?: string;
28
+ earbugAccessControlPreference: string;
28
29
  }
29
30
 
30
31
  export type AppUserPk = "id";
31
32
  export type AppUserId = AppUser[AppUserPk];
32
- export type AppUserOptionalAttributes = "id" | "createDate" | "updateDate" | "syncContacts" | "stateId" | "lastName" | "autoApproveFollowers" | "lastHarvested" | "lastHarvestedError";
33
+ export type AppUserOptionalAttributes = "id" | "createDate" | "updateDate" | "syncContacts" | "stateId" | "lastName" | "autoApproveFollowers" | "lastHarvested" | "lastHarvestedError" | "earbugAccessControlPreference";
33
34
  export type AppUserCreationAttributes = Optional<AppUserAttributes, AppUserOptionalAttributes>;
34
35
 
35
36
  export class AppUser extends Model<AppUserAttributes, AppUserCreationAttributes> implements AppUserAttributes {
@@ -44,6 +45,7 @@ export class AppUser extends Model<AppUserAttributes, AppUserCreationAttributes>
44
45
  autoApproveFollowers!: boolean;
45
46
  lastHarvested?: Date;
46
47
  lastHarvestedError?: string;
48
+ earbugAccessControlPreference!: string;
47
49
 
48
50
  // AppUser hasMany AppUserDevice via appUserId
49
51
  appUserDevices!: AppUserDevice[];
@@ -278,6 +280,12 @@ export class AppUser extends Model<AppUserAttributes, AppUserCreationAttributes>
278
280
  type: DataTypes.STRING(512),
279
281
  allowNull: true,
280
282
  field: 'last_harvested_error'
283
+ },
284
+ earbugAccessControlPreference: {
285
+ type: DataTypes.TEXT,
286
+ allowNull: false,
287
+ defaultValue: "PUBLIC",
288
+ field: 'earbug_access_control_preference'
281
289
  }
282
290
  }, {
283
291
  sequelize,
@@ -18,11 +18,12 @@ export interface PlatformUserPlaylistAttributes {
18
18
  createDate: Date;
19
19
  updateDate: Date;
20
20
  stateId: number;
21
+ earbugAccessControlPreference: string;
21
22
  }
22
23
 
23
24
  export type PlatformUserPlaylistPk = "id";
24
25
  export type PlatformUserPlaylistId = PlatformUserPlaylist[PlatformUserPlaylistPk];
25
- export type PlatformUserPlaylistOptionalAttributes = "description" | "id" | "public" | "createDate" | "updateDate" | "stateId";
26
+ export type PlatformUserPlaylistOptionalAttributes = "description" | "id" | "public" | "createDate" | "updateDate" | "stateId" | "earbugAccessControlPreference";
26
27
  export type PlatformUserPlaylistCreationAttributes = Optional<PlatformUserPlaylistAttributes, PlatformUserPlaylistOptionalAttributes>;
27
28
 
28
29
  export class PlatformUserPlaylist extends Model<PlatformUserPlaylistAttributes, PlatformUserPlaylistCreationAttributes> implements PlatformUserPlaylistAttributes {
@@ -38,6 +39,7 @@ export class PlatformUserPlaylist extends Model<PlatformUserPlaylistAttributes,
38
39
  createDate!: Date;
39
40
  updateDate!: Date;
40
41
  stateId!: number;
42
+ earbugAccessControlPreference!: string;
41
43
 
42
44
  // PlatformUserPlaylist belongsTo AppUser via appUserId
43
45
  appUser!: AppUser;
@@ -145,6 +147,12 @@ export class PlatformUserPlaylist extends Model<PlatformUserPlaylistAttributes,
145
147
  key: 'id'
146
148
  },
147
149
  field: 'state_id'
150
+ },
151
+ earbugAccessControlPreference: {
152
+ type: DataTypes.TEXT,
153
+ allowNull: false,
154
+ defaultValue: "PRIVATE",
155
+ field: 'earbug_access_control_preference'
148
156
  }
149
157
  }, {
150
158
  sequelize,
@@ -1,4 +1,6 @@
1
1
  import type { Sequelize } from "sequelize";
2
+ import { AccessControlPreference as _AccessControlPreference } from "./AccessControlPreference";
3
+ import type { AccessControlPreferenceAttributes, AccessControlPreferenceCreationAttributes } from "./AccessControlPreference";
2
4
  import { AppUser as _AppUser } from "./AppUser";
3
5
  import type { AppUserAttributes, AppUserCreationAttributes } from "./AppUser";
4
6
  import { AppUserDevice as _AppUserDevice } from "./AppUserDevice";
@@ -153,6 +155,7 @@ import { UserContacts as _UserContacts } from "./UserContacts";
153
155
  import type { UserContactsAttributes, UserContactsCreationAttributes } from "./UserContacts";
154
156
 
155
157
  export {
158
+ _AccessControlPreference as AccessControlPreference,
156
159
  _AppUser as AppUser,
157
160
  _AppUserDevice as AppUserDevice,
158
161
  _AppUserFollowRelation as AppUserFollowRelation,
@@ -232,6 +235,8 @@ export {
232
235
  };
233
236
 
234
237
  export type {
238
+ AccessControlPreferenceAttributes,
239
+ AccessControlPreferenceCreationAttributes,
235
240
  AppUserAttributes,
236
241
  AppUserCreationAttributes,
237
242
  AppUserDeviceAttributes,
@@ -387,6 +392,7 @@ export type {
387
392
  };
388
393
 
389
394
  export function initModels(sequelize: Sequelize) {
395
+ const AccessControlPreference = _AccessControlPreference.initModel(sequelize);
390
396
  const AppUser = _AppUser.initModel(sequelize);
391
397
  const AppUserDevice = _AppUserDevice.initModel(sequelize);
392
398
  const AppUserFollowRelation = _AppUserFollowRelation.initModel(sequelize);
@@ -714,6 +720,7 @@ export function initModels(sequelize: Sequelize) {
714
720
  TrackDeletionReason.hasMany(JukeboxQueueEntry, { as: "jukeboxQueueEntries", foreignKey: "trackDeletionReasonId"});
715
721
 
716
722
  return {
723
+ AccessControlPreference: AccessControlPreference,
717
724
  AppUser: AppUser,
718
725
  AppUserDevice: AppUserDevice,
719
726
  AppUserFollowRelation: AppUserFollowRelation,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@earbug/db-models",
3
- "version": "0.0.10",
3
+ "version": "0.0.12",
4
4
  "main": "dist/init-models.js",
5
5
  "types": "dist/init-models.d.ts",
6
6
  "scripts": {