File tree Expand file tree Collapse file tree 3 files changed +43
-29
lines changed Expand file tree Collapse file tree 3 files changed +43
-29
lines changed Original file line number Diff line number Diff line change
1
+ package commands
2
+
3
+ import (
4
+ "context"
5
+ "fmt"
6
+ "os/user"
7
+
8
+ "github.com/spf13/cobra"
9
+ )
10
+
11
+ func CurrentUser (ctx context.Context ) * cobra.Command {
12
+ return & cobra.Command {
13
+ Use : "current-user" ,
14
+ Short : "Get the current user" ,
15
+ Args : cobra .NoArgs ,
16
+ RunE : func (* cobra.Command , []string ) error {
17
+ user , err := user .Current ()
18
+ if err != nil {
19
+ return err
20
+ }
21
+ fmt .Print (user .Username )
22
+ return nil
23
+ },
24
+ }
25
+ }
Original file line number Diff line number Diff line change @@ -4,14 +4,16 @@ import (
4
4
"context"
5
5
"encoding/json"
6
6
"fmt"
7
- "github.com/docker/labs-ai-tools-for-devs/pkg/client"
8
- secretsapi "github.com/docker/labs-ai-tools-for-devs/pkg/generated/go/client/secrets"
9
- "github.com/docker/labs-ai-tools-for-devs/pkg/paths"
10
- "github.com/spf13/cobra"
11
7
"os"
12
8
"os/signal"
13
9
"slices"
14
10
"syscall"
11
+
12
+ "github.com/docker/labs-ai-tools-for-devs/cmd/commands"
13
+ "github.com/docker/labs-ai-tools-for-devs/pkg/client"
14
+ secretsapi "github.com/docker/labs-ai-tools-for-devs/pkg/generated/go/client/secrets"
15
+ "github.com/docker/labs-ai-tools-for-devs/pkg/paths"
16
+ "github.com/spf13/cobra"
15
17
)
16
18
17
19
func main () {
@@ -25,6 +27,7 @@ func main() {
25
27
cmd .AddCommand (UnauthorizeApp (ctx ))
26
28
cmd .AddCommand (ListOAuthApps (ctx ))
27
29
cmd .AddCommand (DeriveSecret (ctx ))
30
+ cmd .AddCommand (commands .CurrentUser (ctx ))
28
31
if err := cmd .Execute (); err != nil {
29
32
fmt .Println (err )
30
33
os .Exit (1 )
Original file line number Diff line number Diff line change @@ -36,32 +36,18 @@ let user: string | null = null;
36
36
37
37
export const getUser = async ( client : v1 . DockerDesktopClient ) => {
38
38
if ( user == null ) {
39
- if ( client . host . platform === "win32" ) {
40
- const result = await tryRunImageSync ( client , [
41
- "--rm" ,
42
- "--network=none" ,
43
- "-e" ,
44
- "USERNAME" ,
45
- BUSYBOX ,
46
- "/bin/sh" ,
47
- "-c" ,
48
- `\"echo $USERNAME\"` ,
49
- ] ) ;
50
- user = result . trim ( ) ;
51
- } else {
52
- const result = await tryRunImageSync ( client , [
53
- "--rm" ,
54
- "--network=none" ,
55
- "-e" ,
56
- "USER" ,
57
- BUSYBOX ,
58
- "/bin/sh" ,
59
- "-c" ,
60
- `'echo $USER'` ,
61
- ] ) ;
62
- user = result . trim ( ) ;
63
- }
39
+ try {
40
+ const result = await client . extension . host ?. cli . exec ( "host-binary" , [ "current-user" ] ) ;
41
+ if ( result ) {
42
+ user = result . stdout . trim ( ) ;
43
+ return user ;
44
+ }
45
+ } catch { }
46
+
47
+ client . desktopUI . toast . error ( "Unable to get current user" ) ;
48
+ return ""
64
49
}
50
+
65
51
return user ;
66
52
} ;
67
53
You can’t perform that action at this time.
0 commit comments