parent
037837b551
commit
0e4a111f81
1714 changed files with 20803 additions and 11751 deletions
30
packages/backend/src/remote/activitypub/renderer/like.ts
Normal file
30
packages/backend/src/remote/activitypub/renderer/like.ts
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
import config from '@/config/index';
|
||||
import { NoteReaction } from '@/models/entities/note-reaction';
|
||||
import { Note } from '@/models/entities/note';
|
||||
import { Emojis } from '@/models/index';
|
||||
import renderEmoji from './emoji';
|
||||
|
||||
export const renderLike = async (noteReaction: NoteReaction, note: Note) => {
|
||||
const reaction = noteReaction.reaction;
|
||||
|
||||
const object = {
|
||||
type: 'Like',
|
||||
id: `${config.url}/likes/${noteReaction.id}`,
|
||||
actor: `${config.url}/users/${noteReaction.userId}`,
|
||||
object: note.uri ? note.uri : `${config.url}/notes/${noteReaction.noteId}`,
|
||||
content: reaction,
|
||||
_misskey_reaction: reaction
|
||||
} as any;
|
||||
|
||||
if (reaction.startsWith(':')) {
|
||||
const name = reaction.replace(/:/g, '');
|
||||
const emoji = await Emojis.findOne({
|
||||
name,
|
||||
host: null
|
||||
});
|
||||
|
||||
if (emoji) object.tag = [ renderEmoji(emoji) ];
|
||||
}
|
||||
|
||||
return object;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue