33 lines
468 B
Go
33 lines
468 B
Go
|
package user
|
||
|
|
||
|
import "forge.cadoles.com/Cadoles/emissary/internal/auth"
|
||
|
|
||
|
type Role string
|
||
|
|
||
|
const (
|
||
|
RoleWriter Role = "writer"
|
||
|
RoleReader Role = "reader"
|
||
|
)
|
||
|
|
||
|
func isValidRole(r string) bool {
|
||
|
rr := Role(r)
|
||
|
|
||
|
return rr == RoleWriter || rr == RoleReader
|
||
|
}
|
||
|
|
||
|
type User struct {
|
||
|
subject string
|
||
|
role Role
|
||
|
}
|
||
|
|
||
|
// Subject implements auth.User
|
||
|
func (u *User) Subject() string {
|
||
|
return u.subject
|
||
|
}
|
||
|
|
||
|
func (u *User) Role() Role {
|
||
|
return u.role
|
||
|
}
|
||
|
|
||
|
var _ auth.User = &User{}
|