Fix all default clippy warnings (#480)

All trivial, fixes were for:
 - #[deny(clippy::if_same_then_else)]
 - #[warn(clippy::explicit_auto_deref)]
 - #[warn(clippy::bool_assert_comparison)]

Co-authored-by: Geometrically <18202329+Geometrically@users.noreply.github.com>
This commit is contained in:
Tom Martin
2022-11-17 17:09:53 +00:00
committed by GitHub
parent da19a07943
commit ba28bc94d3
26 changed files with 77 additions and 87 deletions

View File

@@ -189,8 +189,8 @@ impl TeamMember {
role: m.user_role, role: m.user_role,
badges: Badges::from_bits(m.badges as u64).unwrap_or_default(), badges: Badges::from_bits(m.badges as u64).unwrap_or_default(),
balance: m.balance, balance: m.balance,
payout_wallet: m.payout_wallet.map(|x| RecipientWallet::from_string(&*x)), payout_wallet: m.payout_wallet.map(|x| RecipientWallet::from_string(&x)),
payout_wallet_type: m.payout_wallet_type.map(|x| RecipientType::from_string(&*x)), payout_wallet_type: m.payout_wallet_type.map(|x| RecipientType::from_string(&x)),
payout_address: m.payout_address payout_address: m.payout_address
}, },
payouts_split: m.payouts_split payouts_split: m.payouts_split
@@ -258,8 +258,8 @@ impl TeamMember {
role: m.user_role, role: m.user_role,
badges: Badges::from_bits(m.badges as u64).unwrap_or_default(), badges: Badges::from_bits(m.badges as u64).unwrap_or_default(),
balance: m.balance, balance: m.balance,
payout_wallet: m.payout_wallet.map(|x| RecipientWallet::from_string(&*x)), payout_wallet: m.payout_wallet.map(|x| RecipientWallet::from_string(&x)),
payout_wallet_type: m.payout_wallet_type.map(|x| RecipientType::from_string(&*x)), payout_wallet_type: m.payout_wallet_type.map(|x| RecipientType::from_string(&x)),
payout_address: m.payout_address payout_address: m.payout_address
}, },
payouts_split: m.payouts_split payouts_split: m.payouts_split

View File

@@ -88,10 +88,10 @@ impl User {
balance: row.balance, balance: row.balance,
payout_wallet: row payout_wallet: row
.payout_wallet .payout_wallet
.map(|x| RecipientWallet::from_string(&*x)), .map(|x| RecipientWallet::from_string(&x)),
payout_wallet_type: row payout_wallet_type: row
.payout_wallet_type .payout_wallet_type
.map(|x| RecipientType::from_string(&*x)), .map(|x| RecipientType::from_string(&x)),
payout_address: row.payout_address, payout_address: row.payout_address,
})) }))
} else { } else {
@@ -137,10 +137,10 @@ impl User {
balance: row.balance, balance: row.balance,
payout_wallet: row payout_wallet: row
.payout_wallet .payout_wallet
.map(|x| RecipientWallet::from_string(&*x)), .map(|x| RecipientWallet::from_string(&x)),
payout_wallet_type: row payout_wallet_type: row
.payout_wallet_type .payout_wallet_type
.map(|x| RecipientType::from_string(&*x)), .map(|x| RecipientType::from_string(&x)),
payout_address: row.payout_address, payout_address: row.payout_address,
})) }))
} else { } else {
@@ -186,10 +186,10 @@ impl User {
balance: row.balance, balance: row.balance,
payout_wallet: row payout_wallet: row
.payout_wallet .payout_wallet
.map(|x| RecipientWallet::from_string(&*x)), .map(|x| RecipientWallet::from_string(&x)),
payout_wallet_type: row payout_wallet_type: row
.payout_wallet_type .payout_wallet_type
.map(|x| RecipientType::from_string(&*x)), .map(|x| RecipientType::from_string(&x)),
payout_address: row.payout_address, payout_address: row.payout_address,
})) }))
} else { } else {
@@ -236,10 +236,10 @@ impl User {
balance: u.balance, balance: u.balance,
payout_wallet: u payout_wallet: u
.payout_wallet .payout_wallet
.map(|x| RecipientWallet::from_string(&*x)), .map(|x| RecipientWallet::from_string(&x)),
payout_wallet_type: u payout_wallet_type: u
.payout_wallet_type .payout_wallet_type
.map(|x| RecipientType::from_string(&*x)), .map(|x| RecipientType::from_string(&x)),
payout_address: u.payout_address, payout_address: u.payout_address,
})) }))
}) })

