2018-10-07 04:06:17 +02:00
|
|
|
import autobind from 'autobind-decorator';
|
|
|
|
import Channel from '../channel';
|
2019-01-20 16:32:54 +01:00
|
|
|
import { pack } from '../../../../models/note';
|
2018-10-07 04:06:17 +02:00
|
|
|
|
|
|
|
export default class extends Channel {
|
2018-10-11 16:01:57 +02:00
|
|
|
public readonly chName = 'userList';
|
2018-10-11 16:07:20 +02:00
|
|
|
public static shouldShare = false;
|
2018-11-10 18:22:34 +01:00
|
|
|
public static requireCredential = false;
|
2018-10-11 16:01:57 +02:00
|
|
|
|
2018-10-07 04:06:17 +02:00
|
|
|
@autobind
|
|
|
|
public async init(params: any) {
|
|
|
|
const listId = params.listId as string;
|
|
|
|
|
|
|
|
// Subscribe stream
|
2019-01-20 16:32:54 +01: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 04:06:17 +02:00
|
|
|
this.send(data);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|