mod dataset;
mod project;
mod source;
mod users;
use self::{
dataset::UpdateDatasetArgs, project::UpdateProjectArgs, source::UpdateSourceArgs,
users::UpdateUsersArgs,
};
use crate::printer::Printer;
use anyhow::Result;
use reinfer_client::Client;
use structopt::StructOpt;
#[derive(Debug, StructOpt)]
pub enum UpdateArgs {
#[structopt(name = "source")]
Source(UpdateSourceArgs),
#[structopt(name = "dataset")]
Dataset(UpdateDatasetArgs),
#[structopt(name = "project")]
Project(UpdateProjectArgs),
#[structopt(name = "users")]
Users(UpdateUsersArgs),
}
pub fn run(update_args: &UpdateArgs, client: Client, printer: &Printer) -> Result<()> {
match update_args {
UpdateArgs::Source(source_args) => source::update(&client, source_args, printer),
UpdateArgs::Dataset(dataset_args) => dataset::update(&client, dataset_args, printer),
UpdateArgs::Project(project_args) => project::update(&client, project_args, printer),
UpdateArgs::Users(users_args) => users::update(&client, users_args),
}
}