using Journal.Core.Models;

namespace Journal.Core.Repositories;

public interface ITodoRepository
{
    List<TodoList> GetAllLists();
    TodoList? GetListById(Guid id);
    void AddList(TodoList list);
    bool UpdateList(Guid id, string? label = null);
    bool RemoveList(Guid id);

    List<TodoItem> GetItemsByListId(Guid listId);
    TodoItem? GetItemById(Guid id);
    void AddItem(TodoItem item);
    bool UpdateItem(Guid id, string? text = null, bool? done = null, int? sortOrder = null);
    bool RemoveItem(Guid id);
}
