diff --git a/src/cli/commands/add.rs b/src/cli/commands/add.rs index b162158..561ac82 100644 --- a/src/cli/commands/add.rs +++ b/src/cli/commands/add.rs @@ -2,7 +2,7 @@ use std::collections::HashMap; use crate::{ error::{MultiError, PakkerError, Result}, - model::{Config, LockFile, Project}, + model::{Config, LockFile, Project, credentials::ResolvedCredentials}, platform::create_platform, resolver::DependencyResolver, }; @@ -15,7 +15,9 @@ pub fn create_all_platforms() -> HashMap> { let mut platforms = HashMap::new(); - let curseforge_key = std::env::var("CURSEFORGE_API_KEY").ok(); + let credentials = ResolvedCredentials::load(); + let curseforge_key = credentials.curseforge_api_key().map(String::from); + if let Ok(platform) = create_platform("multiplatform", curseforge_key) { platforms.insert("multiplatform".to_owned(), platform); } else if let Ok(platform) = create_platform("modrinth", None) { diff --git a/src/cli/commands/add_prj.rs b/src/cli/commands/add_prj.rs index 2c90bef..10a1bf9 100644 --- a/src/cli/commands/add_prj.rs +++ b/src/cli/commands/add_prj.rs @@ -6,6 +6,7 @@ use crate::{ Config, LockFile, Project, + credentials::ResolvedCredentials, enums::{ProjectSide, ProjectType, UpdateStrategy}, }, platform::create_platform, @@ -315,15 +316,16 @@ fn create_all_platforms() -> HashMap> { let mut platforms = HashMap::new(); - let curseforge_key = std::env::var("CURSEFORGE_API_KEY").ok(); + let credentials = ResolvedCredentials::load(); + let curseforge_key = credentials.curseforge_api_key().map(String::from); + let github_token = credentials.github_access_token().map(String::from); + if let Ok(platform) = create_platform("multiplatform", curseforge_key) { platforms.insert("multiplatform".to_string(), platform); } else if let Ok(platform) = create_platform("modrinth", None) { platforms.insert("modrinth".to_string(), platform); } - if let Ok(platform) = - create_platform("github", std::env::var("GITHUB_TOKEN").ok()) - { + if let Ok(platform) = create_platform("github", github_token) { platforms.insert("github".to_string(), platform); }