Files
mws.backend.dotnet/mws.application/Projects/IProjectService.cs
T

22 lines
1.4 KiB
C#
Raw Normal View History

2026-08-13 23:10:22 +07:00
using Mws.Application.Common;
namespace Mws.Application.Projects;
public interface IProjectService
{
Task<List<ProjectDto>> GetProjectsAsync(Guid userId, CancellationToken ct = default);
Task<ProjectDto> GetProjectAsync(Guid userId, Guid projectId, CancellationToken ct = default);
Task<ProjectDto> CreateProjectAsync(Guid userId, CreateProjectRequest request, CancellationToken ct = default);
Task<ProjectDto> UpdateProjectAsync(Guid userId, Guid projectId, UpdateProjectRequest request, CancellationToken ct = default);
Task ArchiveProjectAsync(Guid userId, Guid projectId, CancellationToken ct = default);
Task<ProjectOverviewDto> GetOverviewAsync(Guid userId, Guid projectId, CancellationToken ct = default);
Task<List<ProjectDto>> SearchAsync(Guid userId, string term, CancellationToken ct = default);
}
public interface IProjectMemberService
{
Task<List<ProjectMemberDto>> GetMembersAsync(Guid userId, Guid projectId, CancellationToken ct = default);
Task<ProjectMemberDto> AddMemberAsync(Guid userId, Guid projectId, AddMemberRequest request, CancellationToken ct = default);
Task<ProjectMemberDto> UpdateMemberDocumentPermissionsAsync(Guid userId, Guid projectId, Guid memberUserId, UpdateMemberDocumentPermissionsRequest request, CancellationToken ct = default);
Task RemoveMemberAsync(Guid userId, Guid projectId, Guid memberUserId, CancellationToken ct = default);
}