summaryrefslogtreecommitdiff
path: root/src/server/api/stream/channel.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2018-10-07 11:06:17 +0900
committerGitHub <noreply@github.com>2018-10-07 11:06:17 +0900
commitd0570d7fe3a3bf3c6b0312dece74bacc04c3534a (patch)
tree698218279a38f9c78b0350e81b8ac77ae52e4a0d /src/server/api/stream/channel.ts
parentFix お知らせが確認中...のままになる(Announcement Fetching...) (... (diff)
downloadmisskey-d0570d7fe3a3bf3c6b0312dece74bacc04c3534a.tar.gz
misskey-d0570d7fe3a3bf3c6b0312dece74bacc04c3534a.tar.bz2
misskey-d0570d7fe3a3bf3c6b0312dece74bacc04c3534a.zip
V10 (#2826)
* wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Update CHANGELOG.md * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Update CHANGELOG.md * Update CHANGELOG.md * wip * Update CHANGELOG.md * wip * wip * wip * wip
Diffstat (limited to 'src/server/api/stream/channel.ts')
-rw-r--r--src/server/api/stream/channel.ts39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/server/api/stream/channel.ts b/src/server/api/stream/channel.ts
new file mode 100644
index 0000000000..e2726060dc
--- /dev/null
+++ b/src/server/api/stream/channel.ts
@@ -0,0 +1,39 @@
+import autobind from 'autobind-decorator';
+import Connection from '.';
+
+/**
+ * Stream channel
+ */
+export default abstract class Channel {
+ protected connection: Connection;
+ public id: string;
+
+ protected get user() {
+ return this.connection.user;
+ }
+
+ protected get subscriber() {
+ return this.connection.subscriber;
+ }
+
+ constructor(id: string, connection: Connection) {
+ this.id = id;
+ this.connection = connection;
+ }
+
+ @autobind
+ public send(typeOrPayload: any, payload?: any) {
+ const type = payload === undefined ? typeOrPayload.type : typeOrPayload;
+ const body = payload === undefined ? typeOrPayload.body : payload;
+
+ this.connection.sendMessageToWs('channel', {
+ id: this.id,
+ type: type,
+ body: body
+ });
+ }
+
+ public abstract init(params: any): void;
+ public dispose?(): void;
+ public onMessage?(type: string, body: any): void;
+}