+ pub linked: Vec<Instance>,
+ pub allowed: Vec<Instance>,
+ pub blocked: Vec<Instance>,
+}
+
+#[skip_serializing_none]
+#[derive(Debug, Serialize, Deserialize, Clone)]
+#[cfg_attr(feature = "full", derive(TS))]
+#[cfg_attr(feature = "full", ts(export))]
+/// Purges a person from the database. This will delete all content attached to that person.
+pub struct PurgePerson {
+ pub person_id: PersonId,
+ pub reason: Option<String>,
+ pub auth: Sensitive<String>,
+}
+
+#[skip_serializing_none]
+#[derive(Debug, Serialize, Deserialize, Clone)]
+#[cfg_attr(feature = "full", derive(TS))]
+#[cfg_attr(feature = "full", ts(export))]
+/// Purges a community from the database. This will delete all content attached to that community.
+pub struct PurgeCommunity {
+ pub community_id: CommunityId,
+ pub reason: Option<String>,
+ pub auth: Sensitive<String>,
+}
+
+#[skip_serializing_none]
+#[derive(Debug, Serialize, Deserialize, Clone)]
+#[cfg_attr(feature = "full", derive(TS))]
+#[cfg_attr(feature = "full", ts(export))]
+/// Purges a post from the database. This will delete all content attached to that post.
+pub struct PurgePost {
+ pub post_id: PostId,
+ pub reason: Option<String>,
+ pub auth: Sensitive<String>,
+}
+
+#[skip_serializing_none]
+#[derive(Debug, Serialize, Deserialize, Clone)]
+#[cfg_attr(feature = "full", derive(TS))]
+#[cfg_attr(feature = "full", ts(export))]
+/// Purges a comment from the database. This will delete all content attached to that comment.
+pub struct PurgeComment {
+ pub comment_id: CommentId,
+ pub reason: Option<String>,
+ pub auth: Sensitive<String>,
+}
+
+#[derive(Serialize, Deserialize, Clone)]
+#[cfg_attr(feature = "full", derive(TS))]
+#[cfg_attr(feature = "full", ts(export))]
+/// The response for purged items.
+pub struct PurgeItemResponse {
+ pub success: bool,
+}
+
+#[skip_serializing_none]
+#[derive(Debug, Serialize, Deserialize, Clone, Default)]
+#[cfg_attr(feature = "full", derive(TS))]
+#[cfg_attr(feature = "full", ts(export))]
+/// Fetches a list of registration applications.
+pub struct ListRegistrationApplications {
+ /// Only shows the unread applications (IE those without an admin actor)
+ pub unread_only: Option<bool>,
+ pub page: Option<i64>,
+ pub limit: Option<i64>,
+ pub auth: Sensitive<String>,
+}
+
+#[derive(Debug, Serialize, Deserialize, Clone)]
+#[cfg_attr(feature = "full", derive(TS))]
+#[cfg_attr(feature = "full", ts(export))]
+/// The list of registration applications.
+pub struct ListRegistrationApplicationsResponse {
+ pub registration_applications: Vec<RegistrationApplicationView>,
+}
+
+#[skip_serializing_none]
+#[derive(Debug, Serialize, Deserialize, Clone, Default)]
+#[cfg_attr(feature = "full", derive(TS))]
+#[cfg_attr(feature = "full", ts(export))]
+/// Approves a registration application.
+pub struct ApproveRegistrationApplication {
+ pub id: i32,
+ pub approve: bool,
+ pub deny_reason: Option<String>,
+ pub auth: Sensitive<String>,
+}
+
+#[derive(Debug, Serialize, Deserialize, Clone)]
+#[cfg_attr(feature = "full", derive(TS))]
+#[cfg_attr(feature = "full", ts(export))]
+/// The response of an action done to a registration application.
+pub struct RegistrationApplicationResponse {
+ pub registration_application: RegistrationApplicationView,
+}
+
+#[derive(Debug, Serialize, Deserialize, Clone)]
+#[cfg_attr(feature = "full", derive(TS))]
+#[cfg_attr(feature = "full", ts(export))]
+/// Gets a count of unread registration applications.
+pub struct GetUnreadRegistrationApplicationCount {
+ pub auth: Sensitive<String>,
+}
+
+#[derive(Debug, Serialize, Deserialize, Clone)]
+#[cfg_attr(feature = "full", derive(TS))]
+#[cfg_attr(feature = "full", ts(export))]
+/// The count of unread registration applications.
+pub struct GetUnreadRegistrationApplicationCountResponse {
+ pub registration_applications: i64,