MCPcopy Create free account
hub / github.com/block/buzz / updateMockRelayMembershipFromAdminEvent

Function updateMockRelayMembershipFromAdminEvent

desktop/src/testing/e2eBridge.ts:606–644  ·  view source on GitHub ↗
(event: RelayEvent)

Source from the content-addressed store, hash-verified

604}
605
606function updateMockRelayMembershipFromAdminEvent(event: RelayEvent): boolean {
607 const targetPubkey = event.tags
608 .find((tag) => tag[0] === "p")?.[1]
609 ?.toLowerCase();
610 if (!targetPubkey) return false;
611
612 if (event.kind === 9030) {
613 const role = event.tags.find((tag) => tag[0] === "role")?.[1] ?? "member";
614 if (role !== "admin" && role !== "member") return false;
615 if (mockRelayMembers.some((member) => member.pubkey === targetPubkey)) {
616 return true;
617 }
618 mockRelayMembers.push({
619 pubkey: targetPubkey,
620 role,
621 added_by: event.pubkey,
622 created_at: new Date().toISOString(),
623 });
624 return true;
625 }
626
627 if (event.kind === 9031) {
628 mockRelayMembers = mockRelayMembers.filter(
629 (member) => member.pubkey !== targetPubkey,
630 );
631 return true;
632 }
633
634 if (event.kind === 9032) {
635 const role = event.tags.find((tag) => tag[0] === "role")?.[1];
636 if (role !== "admin" && role !== "member") return false;
637 mockRelayMembers = mockRelayMembers.map((member) =>
638 member.pubkey === targetPubkey ? { ...member, role } : member,
639 );
640 return true;
641 }
642
643 return false;
644}
645
646declare global {
647 interface Window {

Callers 1

sendToMockSocketFunction · 0.85

Calls 1

pushMethod · 0.80

Tested by

no test coverage detected