diff --git a/cmd/launcher/main.go b/cmd/launcher/main.go index 90f4dd6..1baf936 100644 --- a/cmd/launcher/main.go +++ b/cmd/launcher/main.go @@ -9,6 +9,7 @@ import ( "path/filepath" "strings" + townuser "git.tilde.town/tildetown/town/user" "github.com/spf13/cobra" "gopkg.in/yaml.v3" ) @@ -30,24 +31,7 @@ func isAdmin() (bool, error) { if err != nil { return false, fmt.Errorf("failed to get information about current user: %w", err) } - - adminGroup, err := user.LookupGroup("admin") - if err != nil { - return false, fmt.Errorf("failed to get admin group info: %w", err) - } - - groupIds, err := u.GroupIds() - if err != nil { - return false, fmt.Errorf("failed to get groups info: %w", err) - } - - for _, groupId := range groupIds { - if groupId == adminGroup.Gid { - return true, nil - } - } - - return false, nil + return townuser.IsAdmin(u) } func parseCommands(targetCmd *cobra.Command, path string) error {