From 109199e445bb782854189eee9727341889aeaa4d Mon Sep 17 00:00:00 2001
From: syuilo <syuilotan@yahoo.co.jp>
Date: Sun, 1 Apr 2018 19:53:35 +0900
Subject: [PATCH] Clean up

---
 tools/letsencrypt/get-cert.sh                 | 12 ---
 tools/migration/node.1509958623.use-gridfs.js | 71 ---------------
 ...change-gridfs-metadata-name-to-filename.js | 50 -----------
 tools/migration/node.1510056272.issue_882.js  | 47 ----------
 tools/migration/node.2017-11-08.js            | 88 -------------------
 tools/migration/node.2017-12-11.js            | 71 ---------------
 tools/migration/node.2017-12-22.hiseikika.js  | 67 --------------
 tools/migration/node.2018-03-13.othello.js    | 46 ----------
 .../shell.1487734995.user-profile.js          | 18 ----
 .../shell.1489951459.like-to-reactions.js     | 22 -----
 .../shell.1509507382.reply_to-to-reply.js     |  5 --
 11 files changed, 497 deletions(-)
 delete mode 100644 tools/letsencrypt/get-cert.sh
 delete mode 100644 tools/migration/node.1509958623.use-gridfs.js
 delete mode 100644 tools/migration/node.1510016282.change-gridfs-metadata-name-to-filename.js
 delete mode 100644 tools/migration/node.1510056272.issue_882.js
 delete mode 100644 tools/migration/node.2017-11-08.js
 delete mode 100644 tools/migration/node.2017-12-11.js
 delete mode 100644 tools/migration/node.2017-12-22.hiseikika.js
 delete mode 100644 tools/migration/node.2018-03-13.othello.js
 delete mode 100644 tools/migration/shell.1487734995.user-profile.js
 delete mode 100644 tools/migration/shell.1489951459.like-to-reactions.js
 delete mode 100644 tools/migration/shell.1509507382.reply_to-to-reply.js

