feat: get users from author

This commit is contained in:
Szedann 2025-07-19 22:02:46 +02:00
parent 4ff7066742
commit a3ab0d88c9
2 changed files with 13 additions and 10 deletions

View file

@ -510,8 +510,8 @@ impl From<TeamMember> for ManagedUser {
struct ModrinthUser {
pub id: String,
pub username: String,
pub avatar_url: String,
pub bio: String,
pub avatar_url: Option<String>,
pub bio: Option<String>,
}
impl From<ModrinthUser> for ManagedUser {
@ -520,16 +520,12 @@ impl From<ModrinthUser> for ManagedUser {
id: value.id.clone(),
username: value.username,
url: Some(format!(
"{}/user/{}",
"{}user/{}",
Provider::Modrinth.website(),
value.id
)),
avatar_url: Some(value.avatar_url),
bio: if value.bio.is_empty() || value.bio.eq_ignore_ascii_case("a modrinth creator.") {
None
} else {
Some(value.bio)
},
avatar_url: value.avatar_url,
bio: value.bio,
is_organization_user: false,
role: None,
}

View file

@ -1,7 +1,7 @@
use interpulse::api::minecraft::Version;
use onelauncher_entity::{icon::Icon, loader::GameLoader, package::Provider, packages, resolution::Resolution};
use sea_orm::ActiveValue::Set;
use crate::{api::packages::{data::{SearchResult, ManagedPackage, ManagedUser, ManagedVersion, SearchQuery}, provider::ProviderExt}, store::{Settings, State}, utils::pagination::Paginated};
use crate::{api::packages::{data::{ManagedPackage, ManagedUser, ManagedVersion, PackageAuthor, SearchQuery, SearchResult}, provider::ProviderExt}, store::{Settings, State}, utils::pagination::Paginated};
use tauri::{AppHandle, Runtime};
use crate::{api::{self, cluster::dao::ClusterId}, error::{LauncherError, LauncherResult}, store::{credentials::MinecraftCredentials, Core}};
@ -99,6 +99,9 @@ pub trait TauriLauncherApi {
#[taurpc(alias = "downloadPackage")]
async fn download_package(provider: Provider, package_id: String, version_id: String, cluster_id: ClusterId, skip_compatibility: Option<bool>) -> LauncherResult<packages::Model>;
#[taurpc(alias = "getUsersFromAuthor")]
async fn get_users_from_author(provider: Provider, author: PackageAuthor) -> LauncherResult<Vec<ManagedUser>>;
}
@ -425,4 +428,8 @@ impl TauriLauncherApi for TauriLauncherApiImpl {
Ok(model)
}
async fn get_users_from_author(self, provider: Provider, author: PackageAuthor) -> LauncherResult<Vec<ManagedUser>> {
Ok(provider.get_users_from_author(author).await?)
}
}