]> Untitled Git - lemmy.git/blob - crates/db_schema/src/source/person_block.rs
e5a365b51307a1b24b9f873b3b985536bb410630
[lemmy.git] / crates / db_schema / src / source / person_block.rs
1 use crate::newtypes::{PersonBlockId, PersonId};
2 use serde::{Deserialize, Serialize};
3
4 #[cfg(feature = "full")]
5 use crate::schema::person_block;
6
7 #[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)]
8 #[cfg_attr(feature = "full", derive(Queryable, Associations, Identifiable))]
9 #[cfg_attr(feature = "full", diesel(belongs_to(crate::source::person::Person)))]
10 #[cfg_attr(feature = "full", diesel(table_name = person_block))]
11 pub struct PersonBlock {
12   pub id: PersonBlockId,
13   pub person_id: PersonId,
14   pub target_id: PersonId,
15   pub published: chrono::NaiveDateTime,
16 }
17
18 #[cfg_attr(feature = "full", derive(Insertable, AsChangeset))]
19 #[cfg_attr(feature = "full", diesel(table_name = person_block))]
20 pub struct PersonBlockForm {
21   pub person_id: PersonId,
22   pub target_id: PersonId,
23 }