Joey
12/13/2022, 7:12 PMpermission members = bearer
Joey
12/13/2022, 7:12 PMyetitwo
12/13/2022, 7:13 PMdefinition role {
relation bearer: user
permission assume: bearer
}
and then was defining the object-level permissions in terms of walking to that assume
yetitwo
12/13/2022, 7:13 PMJoey
12/13/2022, 7:15 PMpermission
if you can, to avoid needing to change it later if you need to add anything to itJoey
12/13/2022, 7:15 PM#assume
vs ->assume
, you should use #assume
unless you're using the role for something elseJoey
12/13/2022, 7:16 PMJoey
12/13/2022, 7:16 PMToi
12/13/2022, 7:27 PMpermission x = (a + b) & c
Joey
12/13/2022, 7:41 PMJoey
12/13/2022, 7:41 PMjzelinskie
12/13/2022, 7:42 PMToi
12/13/2022, 7:44 PMToi
12/13/2022, 7:45 PMJoey
12/13/2022, 7:47 PMToi
12/13/2022, 7:50 PMJoey
12/13/2022, 7:50 PMToi
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
}
Toi
12/13/2022, 7:56 PMToi
12/13/2022, 7:56 PMJoey
12/13/2022, 7:57 PMJoey
12/13/2022, 7:57 PMJoey
12/13/2022, 7:57 PMleader
just point to parent_company#view_direct_reports_employees
Joey
12/13/2022, 7:58 PMleader
tooJoey
12/13/2022, 7:58 PMToi
12/13/2022, 8:01 PMpdow
12/13/2022, 8:02 PMparent
is equal to some ID passed in at runtime. Or would I need to duplicate the parent
field to the "caveats data" (not sure what the right term for that is) when writing the relationship?Toi
12/13/2022, 8:06 PMJoey
12/13/2022, 8:06 PMJoey
12/13/2022, 8:06 PM