Skip to main content

lemmy_db_schema/source/
federation_blocklist.rs

1use crate::newtypes::InstanceId;
2#[cfg(feature = "full")]
3use crate::schema::federation_blocklist;
4use chrono::{DateTime, Utc};
5use serde::{Deserialize, Serialize};
6use std::fmt::Debug;
7
8#[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)]
9#[cfg_attr(
10  feature = "full",
11  derive(Queryable, Selectable, Associations, Identifiable)
12)]
13#[cfg_attr(
14  feature = "full",
15  diesel(belongs_to(crate::source::instance::Instance))
16)]
17#[cfg_attr(feature = "full", diesel(table_name = federation_blocklist))]
18#[cfg_attr(feature = "full", diesel(primary_key(instance_id)))]
19#[cfg_attr(feature = "full", diesel(check_for_backend(diesel::pg::Pg)))]
20pub struct FederationBlockList {
21  pub instance_id: InstanceId,
22  pub published: DateTime<Utc>,
23  pub updated: Option<DateTime<Utc>>,
24}
25
26#[derive(Clone, Default)]
27#[cfg_attr(feature = "full", derive(Insertable, AsChangeset))]
28#[cfg_attr(feature = "full", diesel(table_name = federation_blocklist))]
29pub struct FederationBlockListForm {
30  pub instance_id: InstanceId,
31  pub updated: Option<DateTime<Utc>>,
32}