ids-apis 1.0.221

IDS APIs in Rust
Documentation
// @generated
// This file is @generated by prost-build.
// ============================================================================
// Messages
// ============================================================================

/// 시간 프레임별 주문 제한 설정
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TimeFrameLimit {
    /// 시간 윈도우 (초)
    #[prost(uint32, tag="1")]
    pub window_seconds: u32,
    /// 최대 주문 건수
    #[prost(uint32, tag="2")]
    pub max_orders: u32,
}
/// OrderLimiter 설정
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrderLimiterConfig {
    /// 활성화 여부
    #[prost(bool, optional, tag="1")]
    pub enabled: ::core::option::Option<bool>,
    /// 일일 누적 주문 수량 한도 (i64)
    #[prost(int64, optional, tag="2")]
    pub daily_cumulative_limit: ::core::option::Option<i64>,
    /// 단일 주문 수량 한도 (i64)
    #[prost(int64, optional, tag="3")]
    pub single_order_limit: ::core::option::Option<i64>,
    /// 시간 프레임별 주문 건수 제한 목록
    /// 설정 시 기존 목록을 전체 교체
    #[prost(message, repeated, tag="4")]
    pub time_frame_limits: ::prost::alloc::vec::Vec<TimeFrameLimit>,
}
/// 시간 프레임별 주문 건수 현황
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TimeFrameStatus {
    /// 시간 윈도우 (초)
    #[prost(uint32, tag="1")]
    pub window_seconds: u32,
    /// 현재 윈도우 내 주문 건수
    #[prost(uint32, tag="2")]
    pub current_count: u32,
    /// 최대 주문 건수
    #[prost(uint32, tag="3")]
    pub max_orders: u32,
}
/// (fund_code, etf_symbol) 단위 OrderLimiter 현황
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrderLimiterStatus {
    /// 펀드 코드
    #[prost(string, tag="1")]
    pub fund_code: ::prost::alloc::string::String,
    /// ETF 심볼
    #[prost(string, tag="2")]
    pub etf_symbol: ::prost::alloc::string::String,
    /// 활성화 여부
    #[prost(bool, tag="3")]
    pub enabled: bool,
    /// 일일 누적 주문 수량
    #[prost(int64, tag="4")]
    pub daily_ordered_quantity: i64,
    /// 일일 누적 주문 수량 한도
    #[prost(int64, tag="5")]
    pub daily_cumulative_limit: i64,
    /// 시간 프레임별 주문 건수 현황
    #[prost(message, repeated, tag="6")]
    pub time_frame_statuses: ::prost::alloc::vec::Vec<TimeFrameStatus>,
}
// ============================================================================
// Request/Response Messages
// ============================================================================

/// UpdateOrderLimiterConfig
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateOrderLimiterConfigRequest {
    /// 펀드 코드 (필수)
    #[prost(string, tag="1")]
    pub fund_code: ::prost::alloc::string::String,
    /// ETF 심볼 (선택 — 빈 문자열이면 해당 fund_code 전체 심볼에 적용)
    #[prost(string, tag="2")]
    pub etf_symbol: ::prost::alloc::string::String,
    /// 업데이트할 설정
    #[prost(message, optional, tag="3")]
    pub config: ::core::option::Option<OrderLimiterConfig>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateOrderLimiterConfigResponse {
    /// 업데이트된 대상 수
    #[prost(uint32, tag="1")]
    pub updated_count: u32,
    /// 메시지
    #[prost(string, tag="2")]
    pub message: ::prost::alloc::string::String,
}
/// StreamOrderLimiterStatus
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamOrderLimiterStatusRequest {
    /// 펀드 코드 필터 (선택 — 빈 문자열이면 전체)
    #[prost(string, tag="1")]
    pub fund_code: ::prost::alloc::string::String,
    /// ETF 심볼 필터 (선택 — 빈 문자열이면 전체)
    #[prost(string, tag="2")]
    pub etf_symbol: ::prost::alloc::string::String,
}
include!("kdo.v1.order_limit.tonic.rs");
include!("kdo.v1.order_limit.serde.rs");
// @@protoc_insertion_point(module)