public UserEditCommands() { IsCommand("user-edit", "Edit user"); HasRequiredOption("u|user="******"Enter user that exists already", arg => { if (string.IsNullOrEmpty(arg)) { throw new ConsoleHelpAsException($" *** No user given ***"); } _conf = (IConfiguration) new ConfigurationBuilder() .AddJsonFile("clisettings.json", optional: false, reloadOnChange: true) .Build(); var instance = new ContextService(InstanceContext.DeployedOrLocal); _uow = new UnitOfWork(_conf["Databases:AuroraEntities"], instance); _user = _uow.Users.Get(QueryExpressionFactory.GetQueryExpression <tbl_User>() .Where(x => x.IdentityAlias == arg && x.Deletable == true).ToLambda()) .SingleOrDefault(); if (_user == null) { throw new ConsoleHelpAsException($" *** Invalid user '{arg}' or immutable ***"); } }); HasOption("f|filesystem=", "Enter type of filesystem for user", arg => { if (!Enum.TryParse(arg, out _fileSystem)) { throw new ConsoleHelpAsException($"*** Invalid filesystem type. Options are '{_fileSystemList}' ***"); } if (_user != null) { _user.FileSystemType = _fileSystem.ToString(); } }); HasOption("k|public-key=", "Require public key for user", arg => { _user.RequirePublicKey = bool.Parse(arg); }); HasOption("p|pass="******"Require password for user", arg => { _user.RequirePassword = bool.Parse(arg); }); }
public override int Run(string[] remainingArguments) { try { var admin = new AdminService(_conf); admin.Grant = new ResourceOwnerGrantV2(_conf); var users = admin.User_GetV1(new DataStateV1() { Sort = new List <IDataStateSort>() { new DataStateV1Sort() { Field = "userName", Dir = "asc" } }, Skip = 0, Take = 100, }).Result; foreach (var entry in users.Data) { Console.Out.WriteLine($" User '{entry.UserName}' with GUID '{entry.Id}'"); } Console.Out.WriteLine(); Console.Out.Write(" *** Enter GUID of (identity) user to use *** : "); var input = StandardInput.GetInput(); var user = _uow.Users.Create( new tbl_User { IdentityId = Guid.Parse(input), IdentityAlias = _userName, RequirePassword = true, RequirePublicKey = false, FileSystemType = _fileSystem.ToString(), Enabled = true, Deletable = false, Created = DateTime.Now, }); _uow.Commit(); return(StandardOutput.FondFarewell()); } catch (Exception ex) { return(StandardOutput.AngryFarewell(ex)); } }