package middleware import ( "gitlab.com/gitlab-org/software-supply-chain-security/authorization/authzd.git/pkg/rpc" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/domain" ) type Permission string func (p Permission) ToGID() string { return "gid://sparkle/Permission/" + p.String() } func (p Permission) RequestFor(user domain.Identifiable, resource domain.Identifiable) *rpc.AllowRequest { return &rpc.AllowRequest{ Subject: user.ToGID(), Permission: p.ToGID(), Resource: resource.ToGID(), } } func (p Permission) String() string { return string(p) }