package com.xunhong.erp.turbo.user.domain.gateway;

import com.xunhong.erp.turbo.api.user.dto.cmd.EmployeeRestPasswordCmd;
import com.xunhong.erp.turbo.api.user.dto.cmd.OpenSafeCmd;
import com.xunhong.erp.turbo.api.user.dto.cmd.UpdatePasswordCmd;
import com.xunhong.erp.turbo.api.user.dto.cmd.UserAuthCreateCmd;
import com.xunhong.erp.turbo.api.user.dto.enums.SocialTypeEnum;
import com.xunhong.erp.turbo.api.user.dto.qry.UserAuthShowQry;
import com.xunhong.erp.turbo.user.domain.entity.UserAuth;

/**
 * @author shenyifei
 */
public interface UserAuthGateway {
	UserAuth getByAccount(String account, SocialTypeEnum socialTypeEnum);

	UserAuth save(UserAuth userAuth);

	UserAuth register(UserAuthCreateCmd userAuthCreateCmd);

	UserAuth show(UserAuthShowQry userAuthShowQry);

	void restPassword(EmployeeRestPasswordCmd employeeRestPasswordCmd);

	void restPassword(UpdatePasswordCmd updatePasswordCmd);

	void openSafe(OpenSafeCmd openSafeCmd);
}
