Sharkey/src/remote/activitypub/renderer/announce.ts

30 lines
736 B
TypeScript
Raw Normal View History

2018-08-16 23:40:08 +02:00
import config from '../../../config';
import { INote } from '../../../models/note';
export default (object: any, note: INote) => {
const attributedTo = `${config.url}/users/${note.userId}`;
2018-11-16 19:25:48 +01:00
let to: string[] = [];
let cc: string[] = [];
if (note.visibility == 'public') {
to = ['https://www.w3.org/ns/activitystreams#Public'];
cc = [`${attributedTo}/followers`];
} else if (note.visibility == 'home') {
to = [`${attributedTo}/followers`];
cc = ['https://www.w3.org/ns/activitystreams#Public'];
} else {
return null;
}
2018-08-16 23:40:08 +02:00
return {
id: `${config.url}/notes/${note._id}/activity`,
2018-08-25 07:12:44 +02:00
actor: `${config.url}/users/${note.userId}`,
2018-08-16 23:40:08 +02:00
type: 'Announce',
published: note.createdAt.toISOString(),
2018-11-16 19:25:48 +01:00
to,
cc,
2018-08-16 23:40:08 +02:00
object
};
};