Merge pull request #30 from polyphony-chat/feature/users-retrieval-on-login-or-register

Feature/users retrieval on login or register
This commit is contained in:
Flori 2023-05-07 00:40:24 +02:00 committed by GitHub
commit 67ea84db90
5 changed files with 34 additions and 31 deletions

View File

@ -3,6 +3,7 @@ pub mod channels;
pub mod policies;
pub mod schemas;
pub mod types;
pub mod users;
pub use channels::messages::*;
pub use policies::instance::instance::*;

View File

@ -1,41 +1,38 @@
pub mod instance {
use reqwest::Client;
use serde_json::from_str;
use crate::errors::InstanceServerError;
use crate::{api::types::InstancePolicies, instance::Instance};
use reqwest::Client;
use serde_json::from_str;
impl<'a> Instance<'a> {
/**
Gets the instance policies schema.
# Errors
[`InstanceServerError`] - If the request fails.
*/
pub async fn instance_policies_schema(
&self,
) -> Result<InstancePolicies, InstanceServerError> {
let client = Client::new();
let endpoint_url = self.urls.get_api().to_string() + "/policies/instance/";
let request = match client.get(&endpoint_url).send().await {
Ok(result) => result,
Err(e) => {
return Err(InstanceServerError::RequestErrorError {
url: endpoint_url,
error: e.to_string(),
});
}
};
use crate::errors::InstanceServerError;
use crate::{api::types::InstancePolicies, instance::Instance};
if !request.status().as_str().starts_with('2') {
return Err(InstanceServerError::ReceivedErrorCodeError {
error_code: request.status().to_string(),
impl<'a> Instance<'a> {
/**
Gets the instance policies schema.
# Errors
[`InstanceServerError`] - If the request fails.
*/
pub async fn instance_policies_schema(&self) -> Result<InstancePolicies, InstanceServerError> {
let client = Client::new();
let endpoint_url = self.urls.get_api().to_string() + "/policies/instance/";
let request = match client.get(&endpoint_url).send().await {
Ok(result) => result,
Err(e) => {
return Err(InstanceServerError::RequestErrorError {
url: endpoint_url,
error: e.to_string(),
});
}
};
let body = request.text().await.unwrap();
let instance_policies_schema: InstancePolicies = from_str(&body).unwrap();
Ok(instance_policies_schema)
if !request.status().as_str().starts_with('2') {
return Err(InstanceServerError::ReceivedErrorCodeError {
error_code: request.status().to_string(),
});
}
let body = request.text().await.unwrap();
let instance_policies_schema: InstancePolicies = from_str(&body).unwrap();
Ok(instance_policies_schema)
}
}

View File

@ -150,6 +150,7 @@ pub struct UserObject {
email: Option<String>,
flags: i8,
premium_type: Option<i8>,
pronouns: Option<String>,
public_flags: Option<i8>,
}

3
src/api/users/mod.rs Normal file
View File

@ -0,0 +1,3 @@
pub mod users;
pub use users::*;

1
src/api/users/users.rs Normal file
View File

@ -0,0 +1 @@
pub fn doathing() {}