From 7be52abe146ec655a7a56ac099428d6e011edc61 Mon Sep 17 00:00:00 2001 From: Dessalines Date: Fri, 22 Oct 2021 22:16:18 -0400 Subject: [PATCH] Blank the community if deleted for post --- config/defaults.hjson | 214 +++++++++++++++---------------- crates/api_crud/src/post/read.rs | 7 + 2 files changed, 114 insertions(+), 107 deletions(-) diff --git a/config/defaults.hjson b/config/defaults.hjson index 6907c36ff..62e47e539 100644 --- a/config/defaults.hjson +++ b/config/defaults.hjson @@ -1,111 +1,111 @@ { - # settings related to the postgresql database - database: { - # Username to connect to postgres - user: "lemmy" - # Password to connect to postgres - password: "password" - # Host where postgres is running - host: "localhost" - # Port where postgres can be accessed - port: 5432 - # Name of the postgres database for lemmy - database: "lemmy" - # Maximum number of active sql connections - pool_size: 5 - } - # rate limits for various user actions, by user ip - rate_limit: { - # Maximum number of messages created in interval - message: 180 - # Interval length for message limit, in seconds - message_per_second: 60 - # Maximum number of posts created in interval - post: 6 - # Interval length for post limit, in seconds - post_per_second: 600 - # Maximum number of registrations in interval - register: 3 - # Interval length for registration limit, in seconds - register_per_second: 3600 - # Maximum number of image uploads in interval - image: 6 - # Interval length for image uploads, in seconds - image_per_second: 3600 - } - # Settings related to activitypub federation - federation: { - # Whether to enable activitypub federation. - enabled: false - # Allows and blocks are described here: - # https://join-lemmy.org/docs/en/federation/administration.html///instance-allowlist-and-blocklist - # - # list of instances with which federation is allowed - allowed_instances: [ - instance1.tld - instance2.tld + // settings related to the postgresql database + "database": { + // Username to connect to postgres + "user": "lemmy", + // Password to connect to postgres + "password": "password", + // Host where postgres is running + "host": "localhost", + // Port where postgres can be accessed + "port": 5432, + // Name of the postgres database for lemmy + "database": "lemmy", + // Maximum number of active sql connections + "pool_size": 5 + }, + // rate limits for various user actions, by user ip + "rate_limit": { + // Maximum number of messages created in interval + "message": 180, + // Interval length for message limit, in seconds + "message_per_second": 60, + // Maximum number of posts created in interval + "post": 6, + // Interval length for post limit, in seconds + "post_per_second": 600, + // Maximum number of registrations in interval + "register": 3, + // Interval length for registration limit, in seconds + "register_per_second": 3600, + // Maximum number of image uploads in interval + "image": 6, + // Interval length for image uploads, in seconds + "image_per_second": 3600 + }, + // Settings related to activitypub federation + "federation": { + // Whether to enable activitypub federation. + "enabled": false, + // Allows and blocks are described here: + // https://join-lemmy.org/docs/en/federation/administration.html///instance-allowlist-and-blocklist + // + // list of instances with which federation is allowed + "allowed_instances": [ + "instance1.tld", + "instance2.tld", /* ... */ - ] - # Instances which we never federate anything with (but previously federated objects are unaffected) - blocked_instances: [ - string + ], + // Instances which we never federate anything with (but previously federated objects are unaffected) + "blocked_instances": [ + "string", /* ... */ - ] - # If true, only federate with instances on the allowlist and block everything else. If false - # use allowlist only for remote communities, and posts/comments in local communities - # (meaning remote communities will show content from arbitrary instances). - strict_allowlist: true - } - captcha: { - # Whether captcha is required for signup - enabled: false - # Can be easy, medium, or hard - difficulty: "medium" - } - # Email sending configuration. All options except login/password are mandatory - email: { - # Hostname and port of the smtp server - smtp_server: "localhost:25" - # Login name for smtp server - smtp_login: "string" - # Password to login to the smtp server - smtp_password: "string" - # Address to send emails from, eg noreply@your-instance.com - smtp_from_address: "noreply@example.com" - # Whether or not smtp connections should use tls - use_tls: true - } - # Parameters for automatic configuration of new instance (only used at first start) - setup: { - # Username for the admin user - admin_username: "admin" - # Password for the admin user - admin_password: "my_passwd" - # Name of the site (can be changed later) - site_name: "My Lemmy Instance" - # Email for the admin user (optional, can be omitted and set later through the website) - admin_email: "string" - sidebar: "string" - description: "string" - icon: "string" - banner: "string" - enable_downvotes: true - open_registration: true - enable_nsfw: true - community_creation_admin_only: true - } - # the domain name of your instance (mandatory) - hostname: "unset" - # Address where lemmy should listen for incoming requests - bind: "0.0.0.0" - # Port where lemmy should listen for incoming requests - port: 8536 - # Whether the site is available over TLS. Needs to be true for federation to work. - tls_enabled: true - # Address where pictrs is available (for image hosting) - pictrs_url: "http:#localhost:8080" - # Regex for slurs which are prohibited. Example: `(\bThis\b)|(\bis\b)|(\bsample\b)` - additional_slurs: "string" - # Maximum length of local community and user names - actor_name_max_length: 20 + ], + // If true, only federate with instances on the allowlist and block everything else. If false, + // use allowlist only for remote communities, and posts/comments in local communities + // (meaning remote communities will show content from arbitrary instances). + "strict_allowlist": true + }, + "captcha": { + // Whether captcha is required for signup + "enabled": false, + // Can be easy, medium, or hard + "difficulty": "medium" + }, + // Email sending configuration. All options except login/password are mandatory + "email": { + // Hostname and port of the smtp server + "smtp_server": "localhost:25", + // Login name for smtp server + "smtp_login": "string", + // Password to login to the smtp server + "smtp_password": "string", + // Address to send emails from, eg "noreply@your-instance.com" + "smtp_from_address": "noreply@example.com", + // Whether or not smtp connections should use tls + "use_tls": true + }, + // Parameters for automatic configuration of new instance (only used at first start) + "setup": { + // Username for the admin user + "admin_username": "admin", + // Password for the admin user + "admin_password": "my_passwd", + // Name of the site (can be changed later) + "site_name": "My Lemmy Instance", + // Email for the admin user (optional, can be omitted and set later through the website) + "admin_email": "string", + "sidebar": "string", + "description": "string", + "icon": "string", + "banner": "string", + "enable_downvotes": true, + "open_registration": true, + "enable_nsfw": true, + "community_creation_admin_only": true + }, + // the domain name of your instance (mandatory) + "hostname": "unset", + // Address where lemmy should listen for incoming requests + "bind": "0.0.0.0", + // Port where lemmy should listen for incoming requests + "port": 8536, + // Whether the site is available over TLS. Needs to be true for federation to work. + "tls_enabled": true, + // Address where pictrs is available (for image hosting) + "pictrs_url": "http://localhost:8080", + // Regex for slurs which are prohibited. Example: `(\bThis\b)|(\bis\b)|(\bsample\b)` + "additional_slurs": "string", + // Maximum length of local community and user names + "actor_name_max_length": 20 } diff --git a/crates/api_crud/src/post/read.rs b/crates/api_crud/src/post/read.rs index 37f191126..901d1e935 100644 --- a/crates/api_crud/src/post/read.rs +++ b/crates/api_crud/src/post/read.rs @@ -169,6 +169,13 @@ impl PerformCrud for GetPosts { { pv.post = pv.to_owned().post.blank_out_deleted_or_removed_info(); } + + for pv in posts + .iter_mut() + .filter(|p| p.community.deleted || p.community.removed) + { + pv.community = pv.to_owned().community.blank_out_deleted_or_removed_info(); + } } Ok(GetPostsResponse { posts })