diff --git a/src/models/post-reaction.ts b/src/models/post-reaction.ts index 81be95b8d..3fc33411f 100644 --- a/src/models/post-reaction.ts +++ b/src/models/post-reaction.ts @@ -5,12 +5,12 @@ import Reaction from './post-reaction'; import { pack as packUser } from './user'; const PostReaction = db.get('postReactions'); -PostReaction.createIndex(['userId', 'postId'], { unique: true }); export default PostReaction; export interface IPostReaction { _id: mongo.ObjectID; createdAt: Date; + deletedAt: Date; postId: mongo.ObjectID; userId: mongo.ObjectID; reaction: string; diff --git a/src/remote/activitypub/act/like.ts b/src/remote/activitypub/act/like.ts deleted file mode 100644 index d2ddba89a..000000000 --- a/src/remote/activitypub/act/like.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { MongoError } from 'mongodb'; -import Post from '../../../models/post'; -import Reaction from '../../../models/post-reaction'; -import config from '../../../config'; -import queue from '../../../queue'; - -export default async (actor, activity) => { - const prefix = config.url + '/posts'; - const id = activity.object.id || activity.object; - let reaction; - - if (!id.startsWith(prefix)) { - return null; - } - - const postId = id.slice(prefix.length); - - const post = await Post.findOne({ _id: postId }); - if (post === null) { - throw new Error(); - } - - try { - reaction = await Reaction.insert({ - createdAt: new Date(), - postId, - userId: actor._id, - reaction: 'pudding' - }); - } catch (exception) { - // duplicate key error - if (exception instanceof MongoError && exception.code === 11000) { - return null; - } - - throw exception; - } - - await new Promise((resolve, reject) => { - queue.create('http', { type: 'like', reaction: reaction._id }).save(error => { - if (error) { - reject(error); - } else { - resolve(null); - } - }); - }); -}; diff --git a/src/remote/activitypub/renderer/note.ts b/src/remote/activitypub/renderer/note.ts index 36f8578ec..43531b121 100644 --- a/src/remote/activitypub/renderer/note.ts +++ b/src/remote/activitypub/renderer/note.ts @@ -30,7 +30,7 @@ export default async (user, post) => { const attributedTo = `${config.url}/@${user.username}`; return { - id: `${config.url}/posts/${post._id}}`, + id: `${attributedTo}/${post._id}`, type: 'Note', attributedTo, content: post.textHtml,