package incheon.ags.mrb.chart.web.dto;

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

/**
 * 차트 데이터 응답 DTO.
 * 실제 데이터와 경고(예: 항목 수 초과)를 함께 반환하여
 * 프런트엔드에서 400 에러 없이 사용자 안내를 처리할 수 있도록 한다.
 */
public class ChartDataResponse {

    private List<Map<String, Object>> data;
    private ChartDataWarning warning;

    public ChartDataResponse() {
    }

    public ChartDataResponse(List<Map<String, Object>> data, ChartDataWarning warning) {
        this.data = data;
        this.warning = warning;
    }

    public List<Map<String, Object>> getData() {
        return data;
    }

    public void setData(List<Map<String, Object>> data) {
        this.data = data;
    }

    public ChartDataWarning getWarning() {
        return warning;
    }

    public void setWarning(ChartDataWarning warning) {
        this.warning = warning;
    }

    public static class ChartDataWarning {
        private String code;
        private String message;
        private Integer limit;
        private Integer itemCount;

        public ChartDataWarning() {
        }

        public ChartDataWarning(String code, String message, Integer limit, Integer itemCount) {
            this.code = code;
            this.message = message;
            this.limit = limit;
            this.itemCount = itemCount;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getMessage() {
            return message;
        }

        public void setMessage(String message) {
            this.message = message;
        }

        public Integer getLimit() {
            return limit;
        }

        public void setLimit(Integer limit) {
            this.limit = limit;
        }

        public Integer getItemCount() {
            return itemCount;
        }

        public void setItemCount(Integer itemCount) {
            this.itemCount = itemCount;
        }
    }
}

