1
0
Fork 0
hivemind/internal/types/roles.go
2026-01-18 19:38:54 +03:00

39 lines
548 B
Go

package types
type Role string
const (
MasterRole Role = "master"
HostRole Role = "host"
DnsRole Role = "dns"
NameserverRole Role = "ns"
)
var Roles = []Role{
MasterRole,
HostRole,
DnsRole,
NameserverRole,
}
var Names = func() []Role {
o := make([]Role, 0, len(Roles))
for _, r := range Roles {
o = append(o, r)
}
return o
}()
func (r Role) String() string {
return string(r)
}
func Parse(s string) (Role, bool) {
for _, r := range Roles {
if s == r.String() {
return r, true
}
}
return "", false
}