use crate::{ApiToken, ForgeConfig, ForgeName, ForgeType, Hostname, User}; /// The derived information about a Forge, used to create interactions with it #[derive(Clone, Debug)] pub struct ForgeDetails { pub forge_name: ForgeName, pub forge_type: ForgeType, pub hostname: Hostname, pub user: User, pub token: ApiToken, // API Token // Private SSH Key Path } impl From<(&ForgeName, &ForgeConfig)> for ForgeDetails { fn from(forge: (&ForgeName, &ForgeConfig)) -> Self { Self { forge_name: forge.0.clone(), forge_type: forge.1.forge_type.clone(), hostname: forge.1.hostname(), user: forge.1.user(), token: forge.1.token(), } } }