mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2025-12-11 15:13:07 +00:00
220 lines
6.0 KiB
Rust
220 lines
6.0 KiB
Rust
use crate::{configuration::HEADER_TOKEN, errors::ServerError, request::HttpRequestBuilder};
|
|
use flowy_core_data_model::entities::prelude::*;
|
|
use flowy_user_data_model::entities::prelude::*;
|
|
|
|
pub(crate) fn request_builder() -> HttpRequestBuilder {
|
|
HttpRequestBuilder::new().middleware(crate::middleware::BACKEND_API_MIDDLEWARE.clone())
|
|
}
|
|
|
|
pub async fn user_sign_up_request(params: SignUpParams, url: &str) -> Result<SignUpResponse, ServerError> {
|
|
let response = request_builder()
|
|
.post(&url.to_owned())
|
|
.protobuf(params)?
|
|
.response()
|
|
.await?;
|
|
Ok(response)
|
|
}
|
|
|
|
pub async fn user_sign_in_request(params: SignInParams, url: &str) -> Result<SignInResponse, ServerError> {
|
|
let response = request_builder()
|
|
.post(&url.to_owned())
|
|
.protobuf(params)?
|
|
.response()
|
|
.await?;
|
|
Ok(response)
|
|
}
|
|
|
|
pub async fn user_sign_out_request(token: &str, url: &str) -> Result<(), ServerError> {
|
|
let _ = request_builder()
|
|
.delete(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.send()
|
|
.await?;
|
|
Ok(())
|
|
}
|
|
|
|
pub async fn get_user_profile_request(token: &str, url: &str) -> Result<UserProfile, ServerError> {
|
|
let user_profile = request_builder()
|
|
.get(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.response()
|
|
.await?;
|
|
Ok(user_profile)
|
|
}
|
|
|
|
pub async fn update_user_profile_request(token: &str, params: UpdateUserParams, url: &str) -> Result<(), ServerError> {
|
|
let _ = request_builder()
|
|
.patch(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.send()
|
|
.await?;
|
|
Ok(())
|
|
}
|
|
|
|
pub async fn create_workspace_request(
|
|
token: &str,
|
|
params: CreateWorkspaceParams,
|
|
url: &str,
|
|
) -> Result<Workspace, ServerError> {
|
|
let workspace = request_builder()
|
|
.post(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.response()
|
|
.await?;
|
|
Ok(workspace)
|
|
}
|
|
|
|
pub async fn read_workspaces_request(
|
|
token: &str,
|
|
params: WorkspaceId,
|
|
url: &str,
|
|
) -> Result<RepeatedWorkspace, ServerError> {
|
|
let repeated_workspace = request_builder()
|
|
.get(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.response::<RepeatedWorkspace>()
|
|
.await?;
|
|
|
|
Ok(repeated_workspace)
|
|
}
|
|
|
|
pub async fn update_workspace_request(
|
|
token: &str,
|
|
params: UpdateWorkspaceParams,
|
|
url: &str,
|
|
) -> Result<(), ServerError> {
|
|
let _ = request_builder()
|
|
.patch(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.send()
|
|
.await?;
|
|
Ok(())
|
|
}
|
|
|
|
pub async fn delete_workspace_request(token: &str, params: WorkspaceId, url: &str) -> Result<(), ServerError> {
|
|
let _ = request_builder()
|
|
.delete(url)
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.send()
|
|
.await?;
|
|
Ok(())
|
|
}
|
|
|
|
// App
|
|
pub async fn create_app_request(token: &str, params: CreateAppParams, url: &str) -> Result<App, ServerError> {
|
|
let app = request_builder()
|
|
.post(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.response()
|
|
.await?;
|
|
Ok(app)
|
|
}
|
|
|
|
pub async fn read_app_request(token: &str, params: AppId, url: &str) -> Result<Option<App>, ServerError> {
|
|
let app = request_builder()
|
|
.get(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.option_response()
|
|
.await?;
|
|
|
|
Ok(app)
|
|
}
|
|
|
|
pub async fn update_app_request(token: &str, params: UpdateAppParams, url: &str) -> Result<(), ServerError> {
|
|
let _ = request_builder()
|
|
.patch(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.send()
|
|
.await?;
|
|
Ok(())
|
|
}
|
|
|
|
pub async fn delete_app_request(token: &str, params: AppId, url: &str) -> Result<(), ServerError> {
|
|
let _ = request_builder()
|
|
.delete(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.send()
|
|
.await?;
|
|
Ok(())
|
|
}
|
|
|
|
// View
|
|
pub async fn create_view_request(token: &str, params: CreateViewParams, url: &str) -> Result<View, ServerError> {
|
|
let view = request_builder()
|
|
.post(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.response()
|
|
.await?;
|
|
Ok(view)
|
|
}
|
|
|
|
pub async fn read_view_request(token: &str, params: ViewId, url: &str) -> Result<Option<View>, ServerError> {
|
|
let view = request_builder()
|
|
.get(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.option_response()
|
|
.await?;
|
|
|
|
Ok(view)
|
|
}
|
|
|
|
pub async fn update_view_request(token: &str, params: UpdateViewParams, url: &str) -> Result<(), ServerError> {
|
|
let _ = request_builder()
|
|
.patch(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.send()
|
|
.await?;
|
|
Ok(())
|
|
}
|
|
|
|
pub async fn delete_view_request(token: &str, params: RepeatedViewId, url: &str) -> Result<(), ServerError> {
|
|
let _ = request_builder()
|
|
.delete(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.send()
|
|
.await?;
|
|
Ok(())
|
|
}
|
|
|
|
pub async fn create_trash_request(token: &str, params: RepeatedTrashId, url: &str) -> Result<(), ServerError> {
|
|
let _ = request_builder()
|
|
.post(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.send()
|
|
.await?;
|
|
Ok(())
|
|
}
|
|
|
|
pub async fn delete_trash_request(token: &str, params: RepeatedTrashId, url: &str) -> Result<(), ServerError> {
|
|
let _ = request_builder()
|
|
.delete(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.protobuf(params)?
|
|
.send()
|
|
.await?;
|
|
Ok(())
|
|
}
|
|
|
|
pub async fn read_trash_request(token: &str, url: &str) -> Result<RepeatedTrash, ServerError> {
|
|
let repeated_trash = request_builder()
|
|
.get(&url.to_owned())
|
|
.header(HEADER_TOKEN, token)
|
|
.response::<RepeatedTrash>()
|
|
.await?;
|
|
Ok(repeated_trash)
|
|
}
|