diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-09-19 14:18:34 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-09-19 14:18:34 +0900 |
| commit | d9f0e158a35eec183da77e84a3b038fab645bf62 (patch) | |
| tree | a7cbad45883ff56d35771d849f95dbd911e3e45c /src/models | |
| parent | 8.55.0 (diff) | |
| download | sharkey-d9f0e158a35eec183da77e84a3b038fab645bf62.tar.gz sharkey-d9f0e158a35eec183da77e84a3b038fab645bf62.tar.bz2 sharkey-d9f0e158a35eec183da77e84a3b038fab645bf62.zip | |
Implement #2736
Diffstat (limited to 'src/models')
| -rw-r--r-- | src/models/note-unread.ts | 17 | ||||
| -rw-r--r-- | src/models/note.ts | 4 | ||||
| -rw-r--r-- | src/models/user.ts | 8 |
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); |