[client]: close opened doc after close or delete the view

This commit is contained in:
appflowy
2021-10-19 13:04:09 +08:00
parent fc498fbc8e
commit 22cc76163b
44 changed files with 362 additions and 893 deletions

View File

@ -13,7 +13,6 @@ use flowy_workspace::{
},
protobuf::{App, CreateAppParams, RepeatedView},
};
use protobuf::Message;
use sqlx::{postgres::PgArguments, Postgres};
use uuid::Uuid;

View File

@ -15,7 +15,7 @@ use flowy_net::{
};
use flowy_workspace::{
entities::view::parser::{ViewDesc, ViewName, ViewThumbnail},
protobuf::{CreateViewParams, DeleteViewParams, UpdateViewParams, ViewIdentifier},
protobuf::{CreateViewParams, QueryViewRequest, UpdateViewParams, ViewIdentifier},
};
use sqlx::PgPool;
use std::sync::Arc;
@ -96,7 +96,7 @@ pub async fn update_handler(payload: Payload, pool: Data<PgPool>) -> Result<Http
}
pub async fn delete_handler(payload: Payload, pool: Data<PgPool>) -> Result<HttpResponse, ServerError> {
let params: DeleteViewParams = parse_from_payload(payload).await?;
let params: QueryViewRequest = parse_from_payload(payload).await?;
let view_ids = check_view_ids(params.view_ids.to_vec())?;
let mut transaction = pool
.begin()

View File

@ -1,6 +1,6 @@
use crate::helper::ViewTest;
use flowy_document::entities::doc::DocIdentifier;
use flowy_workspace::entities::view::DeleteViewParams;
use flowy_workspace::entities::view::ViewIdentifiers;
#[actix_rt::test]
async fn doc_read() {
@ -17,7 +17,7 @@ async fn doc_read() {
#[actix_rt::test]
async fn doc_delete() {
let test = ViewTest::new().await;
let delete_params = DeleteViewParams {
let delete_params = ViewIdentifiers {
view_ids: vec![test.view.id.clone()],
};
test.server.delete_view(delete_params).await;

View File

@ -147,7 +147,7 @@ async fn view_update() {
test.server.update_view(update_params).await;
// read
let read_params = ViewIdentifier::new(&test.view.id);
let read_params: ViewIdentifier = test.view.id.clone().into();
let view = test.server.read_view(read_params).await.unwrap();
assert_eq!(&view.name, new_name);
}
@ -166,7 +166,7 @@ async fn view_delete() {
.map(|item| item.id)
.collect::<Vec<String>>();
// read
let read_params = ViewIdentifier::new(&test.view.id);
let read_params: ViewIdentifier = test.view.id.clone().into();
// the view can't read from the server. it should be in the trash
assert_eq!(test.server.read_view(read_params).await.is_none(), true);

View File

@ -117,7 +117,7 @@ impl TestUserServer {
update_view_request(self.user_token(), params, &url).await.unwrap();
}
pub async fn delete_view(&self, params: DeleteViewParams) {
pub async fn delete_view(&self, params: ViewIdentifiers) {
let url = format!("{}/api/view", self.http_addr());
delete_view_request(self.user_token(), params, &url).await.unwrap();
}