import { Document } from 'mongoose'; import { IApplication } from './application.interface'; import { IRole } from './role.interface'; import { IUser } from './user.interface'; export interface IMenuSchema { applicationId: string; menuId: string; name: string; path: string; icon: string; description?: string; order: number; isPublic: boolean; active: boolean; createdAt: Date; createdBy: string; updatedAt?: Date; updatedBy?: string; deletedAt?: Date; deletedBy?: string; } export interface IMenuModel extends Document, IMenuSchema { } export interface IMenu extends IMenuSchema { _id?: string; application: IApplication; childs: IMenu[]; roles: IRole[]; users: IUser[]; menu: IMenu; } export interface IMenuFilter { _id?: string; applicationId?: string; menuId?: string; name?: string; path?: string; icon?: string; description?: string; order?: number; isPublic?: boolean; active?: boolean; } export interface IMenuInput { applicationId: string; menuId?: string; name: string; path: string; icon: string; description?: string; order?: number; isPublic?: boolean; active?: boolean; }