survey-webapp/SurveyBackend/SurveyBackend.API/Controllers/QuestionController.cs

37 lines
No EOL
1 KiB
C#

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using SurveyBackend.Core.Contexts;
using SurveyBackend.DTOs.Question;
using SurveyBackend.Mappers.QuestionDTOs;
using SurveyLib.Core.Services;
namespace SurveyBackend.Controllers;
[ApiController]
[Route("api/questions")]
public class QuestionController : ControllerBase
{
private readonly IQuestionService _questionService;
public QuestionController(IQuestionService questionService, IUserContext userContext)
{
_questionService = questionService;
}
[AllowAnonymous]
[HttpGet("by_survey/{id}")]
public async Task<IActionResult> GetBySurveyId(int id)
{
var result = await _questionService.GetQuestionsBySurveyIdAsync(id);
return Ok(result);
}
[Authorize]
[HttpPost]
public async Task<IActionResult> AddQuestion(CreateQuestionDTO dto)
{
var model = QuestionCreationMapper.QuestionCreationToModel(dto);
await _questionService.AddQuestionAsync(model);
return Ok();
}
}