Refactor "users" CLI command
This commit is contained in:
parent
32e2069c45
commit
5bdee34903
@ -9,6 +9,7 @@ import (
|
||||
|
||||
"github.com/crusttech/crust/internal/settings"
|
||||
"github.com/crusttech/crust/system/internal/repository"
|
||||
"github.com/crusttech/crust/system/internal/service"
|
||||
)
|
||||
|
||||
func Init(ctx context.Context) {
|
||||
@ -22,24 +23,7 @@ func Init(ctx context.Context) {
|
||||
|
||||
ExternalAuth(ctx, rootCmd, settingsService)
|
||||
|
||||
// @todo move cmd setup lines below to similar structure as Settings()
|
||||
|
||||
// User management commands.
|
||||
var cmdUsers = &cobra.Command{
|
||||
Use: "users",
|
||||
Short: "User management",
|
||||
}
|
||||
rootCmd.AddCommand(cmdUsers)
|
||||
|
||||
// List users.
|
||||
var cmdUsersList = &cobra.Command{
|
||||
Use: "list",
|
||||
Short: "List users",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
UsersList()
|
||||
},
|
||||
}
|
||||
cmdUsers.AddCommand(cmdUsersList)
|
||||
users(ctx, rootCmd, service.DefaultUser)
|
||||
|
||||
roles(ctx, rootCmd, db)
|
||||
|
||||
|
||||
@ -5,38 +5,53 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/crusttech/crust/system/service"
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"github.com/crusttech/crust/system/internal/service"
|
||||
"github.com/crusttech/crust/system/types"
|
||||
)
|
||||
|
||||
func UsersList() {
|
||||
uf := &types.UserFilter{
|
||||
OrderBy: "updated_at",
|
||||
func users(ctx context.Context, rootCmd *cobra.Command, userService service.UserService) {
|
||||
// User management commands.
|
||||
var cmdUsers = &cobra.Command{
|
||||
Use: "users",
|
||||
Short: "User management",
|
||||
}
|
||||
rootCmd.AddCommand(cmdUsers)
|
||||
|
||||
users, err := service.DefaultUser.With(context.Background()).Find(uf)
|
||||
if err != nil {
|
||||
fmt.Printf("Error: %v\n", err)
|
||||
os.Exit(1)
|
||||
// List users.
|
||||
var cmdUsersList = &cobra.Command{
|
||||
Use: "list",
|
||||
Short: "List users",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
uf := &types.UserFilter{
|
||||
OrderBy: "updated_at",
|
||||
}
|
||||
|
||||
users, err := userService.With(ctx).Find(uf)
|
||||
if err != nil {
|
||||
fmt.Printf("Error: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Println(" Created Updated Email")
|
||||
for _, u := range users {
|
||||
upd := "---- -- --"
|
||||
|
||||
if u.UpdatedAt != nil {
|
||||
upd = u.UpdatedAt.Format("2006-01-02")
|
||||
}
|
||||
|
||||
fmt.Printf(
|
||||
"%20d %s %s %-100s %s\n",
|
||||
u.ID,
|
||||
u.CreatedAt.Format("2006-01-02"),
|
||||
upd,
|
||||
u.Email,
|
||||
u.Name)
|
||||
}
|
||||
},
|
||||
}
|
||||
cmdUsers.AddCommand(cmdUsersList)
|
||||
|
||||
fmt.Println("ID Updated Deleted [email / name / username]")
|
||||
for _, u := range users {
|
||||
upd, del := "---- -- --", "---- -- --"
|
||||
|
||||
if u.UpdatedAt != nil {
|
||||
upd = u.UpdatedAt.Format("2006-01-02")
|
||||
}
|
||||
|
||||
if u.DeletedAt != nil {
|
||||
upd = u.DeletedAt.Format("2006-01-02")
|
||||
}
|
||||
|
||||
fmt.Printf(
|
||||
"%20d %s %s %s\n",
|
||||
u.ID,
|
||||
upd,
|
||||
del,
|
||||
u.Email+" / "+u.Name+" / "+u.Username)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user