Fix dependency updates and creating versions with no game versions/loaders (#280)

This commit is contained in:
Geometrically 2022-01-24 11:27:39 -07:00 committed by GitHub
parent 384e14b32d
commit 2badcfa546
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 24 deletions

View File

@ -1792,28 +1792,6 @@
] ]
} }
}, },
"5b5faec59e516d031aaef88dd991fecddde53c1272d63a4eb43e80f8cedf1f2d": {
"query": "\n SELECT d.id id\n FROM versions v\n INNER JOIN dependencies d ON d.dependent_id = v.id\n INNER JOIN game_versions_versions gvv ON gvv.joining_version_id = v.id AND gvv.game_version_id = ANY($2)\n INNER JOIN loaders_versions lv ON lv.version_id = v.id AND lv.loader_id = ANY($3)\n WHERE v.mod_id = $1\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Int8",
"Int4Array",
"Int4Array"
]
},
"nullable": [
false
]
}
},
"5c3b340d278c356b6bc2cd7110e5093a7d1ad982ae0f468f8fff7c54e4e6603a": { "5c3b340d278c356b6bc2cd7110e5093a7d1ad982ae0f468f8fff7c54e4e6603a": {
"query": "\n SELECT id FROM project_types\n WHERE name = $1\n ", "query": "\n SELECT id FROM project_types\n WHERE name = $1\n ",
"describe": { "describe": {
@ -5799,6 +5777,28 @@
] ]
} }
}, },
"f17df1295edfaa1cac400ce705181b14a9e763f5e515c6913d0152717b89ceaa": {
"query": "\n SELECT d.id id\n FROM versions v\n INNER JOIN dependencies d ON d.mod_dependency_id = $1\n INNER JOIN game_versions_versions gvv ON gvv.joining_version_id = v.id AND gvv.game_version_id = ANY($2)\n INNER JOIN loaders_versions lv ON lv.version_id = v.id AND lv.loader_id = ANY($3)\n ",
"describe": {
"columns": [
{
"ordinal": 0,
"name": "id",
"type_info": "Int4"
}
],
"parameters": {
"Left": [
"Int8",
"Int4Array",
"Int4Array"
]
},
"nullable": [
false
]
}
},
"f22e9aee090f9952cf795a3540c03b0a5036dab0b740847d05e03d4565756283": { "f22e9aee090f9952cf795a3540c03b0a5036dab0b740847d05e03d4565756283": {
"query": "\n DELETE FROM team_members\n WHERE user_id = $1\n ", "query": "\n DELETE FROM team_members\n WHERE user_id = $1\n ",
"describe": { "describe": {

View File

@ -191,10 +191,9 @@ impl VersionBuilder {
" "
SELECT d.id id SELECT d.id id
FROM versions v FROM versions v
INNER JOIN dependencies d ON d.dependent_id = v.id INNER JOIN dependencies d ON d.mod_dependency_id = $1
INNER JOIN game_versions_versions gvv ON gvv.joining_version_id = v.id AND gvv.game_version_id = ANY($2) INNER JOIN game_versions_versions gvv ON gvv.joining_version_id = v.id AND gvv.game_version_id = ANY($2)
INNER JOIN loaders_versions lv ON lv.version_id = v.id AND lv.loader_id = ANY($3) INNER JOIN loaders_versions lv ON lv.version_id = v.id AND lv.loader_id = ANY($3)
WHERE v.mod_id = $1
", ",
self.project_id as ProjectId, self.project_id as ProjectId,
&self.game_versions.iter().map(|x| x.0).collect::<Vec<i32>>(), &self.game_versions.iter().map(|x| x.0).collect::<Vec<i32>>(),

View File

@ -36,8 +36,10 @@ pub struct InitialVersionData {
pub version_body: Option<String>, pub version_body: Option<String>,
#[validate(length(min = 0, max = 256))] #[validate(length(min = 0, max = 256))]
pub dependencies: Vec<Dependency>, pub dependencies: Vec<Dependency>,
#[validate(length(min = 1))]
pub game_versions: Vec<GameVersion>, pub game_versions: Vec<GameVersion>,
pub release_channel: VersionType, pub release_channel: VersionType,
#[validate(length(min = 1))]
pub loaders: Vec<Loader>, pub loaders: Vec<Loader>,
pub featured: bool, pub featured: bool,
} }