summaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-08-18 23:56:44 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-08-18 23:56:44 +0900
commit335200c31e0c1f623f3b16d277ef14ffcab64384 (patch)
tree74fb307d04db96b673b2f7c01d0981dd561ff9aa /cli
parentwip (diff)
downloadmisskey-335200c31e0c1f623f3b16d277ef14ffcab64384.tar.gz
misskey-335200c31e0c1f623f3b16d277ef14ffcab64384.tar.bz2
misskey-335200c31e0c1f623f3b16d277ef14ffcab64384.zip
wip
Diffstat (limited to 'cli')
-rw-r--r--cli/clean-cached-remote-files.js101
-rw-r--r--cli/clean-unused-drive-files.js80
2 files changed, 0 insertions, 181 deletions
diff --git a/cli/clean-cached-remote-files.js b/cli/clean-cached-remote-files.js
deleted file mode 100644
index 5b388c73b4..0000000000
--- a/cli/clean-cached-remote-files.js
+++ /dev/null
@@ -1,101 +0,0 @@
-const chalk = require('chalk');
-const log = require('single-line-log').stdout;
-const sequential = require('promise-sequential');
-const { default: DriveFile, DriveFileChunk } = require('../built/models/drive-file');
-const { default: DriveFileThumbnail, DriveFileThumbnailChunk } = require('../built/models/drive-file-thumbnail');
-const { default: User } = require('../built/models/user');
-
-const q = {
- 'metadata._user.host': {
- $ne: null
- },
- 'metadata.withoutChunks': false
-};
-
-async function main() {
- const promiseGens = [];
-
- const count = await DriveFile.count(q);
-
- let prev;
-
- for (let i = 0; i < count; i++) {
- promiseGens.push(() => {
- const promise = new Promise(async (res, rej) => {
- const file = await DriveFile.findOne(prev ? Object.assign({
- _id: { $lt: prev._id }
- }, q) : q, {
- sort: {
- _id: -1
- }
- });
-
- prev = file;
-
- function skip() {
- res([i, file, false]);
- }
-
- if (file == null) return skip();
-
- log(chalk`{gray ${i}} scanning {bold ${file._id}} ${file.filename} ...`);
-
- const attachingUsersCount = await User.count({
- $or: [{
- avatarId: file._id
- }, {
- bannerId: file._id
- }]
- }, { limit: 1 });
- if (attachingUsersCount !== 0) return skip();
-
- Promise.all([
- // チャンクをすべて削除
- DriveFileChunk.remove({
- files_id: file._id
- }),
-
- DriveFile.update({ _id: file._id }, {
- $set: {
- 'metadata.withoutChunks': true
- }
- })
- ]).then(async () => {
- res([i, file, true]);
-
- //#region サムネイルもあれば削除
- const thumbnail = await DriveFileThumbnail.findOne({
- 'metadata.originalId': file._id
- });
-
- if (thumbnail) {
- DriveFileThumbnailChunk.remove({
- files_id: thumbnail._id
- });
-
- DriveFileThumbnail.remove({ _id: thumbnail._id });
- }
- //#endregion
- });
- });
-
- promise.then(([i, file, deleted]) => {
- if (deleted) {
- log(chalk`{gray ${i}} {red deleted: {bold ${file._id}} ${file.filename}}`);
- } else {
- log(chalk`{gray ${i}} {green skipped: {bold ${file._id}} ${file.filename}}`);
- }
- log.clear();
- console.log();
- });
-
- return promise;
- });
- }
-
- return await sequential(promiseGens);
-}
-
-main().then(() => {
- console.log('ALL DONE');
-}).catch(console.error);
diff --git a/cli/clean-unused-drive-files.js b/cli/clean-unused-drive-files.js
deleted file mode 100644
index 87b158b9ee..0000000000
--- a/cli/clean-unused-drive-files.js
+++ /dev/null
@@ -1,80 +0,0 @@
-const chalk = require('chalk');
-const log = require('single-line-log').stdout;
-const sequential = require('promise-sequential');
-const { default: DriveFile, deleteDriveFile } = require('../built/models/drive-file');
-const { default: Note } = require('../built/models/note');
-const { default: MessagingMessage } = require('../built/models/messaging-message');
-const { default: User } = require('../built/models/user');
-
-async function main() {
- const promiseGens = [];
-
- const count = await DriveFile.count({});
-
- let prev;
-
- for (let i = 0; i < count; i++) {
- promiseGens.push(() => {
- const promise = new Promise(async (res, rej) => {
- const file = await DriveFile.findOne(prev ? {
- _id: { $lt: prev._id }
- } : {}, {
- sort: {
- _id: -1
- }
- });
-
- prev = file;
-
- function skip() {
- res([i, file, false]);
- }
-
- if (file == null) return skip();
-
- log(chalk`{gray ${i}} scanning {bold ${file._id}} ${file.filename} ...`);
-
- const attachingUsersCount = await User.count({
- $or: [{
- avatarId: file._id
- }, {
- bannerId: file._id
- }]
- }, { limit: 1 });
- if (attachingUsersCount !== 0) return skip();
-
- const attachingNotesCount = await Note.count({
- mediaIds: file._id
- }, { limit: 1 });
- if (attachingNotesCount !== 0) return skip();
-
- const attachingMessagesCount = await MessagingMessage.count({
- fileId: file._id
- }, { limit: 1 });
- if (attachingMessagesCount !== 0) return skip();
-
- deleteDriveFile(file).then(() => {
- res([i, file, true]);
- }).catch(rej);
- });
-
- promise.then(([i, file, deleted]) => {
- if (deleted) {
- log(chalk`{gray ${i}} {red deleted: {bold ${file._id}} ${file.filename}}`);
- } else {
- log(chalk`{gray ${i}} {green skipped: {bold ${file._id}} ${file.filename}}`);
- }
- log.clear();
- console.log();
- });
-
- return promise;
- });
- }
-
- return await sequential(promiseGens);
-}
-
-main().then(() => {
- console.log('done');
-}).catch(console.error);