Skip to content

Commit a3ab0d8

Browse files
committed
feat: get users from author
1 parent 4ff7066 commit a3ab0d8

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

packages/core/src/api/packages/provider/modrinth.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -510,8 +510,8 @@ impl From<TeamMember> for ManagedUser {
510510
struct ModrinthUser {
511511
pub id: String,
512512
pub username: String,
513-
pub avatar_url: String,
514-
pub bio: String,
513+
pub avatar_url: Option<String>,
514+
pub bio: Option<String>,
515515
}
516516

517517
impl From<ModrinthUser> for ManagedUser {
@@ -520,16 +520,12 @@ impl From<ModrinthUser> for ManagedUser {
520520
id: value.id.clone(),
521521
username: value.username,
522522
url: Some(format!(
523-
"{}/user/{}",
523+
"{}user/{}",
524524
Provider::Modrinth.website(),
525525
value.id
526526
)),
527-
avatar_url: Some(value.avatar_url),
528-
bio: if value.bio.is_empty() || value.bio.eq_ignore_ascii_case("a modrinth creator.") {
529-
None
530-
} else {
531-
Some(value.bio)
532-
},
527+
avatar_url: value.avatar_url,
528+
bio: value.bio,
533529
is_organization_user: false,
534530
role: None,
535531
}

packages/core/src/api/tauri/commands.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use interpulse::api::minecraft::Version;
22
use onelauncher_entity::{icon::Icon, loader::GameLoader, package::Provider, packages, resolution::Resolution};
33
use sea_orm::ActiveValue::Set;
4-
use crate::{api::packages::{data::{SearchResult, ManagedPackage, ManagedUser, ManagedVersion, SearchQuery}, provider::ProviderExt}, store::{Settings, State}, utils::pagination::Paginated};
4+
use crate::{api::packages::{data::{ManagedPackage, ManagedUser, ManagedVersion, PackageAuthor, SearchQuery, SearchResult}, provider::ProviderExt}, store::{Settings, State}, utils::pagination::Paginated};
55
use tauri::{AppHandle, Runtime};
66

77
use crate::{api::{self, cluster::dao::ClusterId}, error::{LauncherError, LauncherResult}, store::{credentials::MinecraftCredentials, Core}};
@@ -99,6 +99,9 @@ pub trait TauriLauncherApi {
9999

100100
#[taurpc(alias = "downloadPackage")]
101101
async fn download_package(provider: Provider, package_id: String, version_id: String, cluster_id: ClusterId, skip_compatibility: Option<bool>) -> LauncherResult<packages::Model>;
102+
103+
#[taurpc(alias = "getUsersFromAuthor")]
104+
async fn get_users_from_author(provider: Provider, author: PackageAuthor) -> LauncherResult<Vec<ManagedUser>>;
102105
}
103106

104107

@@ -425,4 +428,8 @@ impl TauriLauncherApi for TauriLauncherApiImpl {
425428

426429
Ok(model)
427430
}
431+
432+
async fn get_users_from_author(self, provider: Provider, author: PackageAuthor) -> LauncherResult<Vec<ManagedUser>> {
433+
Ok(provider.get_users_from_author(author).await?)
434+
}
428435
}

0 commit comments

Comments
 (0)