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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }