From 11496d887e89ceccd64035f9e1836c5d415f4349 Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Tue, 18 Sep 2018 13:08:27 +0900 Subject: Publish pinned notes (#2731) --- src/server/api/endpoints/i/pin.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/server/api/endpoints/i') 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); }); -- cgit v1.2.3-freya