Fixed 267U.pre2
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import { remoteReject } from "../../../../services/following/reject.js";
|
||||
import DbResolver from "../../db-resolver.js";
|
||||
import { relayRejected } from "../../../../services/relay.js";
|
||||
import { Users } from "../../../../models/index.js";
|
||||
export default (async (actor, activity)=>{
|
||||
// ※ `activity.actor` must be an existing local user, since `activity` is a follow request thrown from us.
|
||||
const dbResolver = new DbResolver();
|
||||
const follower = await dbResolver.getUserFromApId(activity.actor);
|
||||
if (follower == null) {
|
||||
return "skip: follower not found";
|
||||
}
|
||||
if (!Users.isLocalUser(follower)) {
|
||||
return "skip: follower is not a local user";
|
||||
}
|
||||
// relay
|
||||
const match = activity.id?.match(/follow-relay\/(\w+)/);
|
||||
if (match) {
|
||||
return await relayRejected(match[1]);
|
||||
}
|
||||
await remoteReject(actor, follower);
|
||||
return "ok";
|
||||
});
|
||||
@@ -0,0 +1,16 @@
|
||||
import Resolver from "../../resolver.js";
|
||||
import rejectFollow from "./follow.js";
|
||||
import { isFollow, getApType } from "../../type.js";
|
||||
import { apLogger } from "../../logger.js";
|
||||
const logger = apLogger;
|
||||
export default (async (actor, activity)=>{
|
||||
const uri = activity.id || activity;
|
||||
logger.info(`Reject: ${uri}`);
|
||||
const resolver = new Resolver();
|
||||
const object = await resolver.resolve(activity.object).catch((e)=>{
|
||||
logger.error(`Resolution failed: ${e}`);
|
||||
throw e;
|
||||
});
|
||||
if (isFollow(object)) return await rejectFollow(actor, object);
|
||||
return `skip: Unknown Reject type: ${getApType(object)}`;
|
||||
});
|
||||
Reference in New Issue
Block a user