using StickyBoard.Core.Models; using StickyBoard.Core.Models.BoardsAndCards; namespace StickyBoard.Core.Repositories.BoardsAndCards.Contracts; public interface IWorkspaceMemberRepository { Task AddAsync(WorkspaceMember entity, CancellationToken ct); Task UpdateRoleAsync(Guid workspaceId, Guid userId, WorkspaceRole role, CancellationToken ct); Task RemoveAsync(Guid workspaceId, Guid userId, CancellationToken ct); Task ExistsAsync(Guid workspaceId, Guid userId, CancellationToken ct); Task GetRoleAsync(Guid workspaceId, Guid userId, CancellationToken ct); Task> GetByWorkspaceAsync(Guid workspaceId, CancellationToken ct); Task> GetByUserAsync(Guid userId, CancellationToken ct); }