Skip to content

Commit 6ee563b

Browse files
authored
Merge pull request #134 from swallez/reduce_serde_rename
2 parents 8416c4f + 459bd45 commit 6ee563b

File tree

28 files changed

+488
-3601
lines changed

28 files changed

+488
-3601
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
Cargo.lock
44

55
.idea
6+
*.iml
67
.vscode/
78
*.log
89
yaml_test_runner/yaml/

.rustfmt.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
1-
merge_imports = true
1+
# Available on rustfmt nightly currently so commented out so that we remember to enable it once stable
2+
#merge_imports = true
3+
#normalize_doc_attributes = true

api_generator/src/generator/code_gen/request/request_builder.rs

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -125,19 +125,31 @@ impl<'a> RequestBuilder<'a> {
125125
let query_struct_ty = ident("QueryParams");
126126
let struct_fields = endpoint_params.iter().map(|(param_name, param_type)| {
127127
let field = Self::create_struct_field((param_name, param_type));
128-
let field_rename = lit(param_name);
129-
// TODO: we special case expand_wildcards here to be a list, but this should be fixed upstream
130-
if param_type.ty == TypeKind::List || param_name == "expand_wildcards" {
131-
let serialize_with = lit("crate::client::serialize_coll_qs");
128+
129+
let renamed = field.ident.as_ref().unwrap() != param_name;
130+
let serde_rename = if renamed {
131+
let field_rename = lit(param_name);
132132
quote! {
133-
#[serde(rename = #field_rename, serialize_with = #serialize_with)]
134-
#field
133+
#[serde(rename = #field_rename)]
135134
}
136135
} else {
136+
quote!()
137+
};
138+
139+
// TODO: we special case expand_wildcards here to be a list, but this should be fixed upstream
140+
let expand = param_type.ty == TypeKind::List || param_name == "expand_wildcards";
141+
let serialize_with = if expand {
137142
quote! {
138-
#[serde(rename = #field_rename)]
139-
#field
143+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
140144
}
145+
} else {
146+
quote!()
147+
};
148+
149+
quote! {
150+
#serde_rename
151+
#serialize_with
152+
#field
141153
}
142154
});
143155

elasticsearch/src/generated/namespace_clients/async_search.rs

Lines changed: 12 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -131,18 +131,11 @@ impl<'a, 'b> AsyncSearchDelete<'a, 'b> {
131131
#[serde_with::skip_serializing_none]
132132
#[derive(Serialize)]
133133
struct QueryParams<'b> {
134-
#[serde(rename = "error_trace")]
135134
error_trace: Option<bool>,
136-
#[serde(
137-
rename = "filter_path",
138-
serialize_with = "crate::client::serialize_coll_qs"
139-
)]
135+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
140136
filter_path: Option<&'b [&'b str]>,
141-
#[serde(rename = "human")]
142137
human: Option<bool>,
143-
#[serde(rename = "pretty")]
144138
pretty: Option<bool>,
145-
#[serde(rename = "source")]
146139
source: Option<&'b str>,
147140
}
148141
let query_params = QueryParams {
@@ -277,24 +270,14 @@ impl<'a, 'b> AsyncSearchGet<'a, 'b> {
277270
#[serde_with::skip_serializing_none]
278271
#[derive(Serialize)]
279272
struct QueryParams<'b> {
280-
#[serde(rename = "error_trace")]
281273
error_trace: Option<bool>,
282-
#[serde(
283-
rename = "filter_path",
284-
serialize_with = "crate::client::serialize_coll_qs"
285-
)]
274+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
286275
filter_path: Option<&'b [&'b str]>,
287-
#[serde(rename = "human")]
288276
human: Option<bool>,
289-
#[serde(rename = "keep_alive")]
290277
keep_alive: Option<&'b str>,
291-
#[serde(rename = "pretty")]
292278
pretty: Option<bool>,
293-
#[serde(rename = "source")]
294279
source: Option<&'b str>,
295-
#[serde(rename = "typed_keys")]
296280
typed_keys: Option<bool>,
297-
#[serde(rename = "wait_for_completion_timeout")]
298281
wait_for_completion_timeout: Option<&'b str>,
299282
}
300283
let query_params = QueryParams {
@@ -768,121 +751,61 @@ where
768751
#[serde_with::skip_serializing_none]
769752
#[derive(Serialize)]
770753
struct QueryParams<'b> {
771-
#[serde(
772-
rename = "_source",
773-
serialize_with = "crate::client::serialize_coll_qs"
774-
)]
754+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
775755
_source: Option<&'b [&'b str]>,
776-
#[serde(
777-
rename = "_source_excludes",
778-
serialize_with = "crate::client::serialize_coll_qs"
779-
)]
756+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
780757
_source_excludes: Option<&'b [&'b str]>,
781-
#[serde(
782-
rename = "_source_includes",
783-
serialize_with = "crate::client::serialize_coll_qs"
784-
)]
758+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
785759
_source_includes: Option<&'b [&'b str]>,
786-
#[serde(rename = "allow_no_indices")]
787760
allow_no_indices: Option<bool>,
788-
#[serde(rename = "allow_partial_search_results")]
789761
allow_partial_search_results: Option<bool>,
790-
#[serde(rename = "analyze_wildcard")]
791762
analyze_wildcard: Option<bool>,
792-
#[serde(rename = "analyzer")]
793763
analyzer: Option<&'b str>,
794-
#[serde(rename = "batched_reduce_size")]
795764
batched_reduce_size: Option<i64>,
796-
#[serde(rename = "default_operator")]
797765
default_operator: Option<DefaultOperator>,
798-
#[serde(rename = "df")]
799766
df: Option<&'b str>,
800-
#[serde(
801-
rename = "docvalue_fields",
802-
serialize_with = "crate::client::serialize_coll_qs"
803-
)]
767+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
804768
docvalue_fields: Option<&'b [&'b str]>,
805-
#[serde(rename = "error_trace")]
806769
error_trace: Option<bool>,
807-
#[serde(
808-
rename = "expand_wildcards",
809-
serialize_with = "crate::client::serialize_coll_qs"
810-
)]
770+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
811771
expand_wildcards: Option<&'b [ExpandWildcards]>,
812-
#[serde(rename = "explain")]
813772
explain: Option<bool>,
814-
#[serde(
815-
rename = "filter_path",
816-
serialize_with = "crate::client::serialize_coll_qs"
817-
)]
773+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
818774
filter_path: Option<&'b [&'b str]>,
819-
#[serde(rename = "from")]
820775
from: Option<i64>,
821-
#[serde(rename = "human")]
822776
human: Option<bool>,
823-
#[serde(rename = "ignore_throttled")]
824777
ignore_throttled: Option<bool>,
825-
#[serde(rename = "ignore_unavailable")]
826778
ignore_unavailable: Option<bool>,
827-
#[serde(rename = "keep_alive")]
828779
keep_alive: Option<&'b str>,
829-
#[serde(rename = "keep_on_completion")]
830780
keep_on_completion: Option<bool>,
831-
#[serde(rename = "lenient")]
832781
lenient: Option<bool>,
833-
#[serde(rename = "max_concurrent_shard_requests")]
834782
max_concurrent_shard_requests: Option<i64>,
835-
#[serde(rename = "preference")]
836783
preference: Option<&'b str>,
837-
#[serde(rename = "pretty")]
838784
pretty: Option<bool>,
839-
#[serde(rename = "q")]
840785
q: Option<&'b str>,
841-
#[serde(rename = "request_cache")]
842786
request_cache: Option<bool>,
843-
#[serde(
844-
rename = "routing",
845-
serialize_with = "crate::client::serialize_coll_qs"
846-
)]
787+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
847788
routing: Option<&'b [&'b str]>,
848-
#[serde(rename = "search_type")]
849789
search_type: Option<SearchType>,
850-
#[serde(rename = "seq_no_primary_term")]
851790
seq_no_primary_term: Option<bool>,
852-
#[serde(rename = "size")]
853791
size: Option<i64>,
854-
#[serde(rename = "sort", serialize_with = "crate::client::serialize_coll_qs")]
792+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
855793
sort: Option<&'b [&'b str]>,
856-
#[serde(rename = "source")]
857794
source: Option<&'b str>,
858-
#[serde(rename = "stats", serialize_with = "crate::client::serialize_coll_qs")]
795+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
859796
stats: Option<&'b [&'b str]>,
860-
#[serde(
861-
rename = "stored_fields",
862-
serialize_with = "crate::client::serialize_coll_qs"
863-
)]
797+
#[serde(serialize_with = "crate::client::serialize_coll_qs")]
864798
stored_fields: Option<&'b [&'b str]>,
865-
#[serde(rename = "suggest_field")]
866799
suggest_field: Option<&'b str>,
867-
#[serde(rename = "suggest_mode")]
868800
suggest_mode: Option<SuggestMode>,
869-
#[serde(rename = "suggest_size")]
870801
suggest_size: Option<i64>,
871-
#[serde(rename = "suggest_text")]
872802
suggest_text: Option<&'b str>,
873-
#[serde(rename = "terminate_after")]
874803
terminate_after: Option<i64>,
875-
#[serde(rename = "timeout")]
876804
timeout: Option<&'b str>,
877-
#[serde(rename = "track_scores")]
878805
track_scores: Option<bool>,
879-
#[serde(rename = "track_total_hits")]
880806
track_total_hits: Option<TrackTotalHits>,
881-
#[serde(rename = "typed_keys")]
882807
typed_keys: Option<bool>,
883-
#[serde(rename = "version")]
884808
version: Option<bool>,
885-
#[serde(rename = "wait_for_completion_timeout")]
886809
wait_for_completion_timeout: Option<&'b str>,
887810
}
888811
let query_params = QueryParams {

0 commit comments

Comments
 (0)