import { Document } from 'mongoose'; import { IAndroid, IIOS } from '../common'; import { IApplicationType } from './application-type.inteface'; import { IMenu } from './menu.interface'; import { IModule } from './module.interface'; import { IRole } from './role.interface'; import { ISession } from './session.interface'; import { ISystem } from './system.interface'; import { IUserActivity } from './user-activity.interface'; export interface IApplicationSchema { systemId: string; applicationTypeId: string; name: string; description?: string; clientId: string; clientSecret: string; publicKey: string; icon: string; url: string; host: string; port: number; version: string; expireToken: number; ios: IIOS; android: IAndroid; active: boolean; createdAt: Date; createdBy: string; updatedAt?: Date; updatedBy?: string; deletedAt?: Date; deletedBy?: string; } export interface IApplicationModel extends Document, IApplicationSchema { } export interface IApplication extends IApplicationSchema { _id?: string; system: ISystem; applicationType: IApplicationType; activities: IUserActivity[]; menus: IMenu[]; modules: IModule[]; roles: IRole[]; sessions: ISession[]; } export interface IApplicationFilter { _id?: string; systemId?: string; applicationTypeId?: string; name?: string; description?: string; icon?: string; url?: string; host?: string; port?: string; version?: string; expireToken?: number; active?: boolean; } export interface IApplicationInput { systemId: string; applicationTypeId: string; name: string; description?: string; icon?: string; iconFile?: any; url?: string; host?: string; port?: number; version?: string; expireToken?: number; ios?: IIOS; android?: IAndroid; active?: boolean; }