From 373407fd5751b4519b599bc0ae90b27edb41a804 Mon Sep 17 00:00:00 2001 From: appflowy Date: Wed, 16 Feb 2022 18:09:43 +0800 Subject: [PATCH 1/3] ci: fix potential ci error --- .../flowy_sdk/lib/dispatch/dart_event.dart | 2 +- .../dart_event/flowy-folder/dart_event.dart | 413 ++++++++++++++++++ .../dart_event/flowy-net/dart_event.dart | 20 + .../dart_event/flowy-user/dart_event.dart | 141 ++++++ .../flowy_sdk/lib/dispatch/dispatch.dart | 4 +- frontend/rust-lib/dart-ffi/build.rs | 12 - .../src/code_gen/dart_event/dart_event.rs | 20 +- 7 files changed, 594 insertions(+), 18 deletions(-) create mode 100644 frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event/flowy-folder/dart_event.dart create mode 100644 frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event/flowy-net/dart_event.dart create mode 100644 frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event/flowy-user/dart_event.dart diff --git a/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event.dart b/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event.dart index 72789a1366..8767b0c8c4 100644 --- a/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event.dart +++ b/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event.dart @@ -1,6 +1,6 @@ /// Auto generate. Do not edit -part of 'dispatch.dart'; +part of '../../dispatch.dart'; class FolderEventCreateWorkspace { CreateWorkspaceRequest request; FolderEventCreateWorkspace(this.request); diff --git a/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event/flowy-folder/dart_event.dart b/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event/flowy-folder/dart_event.dart new file mode 100644 index 0000000000..21f7f3c598 --- /dev/null +++ b/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event/flowy-folder/dart_event.dart @@ -0,0 +1,413 @@ + +/// Auto generate. Do not edit +part of '../../dispatch.dart'; +class FolderEventCreateWorkspace { + CreateWorkspaceRequest request; + FolderEventCreateWorkspace(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.CreateWorkspace.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(Workspace.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventReadCurWorkspace { + FolderEventReadCurWorkspace(); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.ReadCurWorkspace.toString(); + + return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( + (okBytes) => left(CurrentWorkspaceSetting.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventReadWorkspaces { + QueryWorkspaceRequest request; + FolderEventReadWorkspaces(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.ReadWorkspaces.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(RepeatedWorkspace.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventDeleteWorkspace { + QueryWorkspaceRequest request; + FolderEventDeleteWorkspace(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.DeleteWorkspace.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventOpenWorkspace { + QueryWorkspaceRequest request; + FolderEventOpenWorkspace(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.OpenWorkspace.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(Workspace.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventReadWorkspaceApps { + QueryWorkspaceRequest request; + FolderEventReadWorkspaceApps(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.ReadWorkspaceApps.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(RepeatedApp.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventCreateApp { + CreateAppRequest request; + FolderEventCreateApp(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.CreateApp.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(App.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventDeleteApp { + QueryAppRequest request; + FolderEventDeleteApp(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.DeleteApp.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventReadApp { + QueryAppRequest request; + FolderEventReadApp(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.ReadApp.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(App.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventUpdateApp { + UpdateAppRequest request; + FolderEventUpdateApp(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.UpdateApp.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventCreateView { + CreateViewRequest request; + FolderEventCreateView(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.CreateView.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(View.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventReadView { + QueryViewRequest request; + FolderEventReadView(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.ReadView.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(View.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventUpdateView { + UpdateViewRequest request; + FolderEventUpdateView(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.UpdateView.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(View.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventDeleteView { + QueryViewRequest request; + FolderEventDeleteView(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.DeleteView.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventDuplicateView { + QueryViewRequest request; + FolderEventDuplicateView(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.DuplicateView.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventCopyLink { + FolderEventCopyLink(); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.CopyLink.toString(); + + return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventOpenDocument { + QueryViewRequest request; + FolderEventOpenDocument(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.OpenDocument.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(DocumentDelta.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventCloseView { + QueryViewRequest request; + FolderEventCloseView(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.CloseView.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventReadTrash { + FolderEventReadTrash(); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.ReadTrash.toString(); + + return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( + (okBytes) => left(RepeatedTrash.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventPutbackTrash { + TrashId request; + FolderEventPutbackTrash(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.PutbackTrash.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventDeleteTrash { + RepeatedTrashId request; + FolderEventDeleteTrash(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.DeleteTrash.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventRestoreAllTrash { + FolderEventRestoreAllTrash(); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.RestoreAllTrash.toString(); + + return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventDeleteAllTrash { + FolderEventDeleteAllTrash(); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.DeleteAllTrash.toString(); + + return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventApplyDocDelta { + DocumentDelta request; + FolderEventApplyDocDelta(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.ApplyDocDelta.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(DocumentDelta.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class FolderEventExportDocument { + ExportRequest request; + FolderEventExportDocument(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = FolderEvent.ExportDocument.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(ExportData.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + diff --git a/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event/flowy-net/dart_event.dart b/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event/flowy-net/dart_event.dart new file mode 100644 index 0000000000..19f1bd0f09 --- /dev/null +++ b/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event/flowy-net/dart_event.dart @@ -0,0 +1,20 @@ + +/// Auto generate. Do not edit +part of '../../dispatch.dart'; +class NetworkEventUpdateNetworkType { + NetworkState request; + NetworkEventUpdateNetworkType(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = NetworkEvent.UpdateNetworkType.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + diff --git a/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event/flowy-user/dart_event.dart b/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event/flowy-user/dart_event.dart new file mode 100644 index 0000000000..c40fdd5a02 --- /dev/null +++ b/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event/flowy-user/dart_event.dart @@ -0,0 +1,141 @@ + +/// Auto generate. Do not edit +part of '../../dispatch.dart'; +class UserEventInitUser { + UserEventInitUser(); + + Future> send() { + final request = FFIRequest.create() + ..event = UserEvent.InitUser.toString(); + + return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class UserEventSignIn { + SignInRequest request; + UserEventSignIn(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = UserEvent.SignIn.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(UserProfile.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class UserEventSignUp { + SignUpRequest request; + UserEventSignUp(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = UserEvent.SignUp.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (okBytes) => left(UserProfile.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class UserEventSignOut { + UserEventSignOut(); + + Future> send() { + final request = FFIRequest.create() + ..event = UserEvent.SignOut.toString(); + + return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class UserEventUpdateUser { + UpdateUserRequest request; + UserEventUpdateUser(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = UserEvent.UpdateUser.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class UserEventGetUserProfile { + UserEventGetUserProfile(); + + Future> send() { + final request = FFIRequest.create() + ..event = UserEvent.GetUserProfile.toString(); + + return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( + (okBytes) => left(UserProfile.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class UserEventCheckUser { + UserEventCheckUser(); + + Future> send() { + final request = FFIRequest.create() + ..event = UserEvent.CheckUser.toString(); + + return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( + (okBytes) => left(UserProfile.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class UserEventSetAppearanceSetting { + AppearanceSettings request; + UserEventSetAppearanceSetting(this.request); + + Future> send() { + final request = FFIRequest.create() + ..event = UserEvent.SetAppearanceSetting.toString() + ..payload = requestToBytes(this.request); + + return Dispatch.asyncRequest(request) + .then((bytesResult) => bytesResult.fold( + (bytes) => left(unit), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + +class UserEventGetAppearanceSetting { + UserEventGetAppearanceSetting(); + + Future> send() { + final request = FFIRequest.create() + ..event = UserEvent.GetAppearanceSetting.toString(); + + return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( + (okBytes) => left(AppearanceSettings.fromBuffer(okBytes)), + (errBytes) => right(FlowyError.fromBuffer(errBytes)), + )); + } +} + diff --git a/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dispatch.dart b/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dispatch.dart index 40c7a06867..a376f7d3b0 100644 --- a/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dispatch.dart +++ b/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dispatch.dart @@ -27,7 +27,9 @@ import 'package:protobuf/protobuf.dart'; import 'dart:convert' show utf8; import 'error.dart'; -part 'dart_event.dart'; +part 'dart_event/flowy-folder/dart_event.dart'; +part 'dart_event/flowy-net/dart_event.dart'; +part 'dart_event/flowy-user/dart_event.dart'; enum FFIException { RequestIsEmpty, diff --git a/frontend/rust-lib/dart-ffi/build.rs b/frontend/rust-lib/dart-ffi/build.rs index 91c656ce10..7f06ab48c8 100644 --- a/frontend/rust-lib/dart-ffi/build.rs +++ b/frontend/rust-lib/dart-ffi/build.rs @@ -1,17 +1,5 @@ use lib_infra::code_gen; -use lib_infra::code_gen::dart_event; fn main() { code_gen::protobuf_file::gen(env!("CARGO_PKG_NAME"), "./src/protobuf/proto"); - #[cfg(feature = "flutter")] - copy_dart_event_files(); -} - -#[cfg(feature = "flutter")] -fn copy_dart_event_files() { - let workspace_dir = std::env::var("CARGO_MAKE_WORKING_DIRECTORY").unwrap(); - let flutter_sdk_path = std::env::var("FLUTTER_FLOWY_SDK_PATH").unwrap(); - let output_file = format!("{}/{}/lib/dispatch/dart_event.dart", workspace_dir, flutter_sdk_path); - println!("cargo:rerun-if-changed={}", output_file); - dart_event::write_dart_event_file(&output_file); } diff --git a/shared-lib/lib-infra/src/code_gen/dart_event/dart_event.rs b/shared-lib/lib-infra/src/code_gen/dart_event/dart_event.rs index 4f21256661..2e8845bf15 100644 --- a/shared-lib/lib-infra/src/code_gen/dart_event/dart_event.rs +++ b/shared-lib/lib-infra/src/code_gen/dart_event/dart_event.rs @@ -4,6 +4,7 @@ use crate::code_gen::util::{cache_dir, is_crate_dir, is_hidden, read_file}; use flowy_ast::{event_ast::*, *}; use std::fs::File; use std::io::Write; +use std::path::Path; use syn::Item; use walkdir::WalkDir; @@ -13,7 +14,7 @@ pub fn gen(crate_name: &str) { let event_ast = event_crates.iter().map(parse_event_crate).flatten().collect::>(); let event_render_ctx = ast_to_event_render_ctx(event_ast.as_ref()); - let mut render_result = String::new(); + let mut render_result = DART_IMPORTED.to_owned(); for (index, render_ctx) in event_render_ctx.into_iter().enumerate() { let mut event_template = EventTemplate::new(); @@ -22,8 +23,19 @@ pub fn gen(crate_name: &str) { } } - let cache_dir = format!("{}/{}", cache_dir(), crate_name); - let dart_event_file_path = format!("{}/dart_event.dart", cache_dir); + let dart_event_folder = format!( + "{}/{}/lib/dispatch/dart_event/{}", + env!("CARGO_MAKE_WORKING_DIRECTORY"), + env!("FLUTTER_FLOWY_SDK_PATH"), + crate_name + ); + + if !Path::new(&dart_event_folder).exists() { + std::fs::create_dir_all(&dart_event_folder).unwrap(); + } + + let dart_event_file_path = format!("{}/dart_event.dart", dart_event_folder); + println!("cargo:rerun-if-changed={}", dart_event_file_path); match std::fs::OpenOptions::new() .create(true) @@ -44,7 +56,7 @@ pub fn gen(crate_name: &str) { const DART_IMPORTED: &str = r#" /// Auto generate. Do not edit -part of 'dispatch.dart'; +part of '../../dispatch.dart'; "#; pub fn write_dart_event_file(file_path: &str) { From a7819c645681ee8f5f9f1a0d5e670bb20dbc95bf Mon Sep 17 00:00:00 2001 From: appflowy Date: Wed, 16 Feb 2022 18:11:25 +0800 Subject: [PATCH 2/3] chore: delete dart_event.dart --- .../flowy_sdk/lib/dispatch/dart_event.dart | 568 ------------------ 1 file changed, 568 deletions(-) delete mode 100644 frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event.dart diff --git a/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event.dart b/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event.dart deleted file mode 100644 index 8767b0c8c4..0000000000 --- a/frontend/app_flowy/packages/flowy_sdk/lib/dispatch/dart_event.dart +++ /dev/null @@ -1,568 +0,0 @@ - -/// Auto generate. Do not edit -part of '../../dispatch.dart'; -class FolderEventCreateWorkspace { - CreateWorkspaceRequest request; - FolderEventCreateWorkspace(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.CreateWorkspace.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(Workspace.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventReadCurWorkspace { - FolderEventReadCurWorkspace(); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.ReadCurWorkspace.toString(); - - return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( - (okBytes) => left(CurrentWorkspaceSetting.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventReadWorkspaces { - QueryWorkspaceRequest request; - FolderEventReadWorkspaces(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.ReadWorkspaces.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(RepeatedWorkspace.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventDeleteWorkspace { - QueryWorkspaceRequest request; - FolderEventDeleteWorkspace(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.DeleteWorkspace.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventOpenWorkspace { - QueryWorkspaceRequest request; - FolderEventOpenWorkspace(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.OpenWorkspace.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(Workspace.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventReadWorkspaceApps { - QueryWorkspaceRequest request; - FolderEventReadWorkspaceApps(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.ReadWorkspaceApps.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(RepeatedApp.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventCreateApp { - CreateAppRequest request; - FolderEventCreateApp(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.CreateApp.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(App.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventDeleteApp { - QueryAppRequest request; - FolderEventDeleteApp(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.DeleteApp.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventReadApp { - QueryAppRequest request; - FolderEventReadApp(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.ReadApp.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(App.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventUpdateApp { - UpdateAppRequest request; - FolderEventUpdateApp(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.UpdateApp.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventCreateView { - CreateViewRequest request; - FolderEventCreateView(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.CreateView.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(View.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventReadView { - QueryViewRequest request; - FolderEventReadView(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.ReadView.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(View.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventUpdateView { - UpdateViewRequest request; - FolderEventUpdateView(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.UpdateView.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(View.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventDeleteView { - QueryViewRequest request; - FolderEventDeleteView(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.DeleteView.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventDuplicateView { - QueryViewRequest request; - FolderEventDuplicateView(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.DuplicateView.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventCopyLink { - FolderEventCopyLink(); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.CopyLink.toString(); - - return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventOpenDocument { - QueryViewRequest request; - FolderEventOpenDocument(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.OpenDocument.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(DocumentDelta.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventCloseView { - QueryViewRequest request; - FolderEventCloseView(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.CloseView.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventReadTrash { - FolderEventReadTrash(); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.ReadTrash.toString(); - - return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( - (okBytes) => left(RepeatedTrash.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventPutbackTrash { - TrashId request; - FolderEventPutbackTrash(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.PutbackTrash.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventDeleteTrash { - RepeatedTrashId request; - FolderEventDeleteTrash(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.DeleteTrash.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventRestoreAllTrash { - FolderEventRestoreAllTrash(); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.RestoreAllTrash.toString(); - - return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventDeleteAllTrash { - FolderEventDeleteAllTrash(); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.DeleteAllTrash.toString(); - - return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventApplyDocDelta { - DocumentDelta request; - FolderEventApplyDocDelta(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.ApplyDocDelta.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(DocumentDelta.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class FolderEventExportDocument { - ExportRequest request; - FolderEventExportDocument(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = FolderEvent.ExportDocument.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(ExportData.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class NetworkEventUpdateNetworkType { - NetworkState request; - NetworkEventUpdateNetworkType(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = NetworkEvent.UpdateNetworkType.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class UserEventInitUser { - UserEventInitUser(); - - Future> send() { - final request = FFIRequest.create() - ..event = UserEvent.InitUser.toString(); - - return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class UserEventSignIn { - SignInRequest request; - UserEventSignIn(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = UserEvent.SignIn.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(UserProfile.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class UserEventSignUp { - SignUpRequest request; - UserEventSignUp(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = UserEvent.SignUp.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (okBytes) => left(UserProfile.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class UserEventSignOut { - UserEventSignOut(); - - Future> send() { - final request = FFIRequest.create() - ..event = UserEvent.SignOut.toString(); - - return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class UserEventUpdateUser { - UpdateUserRequest request; - UserEventUpdateUser(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = UserEvent.UpdateUser.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class UserEventGetUserProfile { - UserEventGetUserProfile(); - - Future> send() { - final request = FFIRequest.create() - ..event = UserEvent.GetUserProfile.toString(); - - return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( - (okBytes) => left(UserProfile.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class UserEventCheckUser { - UserEventCheckUser(); - - Future> send() { - final request = FFIRequest.create() - ..event = UserEvent.CheckUser.toString(); - - return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( - (okBytes) => left(UserProfile.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class UserEventSetAppearanceSetting { - AppearanceSettings request; - UserEventSetAppearanceSetting(this.request); - - Future> send() { - final request = FFIRequest.create() - ..event = UserEvent.SetAppearanceSetting.toString() - ..payload = requestToBytes(this.request); - - return Dispatch.asyncRequest(request) - .then((bytesResult) => bytesResult.fold( - (bytes) => left(unit), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - -class UserEventGetAppearanceSetting { - UserEventGetAppearanceSetting(); - - Future> send() { - final request = FFIRequest.create() - ..event = UserEvent.GetAppearanceSetting.toString(); - - return Dispatch.asyncRequest(request).then((bytesResult) => bytesResult.fold( - (okBytes) => left(AppearanceSettings.fromBuffer(okBytes)), - (errBytes) => right(FlowyError.fromBuffer(errBytes)), - )); - } -} - From e1f926098219e249422a38c7e9486ce660868970 Mon Sep 17 00:00:00 2001 From: appflowy Date: Wed, 16 Feb 2022 18:44:42 +0800 Subject: [PATCH 3/3] chore: fix unit errors --- .../src/code_gen/dart_event/dart_event.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/shared-lib/lib-infra/src/code_gen/dart_event/dart_event.rs b/shared-lib/lib-infra/src/code_gen/dart_event/dart_event.rs index 2e8845bf15..afb089458b 100644 --- a/shared-lib/lib-infra/src/code_gen/dart_event/dart_event.rs +++ b/shared-lib/lib-infra/src/code_gen/dart_event/dart_event.rs @@ -9,6 +9,16 @@ use syn::Item; use walkdir::WalkDir; pub fn gen(crate_name: &str) { + if std::env::var("CARGO_MAKE_WORKING_DIRECTORY").is_err() { + log::warn!("CARGO_MAKE_WORKING_DIRECTORY was not set, skip generate dart pb"); + return; + } + + if std::env::var("FLUTTER_FLOWY_SDK_PATH").is_err() { + log::warn!("FLUTTER_FLOWY_SDK_PATH was not set, skip generate dart pb"); + return; + } + let crate_path = std::fs::canonicalize(".").unwrap().as_path().display().to_string(); let event_crates = parse_dart_event_files(vec![crate_path]); let event_ast = event_crates.iter().map(parse_event_crate).flatten().collect::>(); @@ -25,8 +35,8 @@ pub fn gen(crate_name: &str) { let dart_event_folder = format!( "{}/{}/lib/dispatch/dart_event/{}", - env!("CARGO_MAKE_WORKING_DIRECTORY"), - env!("FLUTTER_FLOWY_SDK_PATH"), + std::env::var("CARGO_MAKE_WORKING_DIRECTORY").unwrap(), + std::env::var("FLUTTER_FLOWY_SDK_PATH").unwrap(), crate_name );