add list command
This commit is contained in:
+34
-3
@@ -1,7 +1,7 @@
|
||||
use crate::logger;
|
||||
use anyhow::{Context, Result};
|
||||
use clap::{CommandFactory, Parser, ValueEnum};
|
||||
use log::{error, info};
|
||||
use clap::{Parser, ValueEnum};
|
||||
use log::error;
|
||||
|
||||
#[derive(Parser, Debug)]
|
||||
#[command(version, about, long_about = None)]
|
||||
@@ -28,6 +28,9 @@ enum Commands {
|
||||
/// Controls testing features
|
||||
FileSync,
|
||||
|
||||
/// Lists the settings from the configuration file
|
||||
List,
|
||||
|
||||
/// Change Settings
|
||||
Set {
|
||||
#[command(subcommand)]
|
||||
@@ -150,6 +153,22 @@ fn load_configuration_file(config_file: &str) -> Result<()> {
|
||||
}
|
||||
|
||||
|
||||
fn list_config_settings(config_file: &str) -> Result<()> {
|
||||
let app_config =
|
||||
crate::config::load(config_file).context("Failed to load application configuration")?;
|
||||
|
||||
println!("Configuration: {config_file}");
|
||||
println!(
|
||||
"sfdx_auth_url = {}",
|
||||
app_config
|
||||
.sfdx_auth_url
|
||||
.as_deref()
|
||||
.unwrap_or("<not set>")
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn set_sfdx_auth_url(config_file: &str, url: String) -> Result<()> {
|
||||
let mut app_config =
|
||||
crate::config::load(config_file).context("Failed to load application configuration")?;
|
||||
@@ -162,7 +181,6 @@ fn set_sfdx_auth_url(config_file: &str, url: String) -> Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
||||
pub(crate) fn run() {
|
||||
let cli = Cli::parse();
|
||||
|
||||
@@ -171,6 +189,9 @@ pub(crate) fn run() {
|
||||
Commands::Set { command } => {
|
||||
run_set_command(&cli, command);
|
||||
},
|
||||
Commands::List => {
|
||||
run_list_command(&cli);
|
||||
},
|
||||
Commands::FileSync { .. } => {
|
||||
run_file_sync(&cli);
|
||||
}
|
||||
@@ -196,6 +217,16 @@ fn run_file_sync(cli: &Cli) {
|
||||
crate::file_sync::run();
|
||||
}
|
||||
|
||||
fn run_list_command(cli: &Cli) {
|
||||
match list_config_settings(&cli.config) {
|
||||
Ok(()) => {}
|
||||
Err(e) => {
|
||||
error!("Error listing configuration settings: {:#}", e);
|
||||
std::process::exit(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn run_set_command(cli: &Cli, commands: &Option<SettingsCommands>) {
|
||||
match commands {
|
||||
Some(command) => match command {
|
||||
|
||||
@@ -1,3 +1,37 @@
|
||||
pub fn run() {
|
||||
unimplemented!("File sync not yet implemented");
|
||||
|
||||
/*
|
||||
let args = cli::Args::parse();
|
||||
|
||||
|
||||
|
||||
|
||||
let salesforce_client = salesforce::connect(&args.sfdx_auth_url).await?;
|
||||
let s3_client = aws_s3::connect(
|
||||
args.s3_client_id(),
|
||||
args.s3_client_secret(),
|
||||
args.s3_endpoint(),
|
||||
args.s3_region(),
|
||||
);
|
||||
|
||||
|
||||
salesforce_client.query(r#"SELECT Id, Title, FileType, FileExtension, Description,
|
||||
ContentLocation, Origin, VersionData, ContentDocumentId, FirstPublishLocationId, PathOnClient
|
||||
FROM ContentVersion
|
||||
WHERE IsMajorVersion = TRUE
|
||||
AND ContentLocation = 'S'
|
||||
LIMIT 1\
|
||||
"#)
|
||||
|
||||
|
||||
|
||||
if terminator::CONFIG.is_fired() {
|
||||
info!("Received termination signal, exiting...");
|
||||
}
|
||||
|
||||
|
||||
|
||||
info!("Done.");*/
|
||||
|
||||
}
|
||||
-33
@@ -23,37 +23,4 @@ pub static APP_CONFIG: OnceLock<config::AppConfig> = OnceLock::new();
|
||||
#[::tokio::main]
|
||||
async fn main() {
|
||||
cli::run();
|
||||
/*
|
||||
let args = cli::Args::parse();
|
||||
|
||||
|
||||
|
||||
|
||||
let salesforce_client = salesforce::connect(&args.sfdx_auth_url).await?;
|
||||
let s3_client = aws_s3::connect(
|
||||
args.s3_client_id(),
|
||||
args.s3_client_secret(),
|
||||
args.s3_endpoint(),
|
||||
args.s3_region(),
|
||||
);
|
||||
|
||||
|
||||
salesforce_client.query(r#"SELECT Id, Title, FileType, FileExtension, Description,
|
||||
ContentLocation, Origin, VersionData, ContentDocumentId, FirstPublishLocationId, PathOnClient
|
||||
FROM ContentVersion
|
||||
WHERE IsMajorVersion = TRUE
|
||||
AND ContentLocation = 'S'
|
||||
LIMIT 1\
|
||||
"#)
|
||||
|
||||
|
||||
|
||||
if terminator::CONFIG.is_fired() {
|
||||
info!("Received termination signal, exiting...");
|
||||
}
|
||||
|
||||
|
||||
|
||||
info!("Done.");*/
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user