diff options
| author | こぴなたみぽ <Syuilotan@yahoo.co.jp> | 2017-06-15 04:52:33 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-06-15 04:52:33 +0900 |
| commit | cb4b120548a53700bca8baf52bfe42fe8e5f95ef (patch) | |
| tree | b0e4116756c0a9d6b7a06f4a5012fc91b6b5bc75 /src/api/stream | |
| parent | chore(package): update @types/mongodb to version 2.2.4 (diff) | |
| parent | Merge pull request #552 from syuilo/greenkeeper/@types/node-7.0.31 (diff) | |
| download | misskey-cb4b120548a53700bca8baf52bfe42fe8e5f95ef.tar.gz misskey-cb4b120548a53700bca8baf52bfe42fe8e5f95ef.tar.bz2 misskey-cb4b120548a53700bca8baf52bfe42fe8e5f95ef.zip | |
Merge branch 'master' into greenkeeper/@types/mongodb-2.2.4
Diffstat (limited to 'src/api/stream')
| -rw-r--r-- | src/api/stream/messaging.ts | 42 | ||||
| -rw-r--r-- | src/api/stream/server.ts | 20 |
2 files changed, 23 insertions, 39 deletions
diff --git a/src/api/stream/messaging.ts b/src/api/stream/messaging.ts index 71bf7a34c6..3f505cfafa 100644 --- a/src/api/stream/messaging.ts +++ b/src/api/stream/messaging.ts @@ -1,8 +1,6 @@ -import * as mongodb from 'mongodb'; import * as websocket from 'websocket'; import * as redis from 'redis'; -import Message from '../models/messaging-message'; -import { publishMessagingStream } from '../event'; +import read from '../common/read-messaging-message'; export default function messagingStream(request: websocket.request, connection: websocket.connection, subscriber: redis.RedisClient, user: any): void { const otherparty = request.resourceURL.query.otherparty; @@ -18,42 +16,8 @@ export default function messagingStream(request: websocket.request, connection: switch (msg.type) { case 'read': - if (!msg.id) { - return; - } - - const id = new mongodb.ObjectID(msg.id); - - // Fetch message - // SELECT _id, user_id, is_read - const message = await Message.findOne({ - _id: id, - recipient_id: user._id - }, { - fields: { - _id: true, - user_id: true, - is_read: true - } - }); - - if (message == null) { - return; - } - - if (message.is_read) { - return; - } - - // Update documents - await Message.update({ - _id: id - }, { - $set: { is_read: true } - }); - - // Publish event - publishMessagingStream(message.user_id, user._id, 'read', id.toString()); + if (!msg.id) return; + read(user._id, otherparty, msg.id); break; } }); diff --git a/src/api/stream/server.ts b/src/api/stream/server.ts new file mode 100644 index 0000000000..6de5337499 --- /dev/null +++ b/src/api/stream/server.ts @@ -0,0 +1,20 @@ +import * as websocket from 'websocket'; +import Xev from 'xev'; + +const ev = new Xev(); + +export default function homeStream(request: websocket.request, connection: websocket.connection): void { + const onStats = stats => { + connection.send(JSON.stringify({ + type: 'stats', + body: stats + })); + }; + + ev.addListener('stats', onStats); + + connection.on('close', () => { + console.log('yooo'); + ev.removeListener('stats', onStats); + }); +} |