[lib] Introduce getUniversalCommunityRootPermissionsBlob
Summary:
getUniversalCommunityRootPermissionsBlob is going to emulate the way we construct permissions blobs so it's more extendible towards separating permissions included for all roles in both COMMUNITY_ROOT and COMMUNITY_ANNOUNCEMENT_ROOT.
I'm not completetly deleting universalCommunityPermissions in thread-permissions-types.js yet, but I will do that once I land this entire stack + rebase the stack starting at D9493, since otherwise it'll cause a ton of merge conflicts and broken unit tests.
The rest of this stack will update usages of universalCommunityPermissions besides the unit test with this new method.
Addressess ENG-5761
Depends on D9514
Test Plan:
- Created a community root on both master and this diff stack. Compared the MariaDB JSON blobs for Members permissions
- Created a community announcement root on both master and this diff stack. Compared the MariaDB JSON blobs for Members permissions
In both cases, the JSON was identical
Reviewers: atul, ginsu, ashoat
Reviewed By: ashoat
Subscribers: tomek
Differential Revision: https://phab.comm.dev/D9897