graph_fs 0.1.5

A CLI tool that helps query a local or remote file system by a GraphQL interface
Documentation
use crate::{cli::Args, db};
use std::io::{Error, ErrorKind};

pub mod manage_config;

pub async fn manage_update(args: &Args) -> Result<(), Error> {
    use crate::cli::UserConfig::*;
    let pool = db::DBConn::new().await.unwrap();
    match &args.manage_users {
        Some(options) => match options {
            AddUser => manage_config::add_user(args.clone(), &pool).await,
            DeleteUser => manage_config::delete_user(&args.account_email, &pool).await,
            UpdateUserName => manage_config::edit_user_acc_name(args.clone(), &pool).await,
            UpdateUserPassword => manage_config::edit_user_acc_password(args.clone(), &pool).await,
            UpdateUserPermission => {
                manage_config::edit_user_acc_priviledge(args.clone(), &pool).await
            }
        },
        None => Err(Error::new(
            ErrorKind::InvalidData,
            "No manmagement user option provided",
        )),
    }
}