diff --git a/keyserver/src/scripts/delete-all-fc-channel-tags.js b/keyserver/src/scripts/delete-all-fc-channel-tags.js new file mode 100644 --- /dev/null +++ b/keyserver/src/scripts/delete-all-fc-channel-tags.js @@ -0,0 +1,29 @@ +// @flow + +import { main } from './utils.js'; +import { deleteFarcasterChannelTag } from '../deleters/farcaster-channel-tag-deleters.js'; +import { fetchAllCommunityInfosWithNames } from '../fetchers/community-fetchers.js'; +import { createScriptViewer } from '../session/scripts.js'; +import { thisKeyserverAdmin } from '../user/identity.js'; + +async function deleteAllFCChannelTags() { + const admin = await thisKeyserverAdmin(); + const adminViewer = createScriptViewer(admin.id); + + const allCommunityInfosWithNames = await fetchAllCommunityInfosWithNames(); + + const deleteFarcasterChannelTagPromises = allCommunityInfosWithNames + .map(communityInfoWithName => { + if (!communityInfoWithName.farcasterChannelID) { + return null; + } + return deleteFarcasterChannelTag(adminViewer, { + commCommunityID: communityInfoWithName.id, + farcasterChannelID: communityInfoWithName.farcasterChannelID, + }); + }) + .filter(Boolean); + await Promise.all(deleteFarcasterChannelTagPromises); +} + +main([deleteAllFCChannelTags]);