]> 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 c3f321ce704e606064001334a4446461b67381de..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,
@@ -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)]
@@ -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>,
@@ -150,6 +154,8 @@ pub struct CreateSite {
   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>,
 }
 
@@ -161,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>,
@@ -196,6 +200,8 @@ pub struct EditSite {
   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>,
 }
 
@@ -212,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)]
@@ -239,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)]