Files

33 lines
693 B
Go

package rbac
import (
"encoding/json"
"sort"
)
const (
DashboardRead = "dashboard:read"
AlertsRead = "alerts:read"
AlertsHandle = "alerts:handle"
EventsRead = "events:read"
RulesRead = "rules:read"
RulesWrite = "rules:write"
UsersRead = "users:read"
UsersWrite = "users:write"
AuditRead = "audit:read"
SyntheticWrite = "synthetic:write"
)
type Set map[string]struct{}
func (s Set) Has(permission string) bool { _, ok := s[permission]; return ok }
func (s Set) MarshalJSON() ([]byte, error) {
values := make([]string, 0, len(s))
for value := range s {
values = append(values, value)
}
sort.Strings(values)
return json.Marshal(values)
}