Files
irsa-manager/internal/selfhosted/selfhosted.go
T
2024-04-17 21:47:47 +09:00

46 lines
984 B
Go

package selfhosted
import "context"
func Execute(ctx context.Context, factory OIDCIdPFactory, forceUpdate bool) error {
issuerMeta := factory.IssuerMeta()
discovery := factory.IdPDiscovery()
discoveryContents := factory.IdPDiscoveryContents(issuerMeta)
idp, err := factory.IdP(issuerMeta)
if err != nil {
return err
}
err = discovery.CreateStorage(ctx)
if err != nil {
return err
}
err = discovery.Upload(ctx, discoveryContents, forceUpdate)
if err != nil {
return err
}
err = idp.Create(ctx)
if err != nil {
return err
}
return nil
}
func Delete(ctx context.Context, factory OIDCIdPFactory) error {
issuerMeta := factory.IssuerMeta()
discovery := factory.IdPDiscovery()
discoveryContents := factory.IdPDiscoveryContents(issuerMeta)
idp, err := factory.IdP(issuerMeta)
if err != nil {
return err
}
err = discovery.Delete(ctx, discoveryContents)
if err != nil {
return err
}
err = idp.Delete(ctx)
if err != nil {
return err
}
return nil
}