package domain import ( v1 "github.com/authzed/authzed-go/proto/authzed/api/v1" ) type Permission string func (p Permission) RequestFor(user Identifiable, resource Identifiable) *v1.CheckPermissionRequest { return &v1.CheckPermissionRequest{ Subject: &v1.SubjectReference{ Object: user.ToGID().ToObjectReference(), }, Permission: p.String(), Resource: resource.ToGID().ToObjectReference(), } } func (p Permission) String() string { return string(p) }