parse env

This commit is contained in:
2019-09-17 20:39:40 +02:00
parent 40bf047528
commit 34e428f507
4 changed files with 55 additions and 10 deletions

View File

@@ -8,9 +8,36 @@ use std::collections::HashMap;
use std::env;
use std::fs::File;
use std::io::Read;
use std::path::PathBuf;
use std::path::{PathBuf, Path};
use std::process::Command;
#[derive(Debug, Deserialize, Serialize)]
pub struct EnvConfig {
credential_id: String,
uuid: String,
salt: String,
mapper_name: String,
password_helper: String
}
impl Into<Config> for EnvConfig {
fn into(self) -> Config {
Config{
credential_id: self.credential_id,
device: format!("/dev/disk/by-uuid/{}", self.uuid).into(),
mapper_name: self.mapper_name,
password_helper: PasswordHelper::Script(self.password_helper),
input_salt: if PathBuf::from(&self.salt).exists() {
InputSalt::File { path: self.salt.into() }
} else {
InputSalt::AskPassword
}
}
}
}
#[derive(Debug, Deserialize, Serialize)]
pub struct Config {
pub credential_id: String,