25 lines
738 B
Rust
25 lines
738 B
Rust
|
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(),
|
||
|
}
|
||
|
}
|
||
|
}
|