feat(streaming): Add emoji added event
This commit is contained in:
parent
4a6b0edce6
commit
9e9d378bf1
4 changed files with 24 additions and 0 deletions
|
@ -237,6 +237,11 @@ os.init(async () => {
|
||||||
// マウント
|
// マウント
|
||||||
app.$mount('#app');
|
app.$mount('#app');
|
||||||
|
|
||||||
|
os.stream.on('emojiAdded', data => {
|
||||||
|
// TODO
|
||||||
|
//store.commit('instance/set', );
|
||||||
|
});
|
||||||
|
|
||||||
if (store.getters.isSignedIn) {
|
if (store.getters.isSignedIn) {
|
||||||
const main = os.stream.useSharedConnection('main');
|
const main = os.stream.useSharedConnection('main');
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ import { insertModerationLog } from '../../../../../services/insert-moderation-l
|
||||||
import { ApiError } from '../../../error';
|
import { ApiError } from '../../../error';
|
||||||
import { ID } from '../../../../../misc/cafy-id';
|
import { ID } from '../../../../../misc/cafy-id';
|
||||||
import rndstr from 'rndstr';
|
import rndstr from 'rndstr';
|
||||||
|
import { publishBroadcastStream } from '../../../../../services/stream';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
desc: {
|
desc: {
|
||||||
|
@ -53,6 +54,10 @@ export default define(meta, async (ps, me) => {
|
||||||
|
|
||||||
await getConnection().queryResultCache!.remove(['meta_emojis']);
|
await getConnection().queryResultCache!.remove(['meta_emojis']);
|
||||||
|
|
||||||
|
publishBroadcastStream('emojiAdded', {
|
||||||
|
emoji: await Emojis.pack(emoji.id)
|
||||||
|
});
|
||||||
|
|
||||||
insertModerationLog(me, 'addEmoji', {
|
insertModerationLog(me, 'addEmoji', {
|
||||||
emojiId: emoji.id
|
emojiId: emoji.id
|
||||||
});
|
});
|
||||||
|
|
|
@ -39,6 +39,10 @@ export default class Connection {
|
||||||
|
|
||||||
this.wsConnection.on('message', this.onWsConnectionMessage);
|
this.wsConnection.on('message', this.onWsConnectionMessage);
|
||||||
|
|
||||||
|
this.subscriber.on('broadcast', async ({ type, body }) => {
|
||||||
|
this.onBroadcastMessage(type, body);
|
||||||
|
});
|
||||||
|
|
||||||
if (this.user) {
|
if (this.user) {
|
||||||
this.updateFollowing();
|
this.updateFollowing();
|
||||||
this.followingClock = setInterval(this.updateFollowing, 5000);
|
this.followingClock = setInterval(this.updateFollowing, 5000);
|
||||||
|
@ -72,6 +76,11 @@ export default class Connection {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@autobind
|
||||||
|
private onBroadcastMessage(type: string, body: any) {
|
||||||
|
this.sendMessageToWs(type, body);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* APIリクエスト要求時
|
* APIリクエスト要求時
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -19,6 +19,10 @@ class Publisher {
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public publishBroadcastStream = (type: string, value?: any): void => {
|
||||||
|
this.publish('broadcast', type, typeof value === 'undefined' ? null : value);
|
||||||
|
}
|
||||||
|
|
||||||
public publishMainStream = (userId: User['id'], type: string, value?: any): void => {
|
public publishMainStream = (userId: User['id'], type: string, value?: any): void => {
|
||||||
this.publish(`mainStream:${userId}`, type, typeof value === 'undefined' ? null : value);
|
this.publish(`mainStream:${userId}`, type, typeof value === 'undefined' ? null : value);
|
||||||
}
|
}
|
||||||
|
@ -75,6 +79,7 @@ const publisher = new Publisher();
|
||||||
|
|
||||||
export default publisher;
|
export default publisher;
|
||||||
|
|
||||||
|
export const publishBroadcastStream = publisher.publishBroadcastStream;
|
||||||
export const publishMainStream = publisher.publishMainStream;
|
export const publishMainStream = publisher.publishMainStream;
|
||||||
export const publishDriveStream = publisher.publishDriveStream;
|
export const publishDriveStream = publisher.publishDriveStream;
|
||||||
export const publishNoteStream = publisher.publishNoteStream;
|
export const publishNoteStream = publisher.publishNoteStream;
|
||||||
|
|
Loading…
Reference in a new issue