Skip to content

Commit

Permalink
Organize utils into separate files. Fixes #2295 (#2736)
Browse files Browse the repository at this point in the history
* Organize utils into separate files. Fixes #2295

* Moving tests.

* Fix test.

* Fix test 2
  • Loading branch information
dessalines committed Feb 16, 2023
1 parent 8a27978 commit 36aaa50
Show file tree
Hide file tree
Showing 43 changed files with 381 additions and 361 deletions.
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion crates/api/src/community/ban.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ use lemmy_db_schema::{
traits::{Bannable, Crud, Followable},
};
use lemmy_db_views_actor::structs::PersonViewSafe;
use lemmy_utils::{error::LemmyError, utils::naive_from_unix, ConnectionId};
use lemmy_utils::{error::LemmyError, utils::time::naive_from_unix, ConnectionId};

#[async_trait::async_trait(?Send)]
impl Perform for BanFromCommunity {
Expand Down
2 changes: 1 addition & 1 deletion crates/api/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ use actix_web::web::Data;
use captcha::Captcha;
use lemmy_api_common::{context::LemmyContext, utils::local_site_to_slur_regex};
use lemmy_db_schema::source::local_site::LocalSite;
use lemmy_utils::{error::LemmyError, utils::check_slurs, ConnectionId};
use lemmy_utils::{error::LemmyError, utils::slurs::check_slurs, ConnectionId};

mod comment;
mod comment_report;
Expand Down
2 changes: 1 addition & 1 deletion crates/api/src/local_user/ban_person.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ use lemmy_db_schema::{
traits::Crud,
};
use lemmy_db_views_actor::structs::PersonViewSafe;
use lemmy_utils::{error::LemmyError, utils::naive_from_unix, ConnectionId};
use lemmy_utils::{error::LemmyError, utils::time::naive_from_unix, ConnectionId};

#[async_trait::async_trait(?Send)]
impl Perform for BanPerson {
Expand Down
2 changes: 1 addition & 1 deletion crates/api/src/local_user/save_settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ use lemmy_db_schema::{
use lemmy_utils::{
claims::Claims,
error::LemmyError,
utils::{is_valid_display_name, is_valid_matrix_id},
utils::validation::{is_valid_display_name, is_valid_matrix_id},
ConnectionId,
};

Expand Down
3 changes: 1 addition & 2 deletions crates/api_common/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ tracing-opentelemetry = { workspace = true }
actix-ws = { workspace = true }
futures = { workspace = true }
background-jobs = "0.13.0"

[dev-dependencies]
uuid = { workspace = true }
actix-rt = { workspace = true }
reqwest = { workspace = true }
6 changes: 3 additions & 3 deletions crates/api_common/src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ use lemmy_utils::{
location_info,
rate_limit::RateLimitConfig,
settings::structs::Settings,
utils::{build_slur_regex, generate_random_string},
utils::slurs::build_slur_regex,
};
use regex::Regex;
use reqwest_middleware::ClientWithMiddleware;
Expand Down Expand Up @@ -360,7 +360,7 @@ pub async fn send_password_reset_email(
settings: &Settings,
) -> Result<(), LemmyError> {
// Generate a random token
let token = generate_random_string();
let token = uuid::Uuid::new_v4().to_string();

// Insert the row
let token2 = token.clone();
Expand All @@ -386,7 +386,7 @@ pub async fn send_verification_email(
let form = EmailVerificationForm {
local_user_id: user.local_user.id,
email: new_email.to_string(),
verification_token: generate_random_string(),
verification_token: uuid::Uuid::new_v4().to_string(),
};
let verify_link = format!(
"{}/verify_email/{}",
Expand Down
2 changes: 1 addition & 1 deletion crates/api_common/src/websocket/send.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ use lemmy_db_schema::{
};
use lemmy_db_views::structs::{CommentView, LocalUserView, PostView, PrivateMessageView};
use lemmy_db_views_actor::structs::CommunityView;
use lemmy_utils::{error::LemmyError, utils::MentionData, ConnectionId};
use lemmy_utils::{error::LemmyError, utils::mention::MentionData, ConnectionId};

#[tracing::instrument(skip_all)]
pub async fn send_post_ws_message<OP: ToString + Send + OperationType + 'static>(
Expand Down
2 changes: 1 addition & 1 deletion crates/api_crud/src/comment/create.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ use lemmy_db_schema::{
};
use lemmy_utils::{
error::LemmyError,
utils::{remove_slurs, scrape_text_for_mentions},
utils::{mention::scrape_text_for_mentions, slurs::remove_slurs},
ConnectionId,
};

Expand Down
2 changes: 1 addition & 1 deletion crates/api_crud/src/comment/update.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ use lemmy_db_schema::{
use lemmy_db_views::structs::CommentView;
use lemmy_utils::{
error::LemmyError,
utils::{remove_slurs, scrape_text_for_mentions},
utils::{mention::scrape_text_for_mentions, slurs::remove_slurs},
ConnectionId,
};

Expand Down
5 changes: 4 additions & 1 deletion crates/api_crud/src/community/create.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ use lemmy_db_views::structs::SiteView;
use lemmy_db_views_actor::structs::CommunityView;
use lemmy_utils::{
error::LemmyError,
utils::{check_slurs, check_slurs_opt, is_valid_actor_name},
utils::{
slurs::{check_slurs, check_slurs_opt},
validation::is_valid_actor_name,
},
ConnectionId,
};

Expand Down
2 changes: 1 addition & 1 deletion crates/api_crud/src/community/remove.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ use lemmy_db_schema::{
},
traits::Crud,
};
use lemmy_utils::{error::LemmyError, utils::naive_from_unix, ConnectionId};
use lemmy_utils::{error::LemmyError, utils::time::naive_from_unix, ConnectionId};

#[async_trait::async_trait(?Send)]
impl PerformCrud for RemoveCommunity {
Expand Down
2 changes: 1 addition & 1 deletion crates/api_crud/src/community/update.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ use lemmy_db_schema::{
utils::{diesel_option_overwrite, diesel_option_overwrite_to_url, naive_now},
};
use lemmy_db_views_actor::structs::CommunityModeratorView;
use lemmy_utils::{error::LemmyError, utils::check_slurs_opt, ConnectionId};
use lemmy_utils::{error::LemmyError, utils::slurs::check_slurs_opt, ConnectionId};

#[async_trait::async_trait(?Send)]
impl PerformCrud for EditCommunity {
Expand Down
5 changes: 4 additions & 1 deletion crates/api_crud/src/post/create.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,10 @@ use lemmy_db_schema::{
use lemmy_db_views_actor::structs::CommunityView;
use lemmy_utils::{
error::LemmyError,
utils::{check_slurs, check_slurs_opt, clean_url_params, is_valid_post_title},
utils::{
slurs::{check_slurs, check_slurs_opt},
validation::{clean_url_params, is_valid_post_title},
},
ConnectionId,
};
use tracing::{warn, Instrument};
Expand Down
5 changes: 4 additions & 1 deletion crates/api_crud/src/post/update.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,10 @@ use lemmy_db_schema::{
};
use lemmy_utils::{
error::LemmyError,
utils::{check_slurs_opt, clean_url_params, is_valid_post_title},
utils::{
slurs::check_slurs_opt,
validation::{clean_url_params, is_valid_post_title},
},
ConnectionId,
};

Expand Down
2 changes: 1 addition & 1 deletion crates/api_crud/src/private_message/create.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ use lemmy_db_schema::{
traits::Crud,
};
use lemmy_db_views::structs::LocalUserView;
use lemmy_utils::{error::LemmyError, utils::remove_slurs, ConnectionId};
use lemmy_utils::{error::LemmyError, utils::slurs::remove_slurs, ConnectionId};

#[async_trait::async_trait(?Send)]
impl PerformCrud for CreatePrivateMessage {
Expand Down
2 changes: 1 addition & 1 deletion crates/api_crud/src/private_message/update.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ use lemmy_db_schema::{
traits::Crud,
utils::naive_now,
};
use lemmy_utils::{error::LemmyError, utils::remove_slurs, ConnectionId};
use lemmy_utils::{error::LemmyError, utils::slurs::remove_slurs, ConnectionId};

#[async_trait::async_trait(?Send)]
impl PerformCrud for EditPrivateMessage {
Expand Down
2 changes: 1 addition & 1 deletion crates/api_crud/src/site/create.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ use lemmy_db_schema::{
use lemmy_db_views::structs::SiteView;
use lemmy_utils::{
error::LemmyError,
utils::{check_slurs, check_slurs_opt},
utils::slurs::{check_slurs, check_slurs_opt},
ConnectionId,
};
use url::Url;
Expand Down
2 changes: 1 addition & 1 deletion crates/api_crud/src/site/update.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ use lemmy_db_schema::{
ListingType,
};
use lemmy_db_views::structs::SiteView;
use lemmy_utils::{error::LemmyError, utils::check_slurs_opt, ConnectionId};
use lemmy_utils::{error::LemmyError, utils::slurs::check_slurs_opt, ConnectionId};
use std::str::FromStr;

#[async_trait::async_trait(?Send)]
Expand Down
5 changes: 4 additions & 1 deletion crates/api_crud/src/user/create.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,10 @@ use lemmy_db_views::structs::{LocalUserView, SiteView};
use lemmy_utils::{
claims::Claims,
error::LemmyError,
utils::{check_slurs, check_slurs_opt, is_valid_actor_name},
utils::{
slurs::{check_slurs, check_slurs_opt},
validation::is_valid_actor_name,
},
ConnectionId,
};

Expand Down
2 changes: 1 addition & 1 deletion crates/apub/src/activities/block/block_user.rs
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ use lemmy_db_schema::{
},
traits::{Bannable, Crud, Followable},
};
use lemmy_utils::{error::LemmyError, utils::convert_datetime};
use lemmy_utils::{error::LemmyError, utils::time::convert_datetime};
use url::Url;

impl BlockUser {
Expand Down
2 changes: 1 addition & 1 deletion crates/apub/src/activities/block/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ use lemmy_db_schema::{
utils::DbPool,
};
use lemmy_db_views::structs::SiteView;
use lemmy_utils::{error::LemmyError, utils::naive_from_unix};
use lemmy_utils::{error::LemmyError, utils::time::naive_from_unix};
use serde::Deserialize;
use url::Url;

Expand Down
2 changes: 1 addition & 1 deletion crates/apub/src/activities/create_or_update/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use lemmy_db_schema::{
source::{comment::Comment, post::Post},
traits::Crud,
};
use lemmy_utils::{error::LemmyError, utils::scrape_text_for_mentions};
use lemmy_utils::{error::LemmyError, utils::mention::scrape_text_for_mentions};

pub mod comment;
pub mod post;
Expand Down
2 changes: 1 addition & 1 deletion crates/apub/src/mentions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ use lemmy_db_schema::{
};
use lemmy_utils::{
error::LemmyError,
utils::{scrape_text_for_mentions, MentionData},
utils::mention::{scrape_text_for_mentions, MentionData},
};
use serde::{Deserialize, Serialize};
use serde_json::Value;
Expand Down
2 changes: 1 addition & 1 deletion crates/apub/src/objects/comment.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ use lemmy_db_schema::{
};
use lemmy_utils::{
error::LemmyError,
utils::{convert_datetime, markdown_to_html, remove_slurs},
utils::{markdown::markdown_to_html, slurs::remove_slurs, time::convert_datetime},
};
use std::ops::Deref;
use url::Url;
Expand Down
2 changes: 1 addition & 1 deletion crates/apub/src/objects/community.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ use lemmy_db_schema::{
use lemmy_db_views_actor::structs::CommunityFollowerView;
use lemmy_utils::{
error::LemmyError,
utils::{convert_datetime, markdown_to_html},
utils::{markdown::markdown_to_html, time::convert_datetime},
};
use std::ops::Deref;
use tracing::debug;
Expand Down
6 changes: 5 additions & 1 deletion crates/apub/src/objects/instance.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,11 @@ use lemmy_db_schema::{
};
use lemmy_utils::{
error::LemmyError,
utils::{check_slurs, check_slurs_opt, convert_datetime, markdown_to_html},
utils::{
markdown::markdown_to_html,
slurs::{check_slurs, check_slurs_opt},
time::convert_datetime,
},
};
use std::ops::Deref;
use tracing::debug;
Expand Down
6 changes: 5 additions & 1 deletion crates/apub/src/objects/person.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,11 @@ use lemmy_db_schema::{
};
use lemmy_utils::{
error::LemmyError,
utils::{check_slurs, check_slurs_opt, convert_datetime, markdown_to_html},
utils::{
markdown::markdown_to_html,
slurs::{check_slurs, check_slurs_opt},
time::convert_datetime,
},
};
use std::ops::Deref;
use url::Url;
Expand Down
6 changes: 5 additions & 1 deletion crates/apub/src/objects/post.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,11 @@ use lemmy_db_schema::{
};
use lemmy_utils::{
error::LemmyError,
utils::{check_slurs_opt, convert_datetime, markdown_to_html, remove_slurs},
utils::{
markdown::markdown_to_html,
slurs::{check_slurs_opt, remove_slurs},
time::convert_datetime,
},
};
use std::ops::Deref;
use url::Url;
Expand Down
2 changes: 1 addition & 1 deletion crates/apub/src/objects/private_message.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ use lemmy_db_schema::{
};
use lemmy_utils::{
error::LemmyError,
utils::{convert_datetime, markdown_to_html},
utils::{markdown::markdown_to_html, time::convert_datetime},
};
use std::ops::Deref;
use url::Url;
Expand Down
2 changes: 1 addition & 1 deletion crates/apub/src/protocol/objects/group.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ use lemmy_db_schema::{
};
use lemmy_utils::{
error::LemmyError,
utils::{check_slurs, check_slurs_opt},
utils::slurs::{check_slurs, check_slurs_opt},
};
use serde::{Deserialize, Serialize};
use serde_with::skip_serializing_none;
Expand Down
3 changes: 1 addition & 2 deletions crates/db_schema/src/impls/instance.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ use crate::{
};
use diesel::{dsl::insert_into, result::Error, ExpressionMethods, QueryDsl};
use diesel_async::{AsyncPgConnection, RunQueryDsl};
use lemmy_utils::utils::generate_domain_url;
use url::Url;

impl Instance {
Expand All @@ -28,7 +27,7 @@ impl Instance {
Self::create_conn(conn, domain).await
}
pub async fn create_from_actor_id(pool: &DbPool, actor_id: &Url) -> Result<Self, Error> {
let domain = &generate_domain_url(actor_id).expect("actor id missing a domain");
let domain = actor_id.host_str().expect("actor id missing a domain");
Self::create(pool, domain).await
}
pub async fn create_conn(conn: &mut AsyncPgConnection, domain: &str) -> Result<Self, Error> {
Expand Down
2 changes: 1 addition & 1 deletion crates/routes/src/feeds.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ use lemmy_db_views_actor::{
person_mention_view::PersonMentionQuery,
structs::{CommentReplyView, PersonMentionView},
};
use lemmy_utils::{claims::Claims, error::LemmyError, utils::markdown_to_html};
use lemmy_utils::{claims::Claims, error::LemmyError, utils::markdown::markdown_to_html};
use once_cell::sync::Lazy;
use rss::{
extension::dublincore::DublinCoreExtensionBuilder,
Expand Down
2 changes: 0 additions & 2 deletions crates/utils/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ pub mod settings;
pub mod claims;
pub mod error;
pub mod request;
#[cfg(test)]
mod test;
pub mod utils;
pub mod version;

Expand Down
16 changes: 14 additions & 2 deletions crates/utils/src/rate_limit/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use crate::{error::LemmyError, utils::get_ip, IpAddr};
use actix_web::dev::{Service, ServiceRequest, ServiceResponse, Transform};
use crate::{error::LemmyError, IpAddr};
use actix_web::dev::{ConnectionInfo, Service, ServiceRequest, ServiceResponse, Transform};
use futures::future::{ok, Ready};
use rate_limiter::{RateLimitStorage, RateLimitType};
use serde::{Deserialize, Serialize};
Expand Down Expand Up @@ -220,3 +220,15 @@ where
})
}
}

fn get_ip(conn_info: &ConnectionInfo) -> IpAddr {
IpAddr(
conn_info
.realip_remote_addr()
.unwrap_or("127.0.0.1:12345")
.split(':')
.next()
.unwrap_or("127.0.0.1")
.to_string(),
)
}

0 comments on commit 36aaa50

Please sign in to comment.