Beispiel #1
0
        public async Task <ActionResult <BoolResult> > Delete()
        {
            if (!await _authManager.HasAppPermissionsAsync(Types.AppPermissions.SettingsLogsError))
            {
                return(Unauthorized());
            }

            await _errorLogRepository.DeleteAllAsync();

            await _authManager.AddAdminLogAsync("清空错误日志");

            return(new BoolResult
            {
                Value = true
            });
        }
        public async Task <ActionResult <BoolResult> > Submit([FromBody] SubmitRequest request)
        {
            if (!await _authManager.IsSuperAdminAsync())
            {
                return(Unauthorized());
            }

            var config = await _configRepository.GetAsync();

            config.AdminTitle       = request.AdminTitle;
            config.AdminLogoUrl     = request.AdminLogoUrl;
            config.AdminWelcomeHtml = request.AdminWelcomeHtml;

            await _configRepository.UpdateAsync(config);

            await _authManager.AddAdminLogAsync("修改管理后台设置");

            return(new BoolResult
            {
                Value = true
            });
        }
Beispiel #3
0
        public async Task <ActionResult <BoolResult> > Import([FromForm] IFormFile file)
        {
            if (!await _authManager.HasAppPermissionsAsync(Types.AppPermissions.SettingsUsers))
            {
                return(Unauthorized());
            }

            if (file == null)
            {
                return(this.Error("请选择有效的文件上传"));
            }

            var fileName = Path.GetFileName(file.FileName);

            var sExt = PathUtils.GetExtension(fileName);

            if (!StringUtils.EqualsIgnoreCase(sExt, ".zip"))
            {
                return(this.Error("导入文件为 Zip 格式,请选择有效的文件上传"));
            }

            var filePath = _pathManager.GetTemporaryFilesPath(fileName);
            await _pathManager.UploadAsync(file, filePath);

            var directoryPath = await ImportObject.ImportTableStyleByZipFileAsync(_pathManager, _databaseManager, _userRepository.TableName, _tableStyleRepository.EmptyRelatedIdentities, filePath);

            FileUtils.DeleteFileIfExists(filePath);
            DirectoryUtils.DeleteDirectoryIfExists(directoryPath);

            await _authManager.AddAdminLogAsync("导入用户字段");

            return(new BoolResult
            {
                Value = true
            });
        }
Beispiel #4
0
        public async Task <ActionResult <BoolResult> > Submit([FromBody] SubmitRequest request)
        {
            var userId  = request.UserId;
            var adminId = _authManager.AdminId;

            if (userId == 0)
            {
                userId = adminId;
            }
            var adminInfo = await _administratorRepository.GetByUserIdAsync(userId);

            if (adminInfo == null)
            {
                return(NotFound());
            }
            if (adminId != userId &&
                !await _authManager.HasAppPermissionsAsync(Types.AppPermissions.SettingsAdministrators))
            {
                return(Unauthorized());
            }

            var password = request.Password;
            var valid    = await _administratorRepository.ChangePasswordAsync(adminInfo, password);

            if (!valid.IsValid)
            {
                return(this.Error($"更改密码失败:{valid.ErrorMessage}"));
            }

            await _authManager.AddAdminLogAsync("重设管理员密码", $"管理员:{adminInfo.UserName}");

            return(new BoolResult
            {
                Value = true
            });
        }
Beispiel #5
0
        public async Task <ActionResult <BoolResult> > Submit([FromBody] SubmitRequest request)
        {
            var userId = request.UserId;

            var adminId = _authManager.AdminId;

            if (adminId != userId &&
                !await _authManager.HasAppPermissionsAsync(Types.AppPermissions.SettingsAdministrators))
            {
                return(Unauthorized());
            }

            Administrator administrator;

            if (userId > 0)
            {
                administrator = await _administratorRepository.GetByUserIdAsync(userId);

                if (administrator == null)
                {
                    return(NotFound());
                }
            }
            else
            {
                administrator = new Administrator();
            }

            if (administrator.Id == 0)
            {
                administrator.UserName        = request.UserName;
                administrator.CreatorUserName = _authManager.AdminName;
            }
            else
            {
                if (administrator.Mobile != request.Mobile && !string.IsNullOrEmpty(request.Mobile) && await _administratorRepository.IsMobileExistsAsync(request.Mobile))
                {
                    return(this.Error("资料修改失败,手机号码已存在"));
                }

                if (administrator.Email != request.Email && !string.IsNullOrEmpty(request.Email) && await _administratorRepository.IsEmailExistsAsync(request.Email))
                {
                    return(this.Error("资料修改失败,邮箱地址已存在"));
                }
            }

            administrator.DisplayName = request.DisplayName;
            administrator.AvatarUrl   = request.AvatarUrl;
            administrator.Mobile      = request.Mobile;
            administrator.Email       = request.Email;

            if (administrator.Id == 0)
            {
                var(isValid, errorMessage) = await _administratorRepository.InsertAsync(administrator, request.Password);

                if (!isValid)
                {
                    return(this.Error($"管理员添加失败:{errorMessage}"));
                }
                await _authManager.AddAdminLogAsync("添加管理员", $"管理员:{administrator.UserName}");
            }
            else
            {
                var(isValid, errorMessage) = await _administratorRepository.UpdateAsync(administrator);

                if (!isValid)
                {
                    return(this.Error($"管理员修改失败:{errorMessage}"));
                }
                await _authManager.AddAdminLogAsync("修改管理员属性", $"管理员:{administrator.UserName}");
            }

            return(new BoolResult
            {
                Value = true
            });
        }