Skip to content

Commit 0157789

Browse files
committed
refactor serde annotations
1 parent b2bb080 commit 0157789

File tree

2 files changed

+16
-62
lines changed

2 files changed

+16
-62
lines changed

rust/cubeorchestrator/src/query_result_transform.rs

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -476,14 +476,12 @@ impl TransformedData {
476476
}
477477

478478
#[derive(Debug, Clone, Serialize, Deserialize)]
479+
#[serde(rename_all = "camelCase")]
479480
pub struct RequestResultDataMulti {
480-
#[serde(rename = "queryType")]
481481
pub query_type: QueryType,
482482
pub results: Vec<RequestResultData>,
483-
#[serde(rename = "pivotQuery")]
484483
#[serde(skip_serializing_if = "Option::is_none")]
485484
pub pivot_query: Option<NormalizedQuery>,
486-
#[serde(rename = "slowQuery")]
487485
pub slow_query: bool,
488486
}
489487

@@ -516,36 +514,28 @@ impl RequestResultDataMulti {
516514
}
517515

518516
#[derive(Debug, Clone, Serialize, Deserialize)]
517+
#[serde(rename_all = "camelCase")]
519518
pub struct RequestResultData {
520519
pub query: NormalizedQuery,
521-
#[serde(rename = "lastRefreshTime")]
522520
#[serde(skip_serializing_if = "Option::is_none")]
523521
pub last_refresh_time: Option<String>,
524-
#[serde(rename = "refreshKeyValues")]
525522
#[serde(skip_serializing_if = "Option::is_none")]
526523
pub refresh_key_values: Option<Value>,
527-
#[serde(rename = "usedPreAggregations")]
528524
#[serde(skip_serializing_if = "Option::is_none")]
529525
pub used_pre_aggregations: Option<Value>,
530-
#[serde(rename = "transformedQuery")]
531526
#[serde(skip_serializing_if = "Option::is_none")]
532527
pub transformed_query: Option<Value>,
533-
#[serde(rename = "requestId")]
534528
#[serde(skip_serializing_if = "Option::is_none")]
535529
pub request_id: Option<String>,
536530
pub annotation: HashMap<String, HashMap<String, AnnotatedConfigItem>>,
537-
#[serde(rename = "dataSource")]
538531
#[serde(skip_serializing_if = "Option::is_none")]
539532
pub data_source: Option<String>,
540-
#[serde(rename = "dbType")]
541533
#[serde(skip_serializing_if = "Option::is_none")]
542534
pub db_type: Option<String>,
543-
#[serde(rename = "extDbType")]
544535
#[serde(skip_serializing_if = "Option::is_none")]
545536
pub ext_db_type: Option<String>,
546537
#[serde(skip_serializing_if = "Option::is_none")]
547538
pub external: Option<bool>,
548-
#[serde(rename = "slowQuery")]
549539
pub slow_query: bool,
550540
#[serde(skip_serializing_if = "Option::is_none")]
551541
pub total: Option<u64>,

rust/cubeorchestrator/src/transport.rs

Lines changed: 14 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,18 @@ use serde_json::Value;
44
use std::{collections::HashMap, fmt::Display};
55

66
#[derive(Debug, Clone, Serialize, Deserialize)]
7+
#[serde(rename_all = "camelCase")]
78
pub enum ResultType {
8-
#[serde(rename = "default")]
99
Default,
10-
#[serde(rename = "compact")]
1110
Compact,
1211
}
1312

1413
#[derive(Default, Debug, Clone, Serialize, Deserialize)]
14+
#[serde(rename_all = "camelCase")]
1515
pub enum QueryType {
16-
#[serde(rename = "regularQuery")]
1716
#[default]
1817
RegularQuery,
19-
#[serde(rename = "compareDateRangeQuery")]
2018
CompareDateRangeQuery,
21-
#[serde(rename = "blendingQuery")]
2219
BlendingQuery,
2320
}
2421

@@ -34,56 +31,35 @@ impl Display for QueryType {
3431
}
3532

3633
#[derive(Debug, Serialize, Deserialize)]
34+
#[serde(rename_all = "camelCase")]
3735
pub enum MemberType {
38-
#[serde(rename = "measures")]
3936
Measures,
40-
#[serde(rename = "dimensions")]
4137
Dimensions,
42-
#[serde(rename = "segments")]
4338
Segments,
4439
}
4540

4641
#[derive(Debug, Clone, Serialize, Deserialize)]
42+
#[serde(rename_all = "camelCase")]
4743
pub enum FilterOperator {
48-
#[serde(rename = "equals")]
4944
Equals,
50-
#[serde(rename = "notEquals")]
5145
NotEquals,
52-
#[serde(rename = "contains")]
5346
Contains,
54-
#[serde(rename = "notContains")]
5547
NotContains,
56-
#[serde(rename = "in")]
5748
In,
58-
#[serde(rename = "notIn")]
5949
NotIn,
60-
#[serde(rename = "gt")]
6150
Gt,
62-
#[serde(rename = "gte")]
6351
Gte,
64-
#[serde(rename = "lt")]
6552
Lt,
66-
#[serde(rename = "lte")]
6753
Lte,
68-
#[serde(rename = "set")]
6954
Set,
70-
#[serde(rename = "notSet")]
7155
NotSet,
72-
#[serde(rename = "inDateRange")]
7356
InDateRange,
74-
#[serde(rename = "notInDateRange")]
7557
NotInDateRange,
76-
#[serde(rename = "onTheDate")]
7758
OnTheDate,
78-
#[serde(rename = "beforeDate")]
7959
BeforeDate,
80-
#[serde(rename = "beforeOrOnDate")]
8160
BeforeOrOnDate,
82-
#[serde(rename = "afterDate")]
8361
AfterDate,
84-
#[serde(rename = "afterOrOnDate")]
8562
AfterOrOnDate,
86-
#[serde(rename = "measureFilter")]
8763
MeasureFilter,
8864
}
8965

@@ -95,32 +71,30 @@ pub struct QueryFilter {
9571
}
9672

9773
#[derive(Debug, Clone, Serialize, Deserialize, Hash, Eq, PartialEq)]
74+
#[serde(rename_all = "camelCase")]
9875
pub struct GroupingSet {
9976
pub group_type: String,
10077
pub id: u32,
10178
pub sub_id: Option<u32>,
10279
}
10380

10481
#[derive(Debug, Clone, Serialize, Deserialize, Hash, Eq, PartialEq)]
82+
#[serde(rename_all = "camelCase")]
10583
pub struct ParsedMemberExpression {
10684
pub expression: Vec<String>,
107-
#[serde(rename = "cubeName")]
10885
pub cube_name: String,
10986
pub name: String,
110-
#[serde(rename = "expressionName")]
11187
pub expression_name: String,
11288
pub definition: String,
11389
#[serde(skip_serializing_if = "Option::is_none")]
114-
#[serde(rename = "groupingSet")]
11590
pub grouping_set: Option<GroupingSet>,
11691
}
11792

11893
#[derive(Debug, Clone, Serialize, Deserialize)]
94+
#[serde(rename_all = "camelCase")]
11995
pub struct QueryTimeDimension {
12096
pub dimension: String,
121-
#[serde(rename = "dateRange")]
12297
pub date_range: Option<Vec<String>>,
123-
#[serde(rename = "compareDateRange")]
12498
pub compare_date_range: Option<Vec<String>>,
12599
pub granularity: Option<String>,
126100
}
@@ -141,6 +115,7 @@ pub struct GranularityMeta {
141115
}
142116

143117
#[derive(Debug, Clone, Serialize, Deserialize)]
118+
#[serde(rename_all = "camelCase")]
144119
pub struct ConfigItem {
145120
#[serde(skip_serializing_if = "Option::is_none")]
146121
pub title: Option<String>,
@@ -156,16 +131,15 @@ pub struct ConfigItem {
156131
#[serde(skip_serializing_if = "Option::is_none")]
157132
pub meta: Option<Value>,
158133
#[serde(skip_serializing_if = "Option::is_none")]
159-
#[serde(rename = "drillMembers")]
160134
pub drill_members: Option<Vec<Value>>,
161135
#[serde(skip_serializing_if = "Option::is_none")]
162-
#[serde(rename = "drillMembersGrouped")]
163136
pub drill_members_grouped: Option<Value>,
164137
#[serde(skip_serializing_if = "Option::is_none")]
165138
pub granularities: Option<Vec<GranularityMeta>>,
166139
}
167140

168141
#[derive(Debug, Clone, Serialize, Deserialize)]
142+
#[serde(rename_all = "camelCase")]
169143
pub struct AnnotatedConfigItem {
170144
#[serde(skip_serializing_if = "Option::is_none")]
171145
pub title: Option<String>,
@@ -181,10 +155,8 @@ pub struct AnnotatedConfigItem {
181155
#[serde(skip_serializing_if = "Option::is_none")]
182156
pub meta: Option<Value>,
183157
#[serde(skip_serializing_if = "Option::is_none")]
184-
#[serde(rename = "drillMembers")]
185158
pub drill_members: Option<Vec<Value>>,
186159
#[serde(skip_serializing_if = "Option::is_none")]
187-
#[serde(rename = "drillMembersGrouped")]
188160
pub drill_members_grouped: Option<Value>,
189161
#[serde(skip_serializing_if = "Option::is_none")]
190162
pub granularity: Option<GranularityMeta>,
@@ -209,6 +181,7 @@ pub struct NormalizedQueryFilter {
209181
// TODO: Not used, as all members are made as Strings for now
210182
// XXX: Omitted function variant
211183
#[derive(Debug, Clone, Serialize, Deserialize, Hash, Eq, PartialEq)]
184+
#[serde(untagged)]
212185
pub enum MemberOrMemberExpression {
213186
Member(String),
214187
MemberExpression(ParsedMemberExpression),
@@ -240,6 +213,7 @@ pub enum LogicalFilter {
240213
}
241214

242215
#[derive(Debug, Serialize, Deserialize)]
216+
#[serde(rename_all = "camelCase")]
243217
pub struct Query {
244218
// pub measures: Vec<MemberOrMemberExpression>,
245219
pub measures: Vec<String>,
@@ -248,7 +222,6 @@ pub struct Query {
248222
pub dimensions: Option<Vec<String>>,
249223
#[serde(skip_serializing_if = "Option::is_none")]
250224
pub filters: Option<Vec<LogicalFilter>>,
251-
#[serde(rename = "timeDimensions")]
252225
#[serde(skip_serializing_if = "Option::is_none")]
253226
pub time_dimensions: Option<Vec<QueryTimeDimension>>,
254227
#[serde(skip_serializing_if = "Option::is_none")]
@@ -261,23 +234,21 @@ pub struct Query {
261234
#[serde(skip_serializing_if = "Option::is_none")]
262235
pub total: Option<bool>,
263236
#[serde(skip_serializing_if = "Option::is_none")]
264-
#[serde(rename = "totalQuery")]
265237
pub total_query: Option<bool>,
266238
#[serde(skip_serializing_if = "Option::is_none")]
267239
pub order: Option<Value>,
268240
#[serde(skip_serializing_if = "Option::is_none")]
269241
pub timezone: Option<String>,
270-
#[serde(rename = "renewQuery")]
271242
#[serde(skip_serializing_if = "Option::is_none")]
272243
pub renew_query: Option<bool>,
273244
#[serde(skip_serializing_if = "Option::is_none")]
274245
pub ungrouped: Option<bool>,
275-
#[serde(rename = "responseFormat")]
276246
#[serde(skip_serializing_if = "Option::is_none")]
277247
pub response_format: Option<ResultType>,
278248
}
279249

280250
#[derive(Debug, Clone, Serialize, Deserialize)]
251+
#[serde(rename_all = "camelCase")]
281252
pub struct NormalizedQuery {
282253
#[serde(skip_serializing_if = "Option::is_none")]
283254
// pub measures: Vec<MemberOrMemberExpression>,
@@ -286,7 +257,6 @@ pub struct NormalizedQuery {
286257
// pub dimensions: Option<Vec<MemberOrMemberExpression>>,
287258
pub dimensions: Option<Vec<String>>,
288259
#[serde(skip_serializing_if = "Option::is_none")]
289-
#[serde(rename = "timeDimensions")]
290260
pub time_dimensions: Option<Vec<QueryTimeDimension>>,
291261
// pub segments: Option<Vec<MemberOrMemberExpression>>,
292262
#[serde(skip_serializing_if = "Option::is_none")]
@@ -298,38 +268,32 @@ pub struct NormalizedQuery {
298268
#[serde(skip_serializing_if = "Option::is_none")]
299269
pub total: Option<bool>,
300270
#[serde(skip_serializing_if = "Option::is_none")]
301-
#[serde(rename = "totalQuery")]
302271
pub total_query: Option<bool>,
303272
#[serde(skip_serializing_if = "Option::is_none")]
304273
pub timezone: Option<String>,
305274
#[serde(skip_serializing_if = "Option::is_none")]
306-
#[serde(rename = "renewQuery")]
307275
pub renew_query: Option<bool>,
308276
#[serde(skip_serializing_if = "Option::is_none")]
309277
pub ungrouped: Option<bool>,
310-
#[serde(rename = "responseFormat")]
278+
#[serde(skip_serializing_if = "Option::is_none")]
311279
pub response_format: Option<ResultType>,
312280
#[serde(skip_serializing_if = "Option::is_none")]
313281
pub filters: Option<Vec<NormalizedQueryFilter>>,
314282
#[serde(skip_serializing_if = "Option::is_none")]
315-
#[serde(rename = "rowLimit")]
316283
pub row_limit: Option<u32>,
317284
#[serde(skip_serializing_if = "Option::is_none")]
318285
pub order: Option<Vec<Order>>,
319286
#[serde(skip_serializing_if = "Option::is_none")]
320-
#[serde(rename = "queryType")]
321287
pub query_type: Option<QueryType>,
322288
}
323289

324290
#[derive(Debug, Clone, Deserialize)]
291+
#[serde(rename_all = "camelCase")]
325292
pub struct TransformDataRequest {
326-
#[serde(rename = "aliasToMemberNameMap")]
327293
pub alias_to_member_name_map: HashMap<String, String>,
328294
pub annotation: HashMap<String, ConfigItem>,
329295
pub query: NormalizedQuery,
330-
#[serde(rename = "queryType")]
331296
pub query_type: Option<QueryType>,
332-
#[serde(rename = "resType")]
333297
pub res_type: Option<ResultType>,
334298
}
335299

0 commit comments

Comments
 (0)