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

export const meta = {
	tags: ['admin'],

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

	params: {
		userId: {
			validator: $.type(ID),
		},
syuilo's avatar
syuilo committed
	},
syuilo's avatar
syuilo committed
};

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

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