egirlskey/packages/backend/src/server/api/stream/channels/messaging-index.ts

33 lines
815 B
TypeScript
Raw Normal View History

2022-09-17 18:27:08 +00:00
import { Inject, Injectable } from '@nestjs/common';
import Channel from '../channel.js';
2022-09-17 18:27:08 +00:00
class MessagingIndexChannel extends Channel {
public readonly chName = 'messagingIndex';
2018-10-11 14:07:20 +00:00
public static shouldShare = true;
2018-11-10 17:22:34 +00:00
public static requireCredential = true;
public async init(params: any) {
// Subscribe messaging index stream
this.subscriber.on(`messagingIndexStream:${this.user!.id}`, data => {
this.send(data);
});
}
}
2022-09-17 18:27:08 +00:00
@Injectable()
export class MessagingIndexChannelService {
public readonly shouldShare = MessagingIndexChannel.shouldShare;
public readonly requireCredential = MessagingIndexChannel.requireCredential;
constructor(
) {
}
public create(id: string, connection: Channel['connection']): MessagingIndexChannel {
return new MessagingIndexChannel(
id,
connection,
);
}
}