Skip to content

Commit 71e7c40

Browse files
committed
Refactor data structures into thier own module
- preparation for a more view based data access
1 parent 77eb55d commit 71e7c40

File tree

5 files changed

+335
-327
lines changed

5 files changed

+335
-327
lines changed

src/cli.rs

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use clap::{Clap, ArgMatches, FromArgMatches};
1010

1111
use crate as deploy;
1212

13-
use self::deploy::{DeployFlake, ParseFlakeError, settings};
13+
use self::deploy::{data, settings};
1414
use futures_util::stream::{StreamExt, TryStreamExt};
1515
use log::{debug, error, info, warn};
1616
use serde::Serialize;
@@ -171,7 +171,7 @@ pub enum GetDeploymentDataError {
171171
/// Evaluates the Nix in the given `repo` and return the processed Data from it
172172
async fn get_deployment_data(
173173
supports_flakes: bool,
174-
flakes: &[deploy::DeployFlake<'_>],
174+
flakes: &[data::DeployFlake<'_>],
175175
extra_build_args: &[String],
176176
) -> Result<Vec<settings::Root>, GetDeploymentDataError> {
177177
futures_util::stream::iter(flakes).then(|flake| async move {
@@ -275,9 +275,9 @@ struct PromptPart<'a> {
275275

276276
fn print_deployment(
277277
parts: &[(
278-
&deploy::DeployFlake<'_>,
279-
deploy::DeployData,
280-
deploy::DeployDefs,
278+
&data::DeployFlake<'_>,
279+
data::DeployData,
280+
data::DeployDefs,
281281
)],
282282
) -> Result<(), toml::ser::Error> {
283283
let mut part_map: HashMap<String, HashMap<String, PromptPart>> = HashMap::new();
@@ -318,9 +318,9 @@ pub enum PromptDeploymentError {
318318

319319
fn prompt_deployment(
320320
parts: &[(
321-
&deploy::DeployFlake<'_>,
322-
deploy::DeployData,
323-
deploy::DeployDefs,
321+
&data::DeployFlake<'_>,
322+
data::DeployData,
323+
data::DeployDefs,
324324
)],
325325
) -> Result<(), PromptDeploymentError> {
326326
print_deployment(parts)?;
@@ -381,7 +381,7 @@ pub enum RunDeployError {
381381
#[error("Profile was provided without a node name")]
382382
ProfileWithoutNode,
383383
#[error("Error processing deployment definitions: {0}")]
384-
DeployDataDefs(#[from] deploy::DeployDataDefsError),
384+
DeployDataDefs(#[from] data::DeployDataDefsError),
385385
#[error("Failed to make printable TOML of deployment: {0}")]
386386
TomlFormat(#[from] toml::ser::Error),
387387
#[error("{0}")]
@@ -391,19 +391,19 @@ pub enum RunDeployError {
391391
}
392392

393393
type ToDeploy<'a> = Vec<(
394-
&'a deploy::DeployFlake<'a>,
394+
&'a data::DeployFlake<'a>,
395395
&'a settings::Root,
396396
(&'a str, &'a settings::Node),
397397
(&'a str, &'a settings::Profile),
398398
)>;
399399

400400
async fn run_deploy(
401-
deploy_flakes: Vec<deploy::DeployFlake<'_>>,
401+
deploy_flakes: Vec<data::DeployFlake<'_>>,
402402
data: Vec<settings::Root>,
403403
supports_flakes: bool,
404404
check_sigs: bool,
405405
interactive: bool,
406-
cmd_overrides: &deploy::CmdOverrides,
406+
cmd_overrides: &data::CmdOverrides,
407407
keep_result: bool,
408408
result_path: Option<&str>,
409409
extra_build_args: &[String],
@@ -513,13 +513,13 @@ async fn run_deploy(
513513
.collect();
514514

515515
let mut parts: Vec<(
516-
&deploy::DeployFlake<'_>,
517-
deploy::DeployData,
518-
deploy::DeployDefs,
516+
&data::DeployFlake<'_>,
517+
data::DeployData,
518+
data::DeployDefs,
519519
)> = Vec::new();
520520

521521
for (deploy_flake, data, (node_name, node), (profile_name, profile)) in to_deploy {
522-
let deploy_data = deploy::make_deploy_data(
522+
let deploy_data = data::make_deploy_data(
523523
&data.generic_settings,
524524
node,
525525
node_name,
@@ -555,7 +555,7 @@ async fn run_deploy(
555555
.await?;
556556
}
557557

558-
let mut succeeded: Vec<(&deploy::DeployData, &deploy::DeployDefs)> = vec![];
558+
let mut succeeded: Vec<(&data::DeployData, &data::DeployDefs)> = vec![];
559559

560560
// Run all deployments
561561
// In case of an error rollback any previoulsy made deployment.
@@ -600,7 +600,7 @@ pub enum RunError {
600600
#[error("Failed to evaluate deployment data: {0}")]
601601
GetDeploymentData(#[from] GetDeploymentDataError),
602602
#[error("Error parsing flake: {0}")]
603-
ParseFlake(#[from] deploy::ParseFlakeError),
603+
ParseFlake(#[from] data::ParseFlakeError),
604604
#[error("Error initiating logger: {0}")]
605605
Logger(#[from] flexi_logger::FlexiLoggerError),
606606
#[error("{0}")]
@@ -624,12 +624,12 @@ pub async fn run(args: Option<&ArgMatches>) -> Result<(), RunError> {
624624
.targets
625625
.unwrap_or_else(|| vec![opts.clone().target.unwrap_or(".".to_string())]);
626626

627-
let deploy_flakes: Vec<DeployFlake> = deploys
627+
let deploy_flakes: Vec<data::DeployFlake> = deploys
628628
.iter()
629-
.map(|f| deploy::parse_flake(f.as_str()))
630-
.collect::<Result<Vec<DeployFlake>, ParseFlakeError>>()?;
629+
.map(|f| data::parse_flake(f.as_str()))
630+
.collect::<Result<Vec<data::DeployFlake>, data::ParseFlakeError>>()?;
631631

632-
let cmd_overrides = deploy::CmdOverrides {
632+
let cmd_overrides = data::CmdOverrides {
633633
ssh_user: opts.ssh_user,
634634
profile_user: opts.profile_user,
635635
ssh_opts: opts.ssh_opts,

0 commit comments

Comments
 (0)