using OTSSignsOrchestrator.Core.Models.DTOs;
namespace OTSSignsOrchestrator.Core.Services;
///
/// Provisions SAML applications in Authentik and retrieves IdP metadata
/// needed to render the Xibo SAML settings-custom.php template.
///
public interface IAuthentikService
{
///
/// Creates an Authentik SAML provider and application for the given Xibo instance,
/// then fetches the IdP metadata (entity ID, x509 cert, SSO/SLO URLs).
/// If the application already exists (by slug), returns its existing metadata.
///
/// Short customer abbreviation (used in naming).
/// Full base URL of the Xibo instance (e.g. https://app.ots-signs.com/demo).
/// Cancellation token.
/// IdP metadata needed for the SAML PHP configuration.
Task ProvisionSamlAsync(
string instanceAbbrev,
string instanceBaseUrl,
CancellationToken ct = default);
}