generated from VLADIMIR/template
17 lines
284 B
Go
17 lines
284 B
Go
package roles
|
|
|
|
import "slices"
|
|
|
|
type subject struct {
|
|
roles []string
|
|
}
|
|
|
|
// NewSubject creates a role-bearing subject.
|
|
func NewSubject(roles ...string) IHasRole {
|
|
return &subject{roles: roles}
|
|
}
|
|
|
|
func (s *subject) HasRole(role string) bool {
|
|
return slices.Contains(s.roles, role)
|
|
}
|