using ECPDAL.Collaboration.DTOs; using GB5Shared.DTO.Framework.Login; namespace ECPDAL.Collaboration.Interfaces; public interface ICollaborationSpaceDAL { Task GetCollaborationSpaceAsync(int collaborationSpaceId, LoginDTO login, CancellationToken ct); Task> GetSelectListCollaborationSpaceAsync(int userId, LoginDTO login, CancellationToken ct); Task> GetCollaborationSpaceListByOwnerAsync(int ownerUserId, LoginDTO login, CancellationToken ct); Task> GetCollaborationSpaceListByMemberAsync(int userId, LoginDTO login, CancellationToken ct); Task SaveCollaborationSpaceAsync(CollaborationSpaceDTO dto, LoginDTO login, CancellationToken ct); Task UpdateCollaborationSpaceAsync(CollaborationSpaceDTO dto, LoginDTO login, CancellationToken ct); Task ArchiveCollaborationSpaceAsync(int collaborationSpaceId, int modifiedById, LoginDTO login, CancellationToken ct); Task> GetMembersForSpaceAsync(int collaborationSpaceId, LoginDTO login, CancellationToken ct); Task GetMemberAsync(int collaborationSpaceId, int userId, LoginDTO login, CancellationToken ct); Task AddMemberAsync(CollaborationSpaceMemberDTO dto, LoginDTO login, CancellationToken ct); Task RemoveMemberAsync(int collaborationSpaceId, int userId, LoginDTO login, CancellationToken ct); /// "Add Member" picker — active users not already a member of the given space. Task> GetSelectListMembersAsync(int collaborationSpaceId, LoginDTO login, CancellationToken ct); }