public BaseResponseModel Delete(int id) { var vm = new BaseResponseModel(); // Get existing user var user = UserService.GetUserById(id); if (user == null) { throw new HttpException(404, "User not found."); } // Check permissions if (!CurrentUser.HasPermission(Permission.EditUsers)) { throw new HttpException(401, "You do not have permissions to complete this action."); } UserService.DeleteUser(user); LogService.CreateLog(new Log { Category = LogCategory.Application, IpAddress = GetClientIp(ControllerContext.Request), User = CurrentUser, Level = LogLevel.Info, Message = "User " + user.Email + " (ID #" + user.Id + ") was deleted." }); return(new BaseResponseModel { Success = true }); }
private async Task Start() { Stopwatch sw = new Stopwatch(); sw.Start(); try { _ = Task.Run(this.PerformanceWatcher); LogService.CreateLog(); this.CheckWorkingDirectory(); this.CheckForProcesses(); await Services.InitializeServices(); await Dispatch.MainThread(); Window oldwindow = this.MainWindow; this.MainWindow = new Anamnesis.GUI.MainWindow(); this.MainWindow.Show(); oldwindow.Close(); } catch (Exception ex) { Log.Error(ex, "Failed to start application"); ErrorDialog.ShowError(ExceptionDispatchInfo.Capture(ex), true); } sw.Stop(); Log.Information($"Started application in {sw.ElapsedMilliseconds}ms"); }
public BaseResponseModel SignIn(SignInInputModel inputModel) { var vm = new AuthResponseModel(); var user = UserService.Authenticate(inputModel.Email, inputModel.Password); if (user != null) { _auth.DoAuth(inputModel.Email, inputModel.RememberMe); vm.Success = true; vm.Token = user.AuthToken.Token; vm.Expires = user.AuthToken.Expires; } else { vm.Errors.Add("Invalid email or password"); LogService.CreateLog(new Log { Category = LogCategory.Security, IpAddress = GetClientIp(ControllerContext.Request), Level = LogLevel.Info, Message = "Authentication failed using email: " + inputModel.Email }); } return(vm); }
private void SchedulerCallback(object e) { LogService.CreateLog("Begin Backup Session"); var servicesController = new ServicesController(); servicesController.RunBackup(); RestartService restartService = new RestartService(); restartService.RestartScheduler(); }
public void CreateLog_Does_Not_Create_If_Below_Threshold() { // Arrange var log = new Log() { Level = LogLevel.Info }; var logRepository = new Mock<ILogRepository>(); logRepository.Setup(r => r.Save(It.IsAny<Log>())).Verifiable(); var logService = new LogService(logRepository.Object, LogLevel.Warning); // Act logService.CreateLog(log); // Assert logRepository.Verify(l => l.Save(log), Times.Never()); }
public static void Initialize() { var tmp = new TcpListener(IPAddress.Any, 0); tmp.Start(); HostName = "localhost:" + ((IPEndPoint)tmp.LocalEndpoint).Port; tmp.Stop(); var docs = new DocumentationService(); AddService(docs); LogService = new LogService(); log = LogService.CreateLog("REST"); }
public void CreateLog_Does_Not_Create_If_Below_Threshold() { // Arrange var log = new Log() { Level = LogLevel.Info }; var logRepository = new Mock <ILogRepository>(); logRepository.Setup(r => r.Save(It.IsAny <Log>())).Verifiable(); var logService = new LogService(logRepository.Object, LogLevel.Warning); // Act logService.CreateLog(log); // Assert logRepository.Verify(l => l.Save(log), Times.Never()); }
public BaseResponseModel Update(UpdateResourceInputModel inputModel) { var vm = new BaseResponseModel(); // Validate request var validationState = new ValidationDictionary(); // Get existing resource var resource = _resourceService.GetResourceById(inputModel.ResourceId); if (resource == null) { throw new HttpException(404, "Resource not found."); } // Do not allow editing of resources other than yourself if you // don't have permissions if (!CurrentUser.HasPermission(Permission.EditResources)) { throw new HttpException(401, "You do not have permissions to complete this action."); } // Copy properties resource.Value = inputModel.Value; if (_resourceService.ValidateResource(resource, validationState)) { _resourceService.UpdateResource(resource); LogService.CreateLog(new Log { Category = LogCategory.Application, IpAddress = GetClientIp(ControllerContext.Request), Level = LogLevel.Info, Message = "Resource " + resource.Name + " (ID #" + resource.Id + ") was updated.", User = CurrentUser }); vm.Success = true; } vm.Errors = validationState.Errors; return(vm); }
public BaseResponseModel Update(UpdateUserInputModel inputModel) { var vm = new BaseResponseModel(); // Validate request var validationState = new ValidationDictionary(); inputModel.ValidateRequest(validationState); // Get existing user var user = UserService.GetUserById(inputModel.UserId); if (user == null) { throw new HttpException(404, "User not found."); } // Do not allow editing of users other than yourself if you // don't have permissions if (!CurrentUser.HasPermission(Permission.EditUsers) && user.Id != CurrentUser.Id) { throw new HttpException(401, "You do not have permissions to complete this action."); } // Copy properties bool emailChanged = user.Email != inputModel.Email; user.Email = inputModel.Email; string newPass = String.IsNullOrWhiteSpace(inputModel.Password) ? null : inputModel.Password; // Additional properties for admin users if (CurrentUser.HasPermission(Permission.EditUsers)) { if (inputModel.Role.HasValue) { user.Role = inputModel.Role.Value; } } if (UserService.ValidateUser(user, validationState)) { UserService.UpdateUser(user, newPass); if (emailChanged) { ReAuthorizeUser(inputModel.Email); } LogService.CreateLog(new Log { Category = LogCategory.Application, IpAddress = GetClientIp(ControllerContext.Request), Level = LogLevel.Info, Message = "User " + inputModel.Email + " (ID #" + user.Id + ") was updated.", User = CurrentUser }); vm.Success = true; } vm.Errors = validationState.Errors; return(vm); }