journal/Journal.Core/Dtos/TodoDtos.cs

39 lines
747 B
C#

using System.ComponentModel.DataAnnotations;
namespace Journal.Core.Dtos;
public record TodoListDto(
Guid Id,
string Label,
DateTimeOffset CreatedAt,
List<TodoItemDto> Items
);
public record TodoItemDto(
Guid Id,
Guid ListId,
string Text,
bool Done,
int SortOrder
);
public record CreateTodoListDto(
[property: Required(AllowEmptyStrings = false)] string Label
);
public record UpdateTodoListDto(
string? Label = null
);
public record CreateTodoItemDto(
[property: Required] Guid ListId,
[property: Required(AllowEmptyStrings = false)] string Text,
int? SortOrder = null
);
public record UpdateTodoItemDto(
string? Text = null,
bool? Done = null,
int? SortOrder = null
);