View File

@@ -26,9 +26,8 @@ impl FileHost for MockHost {
std::fs::create_dir_all( std::fs::create_dir_all(
path.parent().ok_or(FileHostingError::InvalidFilename)?, path.parent().ok_or(FileHostingError::InvalidFilename)?,
)?; )?;
let content_sha1 = sha1::Sha1::from(&*file_bytes).hexdigest(); let content_sha1 = sha1::Sha1::from(&file_bytes).hexdigest();
let content_sha512 = let content_sha512 = format!("{:x}", sha2::Sha512::digest(&file_bytes));
format!("{:x}", sha2::Sha512::digest(&*file_bytes));
std::fs::write(path, &*file_bytes)?; std::fs::write(path, &*file_bytes)?;
Ok(UploadFileData { Ok(UploadFileData {

View File

@@ -65,13 +65,12 @@ impl FileHost for S3Host {
file_bytes: Bytes, file_bytes: Bytes,
) -> Result<UploadFileData, FileHostingError> { ) -> Result<UploadFileData, FileHostingError> {
let content_sha1 = sha1::Sha1::from(&file_bytes).hexdigest(); let content_sha1 = sha1::Sha1::from(&file_bytes).hexdigest();
let content_sha512 = let content_sha512 = format!("{:x}", sha2::Sha512::digest(&file_bytes));
format!("{:x}", sha2::Sha512::digest(&*file_bytes));
self.bucket self.bucket
.put_object_with_content_type( .put_object_with_content_type(
format!("/{}", file_name), format!("/{}", file_name),
&*file_bytes, &file_bytes,
content_type, content_type,
) )
.await .await

View File

@@ -75,11 +75,11 @@ async fn main() -> std::io::Result<()> {
), ),
"s3" => Arc::new( "s3" => Arc::new(
S3Host::new( S3Host::new(
&*dotenvy::var("S3_BUCKET_NAME").unwrap(), &dotenvy::var("S3_BUCKET_NAME").unwrap(),
&*dotenvy::var("S3_REGION").unwrap(), &dotenvy::var("S3_REGION").unwrap(),
&*dotenvy::var("S3_URL").unwrap(), &dotenvy::var("S3_URL").unwrap(),
&*dotenvy::var("S3_ACCESS_TOKEN").unwrap(), &dotenvy::var("S3_ACCESS_TOKEN").unwrap(),
&*dotenvy::var("S3_SECRET").unwrap(), &dotenvy::var("S3_SECRET").unwrap(),
) )
.unwrap(), .unwrap(),
), ),

View File

@@ -137,7 +137,7 @@ impl From<DBUser> for User {
avatar_url: data.avatar_url, avatar_url: data.avatar_url,
bio: data.bio, bio: data.bio,
created: data.created, created: data.created,
role: Role::from_string(&*data.role), role: Role::from_string(&data.role),
badges: data.badges, badges: data.badges,
payout_data: None, payout_data: None,
} }

View File

@@ -201,7 +201,7 @@ mod tests {
.send(ActorMessage::Set { .send(ActorMessage::Set {
key: "hello".to_string(), key: "hello".to_string(),
value: 30usize, value: 30usize,
expiry: expiry, expiry,
}) })
.await; .await;
let res = res.expect("Failed to send msg"); let res = res.expect("Failed to send msg");
@@ -235,7 +235,7 @@ mod tests {
.send(ActorMessage::Set { .send(ActorMessage::Set {
key: "hello".to_string(), key: "hello".to_string(),
value: 30usize, value: 30usize,
expiry: expiry, expiry,
}) })
.await; .await;
let res = res.expect("Failed to send msg"); let res = res.expect("Failed to send msg");
@@ -246,7 +246,7 @@ mod tests {
}, },
_ => panic!("Shouldn't happen!"), _ => panic!("Shouldn't happen!"),
} }
assert_eq!(addr.connected(), true); assert!(addr.connected());
let res3 = addr.send(ActorMessage::Expire("hello".to_string())).await; let res3 = addr.send(ActorMessage::Expire("hello".to_string())).await;
let res3 = res3.expect("Failed to send msg"); let res3 = res3.expect("Failed to send msg");
@@ -254,9 +254,7 @@ mod tests {
ActorResponse::Expire(c) => match c.await { ActorResponse::Expire(c) => match c.await {
Ok(dur) => { Ok(dur) => {
let now = Duration::from_secs(3); let now = Duration::from_secs(3);
if dur > now { if dur > now || dur > now + Duration::from_secs(4) {
panic!("Expiry is invalid!");
} else if dur > now + Duration::from_secs(4) {
panic!("Expiry is invalid!"); panic!("Expiry is invalid!");
} }
} }

View File

@@ -168,7 +168,7 @@ pub async fn auth_callback(
client: Data<PgPool>, client: Data<PgPool>,
) -> Result<HttpResponse, AuthorizationError> { ) -> Result<HttpResponse, AuthorizationError> {
let mut transaction = client.begin().await?; let mut transaction = client.begin().await?;
let state_id = parse_base62(&*info.state)?; let state_id = parse_base62(&info.state)?;
let result_option = sqlx::query!( let result_option = sqlx::query!(
" "
@@ -213,7 +213,7 @@ pub async fn auth_callback(
.json() .json()
.await?; .await?;
let user = get_github_user_from_token(&*token.access_token).await?; let user = get_github_user_from_token(&token.access_token).await?;
let user_result = let user_result =
User::get_from_github_id(user.id, &mut *transaction).await?; User::get_from_github_id(user.id, &mut *transaction).await?;
@@ -241,7 +241,7 @@ pub async fn auth_callback(
while username.is_none() { while username.is_none() {
let test_username = format!( let test_username = format!(
"{}{}", "{}{}",
&*user.login, &user.login,
if username_increment > 0 { if username_increment > 0 {
username_increment.to_string() username_increment.to_string()
} else { } else {
@@ -250,7 +250,7 @@ pub async fn auth_callback(
); );
let new_id = crate::database::models::User::get_id_from_username_or_id( let new_id = crate::database::models::User::get_id_from_username_or_id(
&*test_username, &test_username,
&**client, &**client,
) )
.await?; .await?;

View File

@@ -60,7 +60,7 @@ pub async fn maven_metadata(
let project_id = params.into_inner().0; let project_id = params.into_inner().0;
let project_data = let project_data =
database::models::Project::get_full_from_slug_or_project_id( database::models::Project::get_full_from_slug_or_project_id(
&*project_id, &project_id,
&**pool, &**pool,
) )
.await?; .await?;

View File

@@ -201,7 +201,7 @@ pub async fn handle_stripe_webhook(
object: Value, object: Value,
} }
let webhook: StripeWebhookBody = serde_json::from_str(&*body)?; let webhook: StripeWebhookBody = serde_json::from_str(&body)?;
#[derive(Deserialize)] #[derive(Deserialize)]
struct CheckoutSession { struct CheckoutSession {

View File

@@ -124,7 +124,7 @@ pub async fn notifications_delete(
let user = get_user_from_headers(req.headers(), &**pool).await?; let user = get_user_from_headers(req.headers(), &**pool).await?;
let notification_ids = let notification_ids =
serde_json::from_str::<Vec<NotificationId>>(&*ids.ids)? serde_json::from_str::<Vec<NotificationId>>(&ids.ids)?
.into_iter() .into_iter()
.map(|x| x.into()) .map(|x| x.into())
.collect(); .collect();

View File

@@ -380,7 +380,7 @@ pub async fn project_create_inner(
})?; })?;
let slug_project_id_option: Option<ProjectId> = let slug_project_id_option: Option<ProjectId> =
serde_json::from_str(&*format!("\"{}\"", create_data.slug)).ok(); serde_json::from_str(&format!("\"{}\"", create_data.slug)).ok();
if let Some(slug_project_id) = slug_project_id_option { if let Some(slug_project_id) = slug_project_id_option {
let slug_project_id: models::ids::ProjectId = let slug_project_id: models::ids::ProjectId =
@@ -569,7 +569,7 @@ pub async fn project_create_inner(
&content_disposition, &content_disposition,
project_id, project_id,
created_version.version_id.into(), created_version.version_id.into(),
&*project_create_data.project_type, &project_create_data.project_type,
version_data.loaders.clone(), version_data.loaders.clone(),
version_data.game_versions.clone(), version_data.game_versions.clone(),
all_game_versions.clone(), all_game_versions.clone(),
@@ -875,10 +875,7 @@ async fn create_initial_version(
author_id: author.into(), author_id: author.into(),
name: version_data.version_title.clone(), name: version_data.version_title.clone(),
version_number: version_data.version_number.clone(), version_number: version_data.version_number.clone(),
changelog: version_data changelog: version_data.version_body.clone().unwrap_or_default(),
.version_body
.clone()
.unwrap_or_else(|| "".to_string()),
files: Vec::new(), files: Vec::new(),
dependencies, dependencies,
game_versions, game_versions,

View File

@@ -24,7 +24,7 @@ pub async fn project_search(
web::Query(info): web::Query<SearchRequest>, web::Query(info): web::Query<SearchRequest>,
config: web::Data<SearchConfig>, config: web::Data<SearchConfig>,
) -> Result<HttpResponse, SearchError> { ) -> Result<HttpResponse, SearchError> {
let results = search_for_project(&info, &**config).await?; let results = search_for_project(&info, &config).await?;
Ok(HttpResponse::Ok().json(results)) Ok(HttpResponse::Ok().json(results))
} }
@@ -39,7 +39,7 @@ pub async fn projects_get(
web::Query(ids): web::Query<ProjectIds>, web::Query(ids): web::Query<ProjectIds>,
pool: web::Data<PgPool>, pool: web::Data<PgPool>,
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let project_ids = serde_json::from_str::<Vec<ProjectId>>(&*ids.ids)? let project_ids = serde_json::from_str::<Vec<ProjectId>>(&ids.ids)?
.into_iter() .into_iter()
.map(|x| x.into()) .map(|x| x.into())
.collect(); .collect();
@@ -95,7 +95,7 @@ pub async fn project_get_check(
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let slug = info.into_inner().0; let slug = info.into_inner().0;
let id_option = models::ids::base62_impl::parse_base62(&*slug).ok(); let id_option = models::ids::base62_impl::parse_base62(&slug).ok();
let id = if let Some(id) = id_option { let id = if let Some(id) = id_option {
let id = sqlx::query!( let id = sqlx::query!(
@@ -745,7 +745,7 @@ pub async fn project_edit(
if let Some(slug) = slug { if let Some(slug) = slug {
let slug_project_id_option: Option<ProjectId> = let slug_project_id_option: Option<ProjectId> =
serde_json::from_str(&*format!("\"{}\"", slug)).ok(); serde_json::from_str(&format!("\"{}\"", slug)).ok();
if let Some(slug_project_id) = slug_project_id_option { if let Some(slug_project_id) = slug_project_id_option {
let slug_project_id: database::models::ids::ProjectId = let slug_project_id: database::models::ids::ProjectId =
slug_project_id.into(); slug_project_id.into();
@@ -1006,7 +1006,7 @@ pub async fn project_icon_edit(
mut payload: web::Payload, mut payload: web::Payload,
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
if let Some(content_type) = if let Some(content_type) =
crate::util::ext::get_image_content_type(&*ext.ext) crate::util::ext::get_image_content_type(&ext.ext)
{ {
let cdn_url = dotenvy::var("CDN_URL")?; let cdn_url = dotenvy::var("CDN_URL")?;
let user = get_user_from_headers(req.headers(), &**pool).await?; let user = get_user_from_headers(req.headers(), &**pool).await?;
@@ -1183,7 +1183,7 @@ pub async fn add_gallery_item(
mut payload: web::Payload, mut payload: web::Payload,
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
if let Some(content_type) = if let Some(content_type) =
crate::util::ext::get_image_content_type(&*ext.ext) crate::util::ext::get_image_content_type(&ext.ext)
{ {
item.validate().map_err(|err| { item.validate().map_err(|err| {
ApiError::Validation(validation_errors_to_string(err, None)) ApiError::Validation(validation_errors_to_string(err, None))

View File

@@ -42,7 +42,7 @@ pub async fn report_create(
let id = let id =
crate::database::models::generate_report_id(&mut transaction).await?; crate::database::models::generate_report_id(&mut transaction).await?;
let report_type = crate::database::models::categories::ReportType::get_id( let report_type = crate::database::models::categories::ReportType::get_id(
&*new_report.report_type, &new_report.report_type,
&mut *transaction, &mut *transaction,
) )
.await? .await?
@@ -66,7 +66,7 @@ pub async fn report_create(
match new_report.item_type { match new_report.item_type {
ItemType::Project => { ItemType::Project => {
report.project_id = Some( report.project_id = Some(
serde_json::from_str::<ProjectId>(&*format!( serde_json::from_str::<ProjectId>(&format!(
"\"{}\"", "\"{}\"",
new_report.item_id new_report.item_id
))? ))?
@@ -75,7 +75,7 @@ pub async fn report_create(
} }
ItemType::Version => { ItemType::Version => {
report.version_id = Some( report.version_id = Some(
serde_json::from_str::<VersionId>(&*format!( serde_json::from_str::<VersionId>(&format!(
"\"{}\"", "\"{}\"",
new_report.item_id new_report.item_id
))? ))?
@@ -84,7 +84,7 @@ pub async fn report_create(
} }
ItemType::User => { ItemType::User => {
report.user_id = Some( report.user_id = Some(
serde_json::from_str::<UserId>(&*format!( serde_json::from_str::<UserId>(&format!(
"\"{}\"", "\"{}\"",
new_report.item_id new_report.item_id
))? ))?

View File

@@ -165,7 +165,7 @@ pub async fn loader_create(
.name(&new_loader.name)? .name(&new_loader.name)?
.icon(&new_loader.icon)? .icon(&new_loader.icon)?
.supported_project_types( .supported_project_types(
&*project_types.into_iter().map(|x| x.id).collect::<Vec<_>>(), &project_types.into_iter().map(|x| x.id).collect::<Vec<_>>(),
)? )?
.insert(&mut transaction) .insert(&mut transaction)
.await?; .await?;

View File

@@ -115,7 +115,7 @@ pub async fn teams_get(
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
use itertools::Itertools; use itertools::Itertools;
let team_ids = serde_json::from_str::<Vec<TeamId>>(&*ids.ids)? let team_ids = serde_json::from_str::<Vec<TeamId>>(&ids.ids)?
.into_iter() .into_iter()
.map(|x| x.into()) .map(|x| x.into())
.collect::<Vec<crate::database::models::ids::TeamId>>(); .collect::<Vec<crate::database::models::ids::TeamId>>();

View File

@@ -41,7 +41,7 @@ pub async fn users_get(
web::Query(ids): web::Query<UserIds>, web::Query(ids): web::Query<UserIds>,
pool: web::Data<PgPool>, pool: web::Data<PgPool>,
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let user_ids = serde_json::from_str::<Vec<UserId>>(&*ids.ids)? let user_ids = serde_json::from_str::<Vec<UserId>>(&ids.ids)?
.into_iter() .into_iter()
.map(|x| x.into()) .map(|x| x.into())
.collect(); .collect();
@@ -61,7 +61,7 @@ pub async fn user_get(
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let string = info.into_inner().0; let string = info.into_inner().0;
let id_option: Option<UserId> = let id_option: Option<UserId> =
serde_json::from_str(&*format!("\"{}\"", string)).ok(); serde_json::from_str(&format!("\"{}\"", string)).ok();
let mut user_data; let mut user_data;
@@ -92,7 +92,7 @@ pub async fn projects_list(
let user = get_user_from_headers(req.headers(), &**pool).await.ok(); let user = get_user_from_headers(req.headers(), &**pool).await.ok();
let id_option = crate::database::models::User::get_id_from_username_or_id( let id_option = crate::database::models::User::get_id_from_username_or_id(
&*info.into_inner().0, &info.into_inner().0,
&**pool, &**pool,
) )
.await?; .await?;
@@ -191,7 +191,7 @@ pub async fn user_edit(
})?; })?;
let id_option = crate::database::models::User::get_id_from_username_or_id( let id_option = crate::database::models::User::get_id_from_username_or_id(
&*info.into_inner().0, &info.into_inner().0,
&**pool, &**pool,
) )
.await?; .await?;
@@ -415,12 +415,12 @@ pub async fn user_icon_edit(
mut payload: web::Payload, mut payload: web::Payload,
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
if let Some(content_type) = if let Some(content_type) =
crate::util::ext::get_image_content_type(&*ext.ext) crate::util::ext::get_image_content_type(&ext.ext)
{ {
let cdn_url = dotenvy::var("CDN_URL")?; let cdn_url = dotenvy::var("CDN_URL")?;
let user = get_user_from_headers(req.headers(), &**pool).await?; let user = get_user_from_headers(req.headers(), &**pool).await?;
let id_option = let id_option =
User::get_id_from_username_or_id(&*info.into_inner().0, &**pool) User::get_id_from_username_or_id(&info.into_inner().0, &**pool)
.await?; .await?;
if let Some(id) = id_option { if let Some(id) = id_option {
@@ -511,8 +511,7 @@ pub async fn user_delete(
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let user = get_user_from_headers(req.headers(), &**pool).await?; let user = get_user_from_headers(req.headers(), &**pool).await?;
let id_option = let id_option =
User::get_id_from_username_or_id(&*info.into_inner().0, &**pool) User::get_id_from_username_or_id(&info.into_inner().0, &**pool).await?;
.await?;
if let Some(id) = id_option { if let Some(id) = id_option {
if !user.role.is_admin() && user.id != id.into() { if !user.role.is_admin() && user.id != id.into() {
@@ -549,7 +548,7 @@ pub async fn user_follows(
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let user = get_user_from_headers(req.headers(), &**pool).await?; let user = get_user_from_headers(req.headers(), &**pool).await?;
let id_option = crate::database::models::User::get_id_from_username_or_id( let id_option = crate::database::models::User::get_id_from_username_or_id(
&*info.into_inner().0, &info.into_inner().0,
&**pool, &**pool,
) )
.await?; .await?;
@@ -599,7 +598,7 @@ pub async fn user_notifications(
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let user = get_user_from_headers(req.headers(), &**pool).await?; let user = get_user_from_headers(req.headers(), &**pool).await?;
let id_option = crate::database::models::User::get_id_from_username_or_id( let id_option = crate::database::models::User::get_id_from_username_or_id(
&*info.into_inner().0, &info.into_inner().0,
&**pool, &**pool,
) )
.await?; .await?;
@@ -641,8 +640,7 @@ pub async fn user_payouts(
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let user = get_user_from_headers(req.headers(), &**pool).await?; let user = get_user_from_headers(req.headers(), &**pool).await?;
let id_option = let id_option =
User::get_id_from_username_or_id(&*info.into_inner().0, &**pool) User::get_id_from_username_or_id(&info.into_inner().0, &**pool).await?;
.await?;
if let Some(id) = id_option { if let Some(id) = id_option {
if !user.role.is_admin() && user.id != id.into() { if !user.role.is_admin() && user.id != id.into() {
@@ -719,8 +717,7 @@ pub async fn user_payouts_request(
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let user = get_user_from_headers(req.headers(), &**pool).await?; let user = get_user_from_headers(req.headers(), &**pool).await?;
let id_option = let id_option =
User::get_id_from_username_or_id(&*info.into_inner().0, &**pool) User::get_id_from_username_or_id(&info.into_inner().0, &**pool).await?;
.await?;
if let Some(id) = id_option { if let Some(id) = id_option {
if !user.role.is_admin() && user.id != id.into() { if !user.role.is_admin() && user.id != id.into() {

View File

@@ -52,7 +52,7 @@ pub async fn mod_search(
web::Query(info): web::Query<SearchRequest>, web::Query(info): web::Query<SearchRequest>,
config: web::Data<SearchConfig>, config: web::Data<SearchConfig>,
) -> Result<HttpResponse, SearchError> { ) -> Result<HttpResponse, SearchError> {
let results = search_for_project(&info, &**config).await?; let results = search_for_project(&info, &config).await?;
Ok(HttpResponse::Ok().json(SearchResults { Ok(HttpResponse::Ok().json(SearchResults {
hits: results hits: results
.hits .hits
@@ -92,7 +92,7 @@ pub async fn mods_get(
pool: web::Data<PgPool>, pool: web::Data<PgPool>,
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let project_ids = let project_ids =
serde_json::from_str::<Vec<models::ids::ProjectId>>(&*ids.ids)? serde_json::from_str::<Vec<models::ids::ProjectId>>(&ids.ids)?
.into_iter() .into_iter()
.map(|x| x.into()) .map(|x| x.into())
.collect(); .collect();

View File

@@ -74,7 +74,7 @@ pub async fn report_create(
let id = let id =
crate::database::models::generate_report_id(&mut transaction).await?; crate::database::models::generate_report_id(&mut transaction).await?;
let report_type = crate::database::models::categories::ReportType::get_id( let report_type = crate::database::models::categories::ReportType::get_id(
&*new_report.report_type, &new_report.report_type,
&mut *transaction, &mut *transaction,
) )
.await? .await?
@@ -98,7 +98,7 @@ pub async fn report_create(
match new_report.item_type { match new_report.item_type {
ItemType::Mod => { ItemType::Mod => {
report.project_id = Some( report.project_id = Some(
serde_json::from_str::<ProjectId>(&*format!( serde_json::from_str::<ProjectId>(&format!(
"\"{}\"", "\"{}\"",
new_report.item_id new_report.item_id
))? ))?
@@ -107,7 +107,7 @@ pub async fn report_create(
} }
ItemType::Version => { ItemType::Version => {
report.version_id = Some( report.version_id = Some(
serde_json::from_str::<VersionId>(&*format!( serde_json::from_str::<VersionId>(&format!(
"\"{}\"", "\"{}\"",
new_report.item_id new_report.item_id
))? ))?
@@ -116,7 +116,7 @@ pub async fn report_create(
} }
ItemType::User => { ItemType::User => {
report.user_id = Some( report.user_id = Some(
serde_json::from_str::<UserId>(&*format!( serde_json::from_str::<UserId>(&format!(
"\"{}\"", "\"{}\"",
new_report.item_id new_report.item_id
))? ))?

View File

@@ -86,7 +86,7 @@ pub async fn loader_create(
.name(&name)? .name(&name)?
.icon(DEFAULT_ICON)? .icon(DEFAULT_ICON)?
.supported_project_types( .supported_project_types(
&*project_types.into_iter().map(|x| x.id).collect::<Vec<_>>(), &project_types.into_iter().map(|x| x.id).collect::<Vec<_>>(),
)? )?
.insert(&mut transaction) .insert(&mut transaction)
.await?; .await?;

View File

@@ -16,7 +16,7 @@ pub async fn mods_list(
let user = get_user_from_headers(req.headers(), &**pool).await.ok(); let user = get_user_from_headers(req.headers(), &**pool).await.ok();
let id_option = crate::database::models::User::get_id_from_username_or_id( let id_option = crate::database::models::User::get_id_from_username_or_id(
&*info.into_inner().0, &info.into_inner().0,
&**pool, &**pool,
) )
.await?; .await?;
@@ -59,7 +59,7 @@ pub async fn user_follows(
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let user = get_user_from_headers(req.headers(), &**pool).await?; let user = get_user_from_headers(req.headers(), &**pool).await?;
let id_option = crate::database::models::User::get_id_from_username_or_id( let id_option = crate::database::models::User::get_id_from_username_or_id(
&*info.into_inner().0, &info.into_inner().0,
&**pool, &**pool,
) )
.await?; .await?;

View File

@@ -159,7 +159,7 @@ pub async fn versions_get(
ids: web::Query<VersionIds>, ids: web::Query<VersionIds>,
pool: web::Data<PgPool>, pool: web::Data<PgPool>,
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let version_ids = serde_json::from_str::<Vec<VersionId>>(&*ids.ids)? let version_ids = serde_json::from_str::<Vec<VersionId>>(&ids.ids)?
.into_iter() .into_iter()
.map(|x| x.into()) .map(|x| x.into())
.collect(); .collect();

View File

@@ -260,7 +260,7 @@ async fn version_create_inner(
changelog: version_create_data changelog: version_create_data
.version_body .version_body
.clone() .clone()
.unwrap_or_else(|| "".to_string()), .unwrap_or_default(),
files: Vec::new(), files: Vec::new(),
dependencies, dependencies,
game_versions, game_versions,
@@ -304,7 +304,7 @@ async fn version_create_inner(
&content_disposition, &content_disposition,
version.project_id.into(), version.project_id.into(),
version.version_id.into(), version.version_id.into(),
&*project_type, &project_type,
version_data.loaders, version_data.loaders,
version_data.game_versions, version_data.game_versions,
all_game_versions.clone(), all_game_versions.clone(),
@@ -585,7 +585,7 @@ async fn upload_file_to_version_inner(
&content_disposition, &content_disposition,
project_id, project_id,
version_id.into(), version_id.into(),
&*project_type, &project_type,
version.loaders.clone().into_iter().map(Loader).collect(), version.loaders.clone().into_iter().map(Loader).collect(),
version version
.game_versions .game_versions

View File

@@ -135,7 +135,7 @@ pub async fn versions_get(
pool: web::Data<PgPool>, pool: web::Data<PgPool>,
) -> Result<HttpResponse, ApiError> { ) -> Result<HttpResponse, ApiError> {
let version_ids = let version_ids =
serde_json::from_str::<Vec<models::ids::VersionId>>(&*ids.ids)? serde_json::from_str::<Vec<models::ids::VersionId>>(&ids.ids)?
.into_iter() .into_iter()
.map(|x| x.into()) .map(|x| x.into())
.collect(); .collect();

View File

@@ -223,7 +223,7 @@ pub async fn search_for_project(
write!(filter_string, " AND ({})", filters)?; write!(filter_string, " AND ({})", filters)?;
} }
} else { } else {
filter_string.push_str(&*filters); filter_string.push_str(&filters);
} }
if !filter_string.is_empty() { if !filter_string.is_empty() {

View File

@@ -30,7 +30,7 @@ pub fn validation_errors_to_string(
} }
ValidationErrorsKind::List(list) => { ValidationErrorsKind::List(list) => {
if let Some((index, errors)) = list.iter().next() { if let Some((index, errors)) = list.iter().next() {
output.push_str(&*validation_errors_to_string( output.push_str(&validation_errors_to_string(
*errors.clone(), *errors.clone(),
Some(format!( Some(format!(
"of list {} with index {}", "of list {} with index {}",
@@ -44,12 +44,12 @@ pub fn validation_errors_to_string(
ValidationErrorsKind::Field(errors) => { ValidationErrorsKind::Field(errors) => {
if let Some(error) = errors.get(0) { if let Some(error) = errors.get(0) {
if let Some(adder) = adder { if let Some(adder) = adder {
output.push_str(&*format!( output.push_str(&format!(
"Field {} {} failed validation with error {}", "Field {} {} failed validation with error {}",
field, adder, error.code field, adder, error.code
)); ));
} else { } else {
output.push_str(&*format!( output.push_str(&format!(
"Field {} failed validation with error {}", "Field {} failed validation with error {}",
field, error.code field, error.code
)); ));