parent
8ada1725bf
commit
b34b728fbb
2 changed files with 33 additions and 14 deletions
|
|
@ -4,7 +4,8 @@ import renderReject from '../../../remote/activitypub/renderer/reject';
|
|||
import { deliver } from '../../../queue';
|
||||
import { publishMainStream } from '../../stream';
|
||||
import { User, ILocalUser } from '../../../models/entities/user';
|
||||
import { Users, FollowRequests } from '../../../models';
|
||||
import { Users, FollowRequests, Followings } from '../../../models';
|
||||
import { decrementFollowing } from '../delete';
|
||||
|
||||
export default async function(followee: User, follower: User) {
|
||||
if (Users.isRemoteUser(follower)) {
|
||||
|
|
@ -17,11 +18,25 @@ export default async function(followee: User, follower: User) {
|
|||
deliver(followee as ILocalUser, content, follower.inbox);
|
||||
}
|
||||
|
||||
await FollowRequests.delete({
|
||||
const request = await FollowRequests.findOne({
|
||||
followeeId: followee.id,
|
||||
followerId: follower.id
|
||||
});
|
||||
|
||||
if (request) {
|
||||
await FollowRequests.delete(request.id);
|
||||
} else {
|
||||
const following = await Followings.findOne({
|
||||
followeeId: followee.id,
|
||||
followerId: follower.id
|
||||
});
|
||||
|
||||
if (following) {
|
||||
await Followings.delete(following.id);
|
||||
decrementFollowing(follower, followee);
|
||||
}
|
||||
}
|
||||
|
||||
Users.pack(followee, follower, {
|
||||
detail: true
|
||||
}).then(packed => publishMainStream(follower.id, 'unfollow', packed));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue