Fix user commands
This commit is contained in:
parent
7634498c1c
commit
a949c33b9d
|
@ -18,11 +18,13 @@
|
||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"code.vikunja.io/api/pkg/db"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
"xorm.io/xorm"
|
||||||
|
|
||||||
"code.vikunja.io/api/pkg/initialize"
|
"code.vikunja.io/api/pkg/initialize"
|
||||||
"code.vikunja.io/api/pkg/log"
|
"code.vikunja.io/api/pkg/log"
|
||||||
|
@ -91,7 +93,7 @@ func getPasswordFromFlagOrInput() (pw string) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func getUserFromArg(arg string) *user.User {
|
func getUserFromArg(s *xorm.Session, arg string) *user.User {
|
||||||
id, err := strconv.ParseInt(arg, 10, 64)
|
id, err := strconv.ParseInt(arg, 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Invalid user id: %s", err)
|
log.Fatalf("Invalid user id: %s", err)
|
||||||
|
@ -116,8 +118,16 @@ var userListCmd = &cobra.Command{
|
||||||
initialize.FullInit()
|
initialize.FullInit()
|
||||||
},
|
},
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
s := db.NewSession()
|
||||||
|
defer s.Close()
|
||||||
|
|
||||||
users, err := user.ListUsers(s, "")
|
users, err := user.ListUsers(s, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
_ = s.Rollback()
|
||||||
|
log.Fatalf("Error getting users: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := s.Commit(); err != nil {
|
||||||
log.Fatalf("Error getting users: %s", err)
|
log.Fatalf("Error getting users: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -153,6 +163,9 @@ var userCreateCmd = &cobra.Command{
|
||||||
initialize.FullInit()
|
initialize.FullInit()
|
||||||
},
|
},
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
s := db.NewSession()
|
||||||
|
defer s.Close()
|
||||||
|
|
||||||
u := &user.User{
|
u := &user.User{
|
||||||
Username: userFlagUsername,
|
Username: userFlagUsername,
|
||||||
Email: userFlagEmail,
|
Email: userFlagEmail,
|
||||||
|
@ -160,14 +173,20 @@ var userCreateCmd = &cobra.Command{
|
||||||
}
|
}
|
||||||
newUser, err := user.CreateUser(s, u)
|
newUser, err := user.CreateUser(s, u)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
_ = s.Rollback()
|
||||||
log.Fatalf("Error creating new user: %s", err)
|
log.Fatalf("Error creating new user: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = models.CreateNewNamespaceForUser(s, newUser)
|
err = models.CreateNewNamespaceForUser(s, newUser)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
_ = s.Rollback()
|
||||||
log.Fatalf("Error creating new namespace for user: %s", err)
|
log.Fatalf("Error creating new namespace for user: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := s.Commit(); err != nil {
|
||||||
|
log.Fatalf("Error saving everything: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
fmt.Printf("\nUser was created successfully.\n")
|
fmt.Printf("\nUser was created successfully.\n")
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -180,7 +199,10 @@ var userUpdateCmd = &cobra.Command{
|
||||||
initialize.FullInit()
|
initialize.FullInit()
|
||||||
},
|
},
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
u := getUserFromArg(args[0])
|
s := db.NewSession()
|
||||||
|
defer s.Close()
|
||||||
|
|
||||||
|
u := getUserFromArg(s, args[0])
|
||||||
|
|
||||||
if userFlagUsername != "" {
|
if userFlagUsername != "" {
|
||||||
u.Username = userFlagUsername
|
u.Username = userFlagUsername
|
||||||
|
@ -194,9 +216,14 @@ var userUpdateCmd = &cobra.Command{
|
||||||
|
|
||||||
_, err := user.UpdateUser(s, u)
|
_, err := user.UpdateUser(s, u)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
_ = s.Rollback()
|
||||||
log.Fatalf("Error updating the user: %s", err)
|
log.Fatalf("Error updating the user: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := s.Commit(); err != nil {
|
||||||
|
log.Fatalf("Error saving everything: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
fmt.Println("User updated successfully.")
|
fmt.Println("User updated successfully.")
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -209,22 +236,31 @@ var userResetPasswordCmd = &cobra.Command{
|
||||||
},
|
},
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
u := getUserFromArg(args[0])
|
s := db.NewSession()
|
||||||
|
defer s.Close()
|
||||||
|
|
||||||
|
u := getUserFromArg(s, args[0])
|
||||||
|
|
||||||
// By default we reset as usual, only with specific flag directly.
|
// By default we reset as usual, only with specific flag directly.
|
||||||
if userFlagResetPasswordDirectly {
|
if userFlagResetPasswordDirectly {
|
||||||
err := user.UpdateUserPassword(s, u, getPasswordFromFlagOrInput())
|
err := user.UpdateUserPassword(s, u, getPasswordFromFlagOrInput())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
_ = s.Rollback()
|
||||||
log.Fatalf("Could not update user password: %s", err)
|
log.Fatalf("Could not update user password: %s", err)
|
||||||
}
|
}
|
||||||
fmt.Println("Password updated successfully.")
|
fmt.Println("Password updated successfully.")
|
||||||
} else {
|
} else {
|
||||||
err := user.RequestUserPasswordResetToken(s, u)
|
err := user.RequestUserPasswordResetToken(s, u)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
_ = s.Rollback()
|
||||||
log.Fatalf("Could not send password reset email: %s", err)
|
log.Fatalf("Could not send password reset email: %s", err)
|
||||||
}
|
}
|
||||||
fmt.Println("Password reset email sent successfully.")
|
fmt.Println("Password reset email sent successfully.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := s.Commit(); err != nil {
|
||||||
|
log.Fatalf("Could not send password reset email: %s", err)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,7 +272,10 @@ var userChangeEnabledCmd = &cobra.Command{
|
||||||
},
|
},
|
||||||
Args: cobra.ExactArgs(1),
|
Args: cobra.ExactArgs(1),
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
u := getUserFromArg(args[0])
|
s := db.NewSession()
|
||||||
|
defer s.Close()
|
||||||
|
|
||||||
|
u := getUserFromArg(s, args[0])
|
||||||
|
|
||||||
if userFlagEnableUser {
|
if userFlagEnableUser {
|
||||||
u.IsActive = true
|
u.IsActive = true
|
||||||
|
@ -247,9 +286,14 @@ var userChangeEnabledCmd = &cobra.Command{
|
||||||
}
|
}
|
||||||
_, err := user.UpdateUser(s, u)
|
_, err := user.UpdateUser(s, u)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
_ = s.Rollback()
|
||||||
log.Fatalf("Could not enable the user")
|
log.Fatalf("Could not enable the user")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := s.Commit(); err != nil {
|
||||||
|
log.Fatalf("Error saving everything: %s", err)
|
||||||
|
}
|
||||||
|
|
||||||
fmt.Printf("User status successfully changed, user is now active: %t.\n", u.IsActive)
|
fmt.Printf("User status successfully changed, user is now active: %t.\n", u.IsActive)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue