neis_client/types/
school_info.rs1#![allow(non_snake_case)]
2use super::{ToQueryString, YesOrNo};
3use form_urlencoded::Serializer;
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, Default, Serialize)]
7pub struct SchoolInfoParams {
8 pub ATPT_OFCDC_SC_CODE: Option<String>,
10 pub SD_SCHUL_CODE: Option<String>,
12 pub SCHUL_NM: Option<String>,
14 pub SCHUL_KND_SC_NM: Option<String>,
16 pub LCTN_SC_NM: Option<String>,
18 pub FOND_SC_NM: Option<String>,
20}
21
22impl SchoolInfoParams {
23 pub fn school_code(school_code: &str) -> Self {
24 Self {
25 SD_SCHUL_CODE: Some(school_code.to_owned()),
26 ..Default::default()
27 }
28 }
29}
30
31impl ToQueryString for SchoolInfoParams {
32 fn to_query_string(&self) -> String {
33 let mut serializer = Serializer::new(String::new());
34
35 if let Some(s) = &self.ATPT_OFCDC_SC_CODE {
36 serializer.append_pair("ATPT_OFCDC_SC_CODE", s);
37 }
38 if let Some(s) = &self.SD_SCHUL_CODE {
39 serializer.append_pair("SD_SCHUL_CODE", s);
40 }
41 if let Some(s) = &self.SCHUL_NM {
42 serializer.append_pair("SCHUL_NM", s);
43 }
44 if let Some(s) = &self.SCHUL_KND_SC_NM {
45 serializer.append_pair("SCHUL_KND_SC_NM", s);
46 }
47 if let Some(s) = &self.LCTN_SC_NM {
48 serializer.append_pair("LCTN_SC_NM", s);
49 }
50 if let Some(s) = &self.FOND_SC_NM {
51 serializer.append_pair("FOND_SC_NM", s);
52 }
53
54 serializer.finish()
55 }
56}
57
58#[derive(Debug, Clone, Deserialize, Hash)]
59pub struct SchoolInfoItem {
60 pub ATPT_OFCDC_SC_CODE: String,
63
64 pub ATPT_OFCDC_SC_NM: String,
67
68 pub SD_SCHUL_CODE: String,
71
72 pub SCHUL_NM: String,
75
76 pub ENG_SCHUL_NM: Option<String>,
79
80 pub SCHUL_KND_SC_NM: Option<String>, pub LCTN_SC_NM: String,
87
88 pub JU_ORG_NM: String,
91
92 pub FOND_SC_NM: Option<String>,
95
96 pub ORG_RDNZC: Option<String>,
99
100 pub ORG_RDNMA: Option<String>,
103
104 pub ORG_RDNDA: Option<String>,
107
108 pub ORG_TELNO: Option<String>,
111
112 pub HMPG_ADRES: Option<String>,
115
116 pub COEDU_SC_NM: String,
119
120 pub ORG_FAXNO: Option<String>,
123
124 pub HS_SC_NM: Option<String>,
127
128 pub INDST_SPECL_CCCCL_EXST_YN: YesOrNo,
130
131 pub HS_GNRL_BUSNS_SC_NM: Option<String>,
134
135 pub SPCLY_PURPS_HS_ORD_NM: Option<String>,
137
138 pub ENE_BFE_SEHF_SC_NM: String,
141
142 pub DGHT_SC_NM: String,
145
146 pub FOND_YMD: String,
149
150 pub FOAS_MEMRD: String,
153
154 pub LOAD_DTM: String,
157}