Skip to content

Commit

Permalink
PR(CLI): Make a new identity command
Browse files Browse the repository at this point in the history
  • Loading branch information
shahzadlone committed Jun 24, 2024
1 parent 75ea519 commit 942d3bb
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 0 deletions.
6 changes: 6 additions & 0 deletions cli/cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,16 @@ func NewDefraCommand() *cobra.Command {
MakeKeyringExportCommand(),
)

identity := MakeIdentityCommand()
identity.AddCommand(
MakeIdentityNewCommand(),
)

root := MakeRootCommand()
root.AddCommand(
client,
keyring,
identity,
MakeStartCommand(),
MakeServerDumpCmd(),
MakeVersionCommand(),
Expand Down
25 changes: 25 additions & 0 deletions cli/identity.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// Copyright 2024 Democratized Data Foundation
//
// Use of this software is governed by the Business Source License
// included in the file licenses/BSL.txt.
//
// As of the Change Date specified in that file, in accordance with
// the Business Source License, use of this software will be governed
// by the Apache License, Version 2.0, included in the file
// licenses/APL.txt.

package cli

import (
"github.com/spf13/cobra"
)

func MakeIdentityCommand() *cobra.Command {
var cmd = &cobra.Command{
Use: "identity",
Short: "Interact with identity features of DefraDB instance",
Long: `Interact with identity features of DefraDB instance`,
}

return cmd
}
40 changes: 40 additions & 0 deletions cli/identity_new.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Copyright 2024 Democratized Data Foundation
//
// Use of this software is governed by the Business Source License
// included in the file licenses/BSL.txt.
//
// As of the Change Date specified in that file, in accordance with
// the Business Source License, use of this software will be governed
// by the Apache License, Version 2.0, included in the file
// licenses/APL.txt.

package cli

import (
"github.com/spf13/cobra"

"github.com/sourcenetwork/defradb/acp/identity"
)

func MakeIdentityNewCommand() *cobra.Command {
var cmd = &cobra.Command{
Use: "new",
Short: "Generate a new identity",
Long: `Generate a new identity
Example: generate a new identity:
defradb identity new
`,
RunE: func(cmd *cobra.Command, args []string) error {
newIdentity, err := identity.Generate()
if err != nil {
return err
}

return writeJSON(cmd, newIdentity)
},
}

return cmd
}

0 comments on commit 942d3bb

Please sign in to comment.