Finish core funtionality for server user-administration tool
This commit is contained in:
@ -7,7 +7,7 @@ import (
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
"reflect"
|
||||
"net/rpc"
|
||||
)
|
||||
|
||||
type boolIsSetFlag struct {
|
||||
@ -66,10 +66,13 @@ func UserAdd(args []string) {
|
||||
user.Username = flags.Arg(0)
|
||||
user.PWHash = server.HashPassword(passwordOne)
|
||||
|
||||
fmt.Println(user)
|
||||
i := 99
|
||||
err = RPCCall("UserModifier.AddUser", user, &i)
|
||||
if err != nil {
|
||||
if _, ok := err.(rpc.ServerError); ok && err.Error() == server.DuplicateUsernameErr.Error() {
|
||||
fmt.Println("Error: "+err.Error())
|
||||
return
|
||||
}
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
@ -83,10 +86,13 @@ func UserDel(args []string) {
|
||||
user := new(server.User)
|
||||
user.Username = args[0]
|
||||
|
||||
fmt.Println(user)
|
||||
i := 99
|
||||
err := RPCCall("UserModifier.RemoveUser", user, &i)
|
||||
if err != nil {
|
||||
if _, ok := err.(rpc.ServerError); ok && err.Error() == server.NoUserErr.Error() {
|
||||
fmt.Println("Error: "+err.Error())
|
||||
return
|
||||
}
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
@ -106,8 +112,6 @@ func UserMod(args []string) {
|
||||
flags.BoolVar(&rpcargs.UpdateLogin, "l", false, "Change the user's username (short version)")
|
||||
flags.Parse(args)
|
||||
|
||||
//set the UpdateAdmin flag based on whether it was present on the command-line
|
||||
|
||||
if flags.NArg() != 1 {
|
||||
fmt.Println("Error: please supply a username (and only one)")
|
||||
os.Exit(1)
|
||||
@ -136,6 +140,7 @@ func UserMod(args []string) {
|
||||
rpcargs.Updated.PWHash = server.HashPassword(passwordOne)
|
||||
}
|
||||
|
||||
//set the UpdateRole flag based on whether it was present on the command-line
|
||||
rpcargs.UpdateRole = admin.IsSet
|
||||
if admin.Value {
|
||||
rpcargs.Updated.Role = server.ADMIN
|
||||
@ -143,11 +148,18 @@ func UserMod(args []string) {
|
||||
rpcargs.Updated.Role = server.NORMAL
|
||||
}
|
||||
|
||||
fmt.Println(rpcargs)
|
||||
if !rpcargs.UpdateRole && !rpcargs.UpdateLogin && !rpcargs.UpdatePassword {
|
||||
fmt.Println("What exactly are you modifying again?")
|
||||
return
|
||||
}
|
||||
|
||||
i := 99
|
||||
err := RPCCall("UserModifier.ModifyUser", rpcargs, &i)
|
||||
if err != nil {
|
||||
fmt.Println(reflect.TypeOf(err))
|
||||
if _, ok := err.(rpc.ServerError); ok && err.Error() == server.NoUserErr.Error() {
|
||||
fmt.Println("Error: "+err.Error())
|
||||
return
|
||||
}
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user