router.rs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. use crate::{
  2. routers::utils::parse_from_payload,
  3. workspace_service::view::{create_view, delete_view, read_view, update_view},
  4. };
  5. use actix_web::{
  6. web::{Data, Payload},
  7. HttpResponse,
  8. };
  9. use flowy_net::errors::ServerError;
  10. use flowy_workspace::protobuf::{
  11. CreateViewParams,
  12. DeleteViewParams,
  13. QueryViewParams,
  14. UpdateViewParams,
  15. };
  16. use sqlx::PgPool;
  17. pub async fn create_handler(
  18. payload: Payload,
  19. pool: Data<PgPool>,
  20. ) -> Result<HttpResponse, ServerError> {
  21. let params: CreateViewParams = parse_from_payload(payload).await?;
  22. let resp = create_view(pool.get_ref(), params).await?;
  23. Ok(resp.into())
  24. }
  25. pub async fn read_handler(
  26. payload: Payload,
  27. pool: Data<PgPool>,
  28. ) -> Result<HttpResponse, ServerError> {
  29. let params: QueryViewParams = parse_from_payload(payload).await?;
  30. let resp = read_view(pool.get_ref(), params).await?;
  31. Ok(resp.into())
  32. }
  33. pub async fn update_handler(
  34. payload: Payload,
  35. pool: Data<PgPool>,
  36. ) -> Result<HttpResponse, ServerError> {
  37. let params: UpdateViewParams = parse_from_payload(payload).await?;
  38. let resp = update_view(pool.get_ref(), params).await?;
  39. Ok(resp.into())
  40. }
  41. pub async fn delete_handler(
  42. payload: Payload,
  43. pool: Data<PgPool>,
  44. ) -> Result<HttpResponse, ServerError> {
  45. let params: DeleteViewParams = parse_from_payload(payload).await?;
  46. let resp = delete_view(pool.get_ref(), &params.view_id).await?;
  47. Ok(resp.into())
  48. }