[keyserver] introduce fetchCommunityInfos
Summary:
This diff introduces fetchCommunityInfos. fetchCommunityInfos returns all the communites where the viewer where the viewer is a member
Linear task: https://linear.app/comm/issue/ENG-7916/introduce-community-info-fetchers
Depends on D11954
Test Plan:
Tested calling this endpoint from the client w/ several different accounts
User account w/ no community memberships (just GENESIS):
[NODEM] communityInfos [ [NODEM] { [NODEM] "id": "1", [NODEM] "farcasterChannelID": null, [NODEM] "blobHolder": null [NODEM] } [NODEM] ]
User account w/ 1 community membership + GENESIS:
[NODEM] communityInfos [ [NODEM] { [NODEM] "id": "1", [NODEM] "farcasterChannelID": null, [NODEM] "blobHolder": null [NODEM] }, [NODEM] { [NODEM] "id": "83943", [NODEM] "farcasterChannelID": null, [NODEM] "blobHolder": null [NODEM] } [NODEM] ]
User account w/ 2 community memberships + GENESIS:
[NODEM] communityInfos [ [NODEM] { [NODEM] "id": "1", [NODEM] "farcasterChannelID": null, [NODEM] "blobHolder": null [NODEM] }, [NODEM] { [NODEM] "id": "83887", [NODEM] "farcasterChannelID": "farcaster", [NODEM] "blobHolder": "89e7240a-c869-4896-b6ae-392d1dce20f4" [NODEM] }, [NODEM] { [NODEM] "id": "83943", [NODEM] "farcasterChannelID": null, [NODEM] "blobHolder": null [NODEM] } [NODEM] ]
Reviewers: tomek, kamil
Reviewed By: tomek
Subscribers: ashoat, tomek
Differential Revision: https://phab.comm.dev/D11955