From 12bf62a15188f9ea3b4eed631f6739a99ae8933a Mon Sep 17 00:00:00 2001
From: syuilo <syuilotan@yahoo.co.jp>
Date: Mon, 8 Apr 2019 23:24:44 +0900
Subject: [PATCH] Update migrate.ts

---
 src/migrate.ts | 39 ++++++++++++++++++++++++++++++++++++---
 1 file changed, 36 insertions(+), 3 deletions(-)

diff --git a/src/migrate.ts b/src/migrate.ts
index 4e88642e8..64d7d6fd8 100644
--- a/src/migrate.ts
+++ b/src/migrate.ts
@@ -4,6 +4,7 @@ import { initDb } from './db/postgre';
 import { User } from './models/entities/user';
 import { getRepository } from 'typeorm';
 import generateUserToken from './server/api/common/generate-native-user-token';
+import { DriveFile } from './models/entities/drive-file';
 
 const u = (config as any).mongodb.user ? encodeURIComponent((config as any).mongodb.user) : null;
 const p = (config as any).mongodb.pass ? encodeURIComponent((config as any).mongodb.pass) : null;
@@ -13,13 +14,14 @@ const uri = `mongodb://${u && p ? `${u}:${p}@` : ''}${(config as any).mongodb.ho
 const db = mongo(uri);
 
 const _User = db.get<any>('users');
+const _DriveFile = db.get<any>('driveFiles.files');
 
 async function main() {
 	await initDb();
 	const Users = getRepository(User);
+	const DriveFiles = getRepository(DriveFile);
 
 	const allUsersCount = await _User.count();
-
 	for (let i = 0; i < allUsersCount; i++) {
 		const user = await _User.findOne({}, {
 			skip: i
@@ -34,9 +36,40 @@ async function main() {
 			password: user.password,
 			isAdmin: user.isAdmin,
 			autoAcceptFollowed: true,
-			autoWatch: false
+			autoWatch: false,
+			name: user.name,
+			location: user.profile.location,
+			birthday: user.profile.birthday,
+			followersCount: user.followersCount,
+			followingCount: user.followingCount,
+			notesCount: user.notesCount,
+			description: user.description,
+			isBot: user.isBot,
+			isCat: user.isCat,
+			isVerified: user.isVerified,
+			inbox: user.inbox,
+			sharedInbox: user.sharedInbox,
+			uri: user.uri,
 		});
-		console.log(`USER (${i + 1}/${allUsersCount}) ${user.id} DONE`);
+		console.log(`USER (${i + 1}/${allUsersCount}) ${user._id} DONE`);
+	}
+
+	const allDriveFilesCount = await _DriveFile.count();
+	for (let i = 0; i < allDriveFilesCount; i++) {
+		const file = await _DriveFile.findOne({}, {
+			skip: i
+		});
+		await DriveFiles.save({
+			id: file._id.toHexString(),
+			userId: file.userId.toHexString(),
+			createdAt: file.uploadDate || new Date(),
+			md5: file.md5,
+			name: file.filename,
+			type: file.contentType,
+			properties: file.metadata.properties,
+			size: file.length,
+		});
+		console.log(`USER (${i + 1}/${allDriveFilesCount}) ${file._id} DONE`);
 	}
 }