using StickyBoard.Core.DTOs.BoardsAndCards; using StickyBoard.Core.Models; namespace StickyBoard.Core.Services.BoardsAndCards.Contracts; public interface IWorkspaceService { Task CreateAsync(Guid creatorId, WorkspaceCreateDto dto, CancellationToken ct); Task> GetForUserAsync(Guid userId, CancellationToken ct); Task RenameAsync(Guid workspaceId, string name, CancellationToken ct); Task AddMemberAsync(Guid workspaceId, Guid userId, WorkspaceRole role, CancellationToken ct); Task RemoveMemberAsync(Guid workspaceId, Guid userId, CancellationToken ct); Task ChangeRoleAsync(Guid workspaceId, Guid userId, WorkspaceRole role, CancellationToken ct); Task> GetMembersAsync(Guid workspaceId, CancellationToken ct); Task DeleteAsync(Guid workspaceId, CancellationToken ct); Task GetUserRoleAsync(Guid id, Guid userId, CancellationToken ct); }