diff --git a/sqlx-data.json b/sqlx-data.json index afeaa8a2..ac3cbb57 100644 --- a/sqlx-data.json +++ b/sqlx-data.json @@ -875,6 +875,19 @@ "nullable": [] } }, + "3f2f05653552ce8c1be95ce0a922ab41f52f40f8ff6c91c6621481102c8f35e3": { + "query": "\n INSERT INTO game_versions_versions (game_version_id, joining_version_id)\n VALUES ($1, $2)\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Int4", + "Int8" + ] + }, + "nullable": [] + } + }, "42e072309779598d0c213280dd8052d1b4889cb24ef5204ca13b74f693b94328": { "query": "\n SELECT user_id FROM team_members tm\n INNER JOIN mods ON mods.team_id = tm.team_id\n WHERE mods.id = $1\n ", "describe": { @@ -1254,6 +1267,18 @@ "nullable": [] } }, + "507314fdcacaa3c7751738c9d0baee2b90aec719b6b203f922824eced5ea8369": { + "query": "\n DELETE FROM game_versions_versions WHERE joining_version_id = $1\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Int8" + ] + }, + "nullable": [] + } + }, "50a15c443b01cefc478a3b5ca03bb9b279782d74bcf42ee4e7c06581457c130d": { "query": "\n INSERT INTO versions (\n id, mod_id, author_id, name, version_number,\n changelog_url, date_published,\n downloads, release_channel, accepted, featured\n )\n VALUES (\n $1, $2, $3, $4, $5,\n $6, $7,\n $8, $9,\n $10, $11\n )\n ", "describe": { @@ -3826,6 +3851,18 @@ ] } }, + "fa911efc808e726c13659d3ce6baf61dc562e6f1e73fd65537a4ab1dad17120e": { + "query": "\n DELETE FROM downloads\n WHERE downloads.version_id = $1\n ", + "describe": { + "columns": [], + "parameters": { + "Left": [ + "Int8" + ] + }, + "nullable": [] + } + }, "fb6178b27856ff583039a974173efe5d6be4e347b6cc1d4904cf750a40d1b77f": { "query": "\n SELECT dependency_id id FROM dependencies\n WHERE dependent_id = $1\n ", "describe": { diff --git a/src/database/models/version_item.rs b/src/database/models/version_item.rs index 5cdb162e..b3723ffd 100644 --- a/src/database/models/version_item.rs +++ b/src/database/models/version_item.rs @@ -242,8 +242,8 @@ impl Version { ", id as VersionId, ) - .execute(exec) - .await?; + .execute(exec) + .await?; use futures::TryStreamExt; diff --git a/src/routes/teams.rs b/src/routes/teams.rs index 47bab7d6..07585481 100644 --- a/src/routes/teams.rs +++ b/src/routes/teams.rs @@ -43,15 +43,13 @@ pub async fn team_members_get( for team_member in members_data { if team_member.accepted { - team_members.push( - crate::models::teams::TeamMember { - team_id: id, - user_id: team_member.user_id.into(), - role: team_member.role, - permissions: None, - accepted: team_member.accepted - } - ) + team_members.push(crate::models::teams::TeamMember { + team_id: id, + user_id: team_member.user_id.into(), + role: team_member.role, + permissions: None, + accepted: team_member.accepted, + }) } } diff --git a/src/routes/users.rs b/src/routes/users.rs index 1939dee2..f699f609 100644 --- a/src/routes/users.rs +++ b/src/routes/users.rs @@ -183,7 +183,7 @@ pub async fn teams( } else { None }, - accepted: data.accepted + accepted: data.accepted, }) .collect(); diff --git a/src/routes/versions.rs b/src/routes/versions.rs index 239d580e..c0ac2677 100644 --- a/src/routes/versions.rs +++ b/src/routes/versions.rs @@ -361,6 +361,43 @@ pub async fn version_edit( } } + if let Some(game_versions) = &new_version.game_versions { + sqlx::query!( + " + DELETE FROM game_versions_versions WHERE joining_version_id = $1 + ", + id as database::models::ids::VersionId, + ) + .execute(&mut *transaction) + .await + .map_err(|e| ApiError::DatabaseError(e.into()))?; + + for game_version in game_versions { + let game_version_id = database::models::categories::GameVersion::get_id( + &game_version.0, + &mut *transaction, + ) + .await? + .ok_or_else(|| { + ApiError::InvalidInputError( + "No database entry for game version provided.".to_string(), + ) + })?; + + sqlx::query!( + " + INSERT INTO game_versions_versions (game_version_id, joining_version_id) + VALUES ($1, $2) + ", + game_version_id as database::models::ids::GameVersionId, + id as database::models::ids::VersionId, + ) + .execute(&mut *transaction) + .await + .map_err(|e| ApiError::DatabaseError(e.into()))?; + } + } + if let Some(loaders) = &new_version.loaders { sqlx::query!( "