unFollowAll on suspend (#4490)

* unFollowAll on suspend

* use services

* silent
This commit is contained in:
MeiMei 2019-03-14 15:16:07 +09:00 committed by syuilo
parent b323a160e3
commit 1179920790
2 changed files with 25 additions and 3 deletions

View file

@ -1,7 +1,9 @@
import $ from 'cafy';
import ID, { transform } from '../../../../misc/cafy-id';
import define from '../../define';
import User from '../../../../models/user';
import User, { IUser } from '../../../../models/user';
import Following from '../../../../models/following';
import deleteFollowing from '../../../../services/following/delete';
export const meta = {
desc: {
@ -51,5 +53,25 @@ export default define(meta, async (ps) => {
}
});
unFollowAll(user);
return;
});
async function unFollowAll(follower: IUser) {
const followings = await Following.find({
followerId: follower._id
});
for (const following of followings) {
const followee = await User.findOne({
_id: following.followeeId
});
if (followee == null) {
throw `Cant find followee ${following.followeeId}`;
}
await deleteFollowing(follower, followee, true);
}
}