]> Untitled Git - lemmy.git/blobdiff - crates/api_crud/src/lib.rs
Remove SendActivity and Perform traits, rely on channel (#3596)
[lemmy.git] / crates / api_crud / src / lib.rs
index 30c9ebd42d516f386050b4f27b1dfa33f14adea9..e793428650f4d20a1173b0935a05c47ea2c5fc31 100644 (file)
@@ -1,37 +1,18 @@
 use actix_web::web::Data;
 use lemmy_api_common::context::LemmyContext;
-use lemmy_db_schema::source::local_site::LocalSite;
-use lemmy_utils::{error::LemmyError, ConnectionId};
+use lemmy_utils::error::LemmyError;
 
 mod comment;
 mod community;
-mod post;
+mod custom_emoji;
+pub mod post;
 mod private_message;
 mod site;
 mod user;
 
 #[async_trait::async_trait(?Send)]
 pub trait PerformCrud {
-  type Response: serde::ser::Serialize + Send;
+  type Response: serde::ser::Serialize + Send + Clone + Sync;
 
-  async fn perform(
-    &self,
-    context: &Data<LemmyContext>,
-    websocket_id: Option<ConnectionId>,
-  ) -> Result<Self::Response, LemmyError>;
-}
-
-/// Make sure if applications are required, that there is an application questionnaire
-pub fn check_application_question(
-  application_question: &Option<Option<String>>,
-  local_site: &LocalSite,
-  require_application: &Option<bool>,
-) -> Result<(), LemmyError> {
-  if require_application.unwrap_or(false)
-    && (application_question == &Some(None)
-      || (application_question.is_none() && local_site.application_question.is_none()))
-  {
-    return Err(LemmyError::from_message("application_question_required"));
-  }
-  Ok(())
+  async fn perform(&self, context: &Data<LemmyContext>) -> Result<Self::Response, LemmyError>;
 }