rename moduleData to unit

This commit is contained in:
appflowy 2021-07-23 14:54:31 +08:00
parent c27f616ddb
commit 984e912542
8 changed files with 32 additions and 32 deletions
rust-lib
flowy-dispatch/src/module
flowy-editor/src/handlers
flowy-user/src/handlers
flowy-workspace/src/handlers

View File

@ -5,18 +5,18 @@ use crate::{
}; };
use std::{any::type_name, ops::Deref, sync::Arc}; use std::{any::type_name, ops::Deref, sync::Arc};
pub struct ModuleData<T: ?Sized + Send + Sync>(Arc<T>); pub struct Unit<T: ?Sized + Send + Sync>(Arc<T>);
impl<T> ModuleData<T> impl<T> Unit<T>
where where
T: Send + Sync, T: Send + Sync,
{ {
pub fn new(data: T) -> Self { ModuleData(Arc::new(data)) } pub fn new(data: T) -> Self { Unit(Arc::new(data)) }
pub fn get_ref(&self) -> &T { self.0.as_ref() } pub fn get_ref(&self) -> &T { self.0.as_ref() }
} }
impl<T> Deref for ModuleData<T> impl<T> Deref for Unit<T>
where where
T: ?Sized + Send + Sync, T: ?Sized + Send + Sync,
{ {
@ -25,21 +25,21 @@ where
fn deref(&self) -> &Arc<T> { &self.0 } fn deref(&self) -> &Arc<T> { &self.0 }
} }
impl<T> Clone for ModuleData<T> impl<T> Clone for Unit<T>
where where
T: ?Sized + Send + Sync, T: ?Sized + Send + Sync,
{ {
fn clone(&self) -> ModuleData<T> { ModuleData(self.0.clone()) } fn clone(&self) -> Unit<T> { Unit(self.0.clone()) }
} }
impl<T> From<Arc<T>> for ModuleData<T> impl<T> From<Arc<T>> for Unit<T>
where where
T: ?Sized + Send + Sync, T: ?Sized + Send + Sync,
{ {
fn from(arc: Arc<T>) -> Self { ModuleData(arc) } fn from(arc: Arc<T>) -> Self { Unit(arc) }
} }
impl<T> FromRequest for ModuleData<T> impl<T> FromRequest for Unit<T>
where where
T: ?Sized + Send + Sync + 'static, T: ?Sized + Send + Sync + 'static,
{ {
@ -48,7 +48,7 @@ where
#[inline] #[inline]
fn from_request(req: &EventRequest, _: &mut Payload) -> Self::Future { fn from_request(req: &EventRequest, _: &mut Payload) -> Self::Future {
if let Some(data) = req.module_data::<ModuleData<T>>() { if let Some(data) = req.module_data::<Unit<T>>() {
ready(Ok(data.clone())) ready(Ok(data.clone()))
} else { } else {
let msg = format!( let msg = format!(

View File

@ -13,7 +13,7 @@ use pin_project::pin_project;
use crate::{ use crate::{
errors::{DispatchError, InternalError}, errors::{DispatchError, InternalError},
module::{container::ModuleDataMap, ModuleData}, module::{container::ModuleDataMap, Unit},
request::{payload::Payload, EventRequest, FromRequest}, request::{payload::Payload, EventRequest, FromRequest},
response::{EventResponse, Responder}, response::{EventResponse, Responder},
service::{ service::{
@ -77,7 +77,7 @@ impl Module {
pub fn data<D: 'static + Send + Sync>(mut self, data: D) -> Self { pub fn data<D: 'static + Send + Sync>(mut self, data: D) -> Self {
Arc::get_mut(&mut self.module_data) Arc::get_mut(&mut self.module_data)
.unwrap() .unwrap()
.insert(ModuleData::new(data)); .insert(Unit::new(data));
self self
} }

View File

@ -12,8 +12,8 @@ use std::{
pub async fn create_doc( pub async fn create_doc(
data: Data<CreateDocRequest>, data: Data<CreateDocRequest>,
controller: ModuleData<DocController>, controller: Unit<DocController>,
manager: ModuleData<RwLock<FileManager>>, manager: Unit<RwLock<FileManager>>,
) -> ResponseResult<DocDescription, EditorError> { ) -> ResponseResult<DocDescription, EditorError> {
let params: CreateDocParams = data.into_inner().try_into()?; let params: CreateDocParams = data.into_inner().try_into()?;
let path = manager.read().unwrap().make_file_path(&params.id); let path = manager.read().unwrap().make_file_path(&params.id);
@ -25,8 +25,8 @@ pub async fn create_doc(
pub async fn read_doc( pub async fn read_doc(
data: Data<QueryDocRequest>, data: Data<QueryDocRequest>,
controller: ModuleData<DocController>, controller: Unit<DocController>,
manager: ModuleData<RwLock<FileManager>>, manager: Unit<RwLock<FileManager>>,
) -> ResponseResult<Doc, EditorError> { ) -> ResponseResult<Doc, EditorError> {
let params: QueryDocParams = data.into_inner().try_into()?; let params: QueryDocParams = data.into_inner().try_into()?;
let desc = controller.read_doc(&params.doc_id).await?; let desc = controller.read_doc(&params.doc_id).await?;
@ -42,8 +42,8 @@ pub async fn read_doc(
pub async fn update_doc( pub async fn update_doc(
data: Data<UpdateDocRequest>, data: Data<UpdateDocRequest>,
controller: ModuleData<DocController>, controller: Unit<DocController>,
manager: ModuleData<RwLock<FileManager>>, manager: Unit<RwLock<FileManager>>,
) -> Result<(), EditorError> { ) -> Result<(), EditorError> {
let mut params: UpdateDocParams = data.into_inner().try_into()?; let mut params: UpdateDocParams = data.into_inner().try_into()?;
match params.content.take() { match params.content.take() {

View File

@ -12,7 +12,7 @@ use std::{convert::TryInto, sync::Arc};
)] )]
pub async fn user_sign_in_handler( pub async fn user_sign_in_handler(
data: Data<SignInRequest>, data: Data<SignInRequest>,
session: ModuleData<Arc<UserSession>>, session: Unit<Arc<UserSession>>,
) -> ResponseResult<UserDetail, UserError> { ) -> ResponseResult<UserDetail, UserError> {
let params: SignInParams = data.into_inner().try_into()?; let params: SignInParams = data.into_inner().try_into()?;
let user = session.sign_in(params).await?; let user = session.sign_in(params).await?;
@ -30,7 +30,7 @@ pub async fn user_sign_in_handler(
)] )]
pub async fn user_sign_up_handler( pub async fn user_sign_up_handler(
data: Data<SignUpRequest>, data: Data<SignUpRequest>,
session: ModuleData<Arc<UserSession>>, session: Unit<Arc<UserSession>>,
) -> ResponseResult<UserDetail, UserError> { ) -> ResponseResult<UserDetail, UserError> {
let params: SignUpParams = data.into_inner().try_into()?; let params: SignUpParams = data.into_inner().try_into()?;
let user = session.sign_up(params).await?; let user = session.sign_up(params).await?;

View File

@ -3,20 +3,20 @@ use flowy_dispatch::prelude::*;
use std::{convert::TryInto, sync::Arc}; use std::{convert::TryInto, sync::Arc};
pub async fn user_get_status_handler( pub async fn user_get_status_handler(
session: ModuleData<Arc<UserSession>>, session: Unit<Arc<UserSession>>,
) -> ResponseResult<UserDetail, UserError> { ) -> ResponseResult<UserDetail, UserError> {
let user_detail = session.user_detail()?; let user_detail = session.user_detail()?;
response_ok(user_detail) response_ok(user_detail)
} }
pub async fn sign_out_handler(session: ModuleData<Arc<UserSession>>) -> Result<(), UserError> { pub async fn sign_out_handler(session: Unit<Arc<UserSession>>) -> Result<(), UserError> {
let _ = session.sign_out()?; let _ = session.sign_out()?;
Ok(()) Ok(())
} }
pub async fn update_user_handler( pub async fn update_user_handler(
data: Data<UpdateUserRequest>, data: Data<UpdateUserRequest>,
session: ModuleData<Arc<UserSession>>, session: Unit<Arc<UserSession>>,
) -> ResponseResult<UserDetail, UserError> { ) -> ResponseResult<UserDetail, UserError> {
let params: UpdateUserParams = data.into_inner().try_into()?; let params: UpdateUserParams = data.into_inner().try_into()?;
let user_detail = session.update_user(params)?; let user_detail = session.update_user(params)?;

View File

@ -6,13 +6,13 @@ use crate::{
errors::WorkspaceError, errors::WorkspaceError,
services::AppController, services::AppController,
}; };
use flowy_dispatch::prelude::{response_ok, Data, ModuleData, ResponseResult}; use flowy_dispatch::prelude::{response_ok, Data, ResponseResult, Unit};
use std::{convert::TryInto, sync::Arc}; use std::{convert::TryInto, sync::Arc};
#[tracing::instrument(name = "create_app", skip(data, controller))] #[tracing::instrument(name = "create_app", skip(data, controller))]
pub async fn create_app( pub async fn create_app(
data: Data<CreateAppRequest>, data: Data<CreateAppRequest>,
controller: ModuleData<Arc<AppController>>, controller: Unit<Arc<AppController>>,
) -> ResponseResult<App, WorkspaceError> { ) -> ResponseResult<App, WorkspaceError> {
let params: CreateAppParams = data.into_inner().try_into()?; let params: CreateAppParams = data.into_inner().try_into()?;
let detail = controller.create_app(params)?; let detail = controller.create_app(params)?;
@ -22,7 +22,7 @@ pub async fn create_app(
#[tracing::instrument(name = "get_app", skip(data, controller))] #[tracing::instrument(name = "get_app", skip(data, controller))]
pub async fn get_app( pub async fn get_app(
data: Data<QueryAppRequest>, data: Data<QueryAppRequest>,
controller: ModuleData<Arc<AppController>>, controller: Unit<Arc<AppController>>,
) -> ResponseResult<App, WorkspaceError> { ) -> ResponseResult<App, WorkspaceError> {
let params: QueryAppParams = data.into_inner().try_into()?; let params: QueryAppParams = data.into_inner().try_into()?;
let mut app = controller.read_app(&params.app_id).await?; let mut app = controller.read_app(&params.app_id).await?;

View File

@ -3,12 +3,12 @@ use crate::{
errors::WorkspaceError, errors::WorkspaceError,
services::ViewController, services::ViewController,
}; };
use flowy_dispatch::prelude::{response_ok, Data, ModuleData, ResponseResult}; use flowy_dispatch::prelude::{response_ok, Data, ResponseResult, Unit};
use std::{convert::TryInto, sync::Arc}; use std::{convert::TryInto, sync::Arc};
pub async fn create_view( pub async fn create_view(
data: Data<CreateViewRequest>, data: Data<CreateViewRequest>,
controller: ModuleData<Arc<ViewController>>, controller: Unit<Arc<ViewController>>,
) -> ResponseResult<View, WorkspaceError> { ) -> ResponseResult<View, WorkspaceError> {
let params: CreateViewParams = data.into_inner().try_into()?; let params: CreateViewParams = data.into_inner().try_into()?;
let view = controller.create_view(params).await?; let view = controller.create_view(params).await?;

View File

@ -3,13 +3,13 @@ use crate::{
errors::WorkspaceError, errors::WorkspaceError,
services::WorkspaceController, services::WorkspaceController,
}; };
use flowy_dispatch::prelude::{response_ok, Data, ModuleData, ResponseResult}; use flowy_dispatch::prelude::{response_ok, Data, ResponseResult, Unit};
use std::{convert::TryInto, sync::Arc}; use std::{convert::TryInto, sync::Arc};
#[tracing::instrument(name = "create_workspace", skip(data, controller))] #[tracing::instrument(name = "create_workspace", skip(data, controller))]
pub async fn create_workspace( pub async fn create_workspace(
data: Data<CreateWorkspaceRequest>, data: Data<CreateWorkspaceRequest>,
controller: ModuleData<Arc<WorkspaceController>>, controller: Unit<Arc<WorkspaceController>>,
) -> ResponseResult<Workspace, WorkspaceError> { ) -> ResponseResult<Workspace, WorkspaceError> {
let controller = controller.get_ref().clone(); let controller = controller.get_ref().clone();
let params: CreateWorkspaceParams = data.into_inner().try_into()?; let params: CreateWorkspaceParams = data.into_inner().try_into()?;
@ -19,7 +19,7 @@ pub async fn create_workspace(
#[tracing::instrument(name = "get_cur_workspace", skip(controller))] #[tracing::instrument(name = "get_cur_workspace", skip(controller))]
pub async fn get_cur_workspace( pub async fn get_cur_workspace(
controller: ModuleData<Arc<WorkspaceController>>, controller: Unit<Arc<WorkspaceController>>,
) -> ResponseResult<Workspace, WorkspaceError> { ) -> ResponseResult<Workspace, WorkspaceError> {
let workspace = controller.read_cur_workspace().await?; let workspace = controller.read_cur_workspace().await?;
response_ok(workspace) response_ok(workspace)
@ -28,7 +28,7 @@ pub async fn get_cur_workspace(
#[tracing::instrument(name = "get_workspace", skip(data, controller))] #[tracing::instrument(name = "get_workspace", skip(data, controller))]
pub async fn get_workspace( pub async fn get_workspace(
data: Data<QueryWorkspaceRequest>, data: Data<QueryWorkspaceRequest>,
controller: ModuleData<Arc<WorkspaceController>>, controller: Unit<Arc<WorkspaceController>>,
) -> ResponseResult<Workspace, WorkspaceError> { ) -> ResponseResult<Workspace, WorkspaceError> {
let params: QueryWorkspaceParams = data.into_inner().try_into()?; let params: QueryWorkspaceParams = data.into_inner().try_into()?;
let mut workspace = controller.read_workspace(&params.workspace_id).await?; let mut workspace = controller.read_workspace(&params.workspace_id).await?;