armisa-models
Version:
models of armisa!
82 lines (81 loc) • 2.39 kB
TypeScript
/// <reference types="node" />
import { MainStateManager } from './MainStateManager';
import { Login } from './Login/Login';
import { IData } from './Data';
import { IReportInfoing } from './ReportInfo';
interface IUser {
id: number;
accessToken: string;
userName: string;
firstName: string;
lastName: string;
picture: string;
smallPicture: string;
reportInfo: IReportInfoing[];
attachedData: IData[];
roles: string[];
userOptions: IUserOption[];
userColumns: IUserColumn[];
}
interface IUserOption {
key: string;
form: any;
value: any;
}
export declare class UserOption {
key: string;
form: any;
value: any;
constructor(key: string, form: any, value: any);
static deserialize(userOption: IUserOption): UserOption;
}
interface IUserColumn {
key: string;
form: any;
width: any;
}
export declare class UserColumn {
key: string;
form: any;
width: number;
constructor(key: string, form: any, width: number);
static deserialize(userColumn: IUserColumn): UserColumn;
}
type IUserLoginFormState = 'login' | 'signup' | 'verify' | 'error' | 'MobileRegistered';
export declare class User {
mainStateManager: MainStateManager;
isInRole: <T extends {
selfRole: string;
}>(main: T, role: keyof T) => boolean;
private _isThisUserAdmin;
userLoginFormState: IUserLoginFormState;
headers: () => {
Authorization: string;
} | undefined;
id: number;
accessToken: string;
userName: string;
firstName: string;
lastName: string;
picture: string;
smallPicture: string;
rememberMe: boolean;
roles: string[];
userOptions: UserOption[];
userColumns: UserColumn[];
isThisUserAdmin: boolean;
LoginFactory: Login;
intervalForBackgroundChangePage?: NodeJS.Timeout;
initializingUserBackground: boolean;
userBackgrounDiv?: HTMLElement;
constructor(mainStateManager: MainStateManager);
unMountUserPage(): void;
loginDataLoad: () => void;
logOut: () => void;
gotoLoginPage: () => void;
userLogin: (response: IUser, rememberMe: boolean) => void;
userChangeData: (response: IUser) => void;
getFormUserOptions: (keyOfForm: any) => UserOption[];
private updateUserOptionTabPage;
}
export {};