mirror of
https://github.com/modrinth/code.git
synced 2026-09-02 13:05:50 +00:00
Include compatible dependencies field in project search (#6366)
* include compatible dependency projects field * fix
This commit is contained in:
@@ -2,6 +2,7 @@ use crate::database::redis::RedisPool;
|
||||
use crate::models::exp;
|
||||
use crate::models::exp::minecraft::JavaServerPing;
|
||||
use crate::models::ids::{ProjectId, VersionId};
|
||||
use crate::models::projects::DependencyType;
|
||||
use crate::queue::server_ping;
|
||||
use crate::routes::ApiError;
|
||||
use crate::{database::PgPool, env::ENV};
|
||||
@@ -196,6 +197,7 @@ pub enum SearchField {
|
||||
MinecraftJavaServerContentSupportedGameVersions,
|
||||
MinecraftJavaServerPingData,
|
||||
DependencyProjectIds,
|
||||
CompatibleDependencyProjectIds,
|
||||
}
|
||||
|
||||
#[derive(Debug, Error)]
|
||||
@@ -252,6 +254,8 @@ pub struct UploadSearchProject {
|
||||
#[serde(default)]
|
||||
pub dependency_project_ids: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub compatible_dependency_project_ids: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub dependencies: Vec<SearchProjectDependency>,
|
||||
|
||||
// Hidden fields to get the Project model out of the search results.
|
||||
@@ -267,6 +271,7 @@ pub struct UploadSearchProject {
|
||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||
pub struct SearchProjectDependency {
|
||||
pub project_id: String,
|
||||
pub dependency_type: DependencyType,
|
||||
pub name: String,
|
||||
pub slug: Option<String>,
|
||||
pub icon_url: Option<String>,
|
||||
@@ -311,6 +316,8 @@ pub struct ResultSearchProject {
|
||||
#[serde(default)]
|
||||
pub dependency_project_ids: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub compatible_dependency_project_ids: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub dependencies: Vec<SearchProjectDependency>,
|
||||
|
||||
// Hidden fields to get the Project model out of the search results.
|
||||
@@ -350,6 +357,8 @@ impl From<UploadSearchProject> for ResultSearchProject {
|
||||
featured_gallery: source.featured_gallery,
|
||||
color: source.color,
|
||||
dependency_project_ids: source.dependency_project_ids,
|
||||
compatible_dependency_project_ids: source
|
||||
.compatible_dependency_project_ids,
|
||||
dependencies: source.dependencies,
|
||||
loaders: source.loaders,
|
||||
project_loader_fields: source.project_loader_fields,
|
||||
|
||||
Reference in New Issue
Block a user