]> Untitled Git - lemmy.git/blobdiff - crates/api_common/src/site.rs
Add Custom Emojis Support (#2616)
[lemmy.git] / crates / api_common / src / site.rs
index c25d58e62ab1d420eaccbf409230f56920364ff5..920cc6ec62d248b7e4af76734b568a58433e674a 100644 (file)
@@ -1,7 +1,12 @@
 use crate::sensitive::Sensitive;
 use lemmy_db_schema::{
   newtypes::{CommentId, CommunityId, LanguageId, PersonId, PostId},
-  source::{language::Language, tagline::Tagline},
+  source::{
+    instance::Instance,
+    language::Language,
+    local_site::RegistrationMode,
+    tagline::Tagline,
+  },
   ListingType,
   ModlogActionType,
   SearchType,
@@ -9,7 +14,8 @@ use lemmy_db_schema::{
 };
 use lemmy_db_views::structs::{
   CommentView,
-  LocalUserSettingsView,
+  CustomEmojiView,
+  LocalUserView,
   PostView,
   RegistrationApplicationView,
   SiteView,
@@ -20,7 +26,7 @@ use lemmy_db_views_actor::structs::{
   CommunityModeratorView,
   CommunityView,
   PersonBlockView,
-  PersonViewSafe,
+  PersonView,
 };
 use lemmy_db_views_moderator::structs::{
   AdminPurgeCommentView,
@@ -31,12 +37,12 @@ use lemmy_db_views_moderator::structs::{
   ModAddView,
   ModBanFromCommunityView,
   ModBanView,
+  ModFeaturePostView,
   ModHideCommunityView,
   ModLockPostView,
   ModRemoveCommentView,
   ModRemoveCommunityView,
   ModRemovePostView,
-  ModStickyPostView,
   ModTransferCommunityView,
 };
 use serde::{Deserialize, Serialize};
@@ -61,7 +67,7 @@ pub struct SearchResponse {
   pub comments: Vec<CommentView>,
   pub posts: Vec<PostView>,
   pub communities: Vec<CommunityView>,
-  pub users: Vec<PersonViewSafe>,
+  pub users: Vec<PersonView>,
 }
 
 #[derive(Debug, Serialize, Deserialize, Clone, Default)]
@@ -75,7 +81,7 @@ pub struct ResolveObjectResponse {
   pub comment: Option<CommentView>,
   pub post: Option<PostView>,
   pub community: Option<CommunityView>,
-  pub person: Option<PersonViewSafe>,
+  pub person: Option<PersonView>,
 }
 
 #[derive(Debug, Serialize, Deserialize, Clone, Default)]
@@ -93,7 +99,7 @@ pub struct GetModlog {
 pub struct GetModlogResponse {
   pub removed_posts: Vec<ModRemovePostView>,
   pub locked_posts: Vec<ModLockPostView>,
-  pub stickied_posts: Vec<ModStickyPostView>,
+  pub featured_posts: Vec<ModFeaturePostView>,
   pub removed_comments: Vec<ModRemoveCommentView>,
   pub removed_communities: Vec<ModRemoveCommunityView>,
   pub banned_from_community: Vec<ModBanFromCommunityView>,
@@ -116,11 +122,9 @@ pub struct CreateSite {
   pub icon: Option<String>,
   pub banner: Option<String>,
   pub enable_downvotes: Option<bool>,
-  pub open_registration: Option<bool>,
   pub enable_nsfw: Option<bool>,
   pub community_creation_admin_only: Option<bool>,
   pub require_email_verification: Option<bool>,
-  pub require_application: Option<bool>,
   pub application_question: Option<String>,
   pub private_instance: Option<bool>,
   pub default_theme: Option<String>,
@@ -145,13 +149,13 @@ pub struct CreateSite {
   pub rate_limit_search_per_second: Option<i32>,
   pub federation_enabled: Option<bool>,
   pub federation_debug: Option<bool>,
-  pub federation_strict_allowlist: Option<bool>,
-  pub federation_http_fetch_retry_limit: Option<i32>,
   pub federation_worker_count: Option<i32>,
   pub captcha_enabled: Option<bool>,
   pub captcha_difficulty: Option<String>,
   pub allowed_instances: Option<Vec<String>>,
   pub blocked_instances: Option<Vec<String>>,
+  pub taglines: Option<Vec<String>>,
+  pub registration_mode: Option<RegistrationMode>,
   pub auth: Sensitive<String>,
 }
 
@@ -163,11 +167,9 @@ pub struct EditSite {
   pub icon: Option<String>,
   pub banner: Option<String>,
   pub enable_downvotes: Option<bool>,
-  pub open_registration: Option<bool>,
   pub enable_nsfw: Option<bool>,
   pub community_creation_admin_only: Option<bool>,
   pub require_email_verification: Option<bool>,
-  pub require_application: Option<bool>,
   pub application_question: Option<String>,
   pub private_instance: Option<bool>,
   pub default_theme: Option<String>,
@@ -192,14 +194,14 @@ pub struct EditSite {
   pub rate_limit_search_per_second: Option<i32>,
   pub federation_enabled: Option<bool>,
   pub federation_debug: Option<bool>,
-  pub federation_strict_allowlist: Option<bool>,
-  pub federation_http_fetch_retry_limit: Option<i32>,
   pub federation_worker_count: Option<i32>,
   pub captcha_enabled: Option<bool>,
   pub captcha_difficulty: Option<String>,
   pub allowed_instances: Option<Vec<String>>,
   pub blocked_instances: Option<Vec<String>>,
   pub taglines: Option<Vec<String>>,
+  pub registration_mode: Option<RegistrationMode>,
+  pub reports_email_admins: Option<bool>,
   pub auth: Sensitive<String>,
 }
 
@@ -216,24 +218,25 @@ pub struct SiteResponse {
 #[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct GetSiteResponse {
   pub site_view: SiteView,
-  pub admins: Vec<PersonViewSafe>,
+  pub admins: Vec<PersonView>,
   pub online: usize,
   pub version: String,
   pub my_user: Option<MyUserInfo>,
   pub federated_instances: Option<FederatedInstances>, // Federation may be disabled
   pub all_languages: Vec<Language>,
   pub discussion_languages: Vec<LanguageId>,
-  pub taglines: Option<Vec<Tagline>>,
+  pub taglines: Vec<Tagline>,
+  pub custom_emojis: Vec<CustomEmojiView>,
 }
 
 #[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct MyUserInfo {
-  pub local_user_view: LocalUserSettingsView,
+  pub local_user_view: LocalUserView,
   pub follows: Vec<CommunityFollowerView>,
   pub moderates: Vec<CommunityModeratorView>,
   pub community_blocks: Vec<CommunityBlockView>,
   pub person_blocks: Vec<PersonBlockView>,
-  pub discussion_languages: Vec<Language>,
+  pub discussion_languages: Vec<LanguageId>,
 }
 
 #[derive(Debug, Serialize, Deserialize, Clone)]
@@ -243,9 +246,9 @@ pub struct LeaveAdmin {
 
 #[derive(Debug, Serialize, Deserialize, Clone)]
 pub struct FederatedInstances {
-  pub linked: Vec<String>,
-  pub allowed: Option<Vec<String>>,
-  pub blocked: Option<Vec<String>>,
+  pub linked: Vec<Instance>,
+  pub allowed: Option<Vec<Instance>>,
+  pub blocked: Option<Vec<Instance>>,
 }
 
 #[derive(Debug, Serialize, Deserialize, Clone)]