public IActionResult GetQuest(int questId) { var user = User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.NameIdentifier)?.Value; var userEntity = _croudSeekRepository.GetUsers().Where((u) => u.Name == user).FirstOrDefault(); var questFromRepo = _croudSeekRepository.GetQuest(questId); if (questFromRepo == null) { return(NotFound()); } if (!(questFromRepo.OwnerId == userEntity?.Id || !questFromRepo.IsPrivate)) { return(Unauthorized()); } var questDto = _mapper.Map <QuestDto>(questFromRepo); var questUserEntity = _croudSeekRepository.GetUser(questDto.OwnerId); questDto.CanEdit = true; questDto.IsOwner = questUserEntity?.Name == user; return(Ok(questDto)); }