package com.eactive.eai.rms.onl.dashboard.modern.dto;

import lombok.Data;

/**
 * 인스턴스 정보 DTO
 * 서버 인스턴스의 상태 정보를 전달하기 위한 데이터 객체입니다.
 */
@Data
public class InstanceDTO {
    private String id;              // 인스턴스 ID
    private String status;          // 상태(normal, warning, error, inactive)
    private String throughput;      // 처리량(초당 처리 건수)

    /**
     * 처리량 수치만 추출
     */
    public int getThroughputValue() {
        if (throughput == null || throughput.isEmpty()) {
            return 0;
        }

        try {
            // "123/s" 형식에서 숫자만 추출
            return Integer.parseInt(throughput.replaceAll("[^0-9]", ""));
        } catch (NumberFormatException e) {
            return 0;
        }
    }

    /**
     * 상태에 따른 표시용 텍스트 반환
     */
    public String getStatusText() {
        switch (status) {
            case "normal":
                return "정상";
            case "warning":
                return "경고";
            case "error":
                return "에러";
            case "inactive":
                return "비활성";
            default:
                return "알 수 없음";
        }
    }
}