Skip to content

Commit

Permalink
use json_extract
Browse files Browse the repository at this point in the history
  • Loading branch information
bob2402 committed Jun 13, 2024
1 parent c315927 commit b848b25
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 4 deletions.
14 changes: 10 additions & 4 deletions resolvers/policy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -148,8 +148,14 @@ export const is_space_member =
(args: { admin: PublicKey; db?: DB }): func_IsSpaceMember => async (pubkey: string) => {
if (args.admin.hex === pubkey) return true;

const space_members = await get_space_members(args.db)();
if (space_members instanceof Error) return new Error(space_members.message);
const members_pubkey = space_members.map((event) => event.member);
return members_pubkey.includes(pubkey);
if (!args.db) {
return new Error("is_space_member is not supported");
}
const rows = args.db.query<[string]>(
"select event from events_v2 where kind = (?) and json_extract(event, '$.member') = (?)",
[Kind_V2.SpaceMember, pubkey],
);
console.log("rows", rows);
if (rows.length > 0) return true;
return false;
};
6 changes: 6 additions & 0 deletions tests/space-member-test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,5 +50,11 @@ Deno.test("Space Member", async (t) => {
assertEquals(res, true);
});

await t.step("stranger is not member", async () => {
const res = await relay.is_space_member(InMemoryAccountContext.Generate().publicKey.hex);
if (res instanceof Error) fail(res.message);
assertEquals(res, false);
});

await relay.shutdown();
});

0 comments on commit b848b25

Please sign in to comment.