using PostFundManagement.Application.Services.Grants; using PostFundManagement.Domain; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; public interface IGrantsService { ValueTask> GetContractsAsync(Pagination pagination, CancellationToken cancellationToken = default); ValueTask> GetContractAsync(string contractIdHash, CancellationToken cancellationToken = default); ValueTask> GetBudgetsAsync(Pagination pagination, CancellationToken cancellationToken = default); ValueTask> GetBudgetAsync(string budgetIdHash, CancellationToken cancellationToken = default); ValueTask> GetAwardsAsync(Pagination pagination, CancellationToken cancellationToken = default); ValueTask> GetAwardAsync(string awardIdHash, CancellationToken cancellationToken = default); ValueTask ExecuteContractAsync(ExecuteContractRequest request, Guid userId, CancellationToken cancellationToken = default); ValueTask CreateContractAsync(CreateContractRequest request, Guid userId, CancellationToken cancellationToken = default); ValueTask CreateBudgetAsync(CreateBudgetRequest request, Guid userId, CancellationToken cancellationToken = default); ValueTask CreateAwardAsync(CreateAwardRequest request, Guid userId, CancellationToken cancellationToken = default); }