package com.takensoft.cms.accesCtrl.service;

import com.takensoft.cms.accesCtrl.vo.AccesCtrlVO;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author  : takensoft
 * @since   : 2024.04.01
 *
 * 접근 제어 정보 관련 인터페이스
 */
public interface AccesCtrlService {

    /**
     * @author takensoft
     * @since 2024.04.09
     * 접근 제어 등록
     */
    public Map<String, Object> accesCtrlSave(AccesCtrlVO accesCtrlVO) throws Exception;

    /**
     * @author takensoft
     * @since 2024.04.15
     * 접근 제어 수정
     */
    public int accesCtrlUpdate(AccesCtrlVO accesCtrlVO) throws Exception;

    /**
     * @author takensoft
     * @since 2024.04.12
     * 접근 제어 조회(관리자 페이지용)
     */
    public Map<String, Object> findAll(Map<String, String> params) throws Exception;

    /**
     * @author takensoft
     * @since 2024.04.09
     * 접근 제어 조회(관시스템용 - 시큐리티 접근 제어)
     */
    public List<AccesCtrlVO> findAllAccesCtrlSecurity(String ip) throws Exception;

    /**
     * @author takensoft
     * @since 2024.04.09
     * 접근 제어 상세 조회
     */
    public Map<String, Object> findByAccesCtrl(int acsCntrlId) throws Exception;
}
