package incheon.ags.mrb.chart.service;

import incheon.ags.mrb.chart.web.dto.ChartQueryParams;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;

public interface ChartDataService {
    List<Map<String, Object>> getChartData(ChartQueryParams params);

    public int saveChartConfig(Map<String, Object> chartConfig) throws JsonProcessingException;
    public Map<String, Object> loadChartConfig(int chartId) throws JsonMappingException, JsonProcessingException;
    public List<Map<String, Object>> getChartList();
    void deleteChartConfig(int chartId);
    
    /**
     * 테이블 컬럼 정보 조회
     * @param tableName 물리 테이블명 (schema.table 형식)
     * @return 컬럼 정보 리스트
     */
    List<Map<String, Object>> getTableColumns(String tableName);
}