You've already forked AstralRinth
forked from didirus/AstralRinth
Fix game version editing for versions
This commit is contained in:
@@ -242,8 +242,8 @@ impl Version {
|
||||
",
|
||||
id as VersionId,
|
||||
)
|
||||
.execute(exec)
|
||||
.await?;
|
||||
.execute(exec)
|
||||
.await?;
|
||||
|
||||
use futures::TryStreamExt;
|
||||
|
||||
|
||||
@@ -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,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -183,7 +183,7 @@ pub async fn teams(
|
||||
} else {
|
||||
None
|
||||
},
|
||||
accepted: data.accepted
|
||||
accepted: data.accepted,
|
||||
})
|
||||
.collect();
|
||||
|
||||
|
||||
@@ -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!(
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user