import { IBiz } from './biz'; import { IMenu } from './role'; import { AuditConfig } from './acquirer'; import { EUserType, EUserStatus } from './enum'; import { IQueryParams, IPagination } from './common'; export interface IUserQueryParams extends IQueryParams, IBiz { username?: string; nickName?: string; email?: string; insCode?: string; agentCode?: string; userRole?: string; intMerCode?: string; intStoreCode?: string; } export interface IAcquirerUserQueryParams extends IQueryParams, IBiz { insCode: string; } export declare class UserRole { id: string; roleDesc: string; roleId: number; roleName: string; roleType: number; insCodes: string[]; creatorId?: string; creatorName?: string; } export interface IAllLevelRoles { insRoles: UserRole[]; agentRoles: UserRole[]; merchantRoles: UserRole[]; storeRoles: UserRole[]; } export declare class UserReq { username: string; nickName: string; email: string; password: string; roleID?: string; roleIDs?: string[]; } export declare class ILoginForm { username: string; password: string; } export declare class User { no: number; id: string; insCode: string; insName: string; insNameEN: string; agentCode: string; agentName: string; agentNameEN: string; intMerCode: string; merNum: string; merName: string; merNameEN: string; storeName: string; storeNum: string; storeNameEN: string; intStoreCode: string; userName: string; password: string; phoneNum: string; mail: string; nickName: string; areaCode: string; userType: EUserType; auditConfigs?: AuditConfig[]; auditPermissions?: number[]; createdAt: string; updatedAt: string; roleIDs: number[]; roleID?: number; username: string; email: string; roles: UserRole[]; version: number; status: EUserStatus; passwordCF?: string; data?: IMenu[]; bizLevelCode?: string; } export interface IUserPagination extends IPagination { data: User[]; } export interface IChangePassword { passwordOld?: string; passwordNew: string; } export interface IUpdateUser { nickName: string; email: string; roleIDs: number[]; status: string; version: number; } export interface ICreateUserForm { userType: string; insCode: string; agentCode: string; intMerCode: string; intStoreCode: string; username: string; nickName: string; email: string; password: string; roleIDs: number[]; auditPermissions?: number[]; } export interface ICreateUser { users: ICreateUserForm[]; }