using CashLineERP.Contracts.Integration;

namespace CashLineERP.Application.Integration;

public interface IIntegrationEndpointRegistryService
{
    IReadOnlyCollection<IntegrationEndpointResponse> GetIntegrationEndpoints(
        bool activeOnly = false,
        string? integrationProviderCode = null,
        string? environmentCode = null);

    IntegrationEndpointResponse? GetIntegrationEndpoint(long integrationEndpointId);

    IntegrationEndpointResponse CreateIntegrationEndpoint(CreateIntegrationEndpointRequest request);

    IntegrationEndpointResponse SubmitIntegrationEndpoint(long integrationEndpointId, long actorUserId);

    IntegrationEndpointResponse ApproveIntegrationEndpoint(long integrationEndpointId, long actorUserId);

    IntegrationEndpointResponse ActivateIntegrationEndpoint(long integrationEndpointId, long actorUserId);
}
