impl register
This commit is contained in:
parent
d8b06921b6
commit
aacba2d2a2
|
@ -3,16 +3,40 @@ pub mod register {
|
||||||
use reqwest::Client;
|
use reqwest::Client;
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
|
|
||||||
use crate::{api::schemas::schemas::RegisterSchema, instance::Instance};
|
use crate::{
|
||||||
|
api::{limits::LimitType, schemas::schemas::RegisterSchema},
|
||||||
|
errors::InstanceServerError,
|
||||||
|
instance::{Instance, Token},
|
||||||
|
};
|
||||||
|
|
||||||
impl Instance {
|
impl Instance {
|
||||||
pub fn register(&mut self, register_schema: &RegisterSchema) {
|
/**
|
||||||
|
Registers a new user on the Spacebar server.
|
||||||
|
# Arguments
|
||||||
|
* `register_schema` - The [`RegisterSchema`] that contains all the information that is needed to register a new user.
|
||||||
|
# Errors
|
||||||
|
* [`InstanceServerError`] - If the server does not respond.
|
||||||
|
*/
|
||||||
|
pub async fn register(
|
||||||
|
&mut self,
|
||||||
|
register_schema: &RegisterSchema,
|
||||||
|
) -> Result<Token, InstanceServerError> {
|
||||||
let json_schema = json!(register_schema);
|
let json_schema = json!(register_schema);
|
||||||
let limited_requester = &self.requester;
|
let limited_requester = &mut self.requester;
|
||||||
let client = Client::new();
|
let client = Client::new();
|
||||||
let endpoint_url = self.urls.get_api().to_string() + "/auth/register";
|
let endpoint_url = self.urls.get_api().to_string() + "/auth/register";
|
||||||
let request_builder = client.post(endpoint_url).body(json_schema.to_string());
|
let request_builder = client.post(endpoint_url).body(json_schema.to_string());
|
||||||
// TODO
|
let response = limited_requester
|
||||||
|
.send_request(request_builder, LimitType::AuthRegister)
|
||||||
|
.await;
|
||||||
|
if response.is_none() {
|
||||||
|
return Err(InstanceServerError::NoResponse);
|
||||||
|
}
|
||||||
|
let token = match response.unwrap().text().await {
|
||||||
|
Ok(token) => token,
|
||||||
|
Err(_) => return Err(InstanceServerError::NoResponse),
|
||||||
|
};
|
||||||
|
return Ok(Token { token });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue