add access util functions, change internal package name to proxmoxaas_common_lib
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package paas_common_lib
|
||||
package proxmoxaas_common_lib
|
||||
|
||||
type Pool struct {
|
||||
PoolID string `json:"poolid"`
|
||||
|
||||
46
access-utils.go
Normal file
46
access-utils.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package proxmoxaas_common_lib
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func (g Groupname) ToString() string {
|
||||
return fmt.Sprintf("%s-%s", g.GroupID, g.Realm)
|
||||
}
|
||||
|
||||
func (u Username) ToString() string {
|
||||
return fmt.Sprintf("%s-%s", u.UserID, u.Realm)
|
||||
}
|
||||
|
||||
// returns an error if the groupname format was not correct
|
||||
// TODO: handle group names with x-y format where y is not a registered realm
|
||||
// TODO: handle group names with x-y-z-... format
|
||||
func ParseGroupname(groupname string) (Groupname, error) {
|
||||
g := Groupname{}
|
||||
x := strings.Split(groupname, "-")
|
||||
if len(x) == 1 {
|
||||
g.GroupID = groupname
|
||||
g.Realm = "pve"
|
||||
return g, nil
|
||||
} else if len(x) == 2 {
|
||||
g.GroupID = x[0]
|
||||
g.Realm = x[1]
|
||||
return g, nil
|
||||
} else {
|
||||
return g, fmt.Errorf("groupid did not follow the format <groupid> or <groupid>-<realm>")
|
||||
}
|
||||
}
|
||||
|
||||
// returns an error if the username format was not correct
|
||||
func ParseUsername(username string) (Username, error) {
|
||||
u := Username{}
|
||||
x := strings.Split(username, "@")
|
||||
if len(x) == 2 {
|
||||
u.UserID = x[0]
|
||||
u.Realm = x[1]
|
||||
return u, nil
|
||||
} else {
|
||||
return u, fmt.Errorf("userid did not follow the format <userid>@<realm>")
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package paas_common_lib
|
||||
package proxmoxaas_common_lib
|
||||
|
||||
type Cluster struct {
|
||||
Nodes map[string]*Node `json:"nodes"`
|
||||
|
||||
Reference in New Issue
Block a user