From c77c63a4c2be45fdf901205c2270962c8b657b12 Mon Sep 17 00:00:00 2001 From: appflowy Date: Fri, 10 Sep 2021 16:22:38 +0800 Subject: [PATCH] move dir --- backend/src/application.rs | 30 +++++++----- backend/src/context.rs | 2 +- backend/src/doc_service/router.rs | 37 --------------- backend/src/lib.rs | 5 +- backend/src/middleware/auth_middleware.rs | 2 +- backend/src/{ => service}/doc_service/doc.rs | 0 backend/src/{ => service}/doc_service/mod.rs | 0 backend/src/service/doc_service/router.rs | 47 +++++++++++++++++++ .../{ => service}/doc_service/sql_builder.rs | 0 backend/src/service/mod.rs | 4 ++ .../src/{ => service}/user_service/auth.rs | 23 +++++---- .../{ => service}/user_service/logged_user.rs | 0 backend/src/{ => service}/user_service/mod.rs | 0 .../src/{ => service}/user_service/router.rs | 13 ++--- .../src/{ => service}/user_service/utils.rs | 0 .../workspace_service/app/app.rs | 27 ++++++----- .../workspace_service/app/mod.rs | 0 .../workspace_service/app/router.rs | 17 ++++--- .../workspace_service/app/sql_builder.rs | 0 .../{ => service}/workspace_service/mod.rs | 0 .../workspace_service/user_default/mod.rs | 0 .../user_default/user_default.rs | 10 ++-- .../workspace_service/view/mod.rs | 0 .../workspace_service/view/router.rs | 13 ++--- .../workspace_service/view/sql_builder.rs | 0 .../workspace_service/view/view.rs | 14 +++--- .../workspace_service/workspace/mod.rs | 0 .../workspace_service/workspace/router.rs | 27 ++++++----- .../workspace/sql_builder.rs | 0 .../workspace_service/workspace/workspace.rs | 21 +++++---- .../ws_service/entities/connect.rs | 2 +- .../ws_service/entities/message.rs | 2 +- .../{ => service}/ws_service/entities/mod.rs | 0 backend/src/{ => service}/ws_service/mod.rs | 0 .../src/{ => service}/ws_service/router.rs | 2 +- .../src/{ => service}/ws_service/ws_client.rs | 23 ++++----- .../src/{ => service}/ws_service/ws_server.rs | 2 +- backend/tests/api/doc.rs | 0 backend/tests/api/main.rs | 1 + 39 files changed, 182 insertions(+), 142 deletions(-) delete mode 100644 backend/src/doc_service/router.rs rename backend/src/{ => service}/doc_service/doc.rs (100%) rename backend/src/{ => service}/doc_service/mod.rs (100%) create mode 100644 backend/src/service/doc_service/router.rs rename backend/src/{ => service}/doc_service/sql_builder.rs (100%) create mode 100644 backend/src/service/mod.rs rename backend/src/{ => service}/user_service/auth.rs (97%) rename backend/src/{ => service}/user_service/logged_user.rs (100%) rename backend/src/{ => service}/user_service/mod.rs (100%) rename backend/src/{ => service}/user_service/router.rs (96%) rename backend/src/{ => service}/user_service/utils.rs (100%) rename backend/src/{ => service}/workspace_service/app/app.rs (95%) rename backend/src/{ => service}/workspace_service/app/mod.rs (100%) rename backend/src/{ => service}/workspace_service/app/router.rs (90%) rename backend/src/{ => service}/workspace_service/app/sql_builder.rs (100%) rename backend/src/{ => service}/workspace_service/mod.rs (100%) rename backend/src/{ => service}/workspace_service/user_default/mod.rs (100%) rename backend/src/{ => service}/workspace_service/user_default/user_default.rs (98%) rename backend/src/{ => service}/workspace_service/view/mod.rs (100%) rename backend/src/{ => service}/workspace_service/view/router.rs (93%) rename backend/src/{ => service}/workspace_service/view/sql_builder.rs (100%) rename backend/src/{ => service}/workspace_service/view/view.rs (97%) rename backend/src/{ => service}/workspace_service/workspace/mod.rs (100%) rename backend/src/{ => service}/workspace_service/workspace/router.rs (89%) rename backend/src/{ => service}/workspace_service/workspace/sql_builder.rs (100%) rename backend/src/{ => service}/workspace_service/workspace/workspace.rs (96%) rename backend/src/{ => service}/ws_service/entities/connect.rs (95%) rename backend/src/{ => service}/ws_service/entities/message.rs (94%) rename backend/src/{ => service}/ws_service/entities/mod.rs (100%) rename backend/src/{ => service}/ws_service/mod.rs (100%) rename backend/src/{ => service}/ws_service/router.rs (89%) rename backend/src/{ => service}/ws_service/ws_client.rs (99%) rename backend/src/{ => service}/ws_service/ws_server.rs (97%) create mode 100644 backend/tests/api/doc.rs diff --git a/backend/src/application.rs b/backend/src/application.rs index a0f9211221..0aaed3e6d0 100644 --- a/backend/src/application.rs +++ b/backend/src/application.rs @@ -1,3 +1,11 @@ +use std::{net::TcpListener, time::Duration}; + +use actix::Actor; +use actix_identity::{CookieIdentityPolicy, IdentityService}; +use actix_web::{dev::Server, middleware, web, web::Data, App, HttpServer, Scope}; +use sqlx::{postgres::PgPoolOptions, PgPool}; +use tokio::time::interval; + use crate::{ config::{ env::{domain, secret, use_https}, @@ -5,18 +13,18 @@ use crate::{ Settings, }, context::AppContext, - doc_service::router as doc, - user_service::router as user, - workspace_service::{app::router as app, view::router as view, workspace::router as workspace}, - ws_service, - ws_service::WSServer, + service::{ + doc_service::router as doc, + user_service::router as user, + workspace_service::{ + app::router as app, + view::router as view, + workspace::router as workspace, + }, + ws_service, + ws_service::WSServer, + }, }; -use actix::Actor; -use actix_identity::{CookieIdentityPolicy, IdentityService}; -use actix_web::{dev::Server, middleware, web, web::Data, App, HttpServer, Scope}; -use sqlx::{postgres::PgPoolOptions, PgPool}; -use std::{net::TcpListener, time::Duration}; -use tokio::time::interval; pub struct Application { port: u16, diff --git a/backend/src/context.rs b/backend/src/context.rs index 0b5ebeaf67..0ed14a78b9 100644 --- a/backend/src/context.rs +++ b/backend/src/context.rs @@ -1,4 +1,4 @@ -use crate::ws_service::WSServer; +use crate::service::ws_service::WSServer; use actix::Addr; use sqlx::PgPool; diff --git a/backend/src/doc_service/router.rs b/backend/src/doc_service/router.rs deleted file mode 100644 index 5926fcba0d..0000000000 --- a/backend/src/doc_service/router.rs +++ /dev/null @@ -1,37 +0,0 @@ -use crate::routers::utils::parse_from_payload; -use actix_web::{ - web::{Data, Payload}, - HttpResponse, -}; -use flowy_document::protobuf::CreateDocParams; -use flowy_net::errors::ServerError; -use sqlx::PgPool; - -pub async fn create_handler( - payload: Payload, - _pool: Data, -) -> Result { - let _params: CreateDocParams = parse_from_payload(payload).await?; - unimplemented!() -} - -pub async fn read_handler( - _payload: Payload, - _pool: Data, -) -> Result { - unimplemented!() -} - -pub async fn update_handler( - _payload: Payload, - _pool: Data, -) -> Result { - unimplemented!() -} - -pub async fn delete_handler( - _payload: Payload, - _pool: Data, -) -> Result { - unimplemented!() -} diff --git a/backend/src/lib.rs b/backend/src/lib.rs index cd3a3bfdf3..34b771c600 100644 --- a/backend/src/lib.rs +++ b/backend/src/lib.rs @@ -1,11 +1,8 @@ pub mod application; pub mod config; mod context; -mod doc_service; mod entities; mod middleware; mod routers; +mod service; mod sqlx_ext; -mod user_service; -mod workspace_service; -mod ws_service; diff --git a/backend/src/middleware/auth_middleware.rs b/backend/src/middleware/auth_middleware.rs index 29580fd0fc..9e9fd8a593 100644 --- a/backend/src/middleware/auth_middleware.rs +++ b/backend/src/middleware/auth_middleware.rs @@ -1,4 +1,4 @@ -use crate::user_service::{LoggedUser, AUTHORIZED_USERS}; +use crate::service::user_service::{LoggedUser, AUTHORIZED_USERS}; use actix_service::{Service, Transform}; use actix_web::{ dev::{ServiceRequest, ServiceResponse}, diff --git a/backend/src/doc_service/doc.rs b/backend/src/service/doc_service/doc.rs similarity index 100% rename from backend/src/doc_service/doc.rs rename to backend/src/service/doc_service/doc.rs diff --git a/backend/src/doc_service/mod.rs b/backend/src/service/doc_service/mod.rs similarity index 100% rename from backend/src/doc_service/mod.rs rename to backend/src/service/doc_service/mod.rs diff --git a/backend/src/service/doc_service/router.rs b/backend/src/service/doc_service/router.rs new file mode 100644 index 0000000000..d94a50484e --- /dev/null +++ b/backend/src/service/doc_service/router.rs @@ -0,0 +1,47 @@ +use crate::{ + routers::utils::parse_from_payload, + service::doc_service::{create_doc, read_doc, update_doc}, +}; +use actix_web::{ + web::{Data, Payload}, + HttpResponse, +}; +use flowy_document::protobuf::{CreateDocParams, QueryDocParams, UpdateDocParams}; +use flowy_net::errors::ServerError; +use sqlx::PgPool; + +pub async fn create_handler( + payload: Payload, + pool: Data, +) -> Result { + let params: CreateDocParams = parse_from_payload(payload).await?; + let response = create_doc(pool.get_ref(), params).await?; + Ok(response.into()) +} + +pub async fn read_handler( + payload: Payload, + pool: Data, +) -> Result { + let params: QueryDocParams = parse_from_payload(payload).await?; + let response = read_doc(pool.get_ref(), params).await?; + Ok(response.into()) +} + +pub async fn update_handler( + payload: Payload, + pool: Data, +) -> Result { + let params: UpdateDocParams = parse_from_payload(payload).await?; + let response = update_doc(pool.get_ref(), params).await?; + Ok(response.into()) +} + +pub async fn delete_handler( + payload: Payload, + pool: Data, +) -> Result { + let params: QueryDocParams = parse_from_payload(payload).await?; + let response = read_doc(pool.get_ref(), params).await?; + Ok(response.into()) +} diff --git a/backend/src/doc_service/sql_builder.rs b/backend/src/service/doc_service/sql_builder.rs similarity index 100% rename from backend/src/doc_service/sql_builder.rs rename to backend/src/service/doc_service/sql_builder.rs diff --git a/backend/src/service/mod.rs b/backend/src/service/mod.rs new file mode 100644 index 0000000000..81915a7cea --- /dev/null +++ b/backend/src/service/mod.rs @@ -0,0 +1,4 @@ +pub mod doc_service; +pub mod user_service; +pub mod workspace_service; +pub mod ws_service; diff --git a/backend/src/user_service/auth.rs b/backend/src/service/user_service/auth.rs similarity index 97% rename from backend/src/user_service/auth.rs rename to backend/src/service/user_service/auth.rs index f7e767e2e5..1f2749bf49 100644 --- a/backend/src/user_service/auth.rs +++ b/backend/src/service/user_service/auth.rs @@ -1,14 +1,7 @@ -use super::AUTHORIZED_USERS; -use crate::{ - entities::{token::Token, user::UserTable}, - sqlx_ext::DBTransaction, - user_service::{hash_password, verify_password, LoggedUser}, - workspace_service::user_default::create_default_workspace, -}; - -use crate::sqlx_ext::{map_sqlx_error, SqlBuilder}; use anyhow::Context; use chrono::Utc; +use sqlx::{PgPool, Postgres}; + use flowy_net::{ errors::{invalid_params, ErrorCode, ServerError}, response::FlowyResponse, @@ -24,7 +17,17 @@ use flowy_user::{ UserProfile, }, }; -use sqlx::{PgPool, Postgres}; + +use crate::{ + entities::{token::Token, user::UserTable}, + service::{ + user_service::{hash_password, verify_password, LoggedUser}, + workspace_service::user_default::create_default_workspace, + }, + sqlx_ext::{map_sqlx_error, DBTransaction, SqlBuilder}, +}; + +use super::AUTHORIZED_USERS; pub async fn sign_in(pool: &PgPool, params: SignInParams) -> Result { let email = diff --git a/backend/src/user_service/logged_user.rs b/backend/src/service/user_service/logged_user.rs similarity index 100% rename from backend/src/user_service/logged_user.rs rename to backend/src/service/user_service/logged_user.rs diff --git a/backend/src/user_service/mod.rs b/backend/src/service/user_service/mod.rs similarity index 100% rename from backend/src/user_service/mod.rs rename to backend/src/service/user_service/mod.rs diff --git a/backend/src/user_service/router.rs b/backend/src/service/user_service/router.rs similarity index 96% rename from backend/src/user_service/router.rs rename to backend/src/service/user_service/router.rs index 2b5571d409..abbb0626ef 100644 --- a/backend/src/user_service/router.rs +++ b/backend/src/service/user_service/router.rs @@ -1,13 +1,18 @@ -use crate::routers::utils::parse_from_payload; +use actix_identity::Identity; use actix_web::{ web::{Data, Payload}, HttpRequest, HttpResponse, }; +use sqlx::PgPool; + +use flowy_net::{errors::ServerError, response::FlowyResponse}; +use flowy_user::protobuf::{SignInParams, SignUpParams, UpdateUserParams}; use crate::{ entities::token::Token, - user_service::{ + routers::utils::parse_from_payload, + service::user_service::{ get_user_profile, register_user, set_user_profile, @@ -16,10 +21,6 @@ use crate::{ LoggedUser, }, }; -use actix_identity::Identity; -use flowy_net::{errors::ServerError, response::FlowyResponse}; -use flowy_user::protobuf::{SignInParams, SignUpParams, UpdateUserParams}; -use sqlx::PgPool; pub async fn sign_in_handler( payload: Payload, diff --git a/backend/src/user_service/utils.rs b/backend/src/service/user_service/utils.rs similarity index 100% rename from backend/src/user_service/utils.rs rename to backend/src/service/user_service/utils.rs diff --git a/backend/src/workspace_service/app/app.rs b/backend/src/service/workspace_service/app/app.rs similarity index 95% rename from backend/src/workspace_service/app/app.rs rename to backend/src/service/workspace_service/app/app.rs index 39c8d80ede..6fdc687851 100644 --- a/backend/src/workspace_service/app/app.rs +++ b/backend/src/service/workspace_service/app/app.rs @@ -1,14 +1,12 @@ -use flowy_net::{errors::ServerError, response::FlowyResponse}; - -use crate::{ - entities::workspace::{AppTable, APP_TABLE}, - sqlx_ext::{map_sqlx_error, SqlBuilder}, - user_service::LoggedUser, - workspace_service::{app::sql_builder::*, view::read_views_belong_to_id}, -}; use anyhow::Context; use chrono::Utc; -use flowy_net::errors::invalid_params; +use protobuf::Message; +use sqlx::{postgres::PgArguments, PgPool, Postgres}; + +use flowy_net::{ + errors::{invalid_params, ServerError}, + response::FlowyResponse, +}; use flowy_workspace::{ entities::{ app::parser::{AppDesc, AppName}, @@ -16,8 +14,15 @@ use flowy_workspace::{ }, protobuf::{App, CreateAppParams, QueryAppParams, RepeatedView, UpdateAppParams}, }; -use protobuf::Message; -use sqlx::{postgres::PgArguments, PgPool, Postgres}; + +use crate::{ + entities::workspace::{AppTable, APP_TABLE}, + service::{ + user_service::LoggedUser, + workspace_service::{app::sql_builder::*, view::read_views_belong_to_id}, + }, + sqlx_ext::{map_sqlx_error, SqlBuilder}, +}; pub(crate) async fn create_app( pool: &PgPool, diff --git a/backend/src/workspace_service/app/mod.rs b/backend/src/service/workspace_service/app/mod.rs similarity index 100% rename from backend/src/workspace_service/app/mod.rs rename to backend/src/service/workspace_service/app/mod.rs diff --git a/backend/src/workspace_service/app/router.rs b/backend/src/service/workspace_service/app/router.rs similarity index 90% rename from backend/src/workspace_service/app/router.rs rename to backend/src/service/workspace_service/app/router.rs index 51041581ee..e8229baa7e 100644 --- a/backend/src/workspace_service/app/router.rs +++ b/backend/src/service/workspace_service/app/router.rs @@ -1,13 +1,9 @@ -use crate::{ - routers::utils::parse_from_payload, - workspace_service::app::app::{create_app, delete_app, read_app, update_app}, -}; - -use crate::user_service::LoggedUser; use actix_web::{ web::{Data, Payload}, HttpResponse, }; +use sqlx::PgPool; + use flowy_net::errors::ServerError; use flowy_workspace::protobuf::{ CreateAppParams, @@ -15,7 +11,14 @@ use flowy_workspace::protobuf::{ QueryAppParams, UpdateAppParams, }; -use sqlx::PgPool; + +use crate::{ + routers::utils::parse_from_payload, + service::{ + user_service::LoggedUser, + workspace_service::app::app::{create_app, delete_app, read_app, update_app}, + }, +}; pub async fn create_handler( payload: Payload, diff --git a/backend/src/workspace_service/app/sql_builder.rs b/backend/src/service/workspace_service/app/sql_builder.rs similarity index 100% rename from backend/src/workspace_service/app/sql_builder.rs rename to backend/src/service/workspace_service/app/sql_builder.rs diff --git a/backend/src/workspace_service/mod.rs b/backend/src/service/workspace_service/mod.rs similarity index 100% rename from backend/src/workspace_service/mod.rs rename to backend/src/service/workspace_service/mod.rs diff --git a/backend/src/workspace_service/user_default/mod.rs b/backend/src/service/workspace_service/user_default/mod.rs similarity index 100% rename from backend/src/workspace_service/user_default/mod.rs rename to backend/src/service/workspace_service/user_default/mod.rs diff --git a/backend/src/workspace_service/user_default/user_default.rs b/backend/src/service/workspace_service/user_default/user_default.rs similarity index 98% rename from backend/src/workspace_service/user_default/user_default.rs rename to backend/src/service/workspace_service/user_default/user_default.rs index 799c7a6527..a3c03d6775 100644 --- a/backend/src/workspace_service/user_default/user_default.rs +++ b/backend/src/service/workspace_service/user_default/user_default.rs @@ -1,15 +1,15 @@ +use flowy_net::errors::ServerError; +use flowy_workspace::protobuf::{App, View, ViewType, Workspace}; + use crate::{ - sqlx_ext::{map_sqlx_error, DBTransaction}, - workspace_service::{ + service::workspace_service::{ app::sql_builder::Builder as AppBuilder, view::sql_builder::Builder as ViewBuilder, workspace::sql_builder::Builder as WorkspaceBuilder, }, + sqlx_ext::{map_sqlx_error, DBTransaction}, }; -use flowy_net::errors::ServerError; -use flowy_workspace::protobuf::{App, View, ViewType, Workspace}; - pub async fn create_default_workspace( transaction: &mut DBTransaction<'_>, user_id: &str, diff --git a/backend/src/workspace_service/view/mod.rs b/backend/src/service/workspace_service/view/mod.rs similarity index 100% rename from backend/src/workspace_service/view/mod.rs rename to backend/src/service/workspace_service/view/mod.rs diff --git a/backend/src/workspace_service/view/router.rs b/backend/src/service/workspace_service/view/router.rs similarity index 93% rename from backend/src/workspace_service/view/router.rs rename to backend/src/service/workspace_service/view/router.rs index e6c99a2960..db4b0d3275 100644 --- a/backend/src/workspace_service/view/router.rs +++ b/backend/src/service/workspace_service/view/router.rs @@ -1,12 +1,9 @@ -use crate::{ - routers::utils::parse_from_payload, - workspace_service::view::{create_view, delete_view, read_view, update_view}, -}; - use actix_web::{ web::{Data, Payload}, HttpResponse, }; +use sqlx::PgPool; + use flowy_net::errors::ServerError; use flowy_workspace::protobuf::{ CreateViewParams, @@ -14,7 +11,11 @@ use flowy_workspace::protobuf::{ QueryViewParams, UpdateViewParams, }; -use sqlx::PgPool; + +use crate::{ + routers::utils::parse_from_payload, + service::workspace_service::view::{create_view, delete_view, read_view, update_view}, +}; pub async fn create_handler( payload: Payload, diff --git a/backend/src/workspace_service/view/sql_builder.rs b/backend/src/service/workspace_service/view/sql_builder.rs similarity index 100% rename from backend/src/workspace_service/view/sql_builder.rs rename to backend/src/service/workspace_service/view/sql_builder.rs diff --git a/backend/src/workspace_service/view/view.rs b/backend/src/service/workspace_service/view/view.rs similarity index 97% rename from backend/src/workspace_service/view/view.rs rename to backend/src/service/workspace_service/view/view.rs index e88774c6eb..10a147fa22 100644 --- a/backend/src/workspace_service/view/view.rs +++ b/backend/src/service/workspace_service/view/view.rs @@ -1,10 +1,7 @@ -use crate::{ - entities::workspace::ViewTable, - sqlx_ext::{map_sqlx_error, DBTransaction, SqlBuilder}, - workspace_service::view::sql_builder::*, -}; use anyhow::Context; use chrono::Utc; +use sqlx::{postgres::PgArguments, PgPool, Postgres}; + use flowy_net::{ errors::{invalid_params, ServerError}, response::FlowyResponse, @@ -17,8 +14,11 @@ use flowy_workspace::{ protobuf::{CreateViewParams, QueryViewParams, RepeatedView, UpdateViewParams, View}, }; -use crate::entities::workspace::VIEW_TABLE; -use sqlx::{postgres::PgArguments, PgPool, Postgres}; +use crate::{ + entities::workspace::{ViewTable, VIEW_TABLE}, + service::workspace_service::view::sql_builder::*, + sqlx_ext::{map_sqlx_error, DBTransaction, SqlBuilder}, +}; pub(crate) async fn create_view( pool: &PgPool, diff --git a/backend/src/workspace_service/workspace/mod.rs b/backend/src/service/workspace_service/workspace/mod.rs similarity index 100% rename from backend/src/workspace_service/workspace/mod.rs rename to backend/src/service/workspace_service/workspace/mod.rs diff --git a/backend/src/workspace_service/workspace/router.rs b/backend/src/service/workspace_service/workspace/router.rs similarity index 89% rename from backend/src/workspace_service/workspace/router.rs rename to backend/src/service/workspace_service/workspace/router.rs index 68770123e5..0bde369c9e 100644 --- a/backend/src/workspace_service/workspace/router.rs +++ b/backend/src/service/workspace_service/workspace/router.rs @@ -1,18 +1,9 @@ -use crate::{ - routers::utils::parse_from_payload, - workspace_service::workspace::{ - create_workspace, - delete_workspace, - read_workspaces, - update_workspace, - }, -}; - -use crate::user_service::LoggedUser; use actix_web::{ web::{Data, Payload}, HttpResponse, }; +use sqlx::PgPool; + use flowy_net::errors::ServerError; use flowy_workspace::protobuf::{ CreateWorkspaceParams, @@ -20,7 +11,19 @@ use flowy_workspace::protobuf::{ QueryWorkspaceParams, UpdateWorkspaceParams, }; -use sqlx::PgPool; + +use crate::{ + routers::utils::parse_from_payload, + service::{ + user_service::LoggedUser, + workspace_service::workspace::{ + create_workspace, + delete_workspace, + read_workspaces, + update_workspace, + }, + }, +}; pub async fn create_handler( payload: Payload, diff --git a/backend/src/workspace_service/workspace/sql_builder.rs b/backend/src/service/workspace_service/workspace/sql_builder.rs similarity index 100% rename from backend/src/workspace_service/workspace/sql_builder.rs rename to backend/src/service/workspace_service/workspace/sql_builder.rs diff --git a/backend/src/workspace_service/workspace/workspace.rs b/backend/src/service/workspace_service/workspace/workspace.rs similarity index 96% rename from backend/src/workspace_service/workspace/workspace.rs rename to backend/src/service/workspace_service/workspace/workspace.rs index 4088e702d1..1764f6e912 100644 --- a/backend/src/workspace_service/workspace/workspace.rs +++ b/backend/src/service/workspace_service/workspace/workspace.rs @@ -1,22 +1,25 @@ -use super::sql_builder::Builder; -use crate::{entities::workspace::WorkspaceTable, sqlx_ext::*}; use anyhow::Context; +use sqlx::{postgres::PgArguments, PgPool, Postgres}; use flowy_net::{ errors::{invalid_params, ServerError}, response::FlowyResponse, }; - -use crate::{ - entities::workspace::{AppTable, WORKSPACE_TABLE}, - user_service::LoggedUser, - workspace_service::{view::read_views_belong_to_id, workspace::sql_builder::*}, -}; use flowy_workspace::{ entities::workspace::parser::{WorkspaceDesc, WorkspaceId, WorkspaceName}, protobuf::{App, CreateWorkspaceParams, RepeatedApp, RepeatedWorkspace, UpdateWorkspaceParams}, }; -use sqlx::{postgres::PgArguments, PgPool, Postgres}; + +use crate::{ + entities::workspace::{AppTable, WorkspaceTable, WORKSPACE_TABLE}, + service::{ + user_service::LoggedUser, + workspace_service::{view::read_views_belong_to_id, workspace::sql_builder::*}, + }, + sqlx_ext::*, +}; + +use super::sql_builder::Builder; pub(crate) async fn create_workspace( pool: &PgPool, diff --git a/backend/src/ws_service/entities/connect.rs b/backend/src/service/ws_service/entities/connect.rs similarity index 95% rename from backend/src/ws_service/entities/connect.rs rename to backend/src/service/ws_service/entities/connect.rs index 10f04b285a..086441598b 100644 --- a/backend/src/ws_service/entities/connect.rs +++ b/backend/src/service/ws_service/entities/connect.rs @@ -1,4 +1,4 @@ -use crate::ws_service::ClientMessage; +use crate::service::ws_service::ClientMessage; use actix::{Message, Recipient}; use flowy_net::errors::ServerError; use serde::{Deserialize, Serialize}; diff --git a/backend/src/ws_service/entities/message.rs b/backend/src/service/ws_service/entities/message.rs similarity index 94% rename from backend/src/ws_service/entities/message.rs rename to backend/src/service/ws_service/entities/message.rs index a7f3e8d299..fa641b626b 100644 --- a/backend/src/ws_service/entities/message.rs +++ b/backend/src/service/ws_service/entities/message.rs @@ -1,4 +1,4 @@ -use crate::ws_service::entities::SessionId; +use crate::service::ws_service::entities::SessionId; use actix::Message; use bytes::Bytes; use std::fmt::Formatter; diff --git a/backend/src/ws_service/entities/mod.rs b/backend/src/service/ws_service/entities/mod.rs similarity index 100% rename from backend/src/ws_service/entities/mod.rs rename to backend/src/service/ws_service/entities/mod.rs diff --git a/backend/src/ws_service/mod.rs b/backend/src/service/ws_service/mod.rs similarity index 100% rename from backend/src/ws_service/mod.rs rename to backend/src/service/ws_service/mod.rs diff --git a/backend/src/ws_service/router.rs b/backend/src/service/ws_service/router.rs similarity index 89% rename from backend/src/ws_service/router.rs rename to backend/src/service/ws_service/router.rs index 5c7e59a34d..f81d759ab9 100644 --- a/backend/src/ws_service/router.rs +++ b/backend/src/service/ws_service/router.rs @@ -1,4 +1,4 @@ -use crate::ws_service::{entities::SessionId, WSClient, WSServer}; +use crate::service::ws_service::{entities::SessionId, WSClient, WSServer}; use actix::Addr; use actix_web::{ diff --git a/backend/src/ws_service/ws_client.rs b/backend/src/service/ws_service/ws_client.rs similarity index 99% rename from backend/src/ws_service/ws_client.rs rename to backend/src/service/ws_service/ws_client.rs index db96564e30..c6ef3bc7cf 100644 --- a/backend/src/ws_service/ws_client.rs +++ b/backend/src/service/ws_service/ws_client.rs @@ -1,12 +1,5 @@ -use crate::{ - config::{HEARTBEAT_INTERVAL, PING_TIMEOUT}, - ws_service::{ - entities::{Connect, Disconnect, SessionId}, - ClientMessage, - MessageData, - WSServer, - }, -}; +use std::time::Instant; + use actix::{ fut, Actor, @@ -20,9 +13,17 @@ use actix::{ StreamHandler, WrapFuture, }; - use actix_web_actors::{ws, ws::Message::Text}; -use std::time::Instant; + +use crate::{ + config::{HEARTBEAT_INTERVAL, PING_TIMEOUT}, + service::ws_service::{ + entities::{Connect, Disconnect, SessionId}, + ClientMessage, + MessageData, + WSServer, + }, +}; pub struct WSClient { sid: SessionId, diff --git a/backend/src/ws_service/ws_server.rs b/backend/src/service/ws_service/ws_server.rs similarity index 97% rename from backend/src/ws_service/ws_server.rs rename to backend/src/service/ws_service/ws_server.rs index b6907f6870..4e0052d267 100644 --- a/backend/src/ws_service/ws_server.rs +++ b/backend/src/service/ws_service/ws_server.rs @@ -1,4 +1,4 @@ -use crate::ws_service::{ +use crate::service::ws_service::{ entities::{Connect, Disconnect, Session, SessionId}, ClientMessage, }; diff --git a/backend/tests/api/doc.rs b/backend/tests/api/doc.rs new file mode 100644 index 0000000000..e69de29bb2 diff --git a/backend/tests/api/main.rs b/backend/tests/api/main.rs index 034843e6bf..d287eb3d81 100644 --- a/backend/tests/api/main.rs +++ b/backend/tests/api/main.rs @@ -1,3 +1,4 @@ mod auth; +mod doc; mod helper; mod workspace;