From ed91e19b3e730b84448122b5dc660d4afbfdb245 Mon Sep 17 00:00:00 2001 From: Austin Date: Wed, 4 Jan 2023 22:51:36 +0000 Subject: [PATCH] new query for avatar --- app/queries/get_user_avatar.graphql | 5 +++++ app/src/components/avatar.rs | 25 ++++++++++++------------- 2 files changed, 17 insertions(+), 13 deletions(-) create mode 100644 app/queries/get_user_avatar.graphql diff --git a/app/queries/get_user_avatar.graphql b/app/queries/get_user_avatar.graphql new file mode 100644 index 0000000..587a9f9 --- /dev/null +++ b/app/queries/get_user_avatar.graphql @@ -0,0 +1,5 @@ +query GetUserAvatar($id: String!) { + user(userId: $id) { + avatar + } +} diff --git a/app/src/components/avatar.rs b/app/src/components/avatar.rs index 9abd39b..4046e6c 100644 --- a/app/src/components/avatar.rs +++ b/app/src/components/avatar.rs @@ -6,14 +6,13 @@ use yew::prelude::*; #[derive(GraphQLQuery)] #[graphql( schema_path = "../schema.graphql", - query_path = "queries/get_user_details.graphql", + query_path = "queries/get_user_avatar.graphql", response_derives = "Debug, Hash, PartialEq, Eq, Clone", custom_scalars_module = "crate::infra::graphql" )] -pub struct GetUserDetails; +pub struct GetUserAvatar; -pub type User = get_user_details::GetUserDetailsUser; -pub type Group = get_user_details::GetUserDetailsUserGroups; +pub type User = get_user_avatar::GetUserAvatarUser; pub struct Avatar { common: CommonComponentParts, @@ -26,7 +25,7 @@ pub struct Avatar { /// It starts out by fetching the user's details from the backend when loading. pub enum Msg { /// Received the user details response, either the user data or an error. - UserDetailsResponse(Result), + UserAvatarResponse(Result), Update } @@ -40,14 +39,14 @@ pub struct Props { impl CommonComponent for Avatar { fn handle_msg(&mut self, msg: ::Message) -> Result { match msg { - Msg::UserDetailsResponse(response) => match response { + Msg::UserAvatarResponse(response) => match response { Ok(user) => self.avatar = user.user.avatar, Err(e) => { self.avatar = None; bail!("Error getting user details: {}", e); } }, - Msg::Update => self.get_user_details(), + Msg::Update => self.get_user_avatar(), } Ok(true) } @@ -58,14 +57,14 @@ impl CommonComponent for Avatar { } impl Avatar { - fn get_user_details(&mut self) { + fn get_user_avatar(&mut self) { if self.common.username.len() > 0 { - self.common.call_graphql::( - get_user_details::Variables { + self.common.call_graphql::( + get_user_avatar::Variables { id: self.common.username.clone(), }, - Msg::UserDetailsResponse, - "Error trying to fetch user details", + Msg::UserAvatarResponse, + "Error trying to fetch user avatar", ) } } @@ -80,7 +79,7 @@ impl Component for Avatar { common: CommonComponentParts::::create(props, link), avatar: None, }; - avatar.get_user_details(); + avatar.get_user_avatar(); avatar }