summaryrefslogtreecommitdiff
path: root/src/services/i/update.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/services/i/update.ts')
-rw-r--r--src/services/i/update.ts25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/services/i/update.ts b/src/services/i/update.ts
index 887cecb04c..7dba472e78 100644
--- a/src/services/i/update.ts
+++ b/src/services/i/update.ts
@@ -1,29 +1,26 @@
-import * as mongo from 'mongodb';
-import User, { isLocalUser, isRemoteUser } from '../../models/user';
-import Following from '../../models/following';
-import renderPerson from '../../remote/activitypub/renderer/person';
import renderUpdate from '../../remote/activitypub/renderer/update';
import { renderActivity } from '../../remote/activitypub/renderer';
import { deliver } from '../../queue';
+import { Followings, Users } from '../../models';
+import { User } from '../../models/entities/user';
+import { renderPerson } from '../../remote/activitypub/renderer/person';
-export async function publishToFollowers(userId: mongo.ObjectID) {
- const user = await User.findOne({
- _id: userId
+export async function publishToFollowers(userId: User['id']) {
+ const user = await Users.findOne({
+ id: userId
});
- const followers = await Following.find({
- followeeId: user._id
+ const followers = await Followings.find({
+ followeeId: user.id
});
const queue: string[] = [];
// フォロワーがリモートユーザーかつ投稿者がローカルユーザーならUpdateを配信
- if (isLocalUser(user)) {
+ if (Users.isLocalUser(user)) {
for (const following of followers) {
- const follower = following._follower;
-
- if (isRemoteUser(follower)) {
- const inbox = follower.sharedInbox || follower.inbox;
+ if (following.followerHost !== null) {
+ const inbox = following.followerSharedInbox || following.followerInbox;
if (!queue.includes(inbox)) queue.push(inbox);
}
}