doc_query.rs 672 B

123456789101112131415161718192021222324252627
  1. use crate::{entities::doc::parser::DocId, errors::*};
  2. use flowy_derive::ProtoBuf;
  3. use std::convert::TryInto;
  4. #[derive(Default, ProtoBuf)]
  5. pub struct QueryDocRequest {
  6. #[pb(index = 1)]
  7. pub doc_id: String,
  8. }
  9. #[derive(ProtoBuf, Default, Debug, Clone)]
  10. pub struct QueryDocParams {
  11. #[pb(index = 1)]
  12. pub doc_id: String,
  13. }
  14. impl TryInto<QueryDocParams> for QueryDocRequest {
  15. type Error = DocError;
  16. fn try_into(self) -> Result<QueryDocParams, Self::Error> {
  17. let doc_id = DocId::parse(self.doc_id)
  18. .map_err(|e| ErrorBuilder::new(ErrorCode::DocIdInvalid).msg(e).build())?
  19. .0;
  20. Ok(QueryDocParams { doc_id })
  21. }
  22. }