summaryrefslogtreecommitdiff
path: root/src/models
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-09-19 14:18:34 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-09-19 14:18:34 +0900
commitd9f0e158a35eec183da77e84a3b038fab645bf62 (patch)
treea7cbad45883ff56d35771d849f95dbd911e3e45c /src/models
parent8.55.0 (diff)
downloadsharkey-d9f0e158a35eec183da77e84a3b038fab645bf62.tar.gz
sharkey-d9f0e158a35eec183da77e84a3b038fab645bf62.tar.bz2
sharkey-d9f0e158a35eec183da77e84a3b038fab645bf62.zip
Implement #2736
Diffstat (limited to 'src/models')
-rw-r--r--src/models/note-unread.ts17
-rw-r--r--src/models/note.ts4
-rw-r--r--src/models/user.ts8
3 files changed, 26 insertions, 3 deletions
diff --git a/src/models/note-unread.ts b/src/models/note-unread.ts
new file mode 100644
index 0000000000..62408d23b6
--- /dev/null
+++ b/src/models/note-unread.ts
@@ -0,0 +1,17 @@
+import * as mongo from 'mongodb';
+import db from '../db/mongodb';
+
+const NoteUnread = db.get<INoteUnread>('noteUnreads');
+NoteUnread.createIndex(['userId', 'noteId'], { unique: true });
+export default NoteUnread;
+
+export interface INoteUnread {
+ _id: mongo.ObjectID;
+ noteId: mongo.ObjectID;
+ userId: mongo.ObjectID;
+ isSpecified: boolean;
+
+ _note: {
+ userId: mongo.ObjectID;
+ };
+}
diff --git a/src/models/note.ts b/src/models/note.ts
index ce307d061a..ba88e9f481 100644
--- a/src/models/note.ts
+++ b/src/models/note.ts
@@ -295,8 +295,8 @@ export const pack = async (
delete _note._user;
delete _note._reply;
- delete _note.repost;
- delete _note.mentions;
+ delete _note._renote;
+ delete _note._files;
if (_note.geo) delete _note.geo.type;
// Populate user
diff --git a/src/models/user.ts b/src/models/user.ts
index b595fa8d71..bacae485a8 100644
--- a/src/models/user.ts
+++ b/src/models/user.ts
@@ -348,7 +348,8 @@ export const pack = (
me?: string | mongo.ObjectID | IUser,
options?: {
detail?: boolean,
- includeSecrets?: boolean
+ includeSecrets?: boolean,
+ includeHasUnreadNotes?: boolean
}
) => new Promise<any>(async (resolve, reject) => {
@@ -510,6 +511,11 @@ export const pack = (
}
}
+ if (!opts.includeHasUnreadNotes) {
+ delete _user.hasUnreadSpecifiedNotes;
+ delete _user.hasUnreadMentions;
+ }
+
// resolve promises in _user object
_user = await rap(_user);