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