Exemple #1
0
        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);
            });
        }
Exemple #2
0
        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));
            }
        }