From d692a2e51933611b92b664e5b753ad64b75f8a6b Mon Sep 17 00:00:00 2001 From: shept Date: Sun, 27 Apr 2025 16:03:56 +0500 Subject: [PATCH] DTOs docs --- .../DTOs/Question/CreateQuestionDTO.cs | 12 ++++++++++ .../DTOs/Question/OutputAnswerVariantDTO.cs | 12 ++++++++++ .../DTOs/Question/OutputQuestionDto.cs | 22 +++++++++++++++++ .../DTOs/Survey/CreateSurveyDTO.cs | 9 +++++++ .../DTOs/Survey/OutputSurveyDto.cs | 15 ++++++++++++ .../SurveyBackend.API/DTOs/UserLoginDto.cs | 9 +++++++ .../DTOs/UserRegistrationDto.cs | 24 ++++++++++++++++++- .../Filters/EndpointAuthRequirementFilter.cs | 2 ++ 8 files changed, 104 insertions(+), 1 deletion(-) diff --git a/SurveyBackend/SurveyBackend.API/DTOs/Question/CreateQuestionDTO.cs b/SurveyBackend/SurveyBackend.API/DTOs/Question/CreateQuestionDTO.cs index 2379b73..5fc9692 100644 --- a/SurveyBackend/SurveyBackend.API/DTOs/Question/CreateQuestionDTO.cs +++ b/SurveyBackend/SurveyBackend.API/DTOs/Question/CreateQuestionDTO.cs @@ -1,9 +1,21 @@ namespace SurveyBackend.DTOs.Question; +/// +/// Схема для создания нового Question +/// public class CreateQuestionDto { + /// + /// Название вопроса + /// public required string Title { get; set; } + /// + /// Тип вопроса + /// public required string QuestionType { get; set; } + /// + /// Варианты ответа (только если вопрос с выбором) + /// public List? AnswerVariants { get; set; } } \ No newline at end of file diff --git a/SurveyBackend/SurveyBackend.API/DTOs/Question/OutputAnswerVariantDTO.cs b/SurveyBackend/SurveyBackend.API/DTOs/Question/OutputAnswerVariantDTO.cs index 9112795..ff1b77b 100644 --- a/SurveyBackend/SurveyBackend.API/DTOs/Question/OutputAnswerVariantDTO.cs +++ b/SurveyBackend/SurveyBackend.API/DTOs/Question/OutputAnswerVariantDTO.cs @@ -1,8 +1,20 @@ namespace SurveyBackend.DTOs.Question; +/// +/// Выходная схема вариантов ответа +/// public class OutputAnswerVariantDto { + /// + /// ID варианта ответа + /// public required int Id { get; set; } + /// + /// ID родительского вопроса + /// public required int QuestionId { get; set; } + /// + /// Текст варианта ответа + /// public required string Text { get; set; } } \ No newline at end of file diff --git a/SurveyBackend/SurveyBackend.API/DTOs/Question/OutputQuestionDto.cs b/SurveyBackend/SurveyBackend.API/DTOs/Question/OutputQuestionDto.cs index bfae54c..f850365 100644 --- a/SurveyBackend/SurveyBackend.API/DTOs/Question/OutputQuestionDto.cs +++ b/SurveyBackend/SurveyBackend.API/DTOs/Question/OutputQuestionDto.cs @@ -1,10 +1,32 @@ namespace SurveyBackend.DTOs.Question; +/// +/// Выходнпя схема вопроса +/// public class OutputQuestionDto { + /// + /// ID вопроса + /// public required int Id { get; set; } + + /// + /// ID родительского опроса + /// public required int SurveyId { get; set; } + + /// + /// Заголовок вопроса + /// public required string Title { get; set; } + + /// + /// Тип вопроса + /// public required string QuestionType { get; set; } + + /// + /// Варианты ответа + /// public List? AnswerVariants { get; set; } } \ No newline at end of file diff --git a/SurveyBackend/SurveyBackend.API/DTOs/Survey/CreateSurveyDTO.cs b/SurveyBackend/SurveyBackend.API/DTOs/Survey/CreateSurveyDTO.cs index 67bfaf6..0383257 100644 --- a/SurveyBackend/SurveyBackend.API/DTOs/Survey/CreateSurveyDTO.cs +++ b/SurveyBackend/SurveyBackend.API/DTOs/Survey/CreateSurveyDTO.cs @@ -1,7 +1,16 @@ namespace SurveyBackend.DTOs.Survey; +/// +/// Схема для создания нового опроса +/// public class CreateSurveyDto { + /// + /// Название опроса + /// public required string Title { get; set; } + /// + /// Опциональное описание опроса + /// public string Description { get; set; } = string.Empty; } \ No newline at end of file diff --git a/SurveyBackend/SurveyBackend.API/DTOs/Survey/OutputSurveyDto.cs b/SurveyBackend/SurveyBackend.API/DTOs/Survey/OutputSurveyDto.cs index faec104..dea522b 100644 --- a/SurveyBackend/SurveyBackend.API/DTOs/Survey/OutputSurveyDto.cs +++ b/SurveyBackend/SurveyBackend.API/DTOs/Survey/OutputSurveyDto.cs @@ -1,9 +1,24 @@ namespace SurveyBackend.DTOs.Survey; +/// +/// Выходная схема опроса +/// public class OutputSurveyDto { + /// + /// ID опроса + /// public required int Id { get; set; } + /// + /// Название опроса + /// public required string Title { get; set; } + /// + /// Описание опроса + /// public required string Description { get; set; } + /// + /// Создатель опроса (опционально) + /// public int? CreatedBy { get; set; } } \ No newline at end of file diff --git a/SurveyBackend/SurveyBackend.API/DTOs/UserLoginDto.cs b/SurveyBackend/SurveyBackend.API/DTOs/UserLoginDto.cs index 8e58ee2..2cf7002 100644 --- a/SurveyBackend/SurveyBackend.API/DTOs/UserLoginDto.cs +++ b/SurveyBackend/SurveyBackend.API/DTOs/UserLoginDto.cs @@ -1,7 +1,16 @@ namespace SurveyBackend.DTOs; +/// +/// Схема авторизации пользователя +/// public record UserLoginDto { + /// + /// Почта + /// public required string Email { get; set; } + /// + /// Пароль + /// public required string Password { get; set; } } \ No newline at end of file diff --git a/SurveyBackend/SurveyBackend.API/DTOs/UserRegistrationDto.cs b/SurveyBackend/SurveyBackend.API/DTOs/UserRegistrationDto.cs index 3c0808d..b67622e 100644 --- a/SurveyBackend/SurveyBackend.API/DTOs/UserRegistrationDto.cs +++ b/SurveyBackend/SurveyBackend.API/DTOs/UserRegistrationDto.cs @@ -1,10 +1,32 @@ namespace SurveyBackend.DTOs; +/// +/// Схема регистрации пользователя +/// public record UserRegistrationDto { - public string Email { get; set; } + /// + /// Почта + /// + public required string Email { get; set; } + + /// + /// Юзернейм + /// public string Username { get; set; } + + /// + /// Имя + /// public string FirstName { get; set; } + + /// + /// Фамилия + /// public string LastName { get; set; } + + /// + /// Пароль + /// public string Password { get; set; } } \ No newline at end of file diff --git a/SurveyBackend/SurveyBackend.API/Filters/EndpointAuthRequirementFilter.cs b/SurveyBackend/SurveyBackend.API/Filters/EndpointAuthRequirementFilter.cs index 37ff2a0..d93194f 100644 --- a/SurveyBackend/SurveyBackend.API/Filters/EndpointAuthRequirementFilter.cs +++ b/SurveyBackend/SurveyBackend.API/Filters/EndpointAuthRequirementFilter.cs @@ -5,8 +5,10 @@ using Swashbuckle.AspNetCore.SwaggerGen; namespace SurveyBackend.Filters; +/// public class EndpointAuthRequirementFilter : IOperationFilter { + /// public void Apply(OpenApiOperation operation, OperationFilterContext context) { if (!context.ApiDescription