github.com/supabase/cli@v1.168.1/internal/utils/tenant/database.go (about) 1 package tenant 2 3 import ( 4 "context" 5 6 "github.com/go-errors/errors" 7 "github.com/supabase/cli/internal/utils" 8 ) 9 10 var errDatabaseVersion = errors.New("Database version not found.") 11 12 func GetDatabaseVersion(ctx context.Context, projectRef string) (string, error) { 13 resp, err := utils.GetSupabase().GetProjectsWithResponse(ctx) 14 if err != nil { 15 return "", errors.Errorf("failed to retrieve projects: %w", err) 16 } 17 if resp.JSON200 == nil { 18 return "", errors.New("Unexpected error retrieving projects: " + string(resp.Body)) 19 } 20 for _, project := range *resp.JSON200 { 21 if project.Id == projectRef && len(project.Database.Version) > 0 { 22 return project.Database.Version, nil 23 } 24 } 25 return "", errors.New(errDatabaseVersion) 26 }