mirror of
https://github.com/misskey-dev/misskey.git
synced 2026-06-06 13:24:12 +02:00
feat: Webhook (#8457)
* feat: introduce webhook * wip * wip * wip * Update CHANGELOG.md
This commit is contained in:
@@ -3,12 +3,13 @@ import { renderActivity } from '@/remote/activitypub/renderer/index.js';
|
||||
import renderFollow from '@/remote/activitypub/renderer/follow.js';
|
||||
import renderUndo from '@/remote/activitypub/renderer/undo.js';
|
||||
import renderReject from '@/remote/activitypub/renderer/reject.js';
|
||||
import { deliver } from '@/queue/index.js';
|
||||
import { deliver, webhookDeliver } from '@/queue/index.js';
|
||||
import Logger from '../logger.js';
|
||||
import { registerOrFetchInstanceDoc } from '../register-or-fetch-instance-doc.js';
|
||||
import { User } from '@/models/entities/user.js';
|
||||
import { Followings, Users, Instances } from '@/models/index.js';
|
||||
import { instanceChart, perUserFollowingChart } from '@/services/chart/index.js';
|
||||
import { getActiveWebhooks } from '@/misc/webhook-cache.js';
|
||||
|
||||
const logger = new Logger('following/delete');
|
||||
|
||||
@@ -31,9 +32,17 @@ export default async function(follower: { id: User['id']; host: User['host']; ur
|
||||
if (!silent && Users.isLocalUser(follower)) {
|
||||
Users.pack(followee.id, follower, {
|
||||
detail: true,
|
||||
}).then(packed => {
|
||||
}).then(async packed => {
|
||||
publishUserEvent(follower.id, 'unfollow', packed);
|
||||
publishMainStream(follower.id, 'unfollow', packed);
|
||||
|
||||
const webhooks = (await getActiveWebhooks()).filter(x => x.userId === follower.id && x.on.includes('unfollow'));
|
||||
for (const webhook of webhooks) {
|
||||
webhookDeliver(webhook, {
|
||||
type: 'unfollow',
|
||||
user: packed,
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user