public async Task <ActionResult <long> > AssessTextAnswer(AssessTextAnswerModel assessModel) { var answersUnit = await _quizRepository.GetAnswersUnitByIdAsync(assessModel.AnswerUnitId); var quiz = await _quizRepository.GetByIdAsync(answersUnit.PollBaseId); if (!SenderPermissions.Contains("CanAssessAnyAnswer")) { if (quiz.CreatorUserId != SenderObjectId) { return(StatusCode(StatusCodes.Status403Forbidden, "Only creator or admin can assess answers")); } } var result = new AssessTextAnswerModelValidatorFromData(answersUnit, quiz).Validate(assessModel); result.AddToModelState(ModelState, null); if (!result.IsValid) { return(BadRequest(ModelState)); } return(Ok(await _quizRepository.AssessTextAnswerAsync(assessModel))); }