From cd5534c8a16c3f267db6cb6d6b0d85bf79b0c76b Mon Sep 17 00:00:00 2001 From: Sunli Date: Fri, 19 Jun 2020 12:49:45 +0800 Subject: [PATCH] Update object.rs --- async-graphql-derive/src/object.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/async-graphql-derive/src/object.rs b/async-graphql-derive/src/object.rs index dc5a2909..a562612d 100644 --- a/async-graphql-derive/src/object.rs +++ b/async-graphql-derive/src/object.rs @@ -114,19 +114,17 @@ pub fn generate(object_args: &args::Object, item_impl: &mut ItemImpl) -> Result< let mut keys = Vec::new(); let mut keys_str = String::new(); let mut requires_getter = Vec::new(); - let mut one_key = false; + let all_key = args.iter().all(|(_, _, arg)| !arg.key); if args.is_empty() { return Err(Error::new_spanned( method, "Entity need to have at least one key.", )); - } else if args.len() == 1 { - one_key = true; } for (ident, ty, args::Argument { name, key, .. }) in &args { - let is_key = one_key || *key; + let is_key = all_key || *key; let name = name .clone() .unwrap_or_else(|| ident.ident.to_string().to_camel_case());