interface IUserInfo { userName: string; userGroups: string[]; tenantId?: string; modelsOwner?: string; } interface ISecureUser extends IUserInfo { isAdmin(): boolean; isSystem(): boolean; inGroup(userGroup: any): boolean; /** * alters the query adding conditions based on security rules * @param query * @returns query */ qualifyInstances(query: any): any; /** * alters the query adding conditions based on security rules * @param query * @returns query */ qualifyItems(query: any): any; /** * alters the query adding conditions based on security rules * @param query * @returns query */ qualifyStartEvents(query: any): any; /** * alters the query adding conditions based on security rules * @param query * @returns query */ qualifyDeleteInstances(query: any): any; /** * alters the query adding conditions based on security rules * @param query * @returns query */ qualifyModels(query: any): any; /** */ canModifyModel(name: any): any; /** */ canDeleteModel(name: any): any; /** * alters the query adding conditions based on security rules * @param query * @returns query */ qualifyViewItems(query: any): any; canInvoke(item: any): any; canAssign(item: any): any; canStart(name: any, startNodeId: any, user: any): any; } interface IUserService { findUsers(query: any): any; addUser(userName: any, email: any, password: any, userGroups: any): any; setPassword(userName: any, password: any): any; install(): any; } export { IUserService, IUserInfo, ISecureUser };