mirror of https://github.com/Ombi-app/Ombi
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
155 lines
3.0 KiB
155 lines
3.0 KiB
import { ICheckbox } from ".";
|
|
import { IRemainingRequests } from "./IRemainingRequests";
|
|
|
|
export interface IUser {
|
|
id: string;
|
|
userName: string;
|
|
alias: string;
|
|
claims: ICheckbox[];
|
|
emailAddress: string;
|
|
password: string;
|
|
userType: UserType;
|
|
userAlias: string;
|
|
lastLoggedIn: Date;
|
|
hasLoggedIn: boolean;
|
|
movieRequestLimit: number;
|
|
episodeRequestLimit: number;
|
|
musicRequestLimit: number;
|
|
userAccessToken: string;
|
|
language: string;
|
|
userQualityProfiles: IUserQualityProfiles;
|
|
streamingCountry: string;
|
|
|
|
movieRequestLimitType?: RequestLimitType;
|
|
episodeRequestLimitType?: RequestLimitType;
|
|
musicRequestLimitType?: RequestLimitType;
|
|
|
|
// FOR UI
|
|
episodeRequestQuota: IRemainingRequests | null;
|
|
movieRequestQuota: IRemainingRequests | null;
|
|
musicRequestQuota: IRemainingRequests | null;
|
|
}
|
|
|
|
export enum RequestLimitType
|
|
{
|
|
Day = 0,
|
|
Week = 1,
|
|
Month = 2,
|
|
}
|
|
|
|
export interface IUserDropdown {
|
|
username: string;
|
|
id: string;
|
|
email: string;
|
|
}
|
|
|
|
export interface IUserQualityProfiles {
|
|
sonarrQualityProfileAnime: number;
|
|
sonarrRootPathAnime: number;
|
|
sonarrRootPath: number;
|
|
sonarrQualityProfile: number;
|
|
radarrRootPath: number;
|
|
radarrQualityProfile: number;
|
|
radarr4KRootPath: number;
|
|
radarr4KQualityProfile: number;
|
|
}
|
|
|
|
export interface ICreateWizardUser {
|
|
username: string;
|
|
password: string;
|
|
usePlexAdminAccount: boolean;
|
|
}
|
|
|
|
export interface IWizardUserResult {
|
|
result: boolean;
|
|
errors: string[];
|
|
}
|
|
|
|
export interface IStreamingCountries {
|
|
code: string;
|
|
}
|
|
|
|
export enum UserType {
|
|
LocalUser = 1,
|
|
PlexUser = 2,
|
|
EmbyUser = 3,
|
|
EmbyConnect = 4,
|
|
JellyfinUser = 5,
|
|
}
|
|
|
|
export interface IIdentityResult {
|
|
errors: string[];
|
|
successful: boolean;
|
|
}
|
|
|
|
export interface IUpdateLocalUser {
|
|
currentPassword: string;
|
|
password: string;
|
|
id: string;
|
|
emailAddress: string;
|
|
confirmNewPassword: string;
|
|
}
|
|
|
|
export interface IResetPasswordToken {
|
|
email: string;
|
|
token: string;
|
|
password: string;
|
|
}
|
|
|
|
export interface IMobileUsersViewModel {
|
|
username: string;
|
|
userId: string;
|
|
devices: number;
|
|
}
|
|
|
|
export interface ICloudMobileModel {
|
|
userId: string;
|
|
username: string;
|
|
devices: ICloudMobileDevices[];
|
|
}
|
|
export interface ICloudMobileDevices {
|
|
token: string;
|
|
userId: string;
|
|
addedAt: Date;
|
|
user: IUser;
|
|
}
|
|
|
|
export interface IMassEmailUserModel {
|
|
user: IUser;
|
|
selected: boolean;
|
|
}
|
|
|
|
export interface IMassEmailModel {
|
|
subject: string;
|
|
body: string;
|
|
users: IUser[];
|
|
bcc: boolean;
|
|
}
|
|
|
|
export interface INotificationPreferences {
|
|
id: number;
|
|
userId: string;
|
|
agent: INotificationAgent;
|
|
enabled: boolean;
|
|
value: string;
|
|
}
|
|
|
|
export enum INotificationAgent {
|
|
|
|
Email = 0,
|
|
Discord = 1,
|
|
Pushbullet = 2,
|
|
Pushover = 3,
|
|
Telegram = 4,
|
|
Slack = 5,
|
|
Mattermost = 6,
|
|
Mobile = 7,
|
|
Gotify = 8,
|
|
Webhook = 9,
|
|
WhatsApp = 10
|
|
}
|
|
|
|
export interface IFeatureEnablement {
|
|
name: string;
|
|
enabled: boolean;
|
|
} |