31 lines
673 B
Go
31 lines
673 B
Go
package group
|
|
|
|
import (
|
|
"log"
|
|
)
|
|
|
|
type Group struct {
|
|
Id *int64 `json:"id"`
|
|
Groupname *string `json:"groupname"`
|
|
Permissions map[string]string `json:"permissions"`
|
|
}
|
|
|
|
func New(id int64, groupname string, permissions map[string]string) Group {
|
|
return Group{
|
|
Id: &id,
|
|
Groupname: &groupname,
|
|
Permissions: permissions,
|
|
}
|
|
}
|
|
|
|
func (self Group) HasPermission(permission string) string {
|
|
perm_value, ok := self.Permissions[permission]
|
|
if ok {
|
|
if perm_value == "yes" || perm_value == "no" {
|
|
return perm_value
|
|
}
|
|
log.Printf("Invalid permission value for %s in group %s.\n", permission, self.Groupname)
|
|
}
|
|
return ""
|
|
}
|