using Bitget_Server.Domain.Models;
namespace Bitget_Server.Application.Options;
///
/// appsettings.json의 Bitget 섹션 바인딩용.
///
public class BitgetOptions
{
public const string SectionName = "Bitget";
/// 기본 API 키 ID (ApiKeys 목록 중 하나).
public int DefaultApiId { get; set; } = 0;
/// 초당 허용 API 호출 횟수 (Bitget Rate Limit).
public int RateLimitPerSecond { get; set; } = 20;
/// JSON 설정 파일 저장 경로. 컨테이너에서는 /data 로 볼륨 마운트.
public string DataDirectory { get; set; } = "./data";
/// 로그 디렉토리. 컨테이너에서는 /logs 로 볼륨 마운트.
public string LogDirectory { get; set; } = "./logs";
/// Debug 레벨 로그 활성화 여부.
public bool LogDebugWrite { get; set; } = false;
/// 자동 업데이트 주기(ms). BackgroundService에서 사용.
public int MarketInfoUpdateIntervalMs { get; set; } = 300;
/// WebSocket 처리 주기(ms).
public int WebSocketCalcIntervalMs { get; set; } = 1000;
/// Ping 주기(ms). Bitget는 30초 이내 응답 필요.
public int WebSocketPingIntervalMs { get; set; } = 25000;
/// 사용자별 Bitget API 키 목록 (기존 하드코딩 3개에 해당).
public List ApiKeys { get; set; } = new();
}