aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--cmd/app/main.go29
1 files changed, 29 insertions, 0 deletions
diff --git a/cmd/app/main.go b/cmd/app/main.go
index 00bceb57..41a513d5 100644
--- a/cmd/app/main.go
+++ b/cmd/app/main.go
@@ -7,18 +7,21 @@ package main
import (
"context"
"errors"
+ "fmt"
"io"
"log"
"os"
"os/exec"
"os/signal"
"path/filepath"
+ "strconv"
"syscall"
"hakurei.app/check"
"hakurei.app/command"
"hakurei.app/fhs"
"hakurei.app/hst"
+ "hakurei.app/internal/outcome"
"hakurei.app/message"
)
@@ -200,6 +203,32 @@ func main() {
)
}
+ c.NewCommand(
+ "id", "Show user/group id of the specified appid",
+ func(args []string) error {
+ var appid int
+ switch len(args) {
+ case 0:
+ log.Println("appid not specified, assuming reserved user")
+ break
+
+ case 1:
+ var err error
+ appid, err = strconv.Atoi(args[0])
+ if err != nil {
+ return os.ErrInvalid
+ }
+ break
+
+ default:
+ return errors.New("id requires 1 argument")
+ }
+
+ fmt.Println(hst.ToUser(outcome.Info().User, appid))
+ return nil
+ },
+ )
+
c.MustParse(os.Args[1:], func(err error) {
if e, ok := errors.AsType[*exec.ExitError](err); ok && e != nil {
os.Exit(e.ExitCode())