You've already forked AstralRinth
forked from didirus/AstralRinth
More APIv2 Fixes (#210)
* Refactor search to not spam the database with queries, new utility routes for V2 * Run prepare * More V2 Fixes * Run prepare + formatter
This commit is contained in:
@@ -23,11 +23,11 @@ pub async fn index_local(pool: PgPool) -> Result<Vec<UploadSearchProject>, Index
|
||||
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
|
||||
LEFT OUTER JOIN game_versions_versions gvv ON gvv.joining_version_id = v.id
|
||||
LEFT OUTER JOIN game_versions gv ON gvv.game_version_id = gv.id
|
||||
LEFT OUTER JOIN loaders_versions lv ON lv.version_id = v.id
|
||||
LEFT OUTER JOIN loaders lo ON lo.id = lv.loader_id
|
||||
INNER JOIN statuses s ON s.id = m.status
|
||||
INNER JOIN game_versions_versions gvv ON gvv.joining_version_id = v.id
|
||||
INNER JOIN game_versions gv ON gvv.game_version_id = gv.id
|
||||
INNER JOIN loaders_versions lv ON lv.version_id = v.id
|
||||
INNER JOIN loaders lo ON lo.id = lv.loader_id
|
||||
INNER JOIN project_types pt ON pt.id = m.project_type
|
||||
INNER JOIN side_types cs ON m.client_side = cs.id
|
||||
INNER JOIN side_types ss ON m.server_side = ss.id
|
||||
@@ -94,11 +94,11 @@ pub async fn query_one(
|
||||
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
|
||||
LEFT OUTER JOIN game_versions_versions gvv ON gvv.joining_version_id = v.id
|
||||
LEFT OUTER JOIN game_versions gv ON gvv.game_version_id = gv.id
|
||||
LEFT OUTER JOIN loaders_versions lv ON lv.version_id = v.id
|
||||
LEFT OUTER JOIN loaders lo ON lo.id = lv.loader_id
|
||||
INNER JOIN statuses s ON s.id = m.status
|
||||
INNER JOIN game_versions_versions gvv ON gvv.joining_version_id = v.id
|
||||
INNER JOIN game_versions gv ON gvv.game_version_id = gv.id
|
||||
INNER JOIN loaders_versions lv ON lv.version_id = v.id
|
||||
INNER JOIN loaders lo ON lo.id = lv.loader_id
|
||||
INNER JOIN project_types pt ON pt.id = m.project_type
|
||||
INNER JOIN side_types cs ON m.client_side = cs.id
|
||||
INNER JOIN side_types ss ON m.server_side = ss.id
|
||||
|
||||
@@ -71,7 +71,6 @@ pub async fn reset_indices(config: &SearchConfig) -> Result<(), IndexingError> {
|
||||
client.delete_index("follows_projects").await?;
|
||||
client.delete_index("updated_projects").await?;
|
||||
client.delete_index("newest_projects").await?;
|
||||
client.delete_index("alphabetically_projects").await?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -102,14 +101,6 @@ pub async fn reconfigure_indices(config: &SearchConfig) -> Result<(), IndexingEr
|
||||
})
|
||||
.await?;
|
||||
|
||||
// Alphabetically Index
|
||||
update_index(&client, "alphabetically_projects", {
|
||||
let mut alphabetically_rules = default_rules();
|
||||
alphabetically_rules.push_front("desc(title)".to_string());
|
||||
alphabetically_rules.into()
|
||||
})
|
||||
.await?;
|
||||
|
||||
// Updated Index
|
||||
update_index(&client, "updated_projects", {
|
||||
let mut updated_rules = default_rules();
|
||||
@@ -218,15 +209,6 @@ pub async fn add_projects(
|
||||
.await?;
|
||||
add_to_index(follows_index, &projects).await?;
|
||||
|
||||
// Alphabetically Index
|
||||
let alphabetically_index = create_index(&client, "alphabetically_projects", || {
|
||||
let mut alphabetically_rules = default_rules();
|
||||
alphabetically_rules.push_front("desc(title)".to_string());
|
||||
alphabetically_rules.into()
|
||||
})
|
||||
.await?;
|
||||
add_to_index(alphabetically_index, &projects).await?;
|
||||
|
||||
// Updated Index
|
||||
let updated_index = create_index(&client, "updated_projects", || {
|
||||
let mut updated_rules = default_rules();
|
||||
@@ -305,6 +287,7 @@ fn default_settings() -> Settings {
|
||||
String::from("license"),
|
||||
String::from("client_side"),
|
||||
String::from("server_side"),
|
||||
String::from("project_type"),
|
||||
])
|
||||
}
|
||||
|
||||
|
||||
@@ -158,7 +158,6 @@ pub async fn search_for_project(
|
||||
"follows" => "follows_projects",
|
||||
"updated" => "updated_projects",
|
||||
"newest" => "newest_projects",
|
||||
"alphabetically" => "alphabetically_projects",
|
||||
i => return Err(SearchError::InvalidIndex(i.to_string())),
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user