package incheon.ags.ias.role.mapper;

import incheon.ags.ias.role.vo.RoleSearchVO;
import incheon.ags.ias.role.vo.RoleVO;
import incheon.com.config.annotation.MainDB;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

import java.util.List;
import java.util.Map;

@org.egovframe.rte.psl.dataaccess.mapper.Mapper @incheon.com.config.annotation.MainDB
public interface RoleMapper {
    List<Map<String,Object>> selectRoleList(RoleSearchVO roleSearchVO);
    RoleVO selectRoleById(RoleVO roleVO);
    int selectRoleCnt(RoleSearchVO roleSearchVO);
    int insertRole(RoleVO roleVO);
    int updateRole(RoleVO roleVO);
    int deleteRole(RoleVO roleVO);
    List<Map<String,Object>> selectSysList();
    RoleVO selectRoleBySysAndType(String sysCd, String roleTypeCd);

    // 복합키 (ROLE_CD, SYS_CD) 일괄 변경용 메서드들
    int updateRoleCode(Map<String, Object> params);
    int updateUpRoleCode(Map<String, Object> params);

    // 규칙명(IP접근제어) 조회/수정
    String selectRulNm(RoleVO roleVO);
    int updateRulNm(RoleVO roleVO);
}