4040)
4141
4242func init () {
43- var flagBackend flags.Backend
43+ var flagBackendFramework flags.BackendFramework
4444 var flagDBDriver flags.Database
4545 var frontendFrameworks flags.FrontendFramework
4646 var frontendAdvanced flags.FrontendAdvanced
@@ -50,7 +50,7 @@ func init() {
5050
5151 // Main flags
5252 createCmd .Flags ().StringP ("name" , "n" , "" , "Name of project to create" )
53- createCmd .Flags ().VarP (& flagBackend , "backend" , "b" , fmt .Sprintf ("Backend to use. Allowed values: %s" , strings .Join (flags .AllowedBackedTypes , ", " )))
53+ createCmd .Flags ().VarP (& flagBackendFramework , "backend-framework " , "b" , fmt .Sprintf ("Backend framework to use. Allowed values: %s" , strings .Join (flags .AllowedBackendFrameworkTypes , ", " )))
5454 createCmd .Flags ().VarP (& flagDBDriver , "driver" , "d" , fmt .Sprintf ("Database drivers to use. Allowed values: %s" , strings .Join (flags .AllowedDBDrivers , ", " )))
5555 createCmd .Flags ().VarP (& flagGit , "git" , "g" , fmt .Sprintf ("Git to use. Allowed values: %s" , strings .Join (flags .AllowedGitsOptions , ", " )))
5656
@@ -62,17 +62,11 @@ func init() {
6262 // Advanced features group
6363 createCmd .Flags ().BoolP ("advanced" , "a" , false , "Get prompts for advanced features" )
6464 createCmd .Flags ().Var (& advancedFeatures , "feature" , fmt .Sprintf ("Advanced feature to use. Allowed values: %s" , strings .Join (flags .AllowedAdvancedFeatures , ", " )))
65-
66- // // Mark dependencies for frontend flags
67- // createCmd.MarkFlagsRequiredTogether("frontend", "frontend-framework")
68- //
69- // // Mark feature flag as requiring --advanced
70- // createCmd.MarkFlagsRequiredTogether("advanced", "feature")
7165}
7266
7367type Options struct {
7468 ProjectName * textinput.Output
75- ProjectType * multiInput.Selection
69+ BackendFramework * multiInput.Selection
7670 DBDriver * multiInput.Selection
7771 FrontendFramework * multiInput.Selection
7872 FrontendAdvanced * multiSelect.Selection
@@ -106,14 +100,14 @@ var createCmd = &cobra.Command{
106100
107101 // VarP already validates the contents of the framework flag.
108102 // If this flag is filled, it is always valid
109- flagBackend := flags .Backend (cmd .Flag ("backend" ).Value .String ())
103+ flagBackendFramework := flags .BackendFramework (cmd .Flag ("backend-framework " ).Value .String ())
110104 flagDBDriver := flags .Database (cmd .Flag ("driver" ).Value .String ())
111105 flagFrontendFremwork := flags .FrontendFramework (cmd .Flag ("frontend-framework" ).Value .String ())
112106 flagGit := flags .Git (cmd .Flag ("git" ).Value .String ())
113107
114108 options := Options {
115109 ProjectName : & textinput.Output {},
116- ProjectType : & multiInput.Selection {},
110+ BackendFramework : & multiInput.Selection {},
117111 DBDriver : & multiInput.Selection {},
118112 FrontendFramework : & multiInput.Selection {},
119113 FrontendAdvanced : & multiSelect.Selection {
@@ -126,18 +120,18 @@ var createCmd = &cobra.Command{
126120 }
127121
128122 project := & program.Project {
129- ProjectName : flagName ,
130- ProjectType : flagBackend ,
131- DBDriver : flagDBDriver ,
132- BackendMap : make (map [flags.Backend ]program.Backend ),
133- DBDriverMap : make (map [flags.Database ]program.Driver ),
134- FrontendFramework : flagFrontendFremwork ,
135- FrontendOptions : make (map [string ]bool ),
136- AdvancedOptions : make (map [string ]bool ),
137- GitOptions : flagGit ,
123+ ProjectName : flagName ,
124+ BackendFramework : flagBackendFramework ,
125+ DBDriver : flagDBDriver ,
126+ BackendFrameworkMap : make (map [flags.BackendFramework ]program.BackendFramework ),
127+ DBDriverMap : make (map [flags.Database ]program.Driver ),
128+ FrontendFramework : flagFrontendFremwork ,
129+ FrontendOptions : make (map [string ]bool ),
130+ AdvancedOptions : make (map [string ]bool ),
131+ GitOptions : flagGit ,
138132 }
139133
140- steps := steps .InitSteps (flagBackend , flagDBDriver , flagFrontendFremwork , flagGit )
134+ steps := steps .InitSteps (flagBackendFramework , flagDBDriver , flagFrontendFremwork , flagGit )
141135 fmt .Printf ("%s\n " , logoStyle .Render (logo ))
142136
143137 // Frontend option steps:
@@ -187,23 +181,23 @@ var createCmd = &cobra.Command{
187181 }
188182 }
189183
190- if project .ProjectType == "" {
184+ if project .BackendFramework == "" {
191185 isInteractive = true
192- step := steps .Steps ["backend" ]
193- tprogram = tea .NewProgram (multiInput .InitialModelMulti (step .Options , options .ProjectType , step .Headers , project ))
186+ step := steps .Steps ["backend-framework " ]
187+ tprogram = tea .NewProgram (multiInput .InitialModelMulti (step .Options , options .BackendFramework , step .Headers , project ))
194188 if _ , err := tprogram .Run (); err != nil {
195189 cobra .CheckErr (textinput .CreateErrorInputModel (err ).Err ())
196190 }
197191 project .ExitCLI (tprogram )
198192
199- step .Field = options .ProjectType .Choice
193+ step .Field = options .BackendFramework .Choice
200194
201195 // this type casting is always safe since the user interface can
202- // only pass strings that can be cast to a flags.Backend instance
203- project .ProjectType = flags .Backend (strings .ToLower (options .ProjectType .Choice ))
204- err := cmd .Flag ("backend" ).Value .Set (project .ProjectType .String ())
196+ // only pass strings that can be cast to a flags.BackendFramework instance
197+ project .BackendFramework = flags .BackendFramework (strings .ToLower (options .BackendFramework .Choice ))
198+ err := cmd .Flag ("backend-framework " ).Value .Set (project .BackendFramework .String ())
205199 if err != nil {
206- log .Fatal ("failed to set the backend flag value" , err )
200+ log .Fatal ("failed to set the backendFramework flag value" , err )
207201 }
208202 }
209203
0 commit comments