Skip to content

Commit 8cf4c44

Browse files
osain-azarn-the-long-beard
authored andcommitted
feature(facebook::Me_data): added a method to retrieve user facebook data and removed unused method
1 parent 8e87766 commit 8cf4c44

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

src/graph/me/mod.rs

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,26 @@ use serde::{Deserialize, Serialize};
1717

1818
use crate::graph::accounts::AccountsAPI;
1919
use crate::graph::data::Data;
20+
use crate::graph::prelude::Accounts;
2021

2122
/// This struct contain different data gotten as a response when a user sign in
2223
#[derive(Deserialize, Serialize)]
2324
pub struct Me {
2425
name: String,
25-
user_id: String,
26+
id: String,
27+
first_name:String,
28+
picture: FacebookPictureUserPicture,
29+
email:String,
30+
}
31+
32+
#[derive(Deserialize, Serialize)]
33+
pub struct PictureData{
34+
data: FacebookPictureUserPicture
35+
}
36+
37+
#[derive(Deserialize, Serialize)]
38+
pub struct FacebookPictureUserPicture {
39+
url: String,
2640
}
2741

2842
#[derive(Clone, Debug, Deserialize, Serialize)]
@@ -51,9 +65,11 @@ impl MeApi {
5165
/// retrieve a User's name and ID by using: The data in the response
5266
/// will depend on the "Fields" parameters you pass along the get request
5367
/// exmaple fields=id,name,email,picture.......
54-
pub async fn get(&self) -> seed::fetch::Result<Data<Me>> {
55-
log!(self.url);
56-
let request = Request::new(&self.url).method(Method::Get);
57-
fetch(request).await?.json::<Data<Me>>().await
68+
pub async fn details(&self) -> seed::fetch::Result<Me> {
69+
let fields = "&fields=id,name,picture, email,first_name,last_name,about,birthday,gender,link";
70+
let base_ur = self.url.replace("EDGE", "");
71+
let url = base_ur + fields;
72+
let request = Request::new(url).method(Method::Get);
73+
fetch(request).await?.json::<Me>().await
5874
}
5975
}

0 commit comments

Comments
 (0)