mirror of
https://github.com/gravitl/netmaker.git
synced 2025-11-12 01:30:41 +08:00
* add superadmin role, apis to create superadmin user * apis to attach and remove user from remote access gateways * add api to list user's remote client has gateway clients * remove code related user groups * remove networks and groups from user model * refactor user CRUD operations * fix network permission test * add superadmin to authorize func * remove user network and groups from cli * api to transfer superadmin role * add api to list users on a ingress gw * restrict user access to resources on server * deny request from remote access client if extclient is already created * fix user tests * fix static checks * fix static checks * add limits to extclient create handler * set username to superadmin on if masterkey is used * allow creation of extclients using masterkey * add migration func to assign superadmin role for existing admin user * check for superadmin on migration if users are present * allowe masterkey to extcleint apis * check ownerid * format error, on jwt token verification failure return unauthorized rather than forbidden * user update fix * move user remote functionality to ee * fix update user api * security patch * initalise ee user handlers * allow user to use master key to update any user * use slog * fix auth user test * table headers * remove user role, it's covered in middleware * setuser defaults fix
29 lines
1.1 KiB
Go
29 lines
1.1 KiB
Go
package user
|
|
|
|
import (
|
|
"github.com/gravitl/netmaker/cli/functions"
|
|
"github.com/gravitl/netmaker/models"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
var userCreateCmd = &cobra.Command{
|
|
Use: "create",
|
|
Args: cobra.NoArgs,
|
|
Short: "Create a new user",
|
|
Long: `Create a new user`,
|
|
Run: func(cmd *cobra.Command, args []string) {
|
|
user := &models.User{UserName: username, Password: password, IsAdmin: admin}
|
|
functions.PrettyPrint(functions.CreateUser(user))
|
|
},
|
|
}
|
|
|
|
func init() {
|
|
userCreateCmd.Flags().StringVar(&username, "name", "", "Name of the user")
|
|
userCreateCmd.Flags().StringVar(&password, "password", "", "Password of the user")
|
|
userCreateCmd.MarkFlagRequired("name")
|
|
userCreateCmd.MarkFlagRequired("password")
|
|
userCreateCmd.Flags().BoolVar(&admin, "admin", false, "Make the user an admin ?")
|
|
userCreateCmd.Flags().StringVar(&networks, "networks", "", "List of networks the user will access to (comma separated)")
|
|
userCreateCmd.Flags().StringVar(&groups, "groups", "", "List of user groups the user will be part of (comma separated)")
|
|
rootCmd.AddCommand(userCreateCmd)
|
|
}
|