Skip to content

Commit 882d553

Browse files
authored
Extract protobuf structs from flowy-sync crate (#1425)
* refactor: extract data model from flowy-sync crate * chore: rename lib-infra features
1 parent 7f6ad50 commit 882d553

File tree

85 files changed

+269
-343
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+269
-343
lines changed

frontend/rust-lib/Cargo.lock

Lines changed: 22 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

frontend/rust-lib/dart-ffi/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,5 @@ openssl_vendored = ["flowy-sdk/openssl_vendored"]
3838

3939
[build-dependencies]
4040
lib-infra = { path = "../../../shared-lib/lib-infra", features = [
41-
"protobuf_file_gen",
4241
"dart",
4342
] }

frontend/rust-lib/dart-notify/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ lib-dispatch = {path = "../lib-dispatch" }
1919
dart = ["lib-infra/dart"]
2020

2121
[build-dependencies]
22-
lib-infra = { path = "../../../shared-lib/lib-infra", features = ["protobuf_file_gen"] }
22+
lib-infra = { path = "../../../shared-lib/lib-infra", features = ["proto_gen"] }

frontend/rust-lib/flowy-document/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ edition = "2018"
88

99
[dependencies]
1010
flowy-sync = { path = "../../../shared-lib/flowy-sync"}
11+
flowy-http-model = { path = "../../../shared-lib/flowy-http-model"}
1112
flowy-derive = { path = "../../../shared-lib/flowy-derive" }
1213
lib-ot = { path = "../../../shared-lib/lib-ot" }
1314
lib-ws = { path = "../../../shared-lib/lib-ws" }
@@ -51,7 +52,7 @@ criterion = "0.3"
5152
rand = "0.8.5"
5253

5354
[build-dependencies]
54-
lib-infra = { path = "../../../shared-lib/lib-infra", features = ["protobuf_file_gen", "proto_gen"] }
55+
lib-infra = { path = "../../../shared-lib/lib-infra", features = [ "proto_gen"] }
5556

5657
[features]
5758
sync = []

frontend/rust-lib/flowy-document/src/editor/document.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use bytes::Bytes;
22
use flowy_error::{FlowyError, FlowyResult};
3+
use flowy_http_model::revision::Revision;
34
use flowy_revision::{RevisionMergeable, RevisionObjectDeserializer, RevisionObjectSerializer};
4-
use flowy_sync::entities::revision::Revision;
55
use lib_ot::core::{Extension, NodeDataBuilder, NodeOperation, NodeTree, NodeTreeContext, Selection, Transaction};
66
use lib_ot::text_delta::DeltaTextOperationBuilder;
77

frontend/rust-lib/flowy-document/src/editor/editor.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ use crate::{DocumentEditor, DocumentUser};
66
use bytes::Bytes;
77
use flowy_database::ConnectionPool;
88
use flowy_error::{internal_error, FlowyError, FlowyResult};
9+
use flowy_http_model::ws_data::ServerRevisionWSData;
910
use flowy_revision::{RevisionCloudService, RevisionManager};
10-
use flowy_sync::entities::ws_data::ServerRevisionWSData;
1111
use lib_infra::future::FutureResult;
1212
use lib_ot::core::Transaction;
1313
use lib_ws::WSConnectState;

frontend/rust-lib/flowy-document/src/editor/queue.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ use crate::DocumentUser;
33
use async_stream::stream;
44
use bytes::Bytes;
55
use flowy_error::FlowyError;
6+
use flowy_http_model::revision::{RevId, Revision};
67
use flowy_revision::RevisionManager;
7-
use flowy_sync::entities::revision::{RevId, Revision};
88
use futures::stream::StreamExt;
99
use lib_ot::core::Transaction;
1010

frontend/rust-lib/flowy-document/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ pub mod errors {
1616
pub const TEXT_BLOCK_SYNC_INTERVAL_IN_MILLIS: u64 = 1000;
1717

1818
use crate::errors::FlowyError;
19-
use flowy_sync::entities::document::{CreateDocumentParams, DocumentIdPB, DocumentPayloadPB, ResetDocumentParams};
19+
use flowy_http_model::document::{CreateDocumentParams, DocumentIdPB, DocumentPayloadPB, ResetDocumentParams};
2020
use lib_infra::future::FutureResult;
2121

2222
pub trait DocumentCloudService: Send + Sync {

frontend/rust-lib/flowy-document/src/manager.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ use bytes::Bytes;
88

99
use flowy_database::ConnectionPool;
1010
use flowy_error::FlowyResult;
11+
use flowy_http_model::util::md5;
12+
use flowy_http_model::{document::DocumentIdPB, revision::Revision, ws_data::ServerRevisionWSData};
1113
use flowy_revision::{
1214
RevisionCloudService, RevisionManager, RevisionPersistence, RevisionPersistenceConfiguration, RevisionWebSocket,
1315
SQLiteRevisionSnapshotPersistence,
1416
};
1517
use flowy_sync::client_document::initial_delta_document_content;
16-
use flowy_sync::entities::{document::DocumentIdPB, revision::Revision, ws_data::ServerRevisionWSData};
17-
use flowy_sync::util::md5;
1818
use lib_infra::future::FutureResult;
1919
use lib_infra::ref_map::{RefCountHashMap, RefCountValue};
2020
use lib_ws::WSConnectState;
@@ -307,7 +307,7 @@ impl RevisionCloudService for DocumentRevisionCloudService {
307307
match server.fetch_document(&token, params).await? {
308308
None => Err(FlowyError::record_not_found().context("Remote doesn't have this document")),
309309
Some(payload) => {
310-
let bytes = Bytes::from(payload.content.clone());
310+
let bytes = Bytes::from(payload.data.clone());
311311
let doc_md5 = md5(&bytes);
312312
let revision = Revision::new(&payload.doc_id, payload.base_rev_id, payload.rev_id, bytes, doc_md5);
313313
Ok(vec![revision])

frontend/rust-lib/flowy-document/src/old_editor/editor.rs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,14 @@ use crate::{errors::FlowyError, DocumentEditor, DocumentUser};
55
use bytes::Bytes;
66
use flowy_database::ConnectionPool;
77
use flowy_error::{internal_error, FlowyResult};
8+
use flowy_http_model::document::DocumentPayloadPB;
9+
use flowy_http_model::revision::Revision;
10+
use flowy_http_model::ws_data::ServerRevisionWSData;
811
use flowy_revision::{
912
RevisionCloudService, RevisionManager, RevisionMergeable, RevisionObjectDeserializer, RevisionObjectSerializer,
1013
RevisionWebSocket,
1114
};
12-
use flowy_sync::entities::ws_data::ServerRevisionWSData;
13-
use flowy_sync::{
14-
entities::{document::DocumentPayloadPB, revision::Revision},
15-
errors::CollaborateResult,
16-
util::make_operations_from_revisions,
17-
};
15+
use flowy_sync::{errors::CollaborateResult, util::make_operations_from_revisions};
1816
use lib_infra::future::FutureResult;
1917
use lib_ot::core::{AttributeEntry, AttributeHashMap};
2018
use lib_ot::{
@@ -47,7 +45,7 @@ impl DeltaDocumentEditor {
4745
let document = rev_manager
4846
.initialize::<DeltaDocumentRevisionSerde>(Some(cloud_service))
4947
.await?;
50-
let operations = DeltaTextOperations::from_bytes(&document.content)?;
48+
let operations = DeltaTextOperations::from_bytes(&document.data)?;
5149
let rev_manager = Arc::new(rev_manager);
5250
let doc_id = doc_id.to_string();
5351
let user_id = user.user_id()?;
@@ -255,7 +253,7 @@ impl RevisionObjectDeserializer for DeltaDocumentRevisionSerde {
255253

256254
Result::<DocumentPayloadPB, FlowyError>::Ok(DocumentPayloadPB {
257255
doc_id: object_id.to_owned(),
258-
content: delta.json_str(),
256+
data: delta.json_bytes().to_vec(),
259257
rev_id,
260258
base_rev_id,
261259
})

0 commit comments

Comments
 (0)