diff --git a/.idea/libraries/Dart_Packages.xml b/.idea/libraries/Dart_Packages.xml
index 9c1173b60c..c1ba66c5f7 100644
--- a/.idea/libraries/Dart_Packages.xml
+++ b/.idea/libraries/Dart_Packages.xml
@@ -21,7 +21,7 @@
-
+
@@ -310,6 +310,7 @@
+
@@ -641,7 +642,7 @@
-
+
@@ -769,7 +770,7 @@
-
+
@@ -898,7 +899,7 @@
-
+
@@ -951,6 +952,7 @@
+
@@ -1001,7 +1003,7 @@
-
+
@@ -1020,7 +1022,7 @@
-
+
diff --git a/app_flowy/packages/flowy_sdk/lib/protobuf.dart b/app_flowy/packages/flowy_sdk/lib/protobuf.dart
index 7465f4a307..92cd747f05 100644
--- a/app_flowy/packages/flowy_sdk/lib/protobuf.dart
+++ b/app_flowy/packages/flowy_sdk/lib/protobuf.dart
@@ -1,4 +1,4 @@
-// Auto-generated, do not edit
+// Auto-generated, do not edit
export 'protobuf/kv.pb.dart';
export 'protobuf/ffi_response.pb.dart';
export 'protobuf/ffi_request.pb.dart';
diff --git a/rust-lib/flowy-infra/src/protobuf/model/kv.rs b/rust-lib/flowy-infra/src/protobuf/model/kv.rs
index a28d4c9373..cc6b4550ac 100644
--- a/rust-lib/flowy-infra/src/protobuf/model/kv.rs
+++ b/rust-lib/flowy-infra/src/protobuf/model/kv.rs
@@ -442,26 +442,26 @@ static file_descriptor_proto_data: &'static [u8] = b"\
_value\x18\x04\x20\x01(\x01H\x02R\nfloatValue\x12\x1f\n\nbool_value\x18\
\x05\x20\x01(\x08H\x03R\tboolValueB\x12\n\x10one_of_str_valueB\x12\n\x10\
one_of_int_valueB\x14\n\x12one_of_float_valueB\x13\n\x11one_of_bool_valu\
- eJ\xa9\x03\n\x06\x12\x04\0\0\x08\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\
- \n\x02\x04\0\x12\x04\x02\0\x08\x01\n\n\n\x03\x04\0\x01\x12\x03\x02\x08\
- \x10\n\x0b\n\x04\x04\0\x02\0\x12\x03\x03\x04\x13\n\x0c\n\x05\x04\0\x02\0\
- \x05\x12\x03\x03\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x03\x0b\x0e\n\
- \x0c\n\x05\x04\0\x02\0\x03\x12\x03\x03\x11\x12\n\x0b\n\x04\x04\0\x08\0\
- \x12\x03\x04\x044\n\x0c\n\x05\x04\0\x08\0\x01\x12\x03\x04\n\x1a\n\x0b\n\
- \x04\x04\0\x02\x01\x12\x03\x04\x1d2\n\x0c\n\x05\x04\0\x02\x01\x05\x12\
- \x03\x04\x1d#\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x04$-\n\x0c\n\x05\
- \x04\0\x02\x01\x03\x12\x03\x0401\n\x0b\n\x04\x04\0\x08\x01\x12\x03\x05\
- \x043\n\x0c\n\x05\x04\0\x08\x01\x01\x12\x03\x05\n\x1a\n\x0b\n\x04\x04\0\
- \x02\x02\x12\x03\x05\x1d1\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x05\x1d\
- \"\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x05#,\n\x0c\n\x05\x04\0\x02\x02\
- \x03\x12\x03\x05/0\n\x0b\n\x04\x04\0\x08\x02\x12\x03\x06\x048\n\x0c\n\
- \x05\x04\0\x08\x02\x01\x12\x03\x06\n\x1c\n\x0b\n\x04\x04\0\x02\x03\x12\
- \x03\x06\x1f6\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03\x06\x1f%\n\x0c\n\x05\
- \x04\0\x02\x03\x01\x12\x03\x06&1\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\
- \x0645\n\x0b\n\x04\x04\0\x08\x03\x12\x03\x07\x044\n\x0c\n\x05\x04\0\x08\
- \x03\x01\x12\x03\x07\n\x1b\n\x0b\n\x04\x04\0\x02\x04\x12\x03\x07\x1e2\n\
- \x0c\n\x05\x04\0\x02\x04\x05\x12\x03\x07\x1e\"\n\x0c\n\x05\x04\0\x02\x04\
- \x01\x12\x03\x07#-\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\x0701b\x06proto\
+ eJ\xa9\x03\n\x06\x12\x04\0\0\x07\x01\n\x08\n\x01\x0c\x12\x03\0\0\x12\n\n\
+ \n\x02\x04\0\x12\x04\x01\0\x07\x01\n\n\n\x03\x04\0\x01\x12\x03\x01\x08\
+ \x10\n\x0b\n\x04\x04\0\x02\0\x12\x03\x02\x04\x13\n\x0c\n\x05\x04\0\x02\0\
+ \x05\x12\x03\x02\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x02\x0b\x0e\n\
+ \x0c\n\x05\x04\0\x02\0\x03\x12\x03\x02\x11\x12\n\x0b\n\x04\x04\0\x08\0\
+ \x12\x03\x03\x044\n\x0c\n\x05\x04\0\x08\0\x01\x12\x03\x03\n\x1a\n\x0b\n\
+ \x04\x04\0\x02\x01\x12\x03\x03\x1d2\n\x0c\n\x05\x04\0\x02\x01\x05\x12\
+ \x03\x03\x1d#\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x03$-\n\x0c\n\x05\
+ \x04\0\x02\x01\x03\x12\x03\x0301\n\x0b\n\x04\x04\0\x08\x01\x12\x03\x04\
+ \x043\n\x0c\n\x05\x04\0\x08\x01\x01\x12\x03\x04\n\x1a\n\x0b\n\x04\x04\0\
+ \x02\x02\x12\x03\x04\x1d1\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x04\x1d\
+ \"\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\x04#,\n\x0c\n\x05\x04\0\x02\x02\
+ \x03\x12\x03\x04/0\n\x0b\n\x04\x04\0\x08\x02\x12\x03\x05\x048\n\x0c\n\
+ \x05\x04\0\x08\x02\x01\x12\x03\x05\n\x1c\n\x0b\n\x04\x04\0\x02\x03\x12\
+ \x03\x05\x1f6\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03\x05\x1f%\n\x0c\n\x05\
+ \x04\0\x02\x03\x01\x12\x03\x05&1\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03\
+ \x0545\n\x0b\n\x04\x04\0\x08\x03\x12\x03\x06\x044\n\x0c\n\x05\x04\0\x08\
+ \x03\x01\x12\x03\x06\n\x1b\n\x0b\n\x04\x04\0\x02\x04\x12\x03\x06\x1e2\n\
+ \x0c\n\x05\x04\0\x02\x04\x05\x12\x03\x06\x1e\"\n\x0c\n\x05\x04\0\x02\x04\
+ \x01\x12\x03\x06#-\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\x0601b\x06proto\
3\
";
diff --git a/rust-lib/flowy-infra/src/protobuf/proto/kv.proto b/rust-lib/flowy-infra/src/protobuf/proto/kv.proto
index 0644b43adc..06828a3f6f 100644
--- a/rust-lib/flowy-infra/src/protobuf/proto/kv.proto
+++ b/rust-lib/flowy-infra/src/protobuf/proto/kv.proto
@@ -1,5 +1,4 @@
syntax = "proto3";
-
message KeyValue {
string key = 1;
oneof one_of_str_value { string str_value = 2; };
diff --git a/rust-lib/flowy-user/src/protobuf/model/user_detail.rs b/rust-lib/flowy-user/src/protobuf/model/user_detail.rs
index b978ec0d45..8009945a54 100644
--- a/rust-lib/flowy-user/src/protobuf/model/user_detail.rs
+++ b/rust-lib/flowy-user/src/protobuf/model/user_detail.rs
@@ -313,24 +313,24 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x01(\tR\x05email\x12\x12\n\x04name\x18\x02\x20\x01(\tR\x04name\x12#\n\
\x06status\x18\x03\x20\x01(\x0e2\x0b.UserStatusR\x06status*1\n\nUserStat\
us\x12\x0b\n\x07Unknown\x10\0\x12\t\n\x05Login\x10\x01\x12\x0b\n\x07Expi\
- red\x10\x02J\xe2\x02\n\x06\x12\x04\0\0\n\x01\n\x08\n\x01\x0c\x12\x03\0\0\
- \x12\n\n\n\x02\x04\0\x12\x04\x01\0\x05\x01\n\n\n\x03\x04\0\x01\x12\x03\
- \x01\x08\x12\n\x0b\n\x04\x04\0\x02\0\x12\x03\x02\x04\x15\n\x0c\n\x05\x04\
- \0\x02\0\x05\x12\x03\x02\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x02\
- \x0b\x10\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x02\x13\x14\n\x0b\n\x04\x04\
- \0\x02\x01\x12\x03\x03\x04\x14\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x03\
- \x04\n\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x03\x0b\x0f\n\x0c\n\x05\x04\
- \0\x02\x01\x03\x12\x03\x03\x12\x13\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x04\
- \x04\x1a\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03\x04\x04\x0e\n\x0c\n\x05\
- \x04\0\x02\x02\x01\x12\x03\x04\x0f\x15\n\x0c\n\x05\x04\0\x02\x02\x03\x12\
- \x03\x04\x18\x19\n\n\n\x02\x05\0\x12\x04\x06\0\n\x01\n\n\n\x03\x05\0\x01\
- \x12\x03\x06\x05\x0f\n\x0b\n\x04\x05\0\x02\0\x12\x03\x07\x04\x10\n\x0c\n\
- \x05\x05\0\x02\0\x01\x12\x03\x07\x04\x0b\n\x0c\n\x05\x05\0\x02\0\x02\x12\
- \x03\x07\x0e\x0f\n\x0b\n\x04\x05\0\x02\x01\x12\x03\x08\x04\x0e\n\x0c\n\
- \x05\x05\0\x02\x01\x01\x12\x03\x08\x04\t\n\x0c\n\x05\x05\0\x02\x01\x02\
- \x12\x03\x08\x0c\r\n\x0b\n\x04\x05\0\x02\x02\x12\x03\t\x04\x10\n\x0c\n\
- \x05\x05\0\x02\x02\x01\x12\x03\t\x04\x0b\n\x0c\n\x05\x05\0\x02\x02\x02\
- \x12\x03\t\x0e\x0fb\x06proto3\
+ red\x10\x02J\xe2\x02\n\x06\x12\x04\0\0\x0b\x01\n\x08\n\x01\x0c\x12\x03\0\
+ \0\x12\n\n\n\x02\x04\0\x12\x04\x02\0\x06\x01\n\n\n\x03\x04\0\x01\x12\x03\
+ \x02\x08\x12\n\x0b\n\x04\x04\0\x02\0\x12\x03\x03\x04\x15\n\x0c\n\x05\x04\
+ \0\x02\0\x05\x12\x03\x03\x04\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x03\
+ \x0b\x10\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\x03\x13\x14\n\x0b\n\x04\x04\
+ \0\x02\x01\x12\x03\x04\x04\x14\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x04\
+ \x04\n\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x04\x0b\x0f\n\x0c\n\x05\x04\
+ \0\x02\x01\x03\x12\x03\x04\x12\x13\n\x0b\n\x04\x04\0\x02\x02\x12\x03\x05\
+ \x04\x1a\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03\x05\x04\x0e\n\x0c\n\x05\
+ \x04\0\x02\x02\x01\x12\x03\x05\x0f\x15\n\x0c\n\x05\x04\0\x02\x02\x03\x12\
+ \x03\x05\x18\x19\n\n\n\x02\x05\0\x12\x04\x07\0\x0b\x01\n\n\n\x03\x05\0\
+ \x01\x12\x03\x07\x05\x0f\n\x0b\n\x04\x05\0\x02\0\x12\x03\x08\x04\x10\n\
+ \x0c\n\x05\x05\0\x02\0\x01\x12\x03\x08\x04\x0b\n\x0c\n\x05\x05\0\x02\0\
+ \x02\x12\x03\x08\x0e\x0f\n\x0b\n\x04\x05\0\x02\x01\x12\x03\t\x04\x0e\n\
+ \x0c\n\x05\x05\0\x02\x01\x01\x12\x03\t\x04\t\n\x0c\n\x05\x05\0\x02\x01\
+ \x02\x12\x03\t\x0c\r\n\x0b\n\x04\x05\0\x02\x02\x12\x03\n\x04\x10\n\x0c\n\
+ \x05\x05\0\x02\x02\x01\x12\x03\n\x04\x0b\n\x0c\n\x05\x05\0\x02\x02\x02\
+ \x12\x03\n\x0e\x0fb\x06proto3\
";
static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
diff --git a/rust-lib/flowy-user/src/protobuf/proto/user_detail.proto b/rust-lib/flowy-user/src/protobuf/proto/user_detail.proto
index 5f50aeee5a..0dfa623fc8 100644
--- a/rust-lib/flowy-user/src/protobuf/proto/user_detail.proto
+++ b/rust-lib/flowy-user/src/protobuf/proto/user_detail.proto
@@ -1,4 +1,5 @@
syntax = "proto3";
+
message UserDetail {
string email = 1;
string name = 2;
diff --git a/scripts/flowy-tool/src/proto/proto_gen.rs b/scripts/flowy-tool/src/proto/proto_gen.rs
index 01b8bd70f3..9b5b460e67 100644
--- a/scripts/flowy-tool/src/proto/proto_gen.rs
+++ b/scripts/flowy-tool/src/proto/proto_gen.rs
@@ -29,6 +29,7 @@ impl ProtoGen {
fn write_proto_files(crate_infos: &Vec) {
for crate_info in crate_infos {
let dir = crate_info.inner.proto_file_output_dir();
+ remove_everything_in_dir(dir.as_str());
crate_info.files.iter().for_each(|info| {
let proto_file_path = format!("{}/{}.proto", dir, &info.file_name);
save_content_to_file_with_diff_prompt(
@@ -130,8 +131,14 @@ fn run_rust_protoc(crate_infos: &Vec) {
}
}
+use std::path::Path;
+use std::process::Command;
+
fn run_flutter_protoc(crate_infos: &Vec, package_info: &FlutterProtobufInfo) {
let model_dir = package_info.model_dir();
+ let removed_dir = format!("{}/", model_dir);
+ remove_everything_in_dir(removed_dir.as_str());
+
for crate_info in crate_infos {
let proto_path = crate_info.inner.proto_file_output_dir();
walk_dir(
@@ -149,3 +156,18 @@ fn run_flutter_protoc(crate_infos: &Vec, package_info: &FlutterP
);
}
}
+
+fn remove_everything_in_dir(dir: &str) {
+ if !Path::new(dir).exists() {
+ if cmd_lib::run_cmd! {
+ rm -rf ${dir}
+ mkdir ${dir}
+ }
+ .is_err()
+ {
+ panic!("Reset protobuf directory failed")
+ };
+ } else {
+ std::fs::create_dir_all(dir).unwrap();
+ }
+}