appflowy 3 年之前
父节点
当前提交
c77c63a4c2
共有 39 个文件被更改,包括 182 次插入142 次删除
  1. 19 11
      backend/src/application.rs
  2. 1 1
      backend/src/context.rs
  3. 0 37
      backend/src/doc_service/router.rs
  4. 1 4
      backend/src/lib.rs
  5. 1 1
      backend/src/middleware/auth_middleware.rs
  6. 0 0
      backend/src/service/doc_service/doc.rs
  7. 0 0
      backend/src/service/doc_service/mod.rs
  8. 47 0
      backend/src/service/doc_service/router.rs
  9. 0 0
      backend/src/service/doc_service/sql_builder.rs
  10. 4 0
      backend/src/service/mod.rs
  11. 13 10
      backend/src/service/user_service/auth.rs
  12. 0 0
      backend/src/service/user_service/logged_user.rs
  13. 0 0
      backend/src/service/user_service/mod.rs
  14. 7 6
      backend/src/service/user_service/router.rs
  15. 0 0
      backend/src/service/user_service/utils.rs
  16. 16 11
      backend/src/service/workspace_service/app/app.rs
  17. 0 0
      backend/src/service/workspace_service/app/mod.rs
  18. 10 7
      backend/src/service/workspace_service/app/router.rs
  19. 0 0
      backend/src/service/workspace_service/app/sql_builder.rs
  20. 0 0
      backend/src/service/workspace_service/mod.rs
  21. 0 0
      backend/src/service/workspace_service/user_default/mod.rs
  22. 5 5
      backend/src/service/workspace_service/user_default/user_default.rs
  23. 0 0
      backend/src/service/workspace_service/view/mod.rs
  24. 7 6
      backend/src/service/workspace_service/view/router.rs
  25. 0 0
      backend/src/service/workspace_service/view/sql_builder.rs
  26. 7 7
      backend/src/service/workspace_service/view/view.rs
  27. 0 0
      backend/src/service/workspace_service/workspace/mod.rs
  28. 15 12
      backend/src/service/workspace_service/workspace/router.rs
  29. 0 0
      backend/src/service/workspace_service/workspace/sql_builder.rs
  30. 12 9
      backend/src/service/workspace_service/workspace/workspace.rs
  31. 1 1
      backend/src/service/ws_service/entities/connect.rs
  32. 1 1
      backend/src/service/ws_service/entities/message.rs
  33. 0 0
      backend/src/service/ws_service/entities/mod.rs
  34. 0 0
      backend/src/service/ws_service/mod.rs
  35. 1 1
      backend/src/service/ws_service/router.rs
  36. 12 11
      backend/src/service/ws_service/ws_client.rs
  37. 1 1
      backend/src/service/ws_service/ws_server.rs
  38. 0 0
      backend/tests/api/doc.rs
  39. 1 0
      backend/tests/api/main.rs

