From b1ff57ba58a2ec59198d61f25d9347e62f694021 Mon Sep 17 00:00:00 2001 From: vilmibm Date: Wed, 25 Oct 2023 08:24:23 +0000 Subject: [PATCH] fill in emailtouser --- .gitignore | 1 + cmd/emailtouser/main.go | 37 ++++++++++++++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 15a5389..6444373 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ cmd/registeruser/registeruser cmd/stats/stats cmd/appendkeyfile/appendkeyfile cmd/help/help +cmd/emailtouser/emailtouser diff --git a/cmd/emailtouser/main.go b/cmd/emailtouser/main.go index 26c18ea..f1b17ae 100644 --- a/cmd/emailtouser/main.go +++ b/cmd/emailtouser/main.go @@ -1,9 +1,40 @@ package main -import "fmt" +import ( + "errors" + "fmt" + "os" -// TODO accept an email as an argument, write out a username associated with it or throw an error + "git.tilde.town/tildetown/town/towndb" +) + +func _main(args []string) error { + if len(args) < 2 { + return errors.New("need email") + } + email := args[1] + + db, err := towndb.ConnectDB() + if err != nil { + return err + } + + user, err := towndb.UserForEmail(db, email) + if err != nil { + return err + } + if user == nil { + return errors.New("email does not correspond to user") + } + + fmt.Println(user.Username) + + return nil +} func main() { - fmt.Println("TODO") + if err := _main(os.Args); err != nil { + fmt.Fprintf(os.Stderr, "%s\n", err.Error()) + os.Exit(1) + } }