using PostFundManagement.Application.Services.Governance; using PostFundManagement.Domain; using PostFundManagement.Domain.Models; namespace PostFundManagement.Application.Abstractions.Services; public interface IGovernanceService { Task> GetProgrammesAsync(string portfolioIdHash, CancellationToken cancellationToken = default); Task> GetPorfoliosAsync(string organisationIdHash, CancellationToken cancellationToken = default); Task> GetOrganisationsAsync(Pagination pagination, CancellationToken cancellationToken = default); Task> GetOrganisationAsync(string organisationIdHash, CancellationToken cancellationToken = default); Task> GetInstrumentsAsync(string programmeIdHash, CancellationToken cancellationToken = default); Task> GetDashboardAsync(CancellationToken cancellationToken = default); Task CreateOrganisationAsync(CreateOrganisationRequest request, Guid userId, CancellationToken cancellationToken = default); Task> UpdateOrganisationAsync(UpdateOrganisationRequest request, CancellationToken cancellationToken = default); Task CreatePortfolioAsync(CreatePortfolioRequest request, Guid userId, CancellationToken cancellationToken = default); Task UpdatePortfolioAsync(UpdatePortfolioRequest request, Guid userId, CancellationToken cancellationToken = default); Task> GetPortfolioProgrammesAsync(string portfolioIdHash, CancellationToken cancellationToken = default); Task> GetPortfolioAsync(string portfolioIdHash, CancellationToken cancellationToken = default); }