@@ -190,6 +190,18 @@ var planSelectCmd = &cobra.Command{
190190 return err
191191 }
192192
193+ settings , err := settings .ReadSettings ()
194+ if err != nil {
195+ return fmt .Errorf ("could not retrieve local config: %w" , err )
196+ }
197+
198+ org := settings .Organization ()
199+ if org != "" && selected == "starter" {
200+ fmt .Printf ("You can't downgrade to the %s plan with a team organization\n " , internal .Emph ("starter" ))
201+ fmt .Printf ("Instead, you can destroy it with %s\n " , internal .Emph (fmt .Sprintf ("turso org destroy %s" , org )))
202+ return nil
203+ }
204+
193205 return changePlan (client , plans , subscription , hasPaymentMethod , selected , timeline , overages )
194206 },
195207}
@@ -199,11 +211,7 @@ func selectedPlan(subscription turso.Subscription, plans []turso.Plan, args []st
199211 return args [0 ], nil
200212 }
201213
202- selectabledPlans , err := selectabledPlans (plans )
203- if err != nil {
204- return "" , err
205- }
206- selected , err := promptPlanSelection (selectabledPlans , subscription .Plan )
214+ selected , err := promptPlanSelection (plans , subscription .Plan )
207215 if err != nil {
208216 return "" , err
209217 }
@@ -233,22 +241,6 @@ func planNameArg(cmd *cobra.Command, args []string, toComplete string) ([]string
233241 return names , cobra .ShellCompDirectiveNoFileComp
234242}
235243
236- func selectabledPlans (plans []turso.Plan ) ([]turso.Plan , error ) {
237- settings , err := settings .ReadSettings ()
238- if err != nil {
239- return plans , err
240- }
241-
242- org := settings .Organization ()
243- var plansToSelect []turso.Plan
244- for _ , plan := range plans {
245- if plan .Name != "starter" || org == "" {
246- plansToSelect = append (plansToSelect , plan )
247- }
248- }
249- return plansToSelect , nil
250- }
251-
252244var planUpgradeCmd = & cobra.Command {
253245 Use : "upgrade" ,
254246 Short : "Upgrade your current organization plan" ,
0 commit comments