public void TestGetAllUserEdits() { _userEditRepo.Create(RandomUserEdit()); _userEditRepo.Create(RandomUserEdit()); _userEditRepo.Create(RandomUserEdit()); var getResult = _userEditController.GetProjectUserEdits(_projId).Result; Assert.IsInstanceOf <ObjectResult>(getResult); var edits = ((ObjectResult)getResult).Value as List <UserEdit>; Assert.That(edits, Has.Count.EqualTo(3)); _userEditRepo.GetAllUserEdits(_projId).Result.ForEach(edit => Assert.Contains(edit, edits)); }
public async Task <IActionResult> Post(string projectId) { if (!_permissionService.HasProjectPermission(Permission.MergeAndCharSet, HttpContext)) { return(new ForbidResult()); } var userEdit = new UserEdit { ProjectId = projectId }; await _repo.Create(userEdit); return(new OkObjectResult(userEdit.Id)); }
public async Task <IActionResult> CreateUserEdit(string projectId) { if (!await _permissionService.HasProjectPermission(HttpContext, Permission.MergeAndCharSet)) { return(Forbid()); } // Generate the new userEdit var userEdit = new UserEdit { ProjectId = projectId }; await _userEditRepo.Create(userEdit); // Update current user var currentUserId = _permissionService.GetUserId(HttpContext); var currentUser = await _userRepo.GetUser(currentUserId); if (currentUser is null) { return(NotFound(currentUserId)); } currentUser.WorkedProjects.Add(projectId, userEdit.Id); await _userRepo.Update(currentUserId, currentUser); // Generate the JWT based on the new userEdit var currentUpdatedUser = await _permissionService.MakeJwt(currentUser); if (currentUpdatedUser is null) { return(BadRequest("Invalid JWT Token supplied.")); } await _userRepo.Update(currentUserId, currentUpdatedUser); return(Ok(currentUpdatedUser)); }