using MediatR; using SequenceAuth.Example.Domain; using SequenceAuth.Example.Infrastructure; namespace SequenceAuth.Example.Features.Todos; public record CreateTodoCommand(Guid UserId, string Title) : IRequest; public class CreateTodoCommandHandler(AppDbContext dbContext) : IRequestHandler { public async Task Handle(CreateTodoCommand request, CancellationToken cancellationToken) { var todo = new TodoItem(Guid.NewGuid(), request.UserId, request.Title, TodoStatus.Pending); dbContext.Todos.Add(todo); await dbContext.SaveChangesAsync(cancellationToken); return todo; } }