Skip to content
Snippets Groups Projects
delete-all-files-of-a-user.ts 805 B
Newer Older
syuilo's avatar
syuilo committed
import $ from 'cafy';
import define from '../../define';
syuilo's avatar
syuilo committed
import { deleteFile } from '../../../../services/drive/delete-file';
syuilo's avatar
syuilo committed
import { DriveFiles } from '../../../../models';
import { ID } from '../../../../misc/cafy-id';

export const meta = {
	desc: {
		'ja-JP': '対象のユーザーのファイルを全て削除します。',
		'en-US': 'Delete all files to specified user.'
	},

syuilo's avatar
syuilo committed
	tags: ['admin'],

syuilo's avatar
syuilo committed
	requireCredential: true as const,
syuilo's avatar
syuilo committed
	requireModerator: true,

	params: {
		userId: {
			validator: $.type(ID),
			desc: {
				'ja-JP': '対象のユーザーID',
				'en-US': 'The user ID which you want to suspend'
			}
		},
	}
};

export default define(meta, async (ps, me) => {
	const files = await DriveFiles.find({
		userId: ps.userId
	});

	for (const file of files) {
syuilo's avatar
syuilo committed
		deleteFile(file);
syuilo's avatar
syuilo committed
	}
});