diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2017-11-01 19:33:08 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2017-11-01 19:33:08 +0900 |
| commit | d6b03c43eb818a5e13a8ad1ec69697e4600c5c2c (patch) | |
| tree | 20302f7974e7939f2e498b07bd11c86bea4f7e82 /src/api/serializers | |
| parent | v2799 (diff) | |
| download | sharkey-d6b03c43eb818a5e13a8ad1ec69697e4600c5c2c.tar.gz sharkey-d6b03c43eb818a5e13a8ad1ec69697e4600c5c2c.tar.bz2 sharkey-d6b03c43eb818a5e13a8ad1ec69697e4600c5c2c.zip | |
Implement Channel Watching
Diffstat (limited to 'src/api/serializers')
| -rw-r--r-- | src/api/serializers/channel.ts | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/api/serializers/channel.ts b/src/api/serializers/channel.ts index d4e16d6be3..3cba39aa16 100644 --- a/src/api/serializers/channel.ts +++ b/src/api/serializers/channel.ts @@ -5,6 +5,7 @@ import * as mongo from 'mongodb'; import deepcopy = require('deepcopy'); import { IUser } from '../models/user'; import { default as Channel, IChannel } from '../models/channel'; +import Watching from '../models/channel-watching'; /** * Serialize a channel @@ -40,5 +41,26 @@ export default ( // Remove needless properties delete _channel.user_id; + // Me + const meId: mongo.ObjectID = me + ? mongo.ObjectID.prototype.isPrototypeOf(me) + ? me as mongo.ObjectID + : typeof me === 'string' + ? new mongo.ObjectID(me) + : (me as IUser)._id + : null; + + if (me) { + //#region Watchしているかどうか + const watch = await Watching.findOne({ + user_id: meId, + channel_id: _channel.id, + deleted_at: { $exists: false } + }); + + _channel.is_watching = watch !== null; + //#endregion + } + resolve(_channel); }); |