summaryrefslogtreecommitdiff
path: root/src/queue/processors/db/import-following.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/queue/processors/db/import-following.ts')
-rw-r--r--src/queue/processors/db/import-following.ts41
1 files changed, 21 insertions, 20 deletions
diff --git a/src/queue/processors/db/import-following.ts b/src/queue/processors/db/import-following.ts
index 069afa74c4..8de3193e46 100644
--- a/src/queue/processors/db/import-following.ts
+++ b/src/queue/processors/db/import-following.ts
@@ -1,32 +1,33 @@
import * as Bull from 'bull';
-import * as mongo from 'mongodb';
import { queueLogger } from '../../logger';
-import User from '../../../models/user';
import follow from '../../../services/following/create';
-import DriveFile from '../../../models/drive-file';
-import { getOriginalUrl } from '../../../misc/get-drive-file-url';
import parseAcct from '../../../misc/acct/parse';
-import resolveUser from '../../../remote/resolve-user';
+import { resolveUser } from '../../../remote/resolve-user';
import { downloadTextFile } from '../../../misc/download-text-file';
-import { isSelfHost, toDbHost } from '../../../misc/convert-host';
+import { isSelfHost, toPuny } from '../../../misc/convert-host';
+import { Users, DriveFiles } from '../../../models';
const logger = queueLogger.createSubLogger('import-following');
export async function importFollowing(job: Bull.Job, done: any): Promise<void> {
- logger.info(`Importing following of ${job.data.user._id} ...`);
+ logger.info(`Importing following of ${job.data.user.id} ...`);
- const user = await User.findOne({
- _id: new mongo.ObjectID(job.data.user._id.toString())
- });
+ const user = await Users.findOne(job.data.user.id);
+ if (user == null) {
+ done();
+ return;
+ }
- const file = await DriveFile.findOne({
- _id: new mongo.ObjectID(job.data.fileId.toString())
+ const file = await DriveFiles.findOne({
+ id: job.data.fileId
});
+ if (file == null) {
+ done();
+ return;
+ }
- const url = getOriginalUrl(file);
-
- const csv = await downloadTextFile(url);
+ const csv = await downloadTextFile(file.url);
let linenum = 0;
@@ -36,11 +37,11 @@ export async function importFollowing(job: Bull.Job, done: any): Promise<void> {
try {
const { username, host } = parseAcct(line.trim());
- let target = isSelfHost(host) ? await User.findOne({
+ let target = isSelfHost(host!) ? await Users.findOne({
host: null,
usernameLower: username.toLowerCase()
- }) : await User.findOne({
- host: toDbHost(host),
+ }) : await Users.findOne({
+ host: toPuny(host!),
usernameLower: username.toLowerCase()
});
@@ -55,9 +56,9 @@ export async function importFollowing(job: Bull.Job, done: any): Promise<void> {
}
// skip myself
- if (target._id.equals(job.data.user._id)) continue;
+ if (target.id === job.data.user.id) continue;
- logger.info(`Follow[${linenum}] ${target._id} ...`);
+ logger.info(`Follow[${linenum}] ${target.id} ...`);
follow(user, target);
} catch (e) {