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