server/oidc_registry_status.go
Rama main · réplica de lectura del repositorio original.
package main
import (
"fmt"
"blackbox/server/internal/auth"
"blackbox/server/internal/models"
)
type oidcRegistryStatus int
const (
oidcRegistryStatusUnknown oidcRegistryStatus = iota
oidcRegistryStatusDisabled
oidcRegistryStatusReady
oidcRegistryStatusUnavailable
)
func oidcRegistryStatusFromProviders(providers []models.OIDCProviderConfig, registry *auth.OIDCRegistry) oidcRegistryStatus {
if len(providers) == 0 {
return oidcRegistryStatusDisabled
}
for _, provider := range providers {
if registry.Get(provider.ID) != nil {
return oidcRegistryStatusReady
}
}
return oidcRegistryStatusUnavailable
}
func oidcRegistryTransitionMessage(attempt int, previous, current oidcRegistryStatus) string {
if current == previous {
return ""
}
switch current {
case oidcRegistryStatusReady:
return "OIDC registry ready"
case oidcRegistryStatusUnavailable:
return fmt.Sprintf("OIDC registry reload attempt %d completed but no providers are currently available", attempt)
default:
return ""
}
}