mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-05-12 06:52:39 +00:00
375d9a2a3c
* persistent activity queue * fixes * fixes * make federation workers function callable from outside * log federation instances * dead instance detection not needed here * taplo fmt * split federate bin/lib * minor fix * better logging * log * create struct to hold cancellable task for readability * use boxfuture for readability * reset submodule * fix * fix lint * swap * remove json column, use separate array columns instead * some review comments * make worker a struct for readability * minor readability * add local filter to community follower view * remove separate lemmy_federate entry point * fix remaining duration * address review comments mostly * fix lint * upgrade actitypub-fed to simpler interface * fix sql format * increase delays a bit * fixes after merge * remove selectable * fix instance selectable * add comment * start federation based on latest id at the time * rename federate process args * dead instances in one query * filter follow+report activities by local * remove synchronous federation remove activity sender queue * lint * fix federation tests by waiting for results to change * fix fed test * fix comment report * wait some more * Apply suggestions from code review Co-authored-by: SorteKanin <sortekanin@gmail.com> * fix most remaining tests * wait until private messages * fix community tests * fix community tests * move arg parse * use instance_id instead of domain in federation_queue_state table --------- Co-authored-by: Dessalines <dessalines@users.noreply.github.com> Co-authored-by: SorteKanin <sortekanin@gmail.com>
38 lines
1.1 KiB
Rust
38 lines
1.1 KiB
Rust
use crate::newtypes::InstanceId;
|
|
#[cfg(feature = "full")]
|
|
use crate::schema::instance;
|
|
use chrono::{DateTime, Utc};
|
|
use serde::{Deserialize, Serialize};
|
|
use serde_with::skip_serializing_none;
|
|
use std::fmt::Debug;
|
|
#[cfg(feature = "full")]
|
|
use ts_rs::TS;
|
|
use typed_builder::TypedBuilder;
|
|
|
|
#[skip_serializing_none]
|
|
#[derive(Clone, PartialEq, Eq, Debug, Serialize, Deserialize)]
|
|
#[cfg_attr(feature = "full", derive(Queryable, Selectable, Identifiable, TS))]
|
|
#[cfg_attr(feature = "full", diesel(table_name = instance))]
|
|
#[cfg_attr(feature = "full", ts(export))]
|
|
/// A federated instance / site.
|
|
pub struct Instance {
|
|
pub id: InstanceId,
|
|
pub domain: String,
|
|
pub published: DateTime<Utc>,
|
|
pub updated: Option<DateTime<Utc>>,
|
|
pub software: Option<String>,
|
|
pub version: Option<String>,
|
|
}
|
|
|
|
#[derive(Clone, TypedBuilder)]
|
|
#[builder(field_defaults(default))]
|
|
#[cfg_attr(feature = "full", derive(Insertable, AsChangeset))]
|
|
#[cfg_attr(feature = "full", diesel(table_name = instance))]
|
|
pub struct InstanceForm {
|
|
#[builder(!default)]
|
|
pub domain: String,
|
|
pub software: Option<String>,
|
|
pub version: Option<String>,
|
|
pub updated: Option<DateTime<Utc>>,
|
|
}
|