package com.red.circle.other.app.service.user.user;

import com.red.circle.common.business.dto.cmd.AppExtCommand;
import com.red.circle.other.app.dto.cmd.user.user.AccountBindUserAuthTypeCmd;
import com.red.circle.other.app.dto.cmd.user.user.BindUserAuthTypeCmd;
import com.red.circle.other.app.dto.cmd.user.user.UnBindUserAuthTypeCmd;
import java.util.List;

/**
 * 用户认证服务.
 *
 * @author pengliang on 2021/5/11
 */
public interface UserAuthTypeService {

  List<String> listUserAuthType(AppExtCommand cmd);

  void bindUserAuthType(BindUserAuthTypeCmd cmd);

  void unBindUserAuthType(UnBindUserAuthTypeCmd cmd);

  void accountBindUserAuthType(AccountBindUserAuthTypeCmd cmd);

  Boolean accountIsBind(AppExtCommand cmd);

  void restoreAuthDelByUserId(Long userId);

  void deleteUserAccountLogin(Long userId);

}
