definition post_prasenjit_tutorial/user {}
definition post_prasenjit_tutorial/group {
relation member: post_prasenjit_tutorial/user
relation admin: post_prasenjit_tutorial/user
relation parent: post_prasenjit_tutorial/group
permission edit = admin + parent->edit
permission update = edit
permission delete = edit
permission read = member + edit
permission has_access = member + edit + parent->has_access
}
definition post_prasenjit_tutorial/platform_permissions {
relation template_update_group: post_prasenjit_tutorial/group
relation template_view_group: post_prasenjit_tutorial/group
permission template_update = template_update_group->has_access
permission template_view = template_view_group->has_access
}
definition post_prasenjit_tutorial/template {
relation permission_relation: post_prasenjit_tutorial/platform_permissions
relation group: post_prasenjit_tutorial/group
permission update = (permission_relation->template_update & group->has_access)
permission view = (permission_relation->template_view & group->has_access)
}