+ 19 - 11
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::{
 use crate::{
     config::{
     config::{
         env::{domain, secret, use_https},
         env::{domain, secret, use_https},
@@ -5,18 +13,18 @@ use crate::{
         Settings,
         Settings,
     },
     },
     context::AppContext,
     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 {
 pub struct Application {
     port: u16,
     port: u16,

+ 1 - 1
backend/src/context.rs

@@ -1,4 +1,4 @@
-use crate::ws_service::WSServer;
+use crate::service::ws_service::WSServer;
 use actix::Addr;
 use actix::Addr;
 
 
 use sqlx::PgPool;
 use sqlx::PgPool;

+ 0 - 37
backend/src/doc_service/router.rs

@@ -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<PgPool>,
-) -> Result<HttpResponse, ServerError> {
-    let _params: CreateDocParams = parse_from_payload(payload).await?;
-    unimplemented!()
-}
-
-pub async fn read_handler(
-    _payload: Payload,
-    _pool: Data<PgPool>,
-) -> Result<HttpResponse, ServerError> {
-    unimplemented!()
-}
-
-pub async fn update_handler(
-    _payload: Payload,
-    _pool: Data<PgPool>,
-) -> Result<HttpResponse, ServerError> {
-    unimplemented!()
-}
-
-pub async fn delete_handler(
-    _payload: Payload,
-    _pool: Data<PgPool>,
-) -> Result<HttpResponse, ServerError> {
-    unimplemented!()
-}

+ 1 - 4
backend/src/lib.rs

@@ -1,11 +1,8 @@
 pub mod application;
 pub mod application;
 pub mod config;
 pub mod config;
 mod context;
 mod context;
-mod doc_service;
 mod entities;
 mod entities;
 mod middleware;
 mod middleware;
 mod routers;
 mod routers;
+mod service;
 mod sqlx_ext;
 mod sqlx_ext;
-mod user_service;
-mod workspace_service;
-mod ws_service;

+ 1 - 1
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_service::{Service, Transform};
 use actix_web::{
 use actix_web::{
     dev::{ServiceRequest, ServiceResponse},
     dev::{ServiceRequest, ServiceResponse},

+ 0 - 0
backend/src/doc_service/doc.rs → backend/src/service/doc_service/doc.rs


+ 0 - 0
backend/src/doc_service/mod.rs → backend/src/service/doc_service/mod.rs


+ 47 - 0
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<PgPool>,
+) -> Result<HttpResponse, ServerError> {
+    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<PgPool>,
+) -> Result<HttpResponse, ServerError> {
+    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<PgPool>,
+) -> Result<HttpResponse, ServerError> {
+    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<PgPool>,
+) -> Result<HttpResponse, ServerError> {
+    let params: QueryDocParams = parse_from_payload(payload).await?;
+    let response = read_doc(pool.get_ref(), params).await?;
+    Ok(response.into())
+}

+ 0 - 0
backend/src/doc_service/sql_builder.rs → backend/src/service/doc_service/sql_builder.rs


+ 4 - 0
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;

+ 13 - 10
backend/src/user_service/auth.rs → 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 anyhow::Context;
 use chrono::Utc;
 use chrono::Utc;
+use sqlx::{PgPool, Postgres};
+
 use flowy_net::{
 use flowy_net::{
     errors::{invalid_params, ErrorCode, ServerError},
     errors::{invalid_params, ErrorCode, ServerError},
     response::FlowyResponse,
     response::FlowyResponse,
@@ -24,7 +17,17 @@ use flowy_user::{
         UserProfile,
         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<SignInResponse, ServerError> {
 pub async fn sign_in(pool: &PgPool, params: SignInParams) -> Result<SignInResponse, ServerError> {
     let email =
     let email =

+ 0 - 0
backend/src/user_service/logged_user.rs → backend/src/service/user_service/logged_user.rs


+ 0 - 0
backend/src/user_service/mod.rs → backend/src/service/user_service/mod.rs


+ 7 - 6
backend/src/user_service/router.rs → 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::{
 use actix_web::{
     web::{Data, Payload},
     web::{Data, Payload},
     HttpRequest,
     HttpRequest,
     HttpResponse,
     HttpResponse,
 };
 };
+use sqlx::PgPool;
+
+use flowy_net::{errors::ServerError, response::FlowyResponse};
+use flowy_user::protobuf::{SignInParams, SignUpParams, UpdateUserParams};
 
 
 use crate::{
 use crate::{
     entities::token::Token,
     entities::token::Token,
-    user_service::{
+    routers::utils::parse_from_payload,
+    service::user_service::{
         get_user_profile,
         get_user_profile,
         register_user,
         register_user,
         set_user_profile,
         set_user_profile,
@@ -16,10 +21,6 @@ use crate::{
         LoggedUser,
         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(
 pub async fn sign_in_handler(
     payload: Payload,
     payload: Payload,

+ 0 - 0
backend/src/user_service/utils.rs → backend/src/service/user_service/utils.rs


+ 16 - 11
backend/src/workspace_service/app/app.rs → 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 anyhow::Context;
 use chrono::Utc;
 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::{
 use flowy_workspace::{
     entities::{
     entities::{
         app::parser::{AppDesc, AppName},
         app::parser::{AppDesc, AppName},
@@ -16,8 +14,15 @@ use flowy_workspace::{
     },
     },
     protobuf::{App, CreateAppParams, QueryAppParams, RepeatedView, UpdateAppParams},
     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(
 pub(crate) async fn create_app(
     pool: &PgPool,
     pool: &PgPool,

+ 0 - 0
backend/src/workspace_service/app/mod.rs → backend/src/service/workspace_service/app/mod.rs


+ 10 - 7
backend/src/workspace_service/app/router.rs → 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::{
 use actix_web::{
     web::{Data, Payload},
     web::{Data, Payload},
     HttpResponse,
     HttpResponse,
 };
 };
+use sqlx::PgPool;
+
 use flowy_net::errors::ServerError;
 use flowy_net::errors::ServerError;
 use flowy_workspace::protobuf::{
 use flowy_workspace::protobuf::{
     CreateAppParams,
     CreateAppParams,
@@ -15,7 +11,14 @@ use flowy_workspace::protobuf::{
     QueryAppParams,
     QueryAppParams,
     UpdateAppParams,
     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(
 pub async fn create_handler(
     payload: Payload,
     payload: Payload,

+ 0 - 0
backend/src/workspace_service/app/sql_builder.rs → backend/src/service/workspace_service/app/sql_builder.rs


+ 0 - 0
backend/src/workspace_service/mod.rs → backend/src/service/workspace_service/mod.rs


+ 0 - 0
backend/src/workspace_service/user_default/mod.rs → backend/src/service/workspace_service/user_default/mod.rs


+ 5 - 5
backend/src/workspace_service/user_default/user_default.rs → 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::{
 use crate::{
-    sqlx_ext::{map_sqlx_error, DBTransaction},
-    workspace_service::{
+    service::workspace_service::{
         app::sql_builder::Builder as AppBuilder,
         app::sql_builder::Builder as AppBuilder,
         view::sql_builder::Builder as ViewBuilder,
         view::sql_builder::Builder as ViewBuilder,
         workspace::sql_builder::Builder as WorkspaceBuilder,
         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(
 pub async fn create_default_workspace(
     transaction: &mut DBTransaction<'_>,
     transaction: &mut DBTransaction<'_>,
     user_id: &str,
     user_id: &str,

+ 0 - 0
backend/src/workspace_service/view/mod.rs → backend/src/service/workspace_service/view/mod.rs


+ 7 - 6
backend/src/workspace_service/view/router.rs → 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::{
 use actix_web::{
     web::{Data, Payload},
     web::{Data, Payload},
     HttpResponse,
     HttpResponse,
 };
 };
+use sqlx::PgPool;
+
 use flowy_net::errors::ServerError;
 use flowy_net::errors::ServerError;
 use flowy_workspace::protobuf::{
 use flowy_workspace::protobuf::{
     CreateViewParams,
     CreateViewParams,
@@ -14,7 +11,11 @@ use flowy_workspace::protobuf::{
     QueryViewParams,
     QueryViewParams,
     UpdateViewParams,
     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(
 pub async fn create_handler(
     payload: Payload,
     payload: Payload,

+ 0 - 0
backend/src/workspace_service/view/sql_builder.rs → backend/src/service/workspace_service/view/sql_builder.rs


+ 7 - 7
backend/src/workspace_service/view/view.rs → 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 anyhow::Context;
 use chrono::Utc;
 use chrono::Utc;
+use sqlx::{postgres::PgArguments, PgPool, Postgres};
+
 use flowy_net::{
 use flowy_net::{
     errors::{invalid_params, ServerError},
     errors::{invalid_params, ServerError},
     response::FlowyResponse,
     response::FlowyResponse,
@@ -17,8 +14,11 @@ use flowy_workspace::{
     protobuf::{CreateViewParams, QueryViewParams, RepeatedView, UpdateViewParams, View},
     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(
 pub(crate) async fn create_view(
     pool: &PgPool,
     pool: &PgPool,

+ 0 - 0
backend/src/workspace_service/workspace/mod.rs → backend/src/service/workspace_service/workspace/mod.rs


+ 15 - 12
backend/src/workspace_service/workspace/router.rs → 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::{
 use actix_web::{
     web::{Data, Payload},
     web::{Data, Payload},
     HttpResponse,
     HttpResponse,
 };
 };
+use sqlx::PgPool;
+
 use flowy_net::errors::ServerError;
 use flowy_net::errors::ServerError;
 use flowy_workspace::protobuf::{
 use flowy_workspace::protobuf::{
     CreateWorkspaceParams,
     CreateWorkspaceParams,
@@ -20,7 +11,19 @@ use flowy_workspace::protobuf::{
     QueryWorkspaceParams,
     QueryWorkspaceParams,
     UpdateWorkspaceParams,
     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(
 pub async fn create_handler(
     payload: Payload,
     payload: Payload,

+ 0 - 0
backend/src/workspace_service/workspace/sql_builder.rs → backend/src/service/workspace_service/workspace/sql_builder.rs


+ 12 - 9
backend/src/workspace_service/workspace/workspace.rs → 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 anyhow::Context;
+use sqlx::{postgres::PgArguments, PgPool, Postgres};
 
 
 use flowy_net::{
 use flowy_net::{
     errors::{invalid_params, ServerError},
     errors::{invalid_params, ServerError},
     response::FlowyResponse,
     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::{
 use flowy_workspace::{
     entities::workspace::parser::{WorkspaceDesc, WorkspaceId, WorkspaceName},
     entities::workspace::parser::{WorkspaceDesc, WorkspaceId, WorkspaceName},
     protobuf::{App, CreateWorkspaceParams, RepeatedApp, RepeatedWorkspace, UpdateWorkspaceParams},
     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(
 pub(crate) async fn create_workspace(
     pool: &PgPool,
     pool: &PgPool,

+ 1 - 1
backend/src/ws_service/entities/connect.rs → 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 actix::{Message, Recipient};
 use flowy_net::errors::ServerError;
 use flowy_net::errors::ServerError;
 use serde::{Deserialize, Serialize};
 use serde::{Deserialize, Serialize};

+ 1 - 1
backend/src/ws_service/entities/message.rs → 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 actix::Message;
 use bytes::Bytes;
 use bytes::Bytes;
 use std::fmt::Formatter;
 use std::fmt::Formatter;

+ 0 - 0
backend/src/ws_service/entities/mod.rs → backend/src/service/ws_service/entities/mod.rs


+ 0 - 0
backend/src/ws_service/mod.rs → backend/src/service/ws_service/mod.rs


+ 1 - 1
backend/src/ws_service/router.rs → 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::Addr;
 
 
 use actix_web::{
 use actix_web::{

+ 12 - 11
backend/src/ws_service/ws_client.rs → 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::{
 use actix::{
     fut,
     fut,
     Actor,
     Actor,
@@ -20,9 +13,17 @@ use actix::{
     StreamHandler,
     StreamHandler,
     WrapFuture,
     WrapFuture,
 };
 };
-
 use actix_web_actors::{ws, ws::Message::Text};
 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 {
 pub struct WSClient {
     sid: SessionId,
     sid: SessionId,

+ 1 - 1
backend/src/ws_service/ws_server.rs → 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},
     entities::{Connect, Disconnect, Session, SessionId},
     ClientMessage,
     ClientMessage,
 };
 };

+ 0 - 0
backend/tests/api/doc.rs


+ 1 - 0
backend/tests/api/main.rs

@@ -1,3 +1,4 @@
 mod auth;
 mod auth;
+mod doc;
 mod helper;
 mod helper;
 mod workspace;
 mod workspace;