Skip to main content

ids_apis/
system_ops.v1.holiday.rs

1// @generated
2// This file is @generated by prost-build.
3// ============================================================================
4// Holiday Entity
5// ============================================================================
6
7/// 휴일 - 시장이 휴장하는 날
8#[allow(clippy::derive_partial_eq_without_eq)]
9#[derive(Clone, PartialEq, ::prost::Message)]
10pub struct Holiday {
11    /// 리소스 이름 (holidays/{date})
12    #[prost(string, tag="1")]
13    pub name: ::prost::alloc::string::String,
14    /// 날짜 (YYYYMMDD) - 고유 식별자
15    #[prost(string, tag="2")]
16    pub date: ::prost::alloc::string::String,
17    /// 휴일명 (예: "신정", "설날", "임시공휴일")
18    #[prost(string, tag="3")]
19    pub display_name: ::prost::alloc::string::String,
20    /// 휴일 유형
21    #[prost(enumeration="HolidayType", tag="4")]
22    pub holiday_type: i32,
23    /// 비고 (optional)
24    #[prost(string, tag="5")]
25    pub description: ::prost::alloc::string::String,
26    /// 생성 시간
27    #[prost(message, optional, tag="11")]
28    pub create_time: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
29    /// 수정 시간
30    #[prost(message, optional, tag="12")]
31    pub update_time: ::core::option::Option<super::super::super::google::protobuf::Timestamp>,
32}
33// ============================================================================
34// Request/Response Messages
35// ============================================================================
36
37#[allow(clippy::derive_partial_eq_without_eq)]
38#[derive(Clone, PartialEq, ::prost::Message)]
39pub struct CreateHolidayRequest {
40    /// 등록할 휴일
41    #[prost(message, optional, tag="1")]
42    pub holiday: ::core::option::Option<Holiday>,
43}
44#[allow(clippy::derive_partial_eq_without_eq)]
45#[derive(Clone, PartialEq, ::prost::Message)]
46pub struct ListHolidaysRequest {
47    /// 페이지 크기 (optional)
48    #[prost(int32, optional, tag="1")]
49    pub page_size: ::core::option::Option<i32>,
50    /// 페이지 토큰 (optional, for pagination)
51    #[prost(string, optional, tag="2")]
52    pub page_token: ::core::option::Option<::prost::alloc::string::String>,
53    /// 필터링 조건 (optional, AIP-160)
54    ///
55    /// Available Fields:
56    /// * date - 날짜 (YYYYMMDD, 부분 일치로 연/월 조회 가능)
57    /// * display_name - 휴일명 (문자열, 부분 일치)
58    /// * holiday_type - 휴일 유형 (HOLIDAY_TYPE_PUBLIC, HOLIDAY_TYPE_TEMPORARY, HOLIDAY_TYPE_MARKET_CLOSED)
59    ///
60    /// Operators:
61    /// * = : 일치
62    /// * != : 불일치
63    /// * : : 포함 (문자열 부분 일치)
64    ///
65    /// Examples:
66    /// * date:"2026"
67    /// * date:"202601"
68    /// * holiday_type=HOLIDAY_TYPE_PUBLIC
69    /// * holiday_type=HOLIDAY_TYPE_MARKET_CLOSED AND date:"2026"
70    #[prost(string, tag="3")]
71    pub filter: ::prost::alloc::string::String,
72}
73#[allow(clippy::derive_partial_eq_without_eq)]
74#[derive(Clone, PartialEq, ::prost::Message)]
75pub struct ListHolidaysResponse {
76    /// 휴일 목록
77    #[prost(message, repeated, tag="1")]
78    pub holidays: ::prost::alloc::vec::Vec<Holiday>,
79    /// 다음 페이지 토큰
80    #[prost(string, tag="2")]
81    pub next_page_token: ::prost::alloc::string::String,
82}
83#[allow(clippy::derive_partial_eq_without_eq)]
84#[derive(Clone, PartialEq, ::prost::Message)]
85pub struct GetHolidayByDateRequest {
86    /// 조회할 날짜 (YYYYMMDD)
87    #[prost(string, tag="1")]
88    pub date: ::prost::alloc::string::String,
89}
90#[allow(clippy::derive_partial_eq_without_eq)]
91#[derive(Clone, Copy, PartialEq, ::prost::Message)]
92pub struct CheckHolidayRequest {
93}
94#[allow(clippy::derive_partial_eq_without_eq)]
95#[derive(Clone, PartialEq, ::prost::Message)]
96pub struct CheckHolidayResponse {
97    /// 확인한 날짜 (서버 기준 오늘, YYYYMMDD)
98    #[prost(string, tag="1")]
99    pub date: ::prost::alloc::string::String,
100    /// 휴일 여부
101    #[prost(bool, tag="2")]
102    pub is_holiday: bool,
103    /// 휴일 상세 정보 (is_holiday=true 인 경우에만 채워짐)
104    #[prost(message, optional, tag="3")]
105    pub holiday: ::core::option::Option<Holiday>,
106}
107#[allow(clippy::derive_partial_eq_without_eq)]
108#[derive(Clone, PartialEq, ::prost::Message)]
109pub struct GetLatestBusinessDayRequest {
110    /// 기준 날짜 (YYYYMMDD). 미지정 시 오늘 날짜 기준.
111    /// 이 날짜를 포함한 이전의 가장 최근 영업일을 반환합니다.
112    #[prost(string, optional, tag="1")]
113    pub as_of_date: ::core::option::Option<::prost::alloc::string::String>,
114}
115#[allow(clippy::derive_partial_eq_without_eq)]
116#[derive(Clone, PartialEq, ::prost::Message)]
117pub struct GetLatestBusinessDayResponse {
118    /// 가장 최근 영업일 (YYYYMMDD)
119    #[prost(string, tag="1")]
120    pub date: ::prost::alloc::string::String,
121}
122#[allow(clippy::derive_partial_eq_without_eq)]
123#[derive(Clone, PartialEq, ::prost::Message)]
124pub struct DeleteHolidayRequest {
125    /// 리소스 이름 (holidays/{date})
126    #[prost(string, tag="1")]
127    pub holiday: ::prost::alloc::string::String,
128}
129/// 휴일 유형
130#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
131#[repr(i32)]
132pub enum HolidayType {
133    Unspecified = 0,
134    /// 법정 공휴일
135    Public = 1,
136    /// 임시 공휴일
137    Temporary = 2,
138    /// 거래소 휴장일 (공휴일은 아니나 시장이 열리지 않는 날)
139    MarketClosed = 3,
140}
141impl HolidayType {
142    /// String value of the enum field names used in the ProtoBuf definition.
143    ///
144    /// The values are not transformed in any way and thus are considered stable
145    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
146    pub fn as_str_name(&self) -> &'static str {
147        match self {
148            HolidayType::Unspecified => "HOLIDAY_TYPE_UNSPECIFIED",
149            HolidayType::Public => "HOLIDAY_TYPE_PUBLIC",
150            HolidayType::Temporary => "HOLIDAY_TYPE_TEMPORARY",
151            HolidayType::MarketClosed => "HOLIDAY_TYPE_MARKET_CLOSED",
152        }
153    }
154    /// Creates an enum from field names used in the ProtoBuf definition.
155    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
156        match value {
157            "HOLIDAY_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
158            "HOLIDAY_TYPE_PUBLIC" => Some(Self::Public),
159            "HOLIDAY_TYPE_TEMPORARY" => Some(Self::Temporary),
160            "HOLIDAY_TYPE_MARKET_CLOSED" => Some(Self::MarketClosed),
161            _ => None,
162        }
163    }
164}
165include!("system_ops.v1.holiday.tonic.rs");
166include!("system_ops.v1.holiday.serde.rs");
167// @@protoc_insertion_point(module)