Toi
12/13/2022, 7:55 PMdefinition company {
relation employee_viewer: permission_group#membership
relation employee_direct_reports_viewer: permission_group#membership
permission view_direct_reports_employees = employee_direct_reports_viewer
permission view_employees = employee_viewer
}
/** employee represents an employee. */
definition employee {
relation is_self: employee
relation parent_company: company
relation leader: employee
permission view = is_self + parent_company->view_employees + parent_company->view_direct_reports_employees & leader
}
/** permission_group represents a permission group. */
definition permission_group {
relation member: employee
permission membership = member
}