Files
2026-07-26 18:25:37 +09:00

40 lines
1.1 KiB
JavaScript

import config from "../../../config/index.js";
export default ((object, note)=>{
const attributedTo = `${config.url}/users/${note.userId}`;
const mentions = JSON.parse(note.mentionedRemoteUsers).map((x)=>x.uri);
let to = [];
let cc = [];
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 if (note.visibility === "followers") {
to = [
`${attributedTo}/followers`
];
} else if (note.visibility === "specified") {
to = mentions;
} else {
return null;
}
return {
id: `${config.url}/notes/${note.id}/activity`,
actor: `${config.url}/users/${note.userId}`,
type: "Announce",
published: note.createdAt.toISOString(),
to,
cc,
object
};
});