Skip to content

Commit

Permalink
refactor add & new commands
Browse files Browse the repository at this point in the history
  • Loading branch information
Pavan Kumar committed Sep 21, 2015
1 parent 39062a5 commit 1be502c
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 9 deletions.
13 changes: 9 additions & 4 deletions add.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,18 @@ type addCmd struct {
}

func (a *addCmd) addSelectedApp(
app *app,
name string,
appConfig appConfig,
args []string,
e *env,
) error {
switch e.Type {
case legacyParseFormat, parseFormat:
appConfig := a.getParseAppConfig(app)
return a.addSelectedParseApp(app.Name, appConfig, args, e)
parseAppConfig, ok := appConfig.(*parseAppConfig)
if !ok {
return stackerr.New("invalid parse app config passed.")
}
return a.addSelectedParseApp(name, parseAppConfig, args, e)
}

return stackerr.Newf("Unknown project type: %d.", e.Type)
Expand Down Expand Up @@ -55,7 +59,8 @@ func (a *addCmd) run(e *env, args []string) error {
if err != nil {
return err
}
return a.addSelectedApp(app, args, e)
appConfig := a.getParseAppConfig(app)
return a.addSelectedApp(app.Name, appConfig, args, e)
}

func newAddCmd(e *env) *cobra.Command {
Expand Down
16 changes: 11 additions & 5 deletions new.go
Original file line number Diff line number Diff line change
Expand Up @@ -244,18 +244,23 @@ This will download Cloud Code to a temporary location.

func (n *newCmd) configureSample(
add *addCmd,
app *app,
name string,
appConfig appConfig,
args []string,
e *env,
) error {
if err := add.addSelectedApp(app, args, e); err != nil {
if err := add.addSelectedApp(name, appConfig, args, e); err != nil {
return err
}

masterKey, err := appConfig.getMasterKey(e)
if err != nil {
return err
}
e.ParseAPIClient = e.ParseAPIClient.WithCredentials(
parse.MasterKey{
ApplicationID: app.ApplicationID,
MasterKey: app.MasterKey,
ApplicationID: appConfig.getApplicationID(),
MasterKey: masterKey,
},
)

Expand Down Expand Up @@ -299,12 +304,13 @@ func (n *newCmd) run(e *env) error {
}

e.Type = parseFormat
appConfig := addCmd.getParseAppConfig(app)

dumpTemplate, err := n.setupSample(e, app, isNew, nonInteractive)
if err != nil {
return err
}
if err := n.configureSample(addCmd, app, nil, e); err != nil {
if err := n.configureSample(addCmd, app.Name, appConfig, nil, e); err != nil {
return err
}
if token := apps.login.credentials.token; token != "" {
Expand Down

0 comments on commit 1be502c

Please sign in to comment.