Update SurveyLib and start refactoring endpoint paths

This commit is contained in:
Вячеслав 2025-05-31 01:03:12 +05:00
parent c2f6ba6dde
commit 637e6c9824
5 changed files with 22 additions and 15 deletions

View file

@ -1,10 +1,8 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using SurveyBackend.Contexts;
using SurveyBackend.Core.Contexts;
using SurveyBackend.DTOs.Completion;
using SurveyBackend.Mappers;
using SurveyLib.Core.Models;
using SurveyLib.Core.Services;
namespace SurveyBackend.Controllers;
@ -31,7 +29,8 @@ public class CompletionController : ControllerBase
return Ok(result);
}
[HttpGet("{id:int}")]
[HttpGet]
[Route("/api/completions/{id:int}")]
[Authorize]
public async Task<IActionResult> GetCompletionAsync(int id)
{

View file

@ -64,11 +64,11 @@ public class QuestionController : ControllerBase
/// <param name="surveyId"></param>
/// <returns></returns>
[Authorize]
[HttpPut("{id}")]
public async Task<IActionResult> UpdateQuestion([FromBody] QuestionUpdateDto dto, [FromRoute] int id,
[FromRoute] int surveyId)
[HttpPut]
[Route("/api/questions/{id:int}")]
public async Task<IActionResult> UpdateQuestion([FromBody] QuestionUpdateDto dto, [FromRoute] int id)
{
var question = QuestionMapper.QuestionUpdateToModel(dto, surveyId, id);
var question = QuestionMapper.QuestionUpdateToModel(dto, id);
await _questionService.UpdateQuestionAsync(question);
var result = QuestionMapper.ModelToQuestionDto(question);
return Ok(result);
@ -81,8 +81,9 @@ public class QuestionController : ControllerBase
/// <param name="surveyId"></param>
/// <returns></returns>
[Authorize]
[HttpDelete("{id}")]
public async Task<IActionResult> DeleteQuestion([FromRoute] int id, [FromRoute] int surveyId)
[HttpDelete]
[Route("/api/questions/{id:int}")]
public async Task<IActionResult> DeleteQuestion([FromRoute] int id)
{
await _questionService.DeleteQuestionAsync(id);
return Ok();

View file

@ -61,7 +61,7 @@ public static class QuestionMapper
};
}
public static QuestionBase QuestionUpdateToModel(QuestionCreateDto dto, int surveyId, int questionId)
public static QuestionBase QuestionUpdateToModel(QuestionCreateDto dto, int questionId)
{
return dto.QuestionType.ToLower() switch
{
@ -69,20 +69,20 @@ public static class QuestionMapper
{
Id = questionId,
Title = dto.Title,
SurveyId = surveyId,
SurveyId = 0, // bad logic, need to do something
},
"singleanswerquestion" => new SingleAnswerQuestion
{
Id = questionId,
Title = dto.Title,
SurveyId = surveyId,
SurveyId = 0,
AnswerVariants = [],
},
"multipleanswerquestion" => new MultipleAnswerQuestion
{
Id = questionId,
Title = dto.Title,
SurveyId = surveyId,
SurveyId = 0,
AnswerVariants = []
},
_ => throw new BadRequestException("Unknown question type")