using PostFundManagement.Application.Services.Projects; using PostFundManagement.Domain; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; public interface IProjectService { ValueTask UpdateProjectStatusAsync(UpdateProjectStatusRequest request, Guid userId, CancellationToken cancellationToken = default); ValueTask> GetProjectsAsync(Pagination pagination, CancellationToken cancellationToken = default); ValueTask> GetProjectAsync(string projectIdHash, CancellationToken cancellationToken = default); ValueTask> GetActivitiesAsync(string projectIdHash, CancellationToken cancellationToken = default); ValueTask CreateProjectAsync(CreateProjectRequest request, Guid userId, CancellationToken cancellationToken = default); ValueTask CreateActivityAsync(CreateActivityRequest request, Guid userId, CancellationToken cancellationToken = default); ValueTask> GetProjectMilestonesAsync(string projectIdHash, CancellationToken cancellationToken = default); ValueTask> GetProjectIndicatorsAsync(string projectIdHash, CancellationToken cancellationToken = default); ValueTask> GetMilestoneAsync(string milestoneIdHash, CancellationToken cancellationToken = default); ValueTask> GetMilestonesAsync(Pagination pagination, CancellationToken cancellationToken = default); ValueTask UpdateMilestoneAsync(UpdateMilestoneRequest request, Guid userId, CancellationToken cancellationToken = default); ValueTask UpdateProjectAsync(UpdateProjectRequest request, Guid userId, CancellationToken cancellationToken = default); ValueTask> GetActivityAsync(string activityIdHash, CancellationToken cancellationToken = default); ValueTask> GetProjectRisksAsync(string projectIdHash, CancellationToken cancellationToken = default); }