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