Files
FrozenFriendsYume/packages/backend/built/server/api/endpoints/admin/federation/remove-all-following.js
T
2026-07-26 18:25:37 +09:00

38 lines
944 B
JavaScript

import define from "../../../define.js";
import deleteFollowing from "../../../../../services/following/delete.js";
import { Followings, Users } from "../../../../../models/index.js";
export const meta = {
tags: [
"admin"
],
requireCredential: true,
requireModerator: true
};
export const paramDef = {
type: "object",
properties: {
host: {
type: "string"
}
},
required: [
"host"
]
};
export default define(meta, paramDef, async (ps, me)=>{
const followings = await Followings.findBy({
followerHost: ps.host
});
const pairs = await Promise.all(followings.map((f)=>Promise.all([
Users.findOneByOrFail({
id: f.followerId
}),
Users.findOneByOrFail({
id: f.followeeId
})
])));
for (const pair of pairs){
deleteFollowing(pair[0], pair[1]);
}
});