You've already forked AstralRinth
forked from didirus/AstralRinth
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:
@@ -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
|
||||||
|
|||||||
@@ -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,
|
||||||
}))
|
}))
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
10
src/main.rs
10
src/main.rs
@@ -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(),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -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,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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?;
|
||||||
|
|||||||
@@ -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?;
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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
|
||||||
))?
|
))?
|
||||||
|
|||||||
@@ -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?;
|
||||||
|
|||||||
@@ -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>>();
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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
|
||||||
))?
|
))?
|
||||||
|
|||||||
@@ -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?;
|
||||||
|
|||||||
@@ -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?;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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
|
||||||
));
|
));
|
||||||
|
|||||||
Reference in New Issue
Block a user