using StickyBoard.Core.DTOs.BoardsAndCards; namespace StickyBoard.Core.Services.BoardsAndCards.Contracts; public interface ICardService { Task CreateAsync(Guid userId, CardCreateDto dto, CancellationToken ct); Task> GetByBoardAsync(Guid boardId, CancellationToken ct); Task> SearchAsync(Guid boardId, string q, CancellationToken ct); Task UpdateAsync(Guid cardId, Guid userId, CardUpdateDto dto, CancellationToken ct); Task DeleteAsync(Guid cardId, CancellationToken ct); Task MarkAsReadAsync(Guid cardId, Guid userId, CancellationToken ct); Task GetLastReadAsync(Guid cardId, Guid userId, CancellationToken ct); }