using PostFundManagement.Application.Services.Execution; using PostFundManagement.Domain; using PostFundManagement.Domain.Attributes; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; public interface IExecutionService { Task> GetRisksAsync(Pagination pagination, CancellationToken cancellationToken = default); Task> GetDisbursementsAsync(Pagination pagination, CancellationToken cancellationToken = default); [Audit] Task CreateRiskAsync(CreateRiskRequest request, Guid userId, CancellationToken cancellationToken = default); [Audit] Task CreateDisbursementAsync(CreateDisbursementRequest request, Guid userId, CancellationToken cancellationToken = default); [Audit] Task ApproveDisbursementAsync(string disbursementIdHash, Guid userId, CancellationToken cancellationToken = default); Task> GetDisbursementAsync(string disbursementIdHash, CancellationToken cancellationToken = default); Task> GetRiskAsync(string riskIdHash, CancellationToken cancellationToken = default); [Audit] Task UpdateRiskAsync(UpdateRiskRequest request, CancellationToken cancellationToken = default); [Audit] Task UpdateDisbursementAsync(UpdateDisbursementRequest request, Guid userId, CancellationToken cancellationToken = default); }