package com.zioinfo.esn.mapper;

import com.zioinfo.esn.auth.EsnUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

@Mapper
public interface UserMapper {
    List<EsnUser> findAll(@Param("tenantCode") String tenantCode,
                          @Param("role") String role);
    EsnUser findById(@Param("id") Long id);
    EsnUser findByUsername(@Param("username") String username);
    int insert(EsnUser user);
    int update(EsnUser user);
    int updatePassword(@Param("id") Long id, @Param("passwordHash") String passwordHash);
    int delete(@Param("id") Long id);

    /** 관리자 OTP 초기화: 대상 사용자의 OTP 시크릿 폐기 + 등록 해제(다음 로그인 재등록 유도). */
    int resetOtpById(@Param("id") Long id);
}
