using System.ComponentModel.DataAnnotations;

namespace Journal.Core.Dtos;

public record FragmentDto(
    Guid Id,
    string Type,
    string Description,
    DateTimeOffset Time,
    List<string> Tags
);

public record CreateFragmentDto(
    [property: Required(AllowEmptyStrings = false)] string Type,
    [property: Required(AllowEmptyStrings = false)] string Description,
    List<string>? Tags = null
);

public record UpdateFragmentDto(
    string? Type = null,
    string? Description = null,
    List<string>? Tags = null,
    DateTimeOffset? Time = null
);
