2018-10-07 11:06:17 +09:00
|
|
|
import autobind from 'autobind-decorator';
|
|
|
|
import Channel from '../channel';
|
2019-01-21 00:32:54 +09:00
|
|
|
import { pack } from '../../../../models/note';
|
2018-10-07 11:06:17 +09:00
|
|
|
|
|
|
|
export default class extends Channel {
|
2018-10-11 23:01:57 +09:00
|
|
|
public readonly chName = 'userList';
|
2018-10-11 23:07:20 +09:00
|
|
|
public static shouldShare = false;
|
2018-11-11 02:22:34 +09:00
|
|
|
public static requireCredential = false;
|
2018-10-11 23:01:57 +09:00
|
|
|
|
2018-10-07 11:06:17 +09:00
|
|
|
@autobind
|
|
|
|
public async init(params: any) {
|
|
|
|
const listId = params.listId as string;
|
|
|
|
|
|
|
|
// Subscribe stream
|
2019-01-21 00:32:54 +09:00
|
|
|
this.subscriber.on(`userListStream:${listId}`, async data => {
|
|
|
|
// 再パック
|
|
|
|
if (data.type == 'note') data.body = await pack(data.body.id, this.user, {
|
|
|
|
detail: true
|
|
|
|
});
|
2018-10-07 11:06:17 +09:00
|
|
|
this.send(data);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|