Fixed 267U.pre2
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import { resolveNote } from "../../models/note.js";
|
||||
import { addPinned } from "../../../../services/i/pin.js";
|
||||
import Resolver from "../../resolver.js";
|
||||
import { Users } from "../../../../models/index.js";
|
||||
export default (async (actor, activity)=>{
|
||||
if ("actor" in activity && actor.uri !== activity.actor) {
|
||||
throw new Error("invalid actor");
|
||||
}
|
||||
if (activity.target == null) {
|
||||
throw new Error("target is null");
|
||||
}
|
||||
if (activity.target === actor.featured) {
|
||||
const resolver = new Resolver();
|
||||
const follower = await Users.getRandomFollower(actor.id);
|
||||
if (follower) resolver.setUser(follower);
|
||||
const note = await resolveNote(activity.object, resolver);
|
||||
if (note == null) throw new Error("note not found");
|
||||
await addPinned(actor, note.id);
|
||||
return "ok";
|
||||
}
|
||||
throw new Error(`unknown target: ${activity.target}`);
|
||||
});
|
||||
Reference in New Issue
Block a user