uapi_sdk_rust/models/generated/
post_search_aggregate_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PostSearchAggregateRequest {
16 #[serde(rename = "query")]
18 pub query: String,
19 #[serde(rename = "site", skip_serializing_if = "Option::is_none")]
21 pub site: Option<String>,
22 #[serde(rename = "filetype", skip_serializing_if = "Option::is_none")]
24 pub filetype: Option<String>,
25 #[serde(rename = "fetch_full", skip_serializing_if = "Option::is_none")]
27 pub fetch_full: Option<bool>,
28 #[serde(rename = "timeout_ms", skip_serializing_if = "Option::is_none")]
30 pub timeout_ms: Option<i32>,
31 #[serde(rename = "sort", skip_serializing_if = "Option::is_none")]
33 pub sort: Option<Sort>,
34 #[serde(rename = "time_range", skip_serializing_if = "Option::is_none")]
36 pub time_range: Option<TimeRange>,
37}
38
39impl PostSearchAggregateRequest {
40 pub fn new(query: String) -> PostSearchAggregateRequest {
41 PostSearchAggregateRequest {
42 query,
43 site: None,
44 filetype: None,
45 fetch_full: None,
46 timeout_ms: None,
47 sort: None,
48 time_range: None,
49 }
50 }
51}
52#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
54pub enum Sort {
55 #[serde(rename = "relevance")]
56 Relevance,
57 #[serde(rename = "date")]
58 Date,
59}
60
61impl Default for Sort {
62 fn default() -> Sort {
63 Self::Relevance
64 }
65}
66#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
68pub enum TimeRange {
69 #[serde(rename = "day")]
70 Day,
71 #[serde(rename = "week")]
72 Week,
73 #[serde(rename = "month")]
74 Month,
75 #[serde(rename = "year")]
76 Year,
77}
78
79impl Default for TimeRange {
80 fn default() -> TimeRange {
81 Self::Day
82 }
83}
84