import { CommandBus } from '@nestjs/cqrs'; import { IPagination, IUserCreateInput, IUserUpdateInput } from '@metad/contracts'; import { CrudController, PaginationParams } from './../core/crud'; import { User, UserPreferredLanguageDTO } from './user.entity'; import { UserService } from './user.service'; import { FactoryResetService } from './factory-reset/factory-reset.service'; import { UserPasswordDTO } from './dto'; export declare class UserController extends CrudController { private readonly userService; private readonly factoryResetService; private readonly commandBus; constructor(userService: UserService, factoryResetService: FactoryResetService, commandBus: CommandBus); /** * GET current login user * * @param data * @returns */ findMe(data: any): Promise; /** * GET user by email * * @param email * @returns */ findByEmail(email: string): Promise; /** * UPDATE user preferred language * * @param id * @param entity * @param options * @returns */ updatePreferredLanguage(id: string, entity: UserPreferredLanguageDTO): Promise; /** * GET user count * * @param data * @returns */ getCount(data: any): Promise; /** * GET user list by pagination * * @param filter * @returns */ pagination(filter: PaginationParams): Promise>; /** * GET all users * * @param data * @returns */ findAll(data: any): Promise>; search(search: string): Promise<{ items: import("./dto").UserPublicDTO[]; total: number; }>; updateMe(entity: IUserUpdateInput): Promise; /** * GET user by id * * @param id * @param data * @returns */ findById(id: string, data?: any): Promise; /** * CREATE new user * * @param entity * @param options * @returns */ create(entity: IUserCreateInput): Promise; /** * UPDATE user by id * * @param id * @param entity * @param options * @returns */ update(id: string, entity: IUserUpdateInput): Promise; /** * DELTE user account * * @param userId * @returns */ delete(userId: string): Promise; resetPassword(userId: string, userPassword: UserPasswordDTO): Promise; /** * DELETE all user data from all tables * * @param id * @returns */ deleteAllData(id: string): Promise; createBulk(users: IUserCreateInput[]): Promise; }