namespace CashLineERP.Application.Integration;

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

    IntegrationEndpointDetailView? GetIntegrationEndpoint(long integrationEndpointId);

    IntegrationEndpointDetailView Create(CreateIntegrationEndpointCommand command);

    IntegrationEndpointDetailView Submit(long integrationEndpointId, long actorUserId);

    IntegrationEndpointDetailView Approve(long integrationEndpointId, long actorUserId);

    IntegrationEndpointDetailView Activate(long integrationEndpointId, long actorUserId);
}
