export interface IView { id: number, name: string, predefined: boolean, resourceModel: string, favourite: boolean, rolesLogicRxpression: string, }; export interface IViewRole { id: number, fieldId: number, index: number, comparator: string, value: string, viewId: number, }; export interface IViewHasColumn { id :number, viewId: number, fieldId: number, index: number, } export interface IViewRoleDTO { index: number, fieldKey: string, comparator: string, value: string, viewId: number, } export interface IViewColumnDTO { id: number, index: number, viewId: number, fieldKey: string, }; export interface IViewDTO { name: string, logicExpression: string, roles: IViewRoleDTO[], columns: IViewColumnDTO[], }; export interface IViewEditDTO { name: string, logicExpression: string, roles: IViewRoleDTO[], columns: IViewColumnDTO[], }; export interface IViewsService { listViews(tenantId: number, resourceModel: string): Promise; newView(tenantId: number, viewDTO: IViewDTO): Promise; editView(tenantId: number, viewId: number, viewEditDTO: IViewEditDTO): Promise; deleteView(tenantId: number, viewId: number): Promise; }