]> Untitled Git - lemmy.git/blob - crates/api_crud/src/lib.rs
Split api crate into api_structs and api
[lemmy.git] / crates / api_crud / src / lib.rs
1 use actix_web::web::Data;
2 use lemmy_utils::{ConnectionId, LemmyError};
3 use lemmy_websocket::LemmyContext;
4
5 mod comment;
6 mod community;
7 mod post;
8 mod private_message;
9 pub mod routes;
10 mod site;
11 mod user;
12
13 #[async_trait::async_trait(?Send)]
14 pub trait PerformCrud {
15   type Response: serde::ser::Serialize + Send;
16
17   async fn perform(
18     &self,
19     context: &Data<LemmyContext>,
20     websocket_id: Option<ConnectionId>,
21   ) -> Result<Self::Response, LemmyError>;
22 }