diff --git a/tools/letsencrypt/get-cert.sh b/tools/letsencrypt/get-cert.sh
deleted file mode 100644
index d44deb1443..0000000000
--- a/tools/letsencrypt/get-cert.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-
-certbot certonly --standalone\
-  -d $1\
-  -d api.$1\
-  -d auth.$1\
-  -d docs.$1\
-  -d ch.$1\
-  -d stats.$1\
-  -d status.$1\
-  -d dev.$1\
-  -d file.$2\
diff --git a/tools/migration/node.1509958623.use-gridfs.js b/tools/migration/node.1509958623.use-gridfs.js
deleted file mode 100644
index a9d2b12e95..0000000000
--- a/tools/migration/node.1509958623.use-gridfs.js
+++ /dev/null
@@ -1,71 +0,0 @@
-// for Node.js interpret
-
-const { default: db } = require('../../built/db/mongodb')
-const { default: DriveFile, getGridFSBucket } = require('../../built/api/models/drive-file')
-const { Duplex } = require('stream')
-const { default: zip } = require('@prezzemolo/zip')
-
-const writeToGridFS = (bucket, buffer, ...rest) => new Promise((resolve, reject) => {
-	const writeStream = bucket.openUploadStreamWithId(...rest)
-
-	const dataStream = new Duplex()
-	dataStream.push(buffer)
-	dataStream.push(null)
-
-	writeStream.once('finish', resolve)
-	writeStream.on('error', reject)
-
-	dataStream.pipe(writeStream)
-})
-
-const migrateToGridFS = async (doc) => {
-	const id = doc._id
-	const buffer = doc.data ? doc.data.buffer : Buffer.from([0x00]) // アップロードのバグなのか知らないけどなぜか data が存在しない drive_file ドキュメントがまれにあることがわかったので
-	const created_at = doc.created_at
-	const name = doc.name
-	const type = doc.type
-
-	delete doc._id
-	delete doc.created_at
-	delete doc.datasize
-	delete doc.hash
-	delete doc.data
-	delete doc.name
-	delete doc.type
-
-	const bucket = await getGridFSBucket()
-	const added = await writeToGridFS(bucket, buffer, id, name, { contentType: type, metadata: doc })
-
-	const result = await DriveFile.update(id, {
-		$set: {
-			uploadDate: created_at
-		}
-	})
-
-	return added && result.ok === 1
-}
-
-async function main() {
-	const count = await db.get('drive_files').count({});
-
-	console.log(`there are ${count} files.`)
-
-	const dop = Number.parseInt(process.argv[2]) || 5
-	const idop = ((count - (count % dop)) / dop) + 1
-
-	return zip(
-		1,
-		async (time) => {
-			console.log(`${time} / ${idop}`)
-			const doc = await db.get('drive_files').find({}, { limit: dop, skip: time * dop })
-			return Promise.all(doc.map(migrateToGridFS))
-		},
-		idop
-	).then(a => {
-		const rv = []
-		a.forEach(e => rv.push(...e))
-		return rv
-	})
-}
-
-main().then(console.dir).catch(console.error)
diff --git a/tools/migration/node.1510016282.change-gridfs-metadata-name-to-filename.js b/tools/migration/node.1510016282.change-gridfs-metadata-name-to-filename.js
deleted file mode 100644
index d7b2a6eff4..0000000000
--- a/tools/migration/node.1510016282.change-gridfs-metadata-name-to-filename.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// for Node.js interpret
-/**
- * change usage of GridFS filename
- * see commit fb422b4d603c53a70712caba55b35a48a8c2e619
- */
-
-const { default: DriveFile } = require('../../built/api/models/drive-file')
-
-async function applyNewChange (doc) {
-	const result = await DriveFile.update(doc._id, {
-		$set: {
-			filename: doc.metadata.name
-		},
-		$unset: {
-			'metadata.name': ''
-		}
-	})
-	return result.ok === 1
-}
-
-async function main () {
-	const query = {
-		'metadata.name': {
-			$exists: true
-		}
-	}
-
-	const count = await DriveFile.count(query)
-
-	const dop = Number.parseInt(process.argv[2]) || 5
-	const idop = ((count - (count % dop)) / dop) + 1
-
-	return zip(
-		1,
-		async (time) => {
-			console.log(`${time} / ${idop}`)
-			const doc = await DriveFile.find(query, {
-				limit: dop, skip: time * dop
-			})
-			return Promise.all(doc.map(applyNewChange))
-		},
-		idop
-	).then(a => {
-		const rv = []
-		a.forEach(e => rv.push(...e))
-		return rv
-	})
-}
-
-main().then(console.dir).catch(console.error)
diff --git a/tools/migration/node.1510056272.issue_882.js b/tools/migration/node.1510056272.issue_882.js
deleted file mode 100644
index 302ef3de65..0000000000
--- a/tools/migration/node.1510056272.issue_882.js
+++ /dev/null
@@ -1,47 +0,0 @@
-// for Node.js interpret
-
-const { default: DriveFile } = require('../../built/api/models/drive-file')
-const { default: zip } = require('@prezzemolo/zip')
-
-const migrate = async (doc) => {
-	const result = await DriveFile.update(doc._id, {
-		$set: {
-			contentType: doc.metadata.type
-		},
-		$unset: {
-			'metadata.type': ''
-		}
-	})
-	return result.ok === 1
-}
-
-async function main() {
-	const query = {
-		'metadata.type': {
-			$exists: true
-		}
-	}
-
-	const count = await DriveFile.count(query);
-
-	const dop = Number.parseInt(process.argv[2]) || 5
-	const idop = ((count - (count % dop)) / dop) + 1
-
-	return zip(
-		1,
-		async (time) => {
-			console.log(`${time} / ${idop}`)
-			const doc = await DriveFile.find(query, {
-				limit: dop, skip: time * dop
-			})
-			return Promise.all(doc.map(migrate))
-		},
-		idop
-	).then(a => {
-		const rv = []
-		a.forEach(e => rv.push(...e))
-		return rv
-	})
-}
-
-main().then(console.dir).catch(console.error)
diff --git a/tools/migration/node.2017-11-08.js b/tools/migration/node.2017-11-08.js
deleted file mode 100644
index 196a5a90c8..0000000000
--- a/tools/migration/node.2017-11-08.js
+++ /dev/null
@@ -1,88 +0,0 @@
-const uuid = require('uuid');
-const { default: User } = require('../../built/api/models/user')
-const { default: zip } = require('@prezzemolo/zip')
-
-const home = {
-	left: [
-		'profile',
-		'calendar',
-		'activity',
-		'rss-reader',
-		'trends',
-		'photo-stream',
-		'version'
-	],
-	right: [
-		'broadcast',
-		'notifications',
-		'user-recommendation',
-		'recommended-polls',
-		'server',
-		'donation',
-		'nav',
-		'tips'
-	]
-};
-
-const migrate = async (doc) => {
-
-	//#region Construct home data
-	const homeData = [];
-
-	home.left.forEach(widget => {
-		homeData.push({
-			name: widget,
-			id: uuid(),
-			place: 'left',
-			data: {}
-		});
-	});
-
-	home.right.forEach(widget => {
-		homeData.push({
-			name: widget,
-			id: uuid(),
-			place: 'right',
-			data: {}
-		});
-	});
-	//#endregion
-
-	const result = await User.update(doc._id, {
-		$unset: {
-			data: ''
-		},
-		$set: {
-			'settings': {},
-			'client_settings.home': homeData,
-			'client_settings.show_donation': false
-		}
-	})
-
-	return result.ok === 1
-}
-
-async function main() {
-	const count = await User.count();
-
-	console.log(`there are ${count} users.`)
-
-	const dop = Number.parseInt(process.argv[2]) || 5
-	const idop = ((count - (count % dop)) / dop) + 1
-
-	return zip(
-		1,
-		async (time) => {
-			console.log(`${time} / ${idop}`)
-			const docs = await User.find({}, { limit: dop, skip: time * dop })
-			return Promise.all(docs.map(migrate))
-		},
-		idop
-	).then(a => {
-		const rv = []
-		a.forEach(e => rv.push(...e))
-		return rv
-	})
-}
-
-main().then(console.dir).catch(console.error)
diff --git a/tools/migration/node.2017-12-11.js b/tools/migration/node.2017-12-11.js
deleted file mode 100644
index b9686b8b4d..0000000000
--- a/tools/migration/node.2017-12-11.js
+++ /dev/null
@@ -1,71 +0,0 @@
-// for Node.js interpret
-
-const { default: DriveFile, getGridFSBucket } = require('../../built/api/models/drive-file')
-const { default: zip } = require('@prezzemolo/zip')
-
-const _gm = require('gm');
-const gm = _gm.subClass({
-	imageMagick: true
-});
-
-const migrate = doc => new Promise(async (res, rej) => {
-	const bucket = await getGridFSBucket();
-
-	const readable = bucket.openDownloadStream(doc._id);
-
-	gm(readable)
-		.setFormat('ppm')
-		.resize(1, 1)
-		.toBuffer(async (err, buffer) => {
-			if (err) {
-				console.error(err);
-				res(false);
-				return;
-			}
-			const r = buffer.readUInt8(buffer.length - 3);
-			const g = buffer.readUInt8(buffer.length - 2);
-			const b = buffer.readUInt8(buffer.length - 1);
-
-			const result = await DriveFile.update(doc._id, {
-				$set: {
-					'metadata.properties.average_color': [r, g, b]
-				}
-			})
-
-			res(result.ok === 1);
-		});
-});
-
-async function main() {
-	const query = {
-		contentType: {
-			$in: [
-				'image/png',
-				'image/jpeg'
-			]
-		}
-	}
-
-	const count = await DriveFile.count(query);
-
-	const dop = Number.parseInt(process.argv[2]) || 5
-	const idop = ((count - (count % dop)) / dop) + 1
-
-	return zip(
-		1,
-		async (time) => {
-			console.log(`${time} / ${idop}`)
-			const doc = await DriveFile.find(query, {
-				limit: dop, skip: time * dop
-			})
-			return Promise.all(doc.map(migrate))
-		},
-		idop
-	).then(a => {
-		const rv = []
-		a.forEach(e => rv.push(...e))
-		return rv
-	})
-}
-
-main().then(console.dir).catch(console.error)
diff --git a/tools/migration/node.2017-12-22.hiseikika.js b/tools/migration/node.2017-12-22.hiseikika.js
deleted file mode 100644
index ff8294c8d1..0000000000
--- a/tools/migration/node.2017-12-22.hiseikika.js
+++ /dev/null
@@ -1,67 +0,0 @@
-// for Node.js interpret
-
-const { default: Post } = require('../../built/api/models/post')
-const { default: zip } = require('@prezzemolo/zip')
-
-const migrate = async (post) => {
-	const x = {};
-	if (post.reply_id != null) {
-		const reply = await Post.findOne({
-			_id: post.reply_id
-		});
-		x['_reply.user_id'] = reply.user_id;
-	}
-	if (post.repost_id != null) {
-		const repost = await Post.findOne({
-			_id: post.repost_id
-		});
-		x['_repost.user_id'] = repost.user_id;
-	}
-	if (post.reply_id != null || post.repost_id != null) {
-		const result = await Post.update(post._id, {
-			$set: x,
-		});
-		return result.ok === 1;
-	} else {
-		return true;
-	}
-}
-
-async function main() {
-	const query = {
-		$or: [{
-			reply_id: {
-				$exists: true,
-				$ne: null
-			}
-		}, {
-			repost_id: {
-				$exists: true,
-				$ne: null
-			}
-		}]
-	}
-
-	const count = await Post.count(query);
-
-	const dop = Number.parseInt(process.argv[2]) || 5
-	const idop = ((count - (count % dop)) / dop) + 1
-
-	return zip(
-		1,
-		async (time) => {
-			console.log(`${time} / ${idop}`)
-			const doc = await Post.find(query, {
-				limit: dop, skip: time * dop
-			})
-			return Promise.all(doc.map(migrate))
-		},
-		idop
-	).then(a => {
-		const rv = []
-		a.forEach(e => rv.push(...e))
-		return rv
-	})
-}
-
-main().then(console.dir).catch(console.error)
diff --git a/tools/migration/node.2018-03-13.othello.js b/tools/migration/node.2018-03-13.othello.js
deleted file mode 100644
index 4598f8d832..0000000000
--- a/tools/migration/node.2018-03-13.othello.js
+++ /dev/null
@@ -1,46 +0,0 @@
-// for Node.js interpret
-
-const { default: Othello } = require('../../built/api/models/othello-game')
-const { default: zip } = require('@prezzemolo/zip')
-
-const migrate = async (doc) => {
-	const x = {};
-
-	doc.logs.forEach(log => {
-		log.color = log.color == 'black';
-	});
-
-	const result = await Othello.update(doc._id, {
-		$set: {
-			logs: doc.logs
-		}
-	});
-
-	return result.ok === 1;
-}
-
-async function main() {
-
-	const count = await Othello.count({});
-
-	const dop = Number.parseInt(process.argv[2]) || 5
-	const idop = ((count - (count % dop)) / dop) + 1
-
-	return zip(
-		1,
-		async (time) => {
-			console.log(`${time} / ${idop}`)
-			const doc = await Othello.find({}, {
-				limit: dop, skip: time * dop
-			})
-			return Promise.all(doc.map(migrate))
-		},
-		idop
-	).then(a => {
-		const rv = []
-		a.forEach(e => rv.push(...e))
-		return rv
-	})
-}
-
-main().then(console.dir).catch(console.error)
diff --git a/tools/migration/shell.1487734995.user-profile.js b/tools/migration/shell.1487734995.user-profile.js
deleted file mode 100644
index e6666319e1..0000000000
--- a/tools/migration/shell.1487734995.user-profile.js
+++ /dev/null
@@ -1,18 +0,0 @@
-db.users.find({}).forEach(function(user) {
-	print(user._id);
-	db.users.update({ _id: user._id }, {
-		$rename: {
-			bio: 'description'
-		},
-		$unset: {
-			location: '',
-			birthday: ''
-		},
-		$set: {
-			profile: {
-				location: user.location || null,
-				birthday: user.birthday || null
-			}
-		}
-	}, false, false);
-});
diff --git a/tools/migration/shell.1489951459.like-to-reactions.js b/tools/migration/shell.1489951459.like-to-reactions.js
deleted file mode 100644
index 962a0f00ef..0000000000
--- a/tools/migration/shell.1489951459.like-to-reactions.js
+++ /dev/null
@@ -1,22 +0,0 @@
-db.users.update({}, {
-	$unset: {
-		likes_count: 1,
-		liked_count: 1
-	}
-}, false, true)
-
-db.likes.renameCollection('post_reactions')
-
-db.post_reactions.update({}, {
-	$set: {
-		reaction: 'like'
-	}
-}, false, true)
-
-db.posts.update({}, {
-	$rename: {
-		likes_count: 'reaction_counts.like'
-	}
-}, false, true);
-
-db.notifications.remove({})
diff --git a/tools/migration/shell.1509507382.reply_to-to-reply.js b/tools/migration/shell.1509507382.reply_to-to-reply.js
deleted file mode 100644
index ceb272ebc9..0000000000
--- a/tools/migration/shell.1509507382.reply_to-to-reply.js
+++ /dev/null
@@ -1,5 +0,0 @@
-db.posts.update({}, {
-	$rename: {
-		reply_to_id: 'reply_id'
-	}
-}, false, true);