Chung
08/22/2025, 1:55 AMSQL
select * from relation_tuple where namespace='page' and userset_namespace='usergroup' and relation='viewer' and userset_relation='member' and userset_object_id in ('1', '2');
namespace | object_id | relation | userset_namespace | userset_object_id | userset_relation
-----------+-----------+----------+-------------------+-------------------+------------------
page | 1 | viewer | usergroup | 2 | member
page | 2 | viewer | usergroup | 2 | member
page | 3 | viewer | usergroup | 2 | member
page | 4 | viewer | usergroup | 2 | member
(4 rows)
WIth the above, I can make a HashMap<GroupID, Vec<Page>>. This is useful in answering N+ 1 querying like
JSON
// fetch a list of groups and also the pages each group has access to
groups {
pages {
name
}
}