adriangalilea
03/12/2024, 9:52 PMdefinition folder {
relation parent: site | folder
relation child: folder | document
relation owner: user
relation admin: user
relation reader: user
relation editor: user
permission view = parent->view + child->view + edit + reader
permission edit = parent->edit + child->edit + delete + editor
permission delete = parent->delete + child->delete + edit_permissions
permission edit_permissions = parent->edit_permissions + child->edit_permissions + owner + admin
}
definition document {
relation location: folder
relation owner: user
relation admin: user
relation reader: user
relation editor: user
permission view = location->view + edit + reader
permission edit = location->edit + delete + editor
permission delete = location->delete + edit_permissions
permission edit_permissions = location->edit_permissions + owner + admin
}
Hmm, I'm hitting this max depth exceeded, I assume it's because of having both child and parent, but I want to propagate upwards and downwards...
if bob grants alice reader relation to document x in /foo/bar/ alice should also have reader relation on /foo/bar/ thus view permission on all.
likewise, if bob grants joey reader permission to /foo/bar joey should be able to view x.
Am I missing something?
https://cdn.discordapp.com/attachments/844600078948630559/1217228765814460416/image.png?ex=660343a0&is=65f0cea0&hm=56915da2500ef2daa4898381a086fa6d49e8075cd2bcd00ebd03b16f43d357f8&