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');
|
||||
|
||||
os.stream.on('emojiAdded', data => {
|
||||
// TODO
|
||||
//store.commit('instance/set', );
|
||||
});
|
||||
|
||||
if (store.getters.isSignedIn) {
|
||||
const main = os.stream.useSharedConnection('main');
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ import { insertModerationLog } from '../../../../../services/insert-moderation-l
|
|||
import { ApiError } from '../../../error';
|
||||
import { ID } from '../../../../../misc/cafy-id';
|
||||
import rndstr from 'rndstr';
|
||||
import { publishBroadcastStream } from '../../../../../services/stream';
|
||||
|
||||
export const meta = {
|
||||
desc: {
|
||||
|
@ -53,6 +54,10 @@ export default define(meta, async (ps, me) => {
|
|||
|
||||
await getConnection().queryResultCache!.remove(['meta_emojis']);
|
||||
|
||||
publishBroadcastStream('emojiAdded', {
|
||||
emoji: await Emojis.pack(emoji.id)
|
||||
});
|
||||
|
||||
insertModerationLog(me, 'addEmoji', {
|
||||
emojiId: emoji.id
|
||||
});
|
||||
|
|
|
@ -39,6 +39,10 @@ export default class Connection {
|
|||
|
||||
this.wsConnection.on('message', this.onWsConnectionMessage);
|
||||
|
||||
this.subscriber.on('broadcast', async ({ type, body }) => {
|
||||
this.onBroadcastMessage(type, body);
|
||||
});
|
||||
|
||||
if (this.user) {
|
||||
this.updateFollowing();
|
||||
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リクエスト要求時
|
||||
*/
|
||||
|
|
|
@ -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 => {
|
||||
this.publish(`mainStream:${userId}`, type, typeof value === 'undefined' ? null : value);
|
||||
}
|
||||
|
@ -75,6 +79,7 @@ const publisher = new Publisher();
|
|||
|
||||
export default publisher;
|
||||
|
||||
export const publishBroadcastStream = publisher.publishBroadcastStream;
|
||||
export const publishMainStream = publisher.publishMainStream;
|
||||
export const publishDriveStream = publisher.publishDriveStream;
|
||||
export const publishNoteStream = publisher.publishNoteStream;
|
||||
|
|
Loading…
Reference in a new issue