DTOs docs

This commit is contained in:
Вячеслав 2025-04-27 16:03:56 +05:00
parent fb3320fe18
commit d692a2e519
8 changed files with 104 additions and 1 deletions

View file

@ -1,9 +1,21 @@
namespace SurveyBackend.DTOs.Question; namespace SurveyBackend.DTOs.Question;
/// <summary>
/// Схема для создания нового Question
/// </summary>
public class CreateQuestionDto public class CreateQuestionDto
{ {
/// <summary>
/// Название вопроса
/// </summary>
public required string Title { get; set; } public required string Title { get; set; }
/// <summary>
/// Тип вопроса
/// </summary>
public required string QuestionType { get; set; } public required string QuestionType { get; set; }
/// <summary>
/// Варианты ответа (только если вопрос с выбором)
/// </summary>
public List<string>? AnswerVariants { get; set; } public List<string>? AnswerVariants { get; set; }
} }

View file

@ -1,8 +1,20 @@
namespace SurveyBackend.DTOs.Question; namespace SurveyBackend.DTOs.Question;
/// <summary>
/// Выходная схема вариантов ответа
/// </summary>
public class OutputAnswerVariantDto public class OutputAnswerVariantDto
{ {
/// <summary>
/// ID варианта ответа
/// </summary>
public required int Id { get; set; } public required int Id { get; set; }
/// <summary>
/// ID родительского вопроса
/// </summary>
public required int QuestionId { get; set; } public required int QuestionId { get; set; }
/// <summary>
/// Текст варианта ответа
/// </summary>
public required string Text { get; set; } public required string Text { get; set; }
} }

View file

@ -1,10 +1,32 @@
namespace SurveyBackend.DTOs.Question; namespace SurveyBackend.DTOs.Question;
/// <summary>
/// Выходнпя схема вопроса
/// </summary>
public class OutputQuestionDto public class OutputQuestionDto
{ {
/// <summary>
/// ID вопроса
/// </summary>
public required int Id { get; set; } public required int Id { get; set; }
/// <summary>
/// ID родительского опроса
/// </summary>
public required int SurveyId { get; set; } public required int SurveyId { get; set; }
/// <summary>
/// Заголовок вопроса
/// </summary>
public required string Title { get; set; } public required string Title { get; set; }
/// <summary>
/// Тип вопроса
/// </summary>
public required string QuestionType { get; set; } public required string QuestionType { get; set; }
/// <summary>
/// Варианты ответа
/// </summary>
public List<OutputAnswerVariantDto>? AnswerVariants { get; set; } public List<OutputAnswerVariantDto>? AnswerVariants { get; set; }
} }

View file

@ -1,7 +1,16 @@
namespace SurveyBackend.DTOs.Survey; namespace SurveyBackend.DTOs.Survey;
/// <summary>
/// Схема для создания нового опроса
/// </summary>
public class CreateSurveyDto public class CreateSurveyDto
{ {
/// <summary>
/// Название опроса
/// </summary>
public required string Title { get; set; } public required string Title { get; set; }
/// <summary>
/// Опциональное описание опроса
/// </summary>
public string Description { get; set; } = string.Empty; public string Description { get; set; } = string.Empty;
} }

View file

@ -1,9 +1,24 @@
namespace SurveyBackend.DTOs.Survey; namespace SurveyBackend.DTOs.Survey;
/// <summary>
/// Выходная схема опроса
/// </summary>
public class OutputSurveyDto public class OutputSurveyDto
{ {
/// <summary>
/// ID опроса
/// </summary>
public required int Id { get; set; } public required int Id { get; set; }
/// <summary>
/// Название опроса
/// </summary>
public required string Title { get; set; } public required string Title { get; set; }
/// <summary>
/// Описание опроса
/// </summary>
public required string Description { get; set; } public required string Description { get; set; }
/// <summary>
/// Создатель опроса (опционально)
/// </summary>
public int? CreatedBy { get; set; } public int? CreatedBy { get; set; }
} }

View file

@ -1,7 +1,16 @@
namespace SurveyBackend.DTOs; namespace SurveyBackend.DTOs;
/// <summary>
/// Схема авторизации пользователя
/// </summary>
public record UserLoginDto public record UserLoginDto
{ {
/// <summary>
/// Почта
/// </summary>
public required string Email { get; set; } public required string Email { get; set; }
/// <summary>
/// Пароль
/// </summary>
public required string Password { get; set; } public required string Password { get; set; }
} }

View file

@ -1,10 +1,32 @@
namespace SurveyBackend.DTOs; namespace SurveyBackend.DTOs;
/// <summary>
/// Схема регистрации пользователя
/// </summary>
public record UserRegistrationDto public record UserRegistrationDto
{ {
public string Email { get; set; } /// <summary>
/// Почта
/// </summary>
public required string Email { get; set; }
/// <summary>
/// Юзернейм
/// </summary>
public string Username { get; set; } public string Username { get; set; }
/// <summary>
/// Имя
/// </summary>
public string FirstName { get; set; } public string FirstName { get; set; }
/// <summary>
/// Фамилия
/// </summary>
public string LastName { get; set; } public string LastName { get; set; }
/// <summary>
/// Пароль
/// </summary>
public string Password { get; set; } public string Password { get; set; }
} }

View file

@ -5,8 +5,10 @@ using Swashbuckle.AspNetCore.SwaggerGen;
namespace SurveyBackend.Filters; namespace SurveyBackend.Filters;
/// <inheritdoc />
public class EndpointAuthRequirementFilter : IOperationFilter public class EndpointAuthRequirementFilter : IOperationFilter
{ {
/// <inheritdoc />
public void Apply(OpenApiOperation operation, OperationFilterContext context) public void Apply(OpenApiOperation operation, OperationFilterContext context)
{ {
if (!context.ApiDescription if (!context.ApiDescription