broad-printer-45521
11/24/2022, 7:47 AM//import { Namespace, SubjectSet, Context } from "@ory/keto-namespace-types"
class User implements Namespace {
related: {}
}
class Group implements Namespace {
related: {
members: User[]
}
}
class Permission implements Namespace {
related: {
permissions: Group[]
users: SubjectSet<Group, 'members'>[]
}
permits = {
allowed: (ctx: Context): boolean => this.related.users.includes( ctx.subject)
}
}
These RelationTuples exist:
Group:TestGroupAAA#members@(User:Foo)
Group:TestGroupBBB#members@(User:Bar)
Permission:TestPermissionAAA#permissions@(Group:TestGroupAAA)
Permission:TestPermissionBBB#permissions@(Group:TestGroupBBB)
These checks should be allowed but are denied:
Permission:TestPermissionAAA#allowed@(User:Foo)
Permission:TestPermissionBBB#allowed@(User:Bar)
I already tried changing the direction of the existing RelationTuples and the Check with no result.broad-printer-45521
11/24/2022, 9:54 AMPermission:TestPermissionAAA#allowedUsers@(Group:TestGroupAAA#members)
Permission:TestPermissionBBB#allowedUsers@(Group:TestGroupBBB#members)
instead of
Permission:TestPermissionAAA#permissions@(Group:TestGroupAAA)
Permission:TestPermissionBBB#permissions@(Group:TestGroupBBB)