use crate::config::{Environment, REDIS_DEV_PASSWORD};
use crate::docker;
use crate::ui;
use anyhow::Result;
use clap::Subcommand;
#[derive(Subcommand, Clone, Copy)]
pub enum RedisCommand {
Cli {
#[arg(long)]
prod: bool,
},
}
pub fn run(cmd: RedisCommand) -> Result<()> {
docker::check_docker()?;
match cmd {
RedisCommand::Cli { prod } => cli(if prod {
Environment::Prod
} else {
Environment::Dev
})?,
}
Ok(())
}
fn cli(env: Environment) -> Result<()> {
match env {
Environment::Dev => {
docker::exec(env, "cache", &["redis-cli", "-a", REDIS_DEV_PASSWORD])?;
}
Environment::Prod => {
ui::warning("Note: You need to provide the password");
docker::exec(env, "cache", &["redis-cli"])?;
}
}
Ok(())
}