From 9361d471ef8e40b82aa02b973e76fcff7f79cfa4 Mon Sep 17 00:00:00 2001 From: Adrien Waksberg Date: Sat, 20 Jul 2019 08:39:41 +0200 Subject: [PATCH] style: generate the otp code in entry struct --- gpm/cli.go | 4 +--- gpm/entry.go | 8 ++++++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gpm/cli.go b/gpm/cli.go index 36a35c6..2f8f51d 100644 --- a/gpm/cli.go +++ b/gpm/cli.go @@ -24,7 +24,6 @@ import( "time" "github.com/atotto/clipboard" "github.com/olekukonko/tablewriter" - "github.com/pquerna/otp/totp" "golang.org/x/crypto/ssh/terminal" ) @@ -268,8 +267,7 @@ func (c *Cli) copyEntry() { case "p": clipboard.WriteAll(entry.Password) case "o": - code, _ := totp.GenerateCode(entry.OTP, time.Now()) - clipboard.WriteAll(code) + clipboard.WriteAll(entry.OTPCode()) case "q": os.Exit(0) default: diff --git a/gpm/entry.go b/gpm/entry.go index a99f3af..77436dc 100644 --- a/gpm/entry.go +++ b/gpm/entry.go @@ -18,6 +18,8 @@ import( "fmt" "time" "net/url" + + "github.com/pquerna/otp/totp" ) // Entry struct have the password informations @@ -54,3 +56,9 @@ func (e *Entry) Verify() error { func (e *Entry) GenerateID() { e.ID = fmt.Sprintf("%d", time.Now().UnixNano()) } + +// OTPCode generate an OTP Code +func (e *Entry) OTPCode() string { + code, _ := totp.GenerateCode(e.OTP, time.Now()) + return code +}