supabase-cli/internal/sso/list/list.go

37 lines
913 B
Go

package list
import (
"context"
"net/http"
"os"
"github.com/go-errors/errors"
"github.com/supabase/cli/internal/sso/internal/render"
"github.com/supabase/cli/internal/utils"
)
func Run(ctx context.Context, ref, format string) error {
resp, err := utils.GetSupabase().V1ListAllSsoProviderWithResponse(ctx, ref)
if err != nil {
return errors.Errorf("failed to list sso providers: %w", err)
}
if resp.JSON200 == nil {
if resp.StatusCode() == http.StatusNotFound {
return errors.New("Looks like SAML 2.0 support is not enabled for this project. Please use the dashboard to enable it.")
}
return errors.New("unexpected error listing identity providers: " + string(resp.Body))
}
switch format {
case utils.OutputPretty:
return render.ListMarkdown(resp.JSON200.Items)
default:
return utils.EncodeOutput(format, os.Stdout, map[string]any{
"providers": resp.JSON200.Items,
})
}
}