using StickyBoard.Core.DTOs.SocialAndMessaging; namespace StickyBoard.Core.Services.SocialAndMessaging.Contracts; public interface ICardCommentService { Task> GetByCardAsync(Guid cardId, CancellationToken ct); Task> GetThreadAsync(Guid cardId, Guid rootCommentId, CancellationToken ct); Task CreateAsync(Guid cardId, Guid userId, CardCommentCreateDto dto, CancellationToken ct); Task UpdateAsync(Guid commentId, Guid userId, CardCommentUpdateDto dto, CancellationToken ct); Task DeleteAsync(Guid commentId, Guid userId, CancellationToken ct); }