Fix additional category editing (#417)

This commit is contained in:
Geometrically
2022-08-12 20:48:01 -07:00
committed by GitHub
parent 8272386733
commit ded4f95537
2 changed files with 50 additions and 44 deletions

View File

@@ -519,6 +519,32 @@ pub async fn project_edit(
}
}
if perms.contains(Permissions::EDIT_DETAILS) {
if new_project.categories.is_some() {
sqlx::query!(
"
DELETE FROM mods_categories
WHERE joining_mod_id = $1 AND is_additional = FALSE
",
id as database::models::ids::ProjectId,
)
.execute(&mut *transaction)
.await?;
}
if new_project.additional_categories.is_some() {
sqlx::query!(
"
DELETE FROM mods_categories
WHERE joining_mod_id = $1 AND is_additional = TRUE
",
id as database::models::ids::ProjectId,
)
.execute(&mut *transaction)
.await?;
}
}
if let Some(categories) = &new_project.categories {
if !perms.contains(Permissions::EDIT_DETAILS) {
return Err(ApiError::CustomAuthentication(
@@ -527,16 +553,6 @@ pub async fn project_edit(
));
}
sqlx::query!(
"
DELETE FROM mods_categories
WHERE joining_mod_id = $1 AND is_additional = FALSE
",
id as database::models::ids::ProjectId,
)
.execute(&mut *transaction)
.await?;
for category in categories {
let category_id =
database::models::categories::Category::get_id(
@@ -572,16 +588,6 @@ pub async fn project_edit(
));
}
sqlx::query!(
"
DELETE FROM mods_categories
WHERE joining_mod_id = $1 AND is_additional = TRUE
",
id as database::models::ids::ProjectId,
)
.execute(&mut *transaction)
.await?;
for category in categories {
let category_id =
database::models::categories::Category::get_id(