A vibe coded tangled fork which supports pijul.
at 8fe55f956ebe001471791875f1239a1556e97aab 29 lines 972 B view raw
1package rbac2 2 3import "github.com/bluesky-social/indigo/atproto/syntax" 4 5func (e *Enforcer) SetKnotOwner(user syntax.DID, knot syntax.DID) error { 6 return e.setRoleForUser(user.String(), "server:owner", intoKnot(knot)) 7} 8 9func (e *Enforcer) IsKnotMember(user syntax.DID, knot syntax.DID) (bool, error) { 10 return e.hasImplicitRoleForUser(user.String(), "server:member", intoKnot(knot)) 11} 12 13func (e *Enforcer) AddKnotMember(user syntax.DID, knot syntax.DID) error { 14 _, err := e.e.AddRoleForUser(user.String(), "server:member", intoKnot(knot)) 15 return err 16} 17 18func (e *Enforcer) RemoveKnotMember(user syntax.DID, knot syntax.DID) error { 19 _, err := e.e.DeleteRoleForUser(user.String(), "server:member", intoKnot(knot)) 20 return err 21} 22 23func (e *Enforcer) IsKnotMemberInviteAllowed(user syntax.DID, knot syntax.DID) (bool, error) { 24 return e.e.Enforce(user.String(), intoKnot(knot), "/member", "write") 25} 26 27func intoKnot(did syntax.DID) string { 28 return "/knot/" + did.String() 29}