unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at development 28 lines 1.0 kB view raw
1import { Job } from "bullmq"; 2import { Post } from "../../models/post.js"; 3import { getPostThreadRecursive } from "../activitypub/getPostThreadRecursive.js"; 4import { getAdminUser } from "../getAdminAndDeletedUser.js"; 5import { logger } from "../logger.js"; 6import { processSinglePost } from "../../atproto/utils/getAtProtoThread.js"; 7 8 9async function mergePost(job: Job) { 10 const postId = job.data.postId 11 const post = await Post.findByPk(postId) 12 if(post) { 13 const adminUser = await getAdminUser() 14 logger.info({ message: `merging post`,id: post.id }) 15 if (post.bskyUri && !post.remotePostId) { 16 // bsky post 17 await processSinglePost(post.bskyUri, true) 18 } else if (post.remotePostId && !post.bskyUri) { 19 // fedi post 20 const remotePost = await getPostThreadRecursive(adminUser, post.remotePostId) 21 if (remotePost) { 22 await getPostThreadRecursive(adminUser, post.remotePostId, undefined, remotePost.id) 23 } 24 } 25 } 26} 27 28export {mergePost}