using AnalyticsDAL.DTO.Workspace; using GB5Shared.DTO.Framework.Login; namespace AnalyticsDAL.CustomCode.Workspace { public interface IWorkspaceDAL { Task GetWorkspace(int workspaceId, LoginDTO login, CancellationToken ct); Task GetSelectListWorkspace(LoginDTO login, CancellationToken ct); Task SaveWorkspace(WorkspaceDTO dto, LoginDTO login, CancellationToken ct); Task UpdateWorkspace(WorkspaceDTO dto, LoginDTO login, CancellationToken ct); Task DeleteWorkspace(int workspaceId, LoginDTO login, CancellationToken ct); Task IsDuplicateCode(string code, int excludeId, LoginDTO login, CancellationToken ct); Task IsDuplicateName(string name, int excludeId, LoginDTO login, CancellationToken ct); /// Unscoped by TenantId — returns null if the workspace doesn't exist. Used only by the ownership visibility guard. Task GetWorkspaceTenantId(int workspaceId, LoginDTO login, CancellationToken ct); } }