refactor: rename flowy-dispatch structs

This commit is contained in:
nathan
2022-12-01 08:35:50 +08:00
parent fff4af53e2
commit 96c427e869
35 changed files with 486 additions and 543 deletions

View File

@ -34,17 +34,17 @@ pub trait WorkspaceDatabase: Send + Sync {
}
}
pub fn create(folder: Arc<FolderManager>) -> Module {
let mut module = Module::new()
pub fn init(folder: Arc<FolderManager>) -> AFPlugin {
let mut plugin = AFPlugin::new()
.name("Flowy-Workspace")
.data(folder.workspace_controller.clone())
.data(folder.app_controller.clone())
.data(folder.view_controller.clone())
.data(folder.trash_controller.clone())
.data(folder.clone());
.state(folder.workspace_controller.clone())
.state(folder.app_controller.clone())
.state(folder.view_controller.clone())
.state(folder.trash_controller.clone())
.state(folder.clone());
// Workspace
module = module
plugin = plugin
.event(FolderEvent::CreateWorkspace, create_workspace_handler)
.event(FolderEvent::ReadCurrentWorkspace, read_cur_workspace_handler)
.event(FolderEvent::ReadWorkspaces, read_workspaces_handler)
@ -52,14 +52,14 @@ pub fn create(folder: Arc<FolderManager>) -> Module {
.event(FolderEvent::ReadWorkspaceApps, read_workspace_apps_handler);
// App
module = module
plugin = plugin
.event(FolderEvent::CreateApp, create_app_handler)
.event(FolderEvent::ReadApp, read_app_handler)
.event(FolderEvent::UpdateApp, update_app_handler)
.event(FolderEvent::DeleteApp, delete_app_handler);
// View
module = module
plugin = plugin
.event(FolderEvent::CreateView, create_view_handler)
.event(FolderEvent::ReadView, read_view_handler)
.event(FolderEvent::UpdateView, update_view_handler)
@ -71,14 +71,14 @@ pub fn create(folder: Arc<FolderManager>) -> Module {
.event(FolderEvent::MoveFolderItem, move_item_handler);
// Trash
module = module
plugin = plugin
.event(FolderEvent::ReadTrash, read_trash_handler)
.event(FolderEvent::PutbackTrash, putback_trash_handler)
.event(FolderEvent::DeleteTrash, delete_trash_handler)
.event(FolderEvent::RestoreAllTrash, restore_all_trash_handler)
.event(FolderEvent::DeleteAllTrash, delete_all_trash_handler);
module
plugin
}
#[derive(Clone, Copy, PartialEq, Eq, Debug, Display, Hash, ProtoBuf_Enum, Flowy_Event)]

View File

@ -4,12 +4,12 @@ use crate::{
services::{AppController, TrashController, ViewController},
};
use folder_rev_model::TrashRevision;
use lib_dispatch::prelude::{data_result, AppData, Data, DataResult};
use lib_dispatch::prelude::{data_result, AFPluginData, AFPluginState, DataResult};
use std::{convert::TryInto, sync::Arc};
pub(crate) async fn create_app_handler(
data: Data<CreateAppPayloadPB>,
controller: AppData<Arc<AppController>>,
data: AFPluginData<CreateAppPayloadPB>,
controller: AFPluginState<Arc<AppController>>,
) -> DataResult<AppPB, FlowyError> {
let params: CreateAppParams = data.into_inner().try_into()?;
let detail = controller.create_app_from_params(params).await?;
@ -18,9 +18,9 @@ pub(crate) async fn create_app_handler(
}
pub(crate) async fn delete_app_handler(
data: Data<AppIdPB>,
app_controller: AppData<Arc<AppController>>,
trash_controller: AppData<Arc<TrashController>>,
data: AFPluginData<AppIdPB>,
app_controller: AFPluginState<Arc<AppController>>,
trash_controller: AFPluginState<Arc<TrashController>>,
) -> Result<(), FlowyError> {
let params: AppIdPB = data.into_inner();
let trash = app_controller
@ -36,8 +36,8 @@ pub(crate) async fn delete_app_handler(
#[tracing::instrument(level = "trace", skip(data, controller))]
pub(crate) async fn update_app_handler(
data: Data<UpdateAppPayloadPB>,
controller: AppData<Arc<AppController>>,
data: AFPluginData<UpdateAppPayloadPB>,
controller: AFPluginState<Arc<AppController>>,
) -> Result<(), FlowyError> {
let params: UpdateAppParams = data.into_inner().try_into()?;
let _ = controller.update_app(params).await?;
@ -46,9 +46,9 @@ pub(crate) async fn update_app_handler(
#[tracing::instrument(level = "trace", skip(data, app_controller, view_controller), err)]
pub(crate) async fn read_app_handler(
data: Data<AppIdPB>,
app_controller: AppData<Arc<AppController>>,
view_controller: AppData<Arc<ViewController>>,
data: AFPluginData<AppIdPB>,
app_controller: AFPluginState<Arc<AppController>>,
view_controller: AFPluginState<Arc<ViewController>>,
) -> DataResult<AppPB, FlowyError> {
let params: AppIdPB = data.into_inner();
let mut app_rev = app_controller.read_app(params.clone()).await?;

View File

@ -3,12 +3,12 @@ use crate::{
errors::FlowyError,
services::TrashController,
};
use lib_dispatch::prelude::{data_result, AppData, Data, DataResult};
use lib_dispatch::prelude::{data_result, AFPluginData, AFPluginState, DataResult};
use std::sync::Arc;
#[tracing::instrument(level = "debug", skip(controller), err)]
pub(crate) async fn read_trash_handler(
controller: AppData<Arc<TrashController>>,
controller: AFPluginState<Arc<TrashController>>,
) -> DataResult<RepeatedTrashPB, FlowyError> {
let repeated_trash = controller.read_trash().await?;
data_result(repeated_trash)
@ -16,8 +16,8 @@ pub(crate) async fn read_trash_handler(
#[tracing::instrument(level = "debug", skip(identifier, controller), err)]
pub(crate) async fn putback_trash_handler(
identifier: Data<TrashIdPB>,
controller: AppData<Arc<TrashController>>,
identifier: AFPluginData<TrashIdPB>,
controller: AFPluginState<Arc<TrashController>>,
) -> Result<(), FlowyError> {
let _ = controller.putback(&identifier.id).await?;
Ok(())
@ -25,21 +25,25 @@ pub(crate) async fn putback_trash_handler(
#[tracing::instrument(level = "debug", skip(identifiers, controller), err)]
pub(crate) async fn delete_trash_handler(
identifiers: Data<RepeatedTrashIdPB>,
controller: AppData<Arc<TrashController>>,
identifiers: AFPluginData<RepeatedTrashIdPB>,
controller: AFPluginState<Arc<TrashController>>,
) -> Result<(), FlowyError> {
let _ = controller.delete(identifiers.into_inner()).await?;
Ok(())
}
#[tracing::instrument(level = "debug", skip(controller), err)]
pub(crate) async fn restore_all_trash_handler(controller: AppData<Arc<TrashController>>) -> Result<(), FlowyError> {
pub(crate) async fn restore_all_trash_handler(
controller: AFPluginState<Arc<TrashController>>,
) -> Result<(), FlowyError> {
let _ = controller.restore_all_trash().await?;
Ok(())
}
#[tracing::instrument(level = "debug", skip(controller), err)]
pub(crate) async fn delete_all_trash_handler(controller: AppData<Arc<TrashController>>) -> Result<(), FlowyError> {
pub(crate) async fn delete_all_trash_handler(
controller: AFPluginState<Arc<TrashController>>,
) -> Result<(), FlowyError> {
let _ = controller.delete_all_trash().await?;
Ok(())
}

View File

@ -14,12 +14,12 @@ use crate::{
services::{TrashController, ViewController},
};
use folder_rev_model::TrashRevision;
use lib_dispatch::prelude::{data_result, AppData, Data, DataResult};
use lib_dispatch::prelude::{data_result, AFPluginData, AFPluginState, DataResult};
use std::{convert::TryInto, sync::Arc};
pub(crate) async fn create_view_handler(
data: Data<CreateViewPayloadPB>,
controller: AppData<Arc<ViewController>>,
data: AFPluginData<CreateViewPayloadPB>,
controller: AFPluginState<Arc<ViewController>>,
) -> DataResult<ViewPB, FlowyError> {
let params: CreateViewParams = data.into_inner().try_into()?;
let view_rev = controller.create_view_from_params(params).await?;
@ -27,8 +27,8 @@ pub(crate) async fn create_view_handler(
}
pub(crate) async fn read_view_handler(
data: Data<ViewIdPB>,
controller: AppData<Arc<ViewController>>,
data: AFPluginData<ViewIdPB>,
controller: AFPluginState<Arc<ViewController>>,
) -> DataResult<ViewPB, FlowyError> {
let view_id: ViewIdPB = data.into_inner();
let view_rev = controller.read_view(&view_id.value).await?;
@ -36,8 +36,8 @@ pub(crate) async fn read_view_handler(
}
pub(crate) async fn read_view_info_handler(
data: Data<ViewIdPB>,
controller: AppData<Arc<ViewController>>,
data: AFPluginData<ViewIdPB>,
controller: AFPluginState<Arc<ViewController>>,
) -> DataResult<ViewInfoPB, FlowyError> {
let view_id: ViewIdPB = data.into_inner();
let view_info = controller.read_view_pb(view_id.clone()).await?;
@ -46,8 +46,8 @@ pub(crate) async fn read_view_info_handler(
#[tracing::instrument(level = "debug", skip(data, controller), err)]
pub(crate) async fn update_view_handler(
data: Data<UpdateViewPayloadPB>,
controller: AppData<Arc<ViewController>>,
data: AFPluginData<UpdateViewPayloadPB>,
controller: AFPluginState<Arc<ViewController>>,
) -> Result<(), FlowyError> {
let params: UpdateViewParams = data.into_inner().try_into()?;
let _ = controller.update_view(params).await?;
@ -56,9 +56,9 @@ pub(crate) async fn update_view_handler(
}
pub(crate) async fn delete_view_handler(
data: Data<RepeatedViewIdPB>,
view_controller: AppData<Arc<ViewController>>,
trash_controller: AppData<Arc<TrashController>>,
data: AFPluginData<RepeatedViewIdPB>,
view_controller: AFPluginState<Arc<ViewController>>,
trash_controller: AFPluginState<Arc<TrashController>>,
) -> Result<(), FlowyError> {
let params: RepeatedViewIdPB = data.into_inner();
for view_id in &params.items {
@ -80,9 +80,9 @@ pub(crate) async fn delete_view_handler(
}
pub(crate) async fn set_latest_view_handler(
data: Data<ViewIdPB>,
folder: AppData<Arc<FolderManager>>,
controller: AppData<Arc<ViewController>>,
data: AFPluginData<ViewIdPB>,
folder: AFPluginState<Arc<FolderManager>>,
controller: AFPluginState<Arc<ViewController>>,
) -> Result<(), FlowyError> {
let view_id: ViewIdPB = data.into_inner();
let _ = controller.set_latest_view(&view_id.value)?;
@ -91,8 +91,8 @@ pub(crate) async fn set_latest_view_handler(
}
pub(crate) async fn close_view_handler(
data: Data<ViewIdPB>,
controller: AppData<Arc<ViewController>>,
data: AFPluginData<ViewIdPB>,
controller: AFPluginState<Arc<ViewController>>,
) -> Result<(), FlowyError> {
let view_id: ViewIdPB = data.into_inner();
let _ = controller.close_view(&view_id.value).await?;
@ -101,9 +101,9 @@ pub(crate) async fn close_view_handler(
#[tracing::instrument(level = "debug", skip_all, err)]
pub(crate) async fn move_item_handler(
data: Data<MoveFolderItemPayloadPB>,
view_controller: AppData<Arc<ViewController>>,
app_controller: AppData<Arc<AppController>>,
data: AFPluginData<MoveFolderItemPayloadPB>,
view_controller: AFPluginState<Arc<ViewController>>,
app_controller: AFPluginState<Arc<AppController>>,
) -> Result<(), FlowyError> {
let params: MoveFolderItemParams = data.into_inner().try_into()?;
match params.ty {
@ -121,8 +121,8 @@ pub(crate) async fn move_item_handler(
#[tracing::instrument(level = "debug", skip(data, controller), err)]
pub(crate) async fn duplicate_view_handler(
data: Data<ViewPB>,
controller: AppData<Arc<ViewController>>,
data: AFPluginData<ViewPB>,
controller: AFPluginState<Arc<ViewController>>,
) -> Result<(), FlowyError> {
let view: ViewPB = data.into_inner();
let _ = controller.duplicate_view(view).await?;

View File

@ -9,13 +9,13 @@ use crate::{
manager::FolderManager,
services::{get_current_workspace, read_local_workspace_apps, WorkspaceController},
};
use lib_dispatch::prelude::{data_result, AppData, Data, DataResult};
use lib_dispatch::prelude::{data_result, AFPluginData, AFPluginState, DataResult};
use std::{convert::TryInto, sync::Arc};
#[tracing::instrument(level = "debug", skip(data, controller), err)]
pub(crate) async fn create_workspace_handler(
data: Data<CreateWorkspacePayloadPB>,
controller: AppData<Arc<WorkspaceController>>,
data: AFPluginData<CreateWorkspacePayloadPB>,
controller: AFPluginState<Arc<WorkspaceController>>,
) -> DataResult<WorkspacePB, FlowyError> {
let controller = controller.get_ref().clone();
let params: CreateWorkspaceParams = data.into_inner().try_into()?;
@ -25,7 +25,7 @@ pub(crate) async fn create_workspace_handler(
#[tracing::instrument(level = "debug", skip(controller), err)]
pub(crate) async fn read_workspace_apps_handler(
controller: AppData<Arc<WorkspaceController>>,
controller: AFPluginState<Arc<WorkspaceController>>,
) -> DataResult<RepeatedAppPB, FlowyError> {
let items = controller
.read_current_workspace_apps()
@ -39,8 +39,8 @@ pub(crate) async fn read_workspace_apps_handler(
#[tracing::instrument(level = "debug", skip(data, controller), err)]
pub(crate) async fn open_workspace_handler(
data: Data<WorkspaceIdPB>,
controller: AppData<Arc<WorkspaceController>>,
data: AFPluginData<WorkspaceIdPB>,
controller: AFPluginState<Arc<WorkspaceController>>,
) -> DataResult<WorkspacePB, FlowyError> {
let params: WorkspaceIdPB = data.into_inner();
let workspaces = controller.open_workspace(params).await?;
@ -49,8 +49,8 @@ pub(crate) async fn open_workspace_handler(
#[tracing::instrument(level = "debug", skip(data, folder), err)]
pub(crate) async fn read_workspaces_handler(
data: Data<WorkspaceIdPB>,
folder: AppData<Arc<FolderManager>>,
data: AFPluginData<WorkspaceIdPB>,
folder: AFPluginState<Arc<FolderManager>>,
) -> DataResult<RepeatedWorkspacePB, FlowyError> {
let params: WorkspaceIdPB = data.into_inner();
let user_id = folder.user.user_id()?;
@ -78,7 +78,7 @@ pub(crate) async fn read_workspaces_handler(
#[tracing::instrument(level = "debug", skip(folder), err)]
pub async fn read_cur_workspace_handler(
folder: AppData<Arc<FolderManager>>,
folder: AFPluginState<Arc<FolderManager>>,
) -> DataResult<WorkspaceSettingPB, FlowyError> {
let workspace_id = get_current_workspace()?;
let user_id = folder.user.user_id()?;
@ -108,7 +108,7 @@ pub async fn read_cur_workspace_handler(
#[tracing::instrument(level = "trace", skip(folder_manager), err)]
fn read_workspaces_on_server(
folder_manager: AppData<Arc<FolderManager>>,
folder_manager: AFPluginState<Arc<FolderManager>>,
user_id: String,
params: WorkspaceIdPB,
) -> Result<(), FlowyError> {