using System.ComponentModel.DataAnnotations; namespace Journal.Core.Dtos; public record TodoListDto( Guid Id, string Label, DateTimeOffset CreatedAt, List 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 );