From dc6bca6b6e4797c25d1ca8cf2b77da86ad9aa74c Mon Sep 17 00:00:00 2001 From: shept Date: Tue, 13 May 2025 18:46:14 +0500 Subject: [PATCH] added unsecure survey edits --- .../Controllers/SurveyController.cs | 17 +++++++++++++++++ .../DTOs/Survey/UpdateSurveyDTO.cs | 5 +++++ .../SurveyBackend.API/Mappers/SurveyMapper.cs | 8 ++++++++ 3 files changed, 30 insertions(+) create mode 100644 SurveyBackend/SurveyBackend.API/DTOs/Survey/UpdateSurveyDTO.cs diff --git a/SurveyBackend/SurveyBackend.API/Controllers/SurveyController.cs b/SurveyBackend/SurveyBackend.API/Controllers/SurveyController.cs index fcc3e13..6e61320 100644 --- a/SurveyBackend/SurveyBackend.API/Controllers/SurveyController.cs +++ b/SurveyBackend/SurveyBackend.API/Controllers/SurveyController.cs @@ -76,6 +76,23 @@ public class SurveyController : ControllerBase return Ok(result); } + /// + /// Обновляет опрос целиком + /// + /// + /// + /// + [Authorize] + [HttpPut("{id}")] + public async Task Put(int id, [FromBody] UpdateSurveyDto dto) + { + var userId = _userContext.UserId; + var survey = SurveyMapper.UpdateDtoToModel(dto, userId, id); + await _surveyService.UpdateSurveyAsync(survey); + var result = SurveyMapper.ModelToOutputDto(survey); + return Ok(result); + } + /// /// Удалить опрос по ID /// diff --git a/SurveyBackend/SurveyBackend.API/DTOs/Survey/UpdateSurveyDTO.cs b/SurveyBackend/SurveyBackend.API/DTOs/Survey/UpdateSurveyDTO.cs new file mode 100644 index 0000000..0873176 --- /dev/null +++ b/SurveyBackend/SurveyBackend.API/DTOs/Survey/UpdateSurveyDTO.cs @@ -0,0 +1,5 @@ +namespace SurveyBackend.DTOs.Survey; + +public class UpdateSurveyDto : CreateSurveyDto +{ +} \ No newline at end of file diff --git a/SurveyBackend/SurveyBackend.API/Mappers/SurveyMapper.cs b/SurveyBackend/SurveyBackend.API/Mappers/SurveyMapper.cs index bbcc51f..55d90b3 100644 --- a/SurveyBackend/SurveyBackend.API/Mappers/SurveyMapper.cs +++ b/SurveyBackend/SurveyBackend.API/Mappers/SurveyMapper.cs @@ -24,6 +24,14 @@ public static class SurveyMapper }; } + public static Survey UpdateDtoToModel(UpdateSurveyDto dto, int userId, int surveyId) => new Survey + { + Id = surveyId, + Title = dto.Title, + Description = dto.Description, + CreatedBy = userId + }; + /// /// Модель в выходную схему ///