feat: integrate notifications for remote likes, follows, and announces.

Rescind notification as necessary.
This commit is contained in:
Julian Lam
2024-02-29 16:09:57 -05:00
parent 0f99ae1f45
commit c707a32aa9
6 changed files with 43 additions and 22 deletions

View File

@@ -172,27 +172,11 @@ usersAPI.changePassword = async function (caller, data) {
usersAPI.follow = async function (caller, data) {
await user.follow(caller.uid, data.uid);
await user.onFollow(caller.uid, data.uid);
plugins.hooks.fire('action:user.follow', {
fromUid: caller.uid,
toUid: data.uid,
});
const userData = await user.getUserFields(caller.uid, ['username', 'userslug']);
const { displayname } = userData;
const notifObj = await notifications.create({
type: 'follow',
bodyShort: `[[notifications:user-started-following-you, ${displayname}]]`,
nid: `follow:${data.uid}:uid:${caller.uid}`,
from: caller.uid,
path: `/uid/${data.uid}/followers`,
mergeId: 'notifications:user-started-following-you',
});
if (!notifObj) {
return;
}
notifObj.user = userData;
await notifications.push(notifObj, [data.uid]);
};
usersAPI.unfollow = async function (caller, data) {