donderful
11/13/2023, 12:07 PMLookupSubjects
API can retrieve all users who can read a particular document. Is there a easy way for me to understand why each individual user can read the doc?
The Expected Relations
tab in the Playground can find the users and provide a good reason, e.g.
document:d1#edit_document:
- "[user:ann] is <document:d1#owner>"
- "[user:bob] is <usergroup:engineeer#direct_member>"
- "[user:charlie] is <usergroup:engineeer#direct_member>"
However I don't see an API that does the same thing. Can somebody help?vroldanbet
11/13/2023, 12:37 PMdonderful
11/13/2023, 1:31 PMdonderful
11/13/2023, 5:17 PMzed permission expand
CLI function, and got something like this:
markup:point1->view_markup
└── union
├── markup:point1->edit_markup
│ └── union
│ ├── markup:point1->owner
│ │ └── user:ann
│ ├── markup:point1->editor
│ └── markup:point1->edit_markup
│ └── union
│ └── folder:folder1->edit_folder
│ └── union
│ ├── folder:folder1->owner
│ │ └── user:bob
│ ├── folder:folder1->editor
│ └── folder:folder1->edit_folder
│ └── union
│ └── folder:folder2->edit_folder
│ └── union
│ ├── folder:folder2->owner
│ ├── folder:folder2->editor
│ │ └── usergroup:engineer->direct_member
│ └── folder:folder2->edit_folder
│ └── union
├── markup:point1->viewer
│ └── user:eve
The documentation says the code will not go infinitely deep, and I may need multiple calls. By inspection I can see the usergroup:engineer->direct_member
part of the code is not fully expanded.
However, how do we know if the child node is fully expanded or not programmatically?vroldanbet
11/13/2023, 5:19 PMJoey
11/13/2023, 5:20 PMJoey
11/13/2023, 5:21 PMJoey
11/13/2023, 5:21 PMJoey
11/13/2023, 5:23 PMdonderful
11/13/2023, 5:24 PMdonderful
11/13/2023, 5:25 PMJoey
11/13/2023, 5:25 PMdonderful
11/13/2023, 5:26 PMJoey
11/13/2023, 5:28 PMJoey
11/13/2023, 5:29 PMJoey
11/13/2023, 5:29 PMJoey
11/13/2023, 5:32 PM