summaryrefslogtreecommitdiff
path: root/src/server/api/stream/channels/messaging.ts
blob: e1a78c86783a8393ffc4c596a9f1f21b6cd8cc68 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import autobind from 'autobind-decorator';
import read from '../../common/read-messaging-message';
import Channel from '../channel';

export default class extends Channel {
	private otherpartyId: string;

	@autobind
	public async init(params: any) {
		this.otherpartyId = params.otherparty as string;

		// Subscribe messaging stream
		this.subscriber.on(`messagingStream:${this.user._id}-${this.otherpartyId}`, data => {
			this.send(data);
		});
	}

	@autobind
	public onMessage(type: string, body: any) {
		switch (type) {
			case 'read':
				read(this.user._id, this.otherpartyId, body.id);
				break;
		}
	}
}