@@ -16,18 +16,15 @@ package platform
1616
1717import (
1818 "context"
19- "encoding/json"
2019 "fmt"
2120 "strings"
2221
2322 "github.com/slackapi/slack-cli/cmd/app"
2423 "github.com/slackapi/slack-cli/cmd/feedback"
2524 "github.com/slackapi/slack-cli/cmd/triggers"
26- "github.com/slackapi/slack-cli/internal/api"
2725 "github.com/slackapi/slack-cli/internal/cmdutil"
2826 "github.com/slackapi/slack-cli/internal/config"
2927 "github.com/slackapi/slack-cli/internal/hooks"
30- "github.com/slackapi/slack-cli/internal/logger"
3128 "github.com/slackapi/slack-cli/internal/pkg/platform"
3229 "github.com/slackapi/slack-cli/internal/prompts"
3330 "github.com/slackapi/slack-cli/internal/shared"
@@ -52,9 +49,6 @@ type deployCmdFlags struct {
5249
5350var deployFlags deployCmdFlags
5451
55- var packageSpinner * style.Spinner
56- var deploySpinner * style.Spinner
57-
5852func NewDeployCommand (clients * shared.ClientFactory ) * cobra.Command {
5953 cmd := & cobra.Command {
6054 Use : "deploy [flags]" ,
@@ -68,16 +62,8 @@ func NewDeployCommand(clients *shared.ClientFactory) *cobra.Command {
6862 return cmdutil .IsValidProjectDirectory (clients )
6963 },
7064 RunE : func (cmd * cobra.Command , args []string ) error {
71- var event * logger.LogEvent
7265 ctx := cmd .Context ()
7366
74- packageSpinner = style .NewSpinner (cmd .OutOrStdout ())
75- deploySpinner = style .NewSpinner (cmd .OutOrStdout ())
76- defer func () {
77- packageSpinner .Stop ()
78- deploySpinner .Stop ()
79- }()
80-
8167 selection , err := appSelectPromptFunc (ctx , clients , prompts .ShowHostedOnly , prompts .ShowAllApps )
8268 if err != nil {
8369 return err
@@ -94,22 +80,22 @@ func NewDeployCommand(clients *shared.ClientFactory) *cobra.Command {
9480 if installState == types .InstallRequestPending || installState == types .InstallRequestCancelled || installState == types .InstallRequestNotSent {
9581 return nil
9682 }
83+
9784 switch {
9885 case clients .SDKConfig .Hooks .Deploy .IsAvailable ():
99- event , err = deployHook (ctx , clients )
86+ err = deployHook (ctx , clients )
10087 if err != nil {
10188 return err
10289 }
10390 default :
104- log := newDeployLogger (cmd )
10591 showTriggers := triggers .ShowTriggers (clients , deployFlags .hideTriggers )
106- event , err = deployFunc (ctx , clients , showTriggers , log , app )
92+ err = deployFunc (ctx , clients , showTriggers , app )
10793 if err != nil {
10894 return err
10995 }
11096 }
11197
112- err = printDeployHostingCompletion (clients , cmd , event )
98+ err = printDeployHostingCompletion (clients , cmd )
11399 if err != nil {
114100 return err
115101 }
@@ -127,25 +113,6 @@ func NewDeployCommand(clients *shared.ClientFactory) *cobra.Command {
127113 return cmd
128114}
129115
130- // newDeployLogger creates a logger instance to receive event notifications
131- func newDeployLogger (cmd * cobra.Command ) * logger.Logger {
132- return logger .New (
133- // OnEvent
134- func (event * logger.LogEvent ) {
135- switch event .Name {
136- case "on_app_package" :
137- printDeployPackage (cmd , event )
138- case "on_app_package_completion" :
139- printDeployPackageCompletion (cmd , event )
140- case "on_app_deploy_hosting" :
141- printDeployHosting (cmd , event )
142- default :
143- // Ignore the event
144- }
145- },
146- )
147- }
148-
149116// hasValidDeploymentMethod errors if an app has no known ways to deploy
150117func hasValidDeploymentMethod (
151118 ctx context.Context ,
@@ -188,11 +155,7 @@ func hasValidDeploymentMethod(
188155}
189156
190157// deployHook executes the provided program and streams IO for the process
191- func deployHook (ctx context.Context , clients * shared.ClientFactory ) (* logger.LogEvent , error ) {
192- var log = logger.LogEvent {
193- // FIXME: Include app information
194- Data : logger.LogData {"authSession" : "{}" },
195- }
158+ func deployHook (ctx context.Context , clients * shared.ClientFactory ) error {
196159 clients .IO .PrintInfo (ctx , false , "\n %s" , style .Sectionf (style.TextSection {
197160 Emoji : "mailbox_with_mail" ,
198161 Text : "App Deploy" ,
@@ -220,82 +183,16 @@ func deployHook(ctx context.Context, clients *shared.ClientFactory) (*logger.Log
220183 IO : clients .IO ,
221184 }
222185 if _ , err := shell .Execute (ctx , hookExecOpts ); err != nil {
223- return & log , err
186+ return err
224187 }
225188 // Follow successful hook executions with a newline to match section formatting
226189 // but break immediately after an error!
227190 _ , _ = clients .IO .WriteOut ().Write ([]byte ("\n " ))
228- return & log , nil
229- }
230-
231- func printDeployPackage (cmd * cobra.Command , event * logger.LogEvent ) {
232- cmd .Println ()
233- packageSpinner .Update ("Packaging app for deployment" , "" ).Start ()
234- }
235-
236- func printDeployPackageCompletion (cmd * cobra.Command , event * logger.LogEvent ) {
237- packagedSize := event .DataToString ("packagedSize" )
238- packagedTime := event .DataToString ("packagedTime" )
239-
240- deployPackageSuccessText := style .Sectionf (style.TextSection {
241- Emoji : "gift" ,
242- Text : "App packaged and ready to deploy" ,
243- Secondary : []string {fmt .Sprintf ("%s was packaged in %s" , packagedSize , packagedTime )},
244- })
245- packageSpinner .Update (deployPackageSuccessText , "" ).Stop ()
246- }
247-
248- func printDeployHosting (cmd * cobra.Command , event * logger.LogEvent ) {
249- deployHostingText := "Deploying to Slack Platform" + style .Secondary (" (this will take a moment)" )
250- deploySpinner .Update (deployHostingText , "" ).Start ()
191+ return nil
251192}
252193
253- func printDeployHostingCompletion (clients * shared.ClientFactory , cmd * cobra.Command , event * logger. LogEvent ) error {
194+ func printDeployHostingCompletion (clients * shared.ClientFactory , cmd * cobra.Command ) error {
254195 var ctx = cmd .Context ()
255- var authSession api.AuthSession
256-
257- appName := event .DataToString ("appName" )
258- deployTime := event .DataToString ("deployTime" )
259- err := json .Unmarshal ([]byte (event .DataToString ("authSession" )), & authSession )
260- if err != nil {
261- return err
262- }
263-
264- parsedAppInfo := map [string ]string {}
265-
266- host := clients .API ().Host ()
267- if appID := event .DataToString ("appID" ); appID != "" && host != "" {
268- parsedAppInfo ["Dashboard" ] = fmt .Sprintf ("%s/apps/%s" , host , appID )
269- }
270-
271- if authSession .UserName != nil && authSession .UserID != nil {
272- userInfo := fmt .Sprintf ("%s (%s)" , * authSession .UserName , * authSession .UserID )
273- parsedAppInfo ["App Owner" ] = userInfo
274- }
275-
276- if authSession .TeamName != nil && authSession .TeamID != nil {
277- workspaceInfo := fmt .Sprintf ("%s (%s)" , * authSession .TeamName , * authSession .TeamID )
278- if authSession .EnterpriseID != nil {
279- parsedAppInfo ["Organization" ] = workspaceInfo
280- } else {
281- parsedAppInfo ["Workspace" ] = workspaceInfo
282- }
283- }
284-
285- var finalMessage string
286- if appName != "" && deployTime != "" {
287- finalMessage = fmt .Sprintf ("%s deployed in %s" , style .Bold (appName ), deployTime )
288- } else {
289- finalMessage = "Successfully deployed the app!"
290- }
291-
292- successfulDeployText := style .Sectionf (style.TextSection {
293- Emoji : "rocket" ,
294- Text : finalMessage ,
295- Secondary : []string {style .Mapf (parsedAppInfo )},
296- })
297-
298- deploySpinner .Update (successfulDeployText , "" ).Stop ()
299196
300197 clients .IO .PrintTrace (ctx , slacktrace .PlatformDeploySuccess )
301198
0 commit comments