Refactor Stringer implementations and scp root cmd init function

This commit is contained in:
mitchell 2019-06-29 21:17:22 -07:00
parent d3fa22dbb2
commit da95f9a5f0
3 changed files with 40 additions and 17 deletions

View File

@ -71,6 +71,7 @@ install-spc:
gen-protoc: gen-protoc:
protoc --go_out=plugins=grpc:. \ protoc --go_out=plugins=grpc:. \
--dart_out=grpc:. \
./credentials/protobuf/service.proto ./credentials/protobuf/service.proto
gen-csr-json: gen-csr-json:

View File

@ -28,15 +28,17 @@ can interact with the entire Selfpass API.`,
mgr := repositories.NewConfigManager(cfgFile) mgr := repositories.NewConfigManager(cfgFile)
clientInit := credrepos.NewCredentialServiceClient clientInit := credrepos.NewCredentialServiceClient
rootCmd.AddCommand(makeInit(mgr)) rootCmd.AddCommand(
rootCmd.AddCommand(makeEncrypt(mgr)) makeInit(mgr),
rootCmd.AddCommand(makeDecrypt(mgr)) makeEncrypt(mgr),
rootCmd.AddCommand(makeDecryptCfg(mgr)) makeDecrypt(mgr),
rootCmd.AddCommand(commands.MakeList(makeInitClient(mgr, clientInit))) makeDecryptCfg(mgr),
rootCmd.AddCommand(commands.MakeCreate(mgr, makeInitClient(mgr, clientInit))) commands.MakeList(makeInitClient(mgr, clientInit)),
rootCmd.AddCommand(commands.MakeUpdate(mgr, makeInitClient(mgr, clientInit))) commands.MakeCreate(mgr, makeInitClient(mgr, clientInit)),
rootCmd.AddCommand(commands.MakeGet(mgr, makeInitClient(mgr, clientInit))) commands.MakeUpdate(mgr, makeInitClient(mgr, clientInit)),
rootCmd.AddCommand(commands.MakeDelete(makeInitClient(mgr, clientInit))) commands.MakeGet(mgr, makeInitClient(mgr, clientInit)),
commands.MakeDelete(makeInitClient(mgr, clientInit)),
)
check(rootCmd.Execute()) check(rootCmd.Execute())
} }

View File

@ -16,10 +16,20 @@ type Credential struct {
} }
func (c Credential) String() string { func (c Credential) String() string {
return fmt.Sprintf( format := "%s"
"username = %s\nemail = %s\n%s", args := []interface{}{c.Metadata}
c.Username, c.Email, c.Metadata,
) if c.Username != "" {
format += "username = %s\n"
args = append(args, c.Username)
}
if c.Email != "" {
format += "email = %s\n"
args = append(args, c.Email)
}
return fmt.Sprintf(format, args...)
} }
type CredentialInput struct { type CredentialInput struct {
@ -41,10 +51,20 @@ type Metadata struct {
} }
func (m Metadata) String() string { func (m Metadata) String() string {
return fmt.Sprintf( format := "id = %s\ncreatedAt = %s\nupdatedAt = %s\nsourceHost = %s\nprimary = %s\n"
"id = %s\nsourceHost = %s\ncreatedAt = %s\nupdatedAt = %s\nprimary = %s\nloginUrl = %s\ntag = %s\n", args := []interface{}{m.ID, m.CreatedAt, m.UpdatedAt, m.SourceHost, m.Primary}
m.ID, m.SourceHost, m.CreatedAt, m.UpdatedAt, m.Primary, m.LoginURL, m.Tag,
) if m.LoginURL != "" {
format += "loginUrl = %s\n"
args = append(args, m.LoginURL)
}
if m.Tag != "" {
format += "tag = %s\n"
args = append(args, m.Tag)
}
return fmt.Sprintf(format, args...)
} }
type MetadataInput struct { type MetadataInput struct {