whoami.go
1 package executor 2 3 import ( 4 "fmt" 5 6 "codeflow.dananglin.me.uk/apollo/enbas/internal/gtsclient" 7 "codeflow.dananglin.me.uk/apollo/enbas/internal/printer" 8 "codeflow.dananglin.me.uk/apollo/enbas/internal/server" 9 "codeflow.dananglin.me.uk/apollo/enbas/internal/utilities" 10 ) 11 12 func (w *WhoamiExecutor) Execute() error { 13 client, err := server.Connect(w.config.Server, w.configDir) 14 if err != nil { 15 return fmt.Errorf("error creating the client for the daemon process: %w", err) 16 } 17 defer client.Close() 18 19 account, err := getMyAccount(client) 20 if err != nil { 21 return fmt.Errorf("error getting your account information: %w", err) 22 } 23 24 var instanceURL string 25 if err := client.Call("GTSClient.GetInstanceURL", gtsclient.NoRPCArgs{}, &instanceURL); err != nil { 26 return fmt.Errorf("error getting the instance URL: %w", err) 27 } 28 29 printer.PrintInfo("You are logged in as '" + account.Username + "@" + utilities.GetFQDN(instanceURL) + "'.\n") 30 31 return nil 32 }