diff --git a/apps/labrinth/src/search/indexing.rs b/apps/labrinth/src/search/indexing.rs index 65d2929a9f..96793510f5 100644 --- a/apps/labrinth/src/search/indexing.rs +++ b/apps/labrinth/src/search/indexing.rs @@ -21,7 +21,7 @@ use crate::database::models::{ use crate::database::redis::RedisPool; use crate::models::exp; use crate::models::ids::ProjectId; -use crate::models::projects::from_duplicate_version_fields; +use crate::models::projects::{DependencyType, from_duplicate_version_fields}; use crate::models::v2::projects::LegacyProject; use crate::routes::v2_reroute; use crate::search::{SearchProjectDependency, UploadSearchProject}; @@ -154,7 +154,9 @@ pub async fn index_local( dependency_project_id, )) .to_string(), - dependency_type: m.dependency_type, + dependency_type: DependencyType::from_string( + &m.dependency_type, + ), name: m.dependency_name, slug: m.dependency_slug, icon_url: m.dependency_icon_url, @@ -407,8 +409,10 @@ pub async fn index_local( .iter() .filter(|dependency| { matches!( - dependency.dependency_type.as_str(), - "required" | "optional" + dependency.dependency_type, + DependencyType::Required + | DependencyType::Optional + | DependencyType::Embedded ) }) .map(|dependency| dependency.project_id.clone()) diff --git a/apps/labrinth/src/search/mod.rs b/apps/labrinth/src/search/mod.rs index 6f3518438e..0f46a81111 100644 --- a/apps/labrinth/src/search/mod.rs +++ b/apps/labrinth/src/search/mod.rs @@ -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}; @@ -270,7 +271,7 @@ pub struct UploadSearchProject { #[derive(Serialize, Deserialize, Debug, Clone)] pub struct SearchProjectDependency { pub project_id: String, - pub dependency_type: String, + pub dependency_type: DependencyType, pub name: String, pub slug: Option, pub icon_url: Option, diff --git a/apps/labrinth/tests/search.rs b/apps/labrinth/tests/search.rs index a7c25a34bf..c009aa929c 100644 --- a/apps/labrinth/tests/search.rs +++ b/apps/labrinth/tests/search.rs @@ -9,6 +9,7 @@ use common::environment::TestEnvironment; use common::environment::with_test_environment; use common::search::setup_search_projects; use futures::stream::StreamExt; +use labrinth::models::projects::DependencyType; use serde_json::json; use crate::common::api_common::Api; @@ -172,7 +173,7 @@ async fn search_projects() { ); assert_eq!( projects.hits[0].dependencies[0].dependency_type, - "required" + DependencyType::Required ); assert!( projects.hits[0].dependencies[0]