diff options
Diffstat (limited to 'src/server/api')
| -rw-r--r-- | src/server/api/endpoints/i/pin.ts | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/server/api/endpoints/i/pin.ts b/src/server/api/endpoints/i/pin.ts index 8804d5aa70..ce3b0318a9 100644 --- a/src/server/api/endpoints/i/pin.ts +++ b/src/server/api/endpoints/i/pin.ts @@ -2,6 +2,7 @@ import $ from 'cafy'; import ID from '../../../../misc/cafy-id'; import User, { ILocalUser } from '../../../../models/user'; import Note from '../../../../models/note'; import { pack } from '../../../../models/user'; +import { deliverPinnedChange } from '../../../../services/i/pin'; /** * Pin note @@ -21,6 +22,9 @@ export default async (params: any, user: ILocalUser) => new Promise(async (res, return rej('note not found'); } + let addedId; + let removedId; + const pinnedNoteIds = user.pinnedNoteIds || []; if (pinnedNoteIds.some(id => id.equals(note._id))) { @@ -28,9 +32,10 @@ export default async (params: any, user: ILocalUser) => new Promise(async (res, } pinnedNoteIds.unshift(note._id); + addedId = note._id; if (pinnedNoteIds.length > 5) { - pinnedNoteIds.pop(); + removedId = pinnedNoteIds.pop(); } await User.update(user._id, { @@ -44,6 +49,9 @@ export default async (params: any, user: ILocalUser) => new Promise(async (res, detail: true }); + // Send Add/Remove to followers + deliverPinnedChange(user._id, removedId, addedId); + // Send response res(iObj); }); |