summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/i/pin.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-09-18 06:29:47 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-09-18 06:29:47 +0900
commit1f2ebce8ed749d7e81e999944fc8a22ff39b87b7 (patch)
tree4f008a9546f9657c7fc4758f852778e02566437a /src/server/api/endpoints/i/pin.ts
parentClean up: Remove unused import (diff)
downloadsharkey-1f2ebce8ed749d7e81e999944fc8a22ff39b87b7.tar.gz
sharkey-1f2ebce8ed749d7e81e999944fc8a22ff39b87b7.tar.bz2
sharkey-1f2ebce8ed749d7e81e999944fc8a22ff39b87b7.zip
Resolve #1302
Diffstat (limited to 'src/server/api/endpoints/i/pin.ts')
-rw-r--r--src/server/api/endpoints/i/pin.ts14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/server/api/endpoints/i/pin.ts b/src/server/api/endpoints/i/pin.ts
index ae03a86336..8804d5aa70 100644
--- a/src/server/api/endpoints/i/pin.ts
+++ b/src/server/api/endpoints/i/pin.ts
@@ -21,9 +21,21 @@ export default async (params: any, user: ILocalUser) => new Promise(async (res,
return rej('note not found');
}
+ const pinnedNoteIds = user.pinnedNoteIds || [];
+
+ if (pinnedNoteIds.some(id => id.equals(note._id))) {
+ return rej('already exists');
+ }
+
+ pinnedNoteIds.unshift(note._id);
+
+ if (pinnedNoteIds.length > 5) {
+ pinnedNoteIds.pop();
+ }
+
await User.update(user._id, {
$set: {
- pinnedNoteId: note._id
+ pinnedNoteIds: pinnedNoteIds
}
});