-use crate::{
- newtypes::{CommunityBlockId, CommunityId, PersonId},
- schema::community_block,
- source::community::Community,
-};
+use crate::newtypes::{CommunityBlockId, CommunityId, PersonId};
use serde::{Deserialize, Serialize};
-#[derive(
- Clone, Queryable, Associations, Identifiable, PartialEq, Debug, Serialize, Deserialize,
+#[cfg(feature = "full")]
+use crate::schema::community_block;
+
+#[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)]
+#[cfg_attr(feature = "full", derive(Queryable, Associations, Identifiable))]
+#[cfg_attr(
+ feature = "full",
+ diesel(belongs_to(crate::source::community::Community))
)]
-#[table_name = "community_block"]
-#[belongs_to(Community)]
+#[cfg_attr(feature = "full", diesel(table_name = community_block))]
pub struct CommunityBlock {
pub id: CommunityBlockId,
pub person_id: PersonId,
pub published: chrono::NaiveDateTime,
}
-#[derive(Insertable, AsChangeset)]
-#[table_name = "community_block"]
+#[cfg_attr(feature = "full", derive(Insertable, AsChangeset))]
+#[cfg_attr(feature = "full", diesel(table_name = community_block))]
pub struct CommunityBlockForm {
pub person_id: PersonId,
pub community_id: CommunityId,