Page MenuHomePhabricator

D13779.id45361.diff
No OneTemporary

D13779.id45361.diff

diff --git a/keyserver/src/deleters/farcaster-channel-tag-deleters.js b/keyserver/src/deleters/farcaster-channel-tag-deleters.js
--- a/keyserver/src/deleters/farcaster-channel-tag-deleters.js
+++ b/keyserver/src/deleters/farcaster-channel-tag-deleters.js
@@ -4,11 +4,14 @@
import type { DeleteFarcasterChannelTagRequest } from 'lib/types/community-types.js';
import { threadPermissions } from 'lib/types/thread-permission-types.js';
import { ServerError } from 'lib/utils/errors.js';
+import { ignorePromiseRejections } from 'lib/utils/promises.js';
import { dbQuery, SQL } from '../database/database.js';
+import { fetchServerThreadInfos } from '../fetchers/thread-fetchers.js';
import { checkThreadPermission } from '../fetchers/thread-permission-fetchers.js';
import { deleteBlob } from '../services/blob.js';
import type { Viewer } from '../session/viewer';
+import { updateThread } from '../updaters/thread-updaters.js';
async function deleteFarcasterChannelTag(
viewer: Viewer,
@@ -39,7 +42,7 @@
blob_holder = NULL
WHERE id = ${request.commCommunityID}
AND farcaster_channel_id = ${request.farcasterChannelID};
-
+
COMMIT;
SELECT @currentBlobHolder AS blobHolder;
@@ -61,6 +64,25 @@
true,
);
}
+
+ // In the background, we fetch information about the community thread. If the
+ // thread's avatar type is `farcaster`, we remove it.
+ ignorePromiseRejections(
+ (async () => {
+ const serverThreadInfos = await fetchServerThreadInfos({
+ threadID: request.commCommunityID,
+ });
+ const { avatar } = serverThreadInfos.threadInfos[request.commCommunityID];
+ if (avatar?.type !== 'farcaster') {
+ return;
+ }
+
+ await updateThread(viewer, {
+ threadID: request.commCommunityID,
+ changes: { avatar: { type: 'remove' } },
+ });
+ })(),
+ );
}
export { deleteFarcasterChannelTag };

File Metadata

Mime Type
text/plain
Expires
Thu, Oct 24, 9:59 PM (7 h, 37 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2359803
Default Alt Text
D13779.id45361.diff (1 KB)

Event Timeline