You've already forked AstralRinth
forked from didirus/AstralRinth
Fix some mods and versions 'dissapearing'
This commit is contained in:
@@ -21,7 +21,7 @@ pub use version_item::VersionFile;
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
pub enum DatabaseError {
|
||||
#[error("Error while interacting with the database")]
|
||||
#[error("Error while interacting with the database: {0}")]
|
||||
DatabaseError(#[from] sqlx::error::Error),
|
||||
#[error("Error while trying to generate random ID")]
|
||||
RandomIdError,
|
||||
|
||||
@@ -411,9 +411,9 @@ impl Mod {
|
||||
s.status status_name, cs.name client_side_type, ss.name server_side_type, l.short short, l.name license_name,
|
||||
ARRAY_AGG( DISTINCT c.category) categories, ARRAY_AGG(DISTINCT v.id) versions
|
||||
FROM mods m
|
||||
INNER JOIN mods_categories mc ON joining_mod_id = m.id
|
||||
INNER JOIN categories c ON mc.joining_category_id = c.id
|
||||
INNER JOIN versions v ON v.mod_id = m.id
|
||||
LEFT OUTER JOIN mods_categories mc ON joining_mod_id = m.id
|
||||
LEFT OUTER JOIN categories c ON mc.joining_category_id = c.id
|
||||
LEFT OUTER JOIN versions v ON v.mod_id = m.id
|
||||
INNER JOIN statuses s ON s.id = m.status
|
||||
INNER JOIN side_types cs ON m.client_side = cs.id
|
||||
INNER JOIN side_types ss ON m.server_side = ss.id
|
||||
@@ -490,9 +490,9 @@ impl Mod {
|
||||
s.status status_name, cs.name client_side_type, ss.name server_side_type, l.short short, l.name license_name,
|
||||
ARRAY_AGG( DISTINCT c.category) categories, ARRAY_AGG(DISTINCT v.id) versions
|
||||
FROM mods m
|
||||
INNER JOIN mods_categories mc ON joining_mod_id = m.id
|
||||
INNER JOIN categories c ON mc.joining_category_id = c.id
|
||||
INNER JOIN versions v ON v.mod_id = m.id
|
||||
LEFT OUTER JOIN mods_categories mc ON joining_mod_id = m.id
|
||||
LEFT OUTER JOIN categories c ON mc.joining_category_id = c.id
|
||||
LEFT OUTER JOIN versions v ON v.mod_id = m.id
|
||||
INNER JOIN statuses s ON s.id = m.status
|
||||
INNER JOIN side_types cs ON m.client_side = cs.id
|
||||
INNER JOIN side_types ss ON m.server_side = ss.id
|
||||
|
||||
@@ -471,12 +471,12 @@ impl Version {
|
||||
ARRAY_AGG(DISTINCT h.algorithm || ', ' || encode(h.hash, 'escape') || ', ' || h.file_id) hashes
|
||||
FROM versions v
|
||||
INNER JOIN release_channels rc on v.release_channel = rc.id
|
||||
INNER JOIN game_versions_versions gvv on v.id = gvv.joining_version_id
|
||||
INNER JOIN game_versions gv on gvv.game_version_id = gv.id
|
||||
INNER JOIN loaders_versions lv on v.id = lv.version_id
|
||||
INNER JOIN loaders l on lv.loader_id = l.id
|
||||
INNER JOIN files f on v.id = f.version_id
|
||||
INNER JOIN hashes h on f.id = h.file_id
|
||||
LEFT OUTER JOIN game_versions_versions gvv on v.id = gvv.joining_version_id
|
||||
LEFT OUTER JOIN game_versions gv on gvv.game_version_id = gv.id
|
||||
LEFT OUTER JOIN loaders_versions lv on v.id = lv.version_id
|
||||
LEFT OUTER JOIN loaders l on lv.loader_id = l.id
|
||||
LEFT OUTER JOIN files f on v.id = f.version_id
|
||||
LEFT OUTER JOIN hashes h on f.id = h.file_id
|
||||
WHERE v.id = $1
|
||||
GROUP BY v.id, rc.id;
|
||||
",
|
||||
@@ -561,12 +561,12 @@ impl Version {
|
||||
ARRAY_AGG(DISTINCT h.algorithm || ', ' || encode(h.hash, 'escape') || ', ' || h.file_id) hashes
|
||||
FROM versions v
|
||||
INNER JOIN release_channels rc on v.release_channel = rc.id
|
||||
INNER JOIN game_versions_versions gvv on v.id = gvv.joining_version_id
|
||||
INNER JOIN game_versions gv on gvv.game_version_id = gv.id
|
||||
INNER JOIN loaders_versions lv on v.id = lv.version_id
|
||||
INNER JOIN loaders l on lv.loader_id = l.id
|
||||
INNER JOIN files f on v.id = f.version_id
|
||||
INNER JOIN hashes h on f.id = h.file_id
|
||||
LEFT OUTER JOIN game_versions_versions gvv on v.id = gvv.joining_version_id
|
||||
LEFT OUTER JOIN game_versions gv on gvv.game_version_id = gv.id
|
||||
LEFT OUTER JOIN loaders_versions lv on v.id = lv.version_id
|
||||
LEFT OUTER JOIN loaders l on lv.loader_id = l.id
|
||||
LEFT OUTER JOIN files f on v.id = f.version_id
|
||||
LEFT OUTER JOIN hashes h on f.id = h.file_id
|
||||
WHERE v.id IN (SELECT * FROM UNNEST($1::bigint[]))
|
||||
GROUP BY v.id, rc.id;
|
||||
",
|
||||
|
||||
Reference in New Issue
Block a user