chore: cell data operation (#1656)

* chore: get all cells for specific field

* chore: auto format clippy wanrings

* chore: get cells for specific field type
This commit is contained in:
Nathan.fooo
2023-01-05 21:27:21 +08:00
committed by GitHub
parent 7949d3fe4a
commit d4946f1194
94 changed files with 673 additions and 609 deletions

View File

@ -45,7 +45,7 @@ impl std::convert::From<TrashPB> for TrashRevision {
}
}
}
#[derive(PartialEq, Debug, Default, ProtoBuf, Clone)]
#[derive(PartialEq, Eq, Debug, Default, ProtoBuf, Clone)]
pub struct RepeatedTrashPB {
#[pb(index = 1)]
pub items: Vec<TrashPB>,
@ -158,7 +158,7 @@ impl std::convert::From<Vec<TrashRevision>> for RepeatedTrashIdPB {
}
}
#[derive(PartialEq, ProtoBuf, Default, Debug, Clone)]
#[derive(PartialEq, Eq, ProtoBuf, Default, Debug, Clone)]
pub struct TrashIdPB {
#[pb(index = 1)]
pub id: String,

View File

@ -41,7 +41,7 @@ impl std::convert::From<WorkspaceRevision> for WorkspacePB {
}
}
}
#[derive(PartialEq, Debug, Default, ProtoBuf)]
#[derive(PartialEq, Eq, Debug, Default, ProtoBuf)]
pub struct RepeatedWorkspacePB {
#[pb(index = 1)]
pub items: Vec<WorkspacePB>,

View File

@ -166,7 +166,7 @@ impl FolderManager {
}
tracing::debug!("Initialize folder editor");
let folder_id = FolderId::new(user_id);
let _ = self.persistence.initialize(user_id, &folder_id).await?;
self.persistence.initialize(user_id, &folder_id).await?;
let pool = self.persistence.db_pool()?;
let object_id = folder_id.as_ref();
@ -185,8 +185,8 @@ impl FolderManager {
let folder_editor = FolderEditor::new(user_id, &folder_id, token, rev_manager, self.web_socket.clone()).await?;
*self.folder_editor.write().await = Some(Arc::new(folder_editor));
let _ = self.app_controller.initialize()?;
let _ = self.view_controller.initialize()?;
self.app_controller.initialize()?;
self.view_controller.initialize()?;
write_guard.insert(user_id.to_owned(), true);
Ok(())
}
@ -235,7 +235,7 @@ impl DefaultFolderBuilder {
if index == 0 {
let _ = view_controller.set_latest_view(&view.id);
let layout_type = ViewLayoutTypePB::from(view.layout.clone());
let _ = view_controller
view_controller
.create_view(&view.id, view_data_type, layout_type, view_data)
.await?;
}
@ -243,7 +243,7 @@ impl DefaultFolderBuilder {
}
let folder = FolderPad::new(vec![workspace_rev.clone()], vec![])?;
let folder_id = FolderId::new(user_id);
let _ = persistence.save_folder(user_id, &folder_id, folder).await?;
persistence.save_folder(user_id, &folder_id, folder).await?;
let repeated_workspace = RepeatedWorkspacePB {
items: vec![workspace_rev.into()],
};

View File

@ -50,8 +50,7 @@ impl AppController {
}
pub(crate) async fn create_app_on_local(&self, app: AppRevision) -> Result<AppPB, FlowyError> {
let _ = self
.persistence
self.persistence
.begin_transaction(|transaction| {
let _ = transaction.create_app(app.clone())?;
let _ = notify_apps_changed(&app.workspace_id, self.trash_controller.clone(), &transaction)?;
@ -75,7 +74,7 @@ impl AppController {
Ok(app)
})
.await?;
let _ = self.read_app_on_server(params)?;
self.read_app_on_server(params)?;
Ok(app)
}
@ -86,7 +85,7 @@ impl AppController {
let app: AppPB = self
.persistence
.begin_transaction(|transaction| {
let _ = transaction.update_app(changeset)?;
transaction.update_app(changeset)?;
let app = transaction.read_app(&app_id)?;
Ok(app)
})
@ -95,13 +94,12 @@ impl AppController {
send_dart_notification(&app_id, FolderNotification::AppUpdated)
.payload(app)
.send();
let _ = self.update_app_on_server(params)?;
self.update_app_on_server(params)?;
Ok(())
}
pub(crate) async fn move_app(&self, app_id: &str, from: usize, to: usize) -> FlowyResult<()> {
let _ = self
.persistence
self.persistence
.begin_transaction(|transaction| {
let _ = transaction.move_app(app_id, from, to)?;
let app = transaction.read_app(app_id)?;
@ -211,7 +209,7 @@ async fn handle_trash_event(
.begin_transaction(|transaction| {
for identifier in identifiers.items {
let app = transaction.read_app(&identifier.id)?;
let _ = notify_apps_changed(&app.workspace_id, trash_controller.clone(), &transaction)?;
notify_apps_changed(&app.workspace_id, trash_controller.clone(), &transaction)?;
}
Ok(())
})
@ -229,7 +227,7 @@ async fn handle_trash_event(
}
for notify_id in notify_ids {
let _ = notify_apps_changed(&notify_id, trash_controller.clone(), &transaction)?;
notify_apps_changed(&notify_id, trash_controller.clone(), &transaction)?;
}
Ok(())
})

View File

@ -30,7 +30,7 @@ pub(crate) async fn delete_app_handler(
.map(|app_rev| app_rev.into())
.collect::<Vec<TrashRevision>>();
let _ = trash_controller.add(trash).await?;
trash_controller.add(trash).await?;
Ok(())
}
@ -40,7 +40,7 @@ pub(crate) async fn update_app_handler(
controller: AFPluginState<Arc<AppController>>,
) -> Result<(), FlowyError> {
let params: UpdateAppParams = data.into_inner().try_into()?;
let _ = controller.update_app(params).await?;
controller.update_app(params).await?;
Ok(())
}

View File

@ -90,7 +90,7 @@ impl FolderMigration {
if KV::get_bool(&key) {
return Ok(());
}
let _ = self.migration_folder_rev_struct(folder_id).await?;
self.migration_folder_rev_struct(folder_id).await?;
KV::set_bool(&key, true);
// tracing::info!("Run folder v2 migration");
Ok(())
@ -101,7 +101,7 @@ impl FolderMigration {
if KV::get_bool(&key) {
return Ok(());
}
let _ = self.migration_folder_rev_struct(folder_id).await?;
self.migration_folder_rev_struct(folder_id).await?;
KV::set_bool(&key, true);
tracing::trace!("Run folder v3 migration");
Ok(())

View File

@ -103,8 +103,8 @@ impl FolderPersistence {
self.save_folder(user_id, folder_id, migrated_folder).await?;
}
let _ = migrations.run_v2_migration(folder_id).await?;
let _ = migrations.run_v3_migration(folder_id).await?;
migrations.run_v2_migration(folder_id).await?;
migrations.run_v3_migration(folder_id).await?;
Ok(())
}

View File

@ -22,7 +22,7 @@ impl RevisionDiskCache<Arc<ConnectionPool>> for SQLiteFolderRevisionPersistence
fn create_revision_records(&self, revision_records: Vec<SyncRecord>) -> Result<(), Self::Error> {
let conn = self.pool.get().map_err(internal_error)?;
let _ = FolderRevisionSql::create(revision_records, &*conn)?;
FolderRevisionSql::create(revision_records, &*conn)?;
Ok(())
}
@ -36,7 +36,7 @@ impl RevisionDiskCache<Arc<ConnectionPool>> for SQLiteFolderRevisionPersistence
rev_ids: Option<Vec<i64>>,
) -> Result<Vec<SyncRecord>, Self::Error> {
let conn = self.pool.get().map_err(internal_error)?;
let records = FolderRevisionSql::read(&self.user_id, object_id, rev_ids, &*conn)?;
let records = FolderRevisionSql::read(&self.user_id, object_id, rev_ids, &conn)?;
Ok(records)
}
@ -52,7 +52,7 @@ impl RevisionDiskCache<Arc<ConnectionPool>> for SQLiteFolderRevisionPersistence
fn update_revision_record(&self, changesets: Vec<RevisionChangeset>) -> FlowyResult<()> {
let conn = &*self.pool.get().map_err(internal_error)?;
let _ = conn.immediate_transaction::<_, FlowyError, _>(|| {
conn.immediate_transaction::<_, FlowyError, _>(|| {
for changeset in changesets {
let _ = FolderRevisionSql::update(changeset, conn)?;
}
@ -63,7 +63,7 @@ impl RevisionDiskCache<Arc<ConnectionPool>> for SQLiteFolderRevisionPersistence
fn delete_revision_records(&self, object_id: &str, rev_ids: Option<Vec<i64>>) -> Result<(), Self::Error> {
let conn = &*self.pool.get().map_err(internal_error)?;
let _ = FolderRevisionSql::delete(object_id, rev_ids, conn)?;
FolderRevisionSql::delete(object_id, rev_ids, conn)?;
Ok(())
}
@ -75,8 +75,8 @@ impl RevisionDiskCache<Arc<ConnectionPool>> for SQLiteFolderRevisionPersistence
) -> Result<(), Self::Error> {
let conn = self.pool.get().map_err(internal_error)?;
conn.immediate_transaction::<_, FlowyError, _>(|| {
let _ = FolderRevisionSql::delete(object_id, deleted_rev_ids, &*conn)?;
let _ = FolderRevisionSql::create(inserted_records, &*conn)?;
FolderRevisionSql::delete(object_id, deleted_rev_ids, &*conn)?;
FolderRevisionSql::create(inserted_records, &*conn)?;
Ok(())
})
}

View File

@ -15,47 +15,47 @@ pub struct V1Transaction<'a>(pub &'a DBConnection);
impl<'a> FolderPersistenceTransaction for V1Transaction<'a> {
fn create_workspace(&self, user_id: &str, workspace_rev: WorkspaceRevision) -> FlowyResult<()> {
let _ = WorkspaceTableSql::create_workspace(user_id, workspace_rev, &*self.0)?;
WorkspaceTableSql::create_workspace(user_id, workspace_rev, &*self.0)?;
Ok(())
}
fn read_workspaces(&self, user_id: &str, workspace_id: Option<String>) -> FlowyResult<Vec<WorkspaceRevision>> {
let tables = WorkspaceTableSql::read_workspaces(user_id, workspace_id, &*self.0)?;
let tables = WorkspaceTableSql::read_workspaces(user_id, workspace_id, self.0)?;
let workspaces = tables.into_iter().map(WorkspaceRevision::from).collect::<Vec<_>>();
Ok(workspaces)
}
fn update_workspace(&self, changeset: WorkspaceChangeset) -> FlowyResult<()> {
WorkspaceTableSql::update_workspace(changeset, &*self.0)
WorkspaceTableSql::update_workspace(changeset, self.0)
}
fn delete_workspace(&self, workspace_id: &str) -> FlowyResult<()> {
WorkspaceTableSql::delete_workspace(workspace_id, &*self.0)
WorkspaceTableSql::delete_workspace(workspace_id, self.0)
}
fn create_app(&self, app_rev: AppRevision) -> FlowyResult<()> {
let _ = AppTableSql::create_app(app_rev, &*self.0)?;
AppTableSql::create_app(app_rev, &*self.0)?;
Ok(())
}
fn update_app(&self, changeset: AppChangeset) -> FlowyResult<()> {
let _ = AppTableSql::update_app(changeset, &*self.0)?;
AppTableSql::update_app(changeset, &*self.0)?;
Ok(())
}
fn read_app(&self, app_id: &str) -> FlowyResult<AppRevision> {
let app_revision: AppRevision = AppTableSql::read_app(app_id, &*self.0)?.into();
let app_revision: AppRevision = AppTableSql::read_app(app_id, self.0)?.into();
Ok(app_revision)
}
fn read_workspace_apps(&self, workspace_id: &str) -> FlowyResult<Vec<AppRevision>> {
let tables = AppTableSql::read_workspace_apps(workspace_id, &*self.0)?;
let tables = AppTableSql::read_workspace_apps(workspace_id, self.0)?;
let apps = tables.into_iter().map(AppRevision::from).collect::<Vec<_>>();
Ok(apps)
}
fn delete_app(&self, app_id: &str) -> FlowyResult<AppRevision> {
let app_revision: AppRevision = AppTableSql::delete_app(app_id, &*self.0)?.into();
let app_revision: AppRevision = AppTableSql::delete_app(app_id, self.0)?.into();
Ok(app_revision)
}
@ -64,29 +64,29 @@ impl<'a> FolderPersistenceTransaction for V1Transaction<'a> {
}
fn create_view(&self, view_rev: ViewRevision) -> FlowyResult<()> {
let _ = ViewTableSql::create_view(view_rev, &*self.0)?;
ViewTableSql::create_view(view_rev, &*self.0)?;
Ok(())
}
fn read_view(&self, view_id: &str) -> FlowyResult<ViewRevision> {
let view_revision: ViewRevision = ViewTableSql::read_view(view_id, &*self.0)?.into();
let view_revision: ViewRevision = ViewTableSql::read_view(view_id, self.0)?.into();
Ok(view_revision)
}
fn read_views(&self, belong_to_id: &str) -> FlowyResult<Vec<ViewRevision>> {
let tables = ViewTableSql::read_views(belong_to_id, &*self.0)?;
let tables = ViewTableSql::read_views(belong_to_id, self.0)?;
let views = tables.into_iter().map(ViewRevision::from).collect::<Vec<_>>();
Ok(views)
}
fn update_view(&self, changeset: ViewChangeset) -> FlowyResult<()> {
let _ = ViewTableSql::update_view(changeset, &*self.0)?;
ViewTableSql::update_view(changeset, &*self.0)?;
Ok(())
}
fn delete_view(&self, view_id: &str) -> FlowyResult<ViewRevision> {
let view_revision: ViewRevision = ViewTableSql::read_view(view_id, &*self.0)?.into();
let _ = ViewTableSql::delete_view(view_id, &*self.0)?;
let view_revision: ViewRevision = ViewTableSql::read_view(view_id, self.0)?.into();
ViewTableSql::delete_view(view_id, &*self.0)?;
Ok(view_revision)
}
@ -95,15 +95,15 @@ impl<'a> FolderPersistenceTransaction for V1Transaction<'a> {
}
fn create_trash(&self, trashes: Vec<TrashRevision>) -> FlowyResult<()> {
let _ = TrashTableSql::create_trash(trashes, &*self.0)?;
TrashTableSql::create_trash(trashes, &*self.0)?;
Ok(())
}
fn read_trash(&self, trash_id: Option<String>) -> FlowyResult<Vec<TrashRevision>> {
match trash_id {
None => TrashTableSql::read_all(&*self.0),
None => TrashTableSql::read_all(self.0),
Some(trash_id) => {
let trash_revision: TrashRevision = TrashTableSql::read(&trash_id, &*self.0)?.into();
let trash_revision: TrashRevision = TrashTableSql::read(&trash_id, self.0)?.into();
Ok(vec![trash_revision])
}
}
@ -111,10 +111,10 @@ impl<'a> FolderPersistenceTransaction for V1Transaction<'a> {
fn delete_trash(&self, trash_ids: Option<Vec<String>>) -> FlowyResult<()> {
match trash_ids {
None => TrashTableSql::delete_all(&*self.0),
None => TrashTableSql::delete_all(self.0),
Some(trash_ids) => {
for trash_id in &trash_ids {
let _ = TrashTableSql::delete_trash(trash_id, &*self.0)?;
TrashTableSql::delete_trash(trash_id, &*self.0)?;
}
Ok(())
}

View File

@ -56,7 +56,7 @@ impl WorkspaceTableSql {
}
}
#[derive(PartialEq, Clone, Debug, Queryable, Identifiable, Insertable)]
#[derive(PartialEq, Eq, Clone, Debug, Queryable, Identifiable, Insertable)]
#[table_name = "workspace_table"]
pub struct WorkspaceTable {
pub id: String,

View File

@ -9,7 +9,7 @@ use std::sync::Arc;
impl FolderPersistenceTransaction for FolderEditor {
fn create_workspace(&self, _user_id: &str, workspace_rev: WorkspaceRevision) -> FlowyResult<()> {
if let Some(change) = self.folder.write().create_workspace(workspace_rev)? {
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(())
}
@ -25,21 +25,21 @@ impl FolderPersistenceTransaction for FolderEditor {
.write()
.update_workspace(&changeset.id, changeset.name, changeset.desc)?
{
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(())
}
fn delete_workspace(&self, workspace_id: &str) -> FlowyResult<()> {
if let Some(change) = self.folder.write().delete_workspace(workspace_id)? {
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(())
}
fn create_app(&self, app_rev: AppRevision) -> FlowyResult<()> {
if let Some(change) = self.folder.write().create_app(app_rev)? {
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(())
}
@ -50,7 +50,7 @@ impl FolderPersistenceTransaction for FolderEditor {
.write()
.update_app(&changeset.id, changeset.name, changeset.desc)?
{
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(())
}
@ -73,21 +73,21 @@ impl FolderPersistenceTransaction for FolderEditor {
fn delete_app(&self, app_id: &str) -> FlowyResult<AppRevision> {
let app = self.folder.read().read_app(app_id)?;
if let Some(change) = self.folder.write().delete_app(app_id)? {
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(app)
}
fn move_app(&self, app_id: &str, from: usize, to: usize) -> FlowyResult<()> {
if let Some(change) = self.folder.write().move_app(app_id, from, to)? {
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(())
}
fn create_view(&self, view_rev: ViewRevision) -> FlowyResult<()> {
if let Some(change) = self.folder.write().create_view(view_rev)? {
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(())
}
@ -108,7 +108,7 @@ impl FolderPersistenceTransaction for FolderEditor {
.write()
.update_view(&changeset.id, changeset.name, changeset.desc, changeset.modified_time)?
{
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(())
}
@ -116,21 +116,21 @@ impl FolderPersistenceTransaction for FolderEditor {
fn delete_view(&self, view_id: &str) -> FlowyResult<ViewRevision> {
let view = self.folder.read().read_view(view_id)?;
if let Some(change) = self.folder.write().delete_view(&view.app_id, view_id)? {
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(view)
}
fn move_view(&self, view_id: &str, from: usize, to: usize) -> FlowyResult<()> {
if let Some(change) = self.folder.write().move_view(view_id, from, to)? {
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(())
}
fn create_trash(&self, trashes: Vec<TrashRevision>) -> FlowyResult<()> {
if let Some(change) = self.folder.write().create_trash(trashes)? {
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(())
}
@ -142,7 +142,7 @@ impl FolderPersistenceTransaction for FolderEditor {
fn delete_trash(&self, trash_ids: Option<Vec<String>>) -> FlowyResult<()> {
if let Some(change) = self.folder.write().delete_trash(trash_ids)? {
let _ = self.apply_change(change)?;
self.apply_change(change)?;
}
Ok(())
}

View File

@ -39,7 +39,7 @@ impl TrashController {
.persistence
.begin_transaction(|transaction| {
let mut repeated_trash = transaction.read_trash(Some(trash_id.to_owned()))?;
let _ = transaction.delete_trash(Some(vec![trash_id.to_owned()]))?;
transaction.delete_trash(Some(vec![trash_id.to_owned()]))?;
notify_trash_changed(transaction.read_trash(None)?);
if repeated_trash.is_empty() {
@ -54,14 +54,14 @@ impl TrashController {
ty: trash.ty.into(),
};
let _ = self.delete_trash_on_server(RepeatedTrashIdPB {
self.delete_trash_on_server(RepeatedTrashIdPB {
items: vec![identifier.clone()],
delete_all: false,
})?;
tracing::Span::current().record("putback", &format!("{:?}", &identifier).as_str());
let _ = self.notify.send(TrashEvent::Putback(vec![identifier].into(), tx));
let _ = rx.recv().await.unwrap()?;
rx.recv().await.unwrap()?;
Ok(())
}
@ -82,7 +82,7 @@ impl TrashController {
let _ = rx.recv().await;
notify_trash_changed(RepeatedTrashPB { items: vec![] });
let _ = self.delete_all_trash_on_server().await?;
self.delete_all_trash_on_server().await?;
Ok(())
}
@ -94,23 +94,23 @@ impl TrashController {
.await?
.into();
let _ = self.delete_with_identifiers(all_trash_identifiers).await?;
self.delete_with_identifiers(all_trash_identifiers).await?;
notify_trash_changed(RepeatedTrashPB { items: vec![] });
let _ = self.delete_all_trash_on_server().await?;
self.delete_all_trash_on_server().await?;
Ok(())
}
#[tracing::instrument(level = "debug", skip(self), err)]
pub async fn delete(&self, trash_identifiers: RepeatedTrashIdPB) -> FlowyResult<()> {
let _ = self.delete_with_identifiers(trash_identifiers.clone()).await?;
self.delete_with_identifiers(trash_identifiers.clone()).await?;
let trash_revs = self
.persistence
.begin_transaction(|transaction| transaction.read_trash(None))
.await?;
notify_trash_changed(trash_revs);
let _ = self.delete_trash_on_server(trash_identifiers)?;
self.delete_trash_on_server(trash_identifiers)?;
Ok(())
}
@ -128,8 +128,7 @@ impl TrashController {
Err(e) => log::error!("{}", e),
},
}
let _ = self
.persistence
self.persistence
.begin_transaction(|transaction| {
let ids = trash_identifiers
.items
@ -167,8 +166,7 @@ impl TrashController {
.as_str(),
);
let _ = self
.persistence
self.persistence
.begin_transaction(|transaction| {
let _ = transaction.create_trash(trash_revs.clone())?;
let _ = self.create_trash_on_server(trash_revs);
@ -178,7 +176,7 @@ impl TrashController {
})
.await?;
let _ = self.notify.send(TrashEvent::NewTrash(identifiers.into(), tx));
let _ = rx.recv().await.unwrap()?;
rx.recv().await.unwrap()?;
Ok(())
}
@ -196,7 +194,7 @@ impl TrashController {
.map(|trash_rev| trash_rev.into())
.collect();
let _ = self.read_trash_on_server()?;
self.read_trash_on_server()?;
Ok(RepeatedTrashPB { items })
}
@ -255,7 +253,7 @@ impl TrashController {
tracing::debug!("Remote trash count: {}", trash_rev.len());
let result = persistence
.begin_transaction(|transaction| {
let _ = transaction.create_trash(trash_rev.clone())?;
transaction.create_trash(trash_rev.clone())?;
transaction.read_trash(None)
})
.await;

View File

@ -19,7 +19,7 @@ pub(crate) async fn putback_trash_handler(
identifier: AFPluginData<TrashIdPB>,
controller: AFPluginState<Arc<TrashController>>,
) -> Result<(), FlowyError> {
let _ = controller.putback(&identifier.id).await?;
controller.putback(&identifier.id).await?;
Ok(())
}
@ -28,7 +28,7 @@ pub(crate) async fn delete_trash_handler(
identifiers: AFPluginData<RepeatedTrashIdPB>,
controller: AFPluginState<Arc<TrashController>>,
) -> Result<(), FlowyError> {
let _ = controller.delete(identifiers.into_inner()).await?;
controller.delete(identifiers.into_inner()).await?;
Ok(())
}
@ -36,7 +36,7 @@ pub(crate) async fn delete_trash_handler(
pub(crate) async fn restore_all_trash_handler(
controller: AFPluginState<Arc<TrashController>>,
) -> Result<(), FlowyError> {
let _ = controller.restore_all_trash().await?;
controller.restore_all_trash().await?;
Ok(())
}
@ -44,6 +44,6 @@ pub(crate) async fn restore_all_trash_handler(
pub(crate) async fn delete_all_trash_handler(
controller: AFPluginState<Arc<TrashController>>,
) -> Result<(), FlowyError> {
let _ = controller.delete_all_trash().await?;
controller.delete_all_trash().await?;
Ok(())
}

View File

@ -81,18 +81,17 @@ impl ViewController {
params.layout.clone(),
)
.await?;
let _ = self
.create_view(
&params.view_id,
params.data_format.clone(),
params.layout.clone(),
delta_data,
)
.await?;
self.create_view(
&params.view_id,
params.data_format.clone(),
params.layout.clone(),
delta_data,
)
.await?;
};
let view_rev = self.create_view_on_server(params).await?;
let _ = self.create_view_on_local(view_rev.clone()).await?;
self.create_view_on_local(view_rev.clone()).await?;
Ok(view_rev)
}
@ -109,7 +108,7 @@ impl ViewController {
}
let user_id = self.user.user_id()?;
let processor = self.get_data_processor(data_type)?;
let _ = processor.create_view(&user_id, view_id, layout_type, view_data).await?;
processor.create_view(&user_id, view_id, layout_type, view_data).await?;
Ok(())
}
@ -118,8 +117,8 @@ impl ViewController {
self.persistence
.begin_transaction(|transaction| {
let belong_to_id = view_rev.app_id.clone();
let _ = transaction.create_view(view_rev)?;
let _ = notify_views_changed(&belong_to_id, trash_controller, &transaction)?;
transaction.create_view(view_rev)?;
notify_views_changed(&belong_to_id, trash_controller, &transaction)?;
Ok(())
})
.await
@ -196,7 +195,7 @@ impl ViewController {
#[tracing::instrument(level = "debug", skip(self), err)]
pub(crate) async fn close_view(&self, view_id: &str) -> Result<(), FlowyError> {
let processor = self.get_data_processor_from_view_id(view_id).await?;
let _ = processor.close_view(view_id).await?;
processor.close_view(view_id).await?;
Ok(())
}
@ -231,14 +230,13 @@ impl ViewController {
.send();
let processor = self.get_data_processor_from_view_id(&view_id).await?;
let _ = processor.close_view(&view_id).await?;
processor.close_view(&view_id).await?;
Ok(())
}
#[tracing::instrument(level = "debug", skip(self), err)]
pub(crate) async fn move_view(&self, view_id: &str, from: usize, to: usize) -> Result<(), FlowyError> {
let _ = self
.persistence
self.persistence
.begin_transaction(|transaction| {
let _ = transaction.move_view(view_id, from, to)?;
let view = transaction.read_view(view_id)?;
@ -290,13 +288,13 @@ impl ViewController {
let view_rev = self
.persistence
.begin_transaction(|transaction| {
let _ = transaction.update_view(changeset)?;
transaction.update_view(changeset)?;
let view_rev = transaction.read_view(&view_id)?;
let view: ViewPB = view_rev.clone().into();
send_dart_notification(&view_id, FolderNotification::ViewUpdated)
.payload(view)
.send();
let _ = notify_views_changed(&view_rev.app_id, self.trash_controller.clone(), &transaction)?;
notify_views_changed(&view_rev.app_id, self.trash_controller.clone(), &transaction)?;
Ok(view_rev)
})
.await?;
@ -439,7 +437,7 @@ async fn handle_trash_event(
.begin_transaction(|transaction| {
let view_revs = read_local_views_with_transaction(identifiers, &transaction)?;
for view_rev in view_revs {
let _ = notify_views_changed(&view_rev.app_id, trash_can.clone(), &transaction)?;
notify_views_changed(&view_rev.app_id, trash_can.clone(), &transaction)?;
notify_dart(view_rev.into(), FolderNotification::ViewDeleted);
}
Ok(())
@ -452,7 +450,7 @@ async fn handle_trash_event(
.begin_transaction(|transaction| {
let view_revs = read_local_views_with_transaction(identifiers, &transaction)?;
for view_rev in view_revs {
let _ = notify_views_changed(&view_rev.app_id, trash_can.clone(), &transaction)?;
notify_views_changed(&view_rev.app_id, trash_can.clone(), &transaction)?;
notify_dart(view_rev.into(), FolderNotification::ViewRestored);
}
Ok(())
@ -473,7 +471,7 @@ async fn handle_trash_event(
}
}
for notify_id in notify_ids {
let _ = notify_views_changed(&notify_id, trash_can.clone(), &transaction)?;
notify_views_changed(&notify_id, trash_can.clone(), &transaction)?;
}
Ok(views)
})
@ -483,7 +481,7 @@ async fn handle_trash_event(
let data_type = view.data_format.clone().into();
match get_data_processor(data_processors.clone(), &data_type) {
Ok(processor) => {
let _ = processor.close_view(&view.id).await?;
processor.close_view(&view.id).await?;
}
Err(e) => tracing::error!("{}", e),
}

View File

@ -75,7 +75,7 @@ pub(crate) async fn delete_view_handler(
})
.collect::<Vec<TrashPB>>();
let _ = trash_controller.add(trash).await?;
trash_controller.add(trash).await?;
Ok(())
}
@ -85,8 +85,8 @@ pub(crate) async fn set_latest_view_handler(
controller: AFPluginState<Arc<ViewController>>,
) -> Result<(), FlowyError> {
let view_id: ViewIdPB = data.into_inner();
let _ = controller.set_latest_view(&view_id.value)?;
let _ = notify_workspace_setting_did_change(&folder, &view_id).await?;
controller.set_latest_view(&view_id.value)?;
notify_workspace_setting_did_change(&folder, &view_id).await?;
Ok(())
}
@ -95,7 +95,7 @@ pub(crate) async fn close_view_handler(
controller: AFPluginState<Arc<ViewController>>,
) -> Result<(), FlowyError> {
let view_id: ViewIdPB = data.into_inner();
let _ = controller.close_view(&view_id.value).await?;
controller.close_view(&view_id.value).await?;
Ok(())
}
@ -108,10 +108,10 @@ pub(crate) async fn move_item_handler(
let params: MoveFolderItemParams = data.into_inner().try_into()?;
match params.ty {
MoveFolderItemType::MoveApp => {
let _ = app_controller.move_app(&params.item_id, params.from, params.to).await?;
app_controller.move_app(&params.item_id, params.from, params.to).await?;
}
MoveFolderItemType::MoveView => {
let _ = view_controller
view_controller
.move_view(&params.item_id, params.from, params.to)
.await?;
}
@ -125,6 +125,6 @@ pub(crate) async fn duplicate_view_handler(
controller: AFPluginState<Arc<ViewController>>,
) -> Result<(), FlowyError> {
let view: ViewPB = data.into_inner();
let _ = controller.duplicate_view(view).await?;
controller.duplicate_view(view).await?;
Ok(())
}

View File

@ -45,7 +45,7 @@ impl WorkspaceController {
let workspaces = self
.persistence
.begin_transaction(|transaction| {
let _ = transaction.create_workspace(&user_id, workspace.clone())?;
transaction.create_workspace(&user_id, workspace.clone())?;
transaction.read_workspaces(&user_id, None)
})
.await?
@ -67,7 +67,7 @@ impl WorkspaceController {
let workspace = self
.persistence
.begin_transaction(|transaction| {
let _ = transaction.update_workspace(changeset)?;
transaction.update_workspace(changeset)?;
let user_id = self.user.user_id()?;
self.read_local_workspace(workspace_id.clone(), &user_id, &transaction)
})
@ -76,7 +76,7 @@ impl WorkspaceController {
send_dart_notification(&workspace_id, FolderNotification::WorkspaceUpdated)
.payload(workspace)
.send();
let _ = self.update_workspace_on_server(params)?;
self.update_workspace_on_server(params)?;
Ok(())
}
@ -88,14 +88,14 @@ impl WorkspaceController {
let repeated_workspace = self
.persistence
.begin_transaction(|transaction| {
let _ = transaction.delete_workspace(workspace_id)?;
transaction.delete_workspace(workspace_id)?;
self.read_local_workspaces(None, &user_id, &transaction)
})
.await?;
send_dart_notification(&token, FolderNotification::UserDeleteWorkspace)
.payload(repeated_workspace)
.send();
let _ = self.delete_workspace_on_server(workspace_id)?;
self.delete_workspace_on_server(workspace_id)?;
Ok(())
}

View File

@ -117,7 +117,7 @@ fn read_workspaces_on_server(
tokio::spawn(async move {
let workspace_revs = server.read_workspace(&token, params).await?;
let _ = persistence
persistence
.begin_transaction(|transaction| {
for workspace_rev in &workspace_revs {
let m_workspace = workspace_rev.clone();