summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/api/endpoints/following/requests/cancel.ts6
-rw-r--r--src/services/following/requests/cancel.ts9
2 files changed, 14 insertions, 1 deletions
diff --git a/src/server/api/endpoints/following/requests/cancel.ts b/src/server/api/endpoints/following/requests/cancel.ts
index 9bfc40ce65..c46b948d29 100644
--- a/src/server/api/endpoints/following/requests/cancel.ts
+++ b/src/server/api/endpoints/following/requests/cancel.ts
@@ -27,7 +27,11 @@ export default (params: any, user: ILocalUser) => new Promise(async (res, rej) =
return rej('followee not found');
}
- await cancelFollowRequest(followee, user);
+ try {
+ await cancelFollowRequest(followee, user);
+ } catch (e) {
+ return rej(e);
+ }
// Send response
res(await pack(followee._id, user));
diff --git a/src/services/following/requests/cancel.ts b/src/services/following/requests/cancel.ts
index b0b574da58..26e4544d5c 100644
--- a/src/services/following/requests/cancel.ts
+++ b/src/services/following/requests/cancel.ts
@@ -12,6 +12,15 @@ export default async function(followee: IUser, follower: IUser) {
deliver(follower as ILocalUser, content, followee.inbox);
}
+ const request = await FollowRequest.findOne({
+ followeeId: followee._id,
+ followerId: follower._id
+ });
+
+ if (request == null) {
+ throw 'request not found';
+ }
+
await FollowRequest.remove({
followeeId: followee._id,
followerId: follower._id