use crate::{entities::doc::*, errors::DocError, services::doc_controller::DocController}; use flowy_dispatch::prelude::*; use std::convert::TryInto; #[tracing::instrument(skip(data, controller))] pub async fn create_doc_handler(data: Data, controller: Unit) -> DataResult { let params: CreateDocParams = data.into_inner().try_into()?; let doc_desc = controller.create_doc(params).await?; data_result(doc_desc) } #[tracing::instrument(skip(data, controller))] pub async fn read_doc_handler(data: Data, controller: Unit) -> DataResult { let params: QueryDocParams = data.into_inner().try_into()?; let doc_info = controller.read_doc(params).await?; data_result(doc_info) } #[tracing::instrument(skip(data, controller))] pub async fn update_doc_handler(data: Data, controller: Unit) -> Result<(), DocError> { let params: UpdateDocParams = data.into_inner().try_into()?; let _ = controller.update_doc(params).await?; Ok(()) } pub async fn delete_doc_handler(data: Data, controller: Unit) -> Result<(), DocError> { let params: QueryDocParams = data.into_inner().try_into()?; let _ = controller.delete_doc(params).await?; Ok(()) }