package incheon.cmm.g3d.DbMngList.service;

import incheon.cmm.g3d.DbMngList.vo.G3DDbMngVO;
import java.util.List;
import java.util.Map;

/**
 * 디지털트윈 모델 관리 서비스 인터페이스
 */
public interface G3DDbMngService {
    
    /**
     * 전체 목록 조회
     */
    List<G3DDbMngVO> getList();
    
    /**
     * 페이징 및 검색 목록 조회
     */
    List<G3DDbMngVO> getList(String searchKeyword, String categoryFilter, 
                             String searchType, int page, int size, String srvcNum, String dgtlPairGroupCd);
    
    /**
     * 총 개수 조회
     */
    int getTotalCount(String searchKeyword, String categoryFilter, 
                      String searchType, String srvcNum, String dgtlPairGroupCd);
    
    /**
     * 복합키로 조회
     */
    G3DDbMngVO getById(Integer dgtlPairMdlId, String srvcSeCd);
    
    /**
     * 등록
     */
    void create(G3DDbMngVO vo);
    
    /**
     * 수정
     */
    void update(G3DDbMngVO vo);

    int statUpdate(G3DDbMngVO vo);
    
    /**
     * 복합키로 삭제
     */
    void delete(Integer dgtlPairMdlId, String srvcSeCd);
    
    Map<String, Object> checkStoragePath(String path);

}