Add file deletion

This commit is contained in:
rijkvanzanten
2020-06-26 14:28:20 -04:00
parent 545f9b11c4
commit c31ef8fe17
2 changed files with 10 additions and 13 deletions

View File

@@ -68,18 +68,6 @@ router.post(
})
);
/** @TODO This needs to support multipart form-data for file uploads */
// router.post(
// '/',
// asyncHandler(async (req, res) => {
// const records = await FilesService.createFile(
// req.body,
// res.locals.query
// );
// return res.json({ data: records });
// })
// );
router.get(
'/',
sanitizeQuery,

View File

@@ -2,6 +2,8 @@ import { Query } from '../types/query';
import * as ItemsService from './items';
import storage from '../storage';
import * as PayloadService from './payload';
import database from '../database';
import logger from '../logger';
export const createFile = async (
stream: NodeJS.ReadableStream,
@@ -29,5 +31,12 @@ export const updateFile = async (pk: string | number, data: Record<string, any>,
};
export const deleteFile = async (pk: string | number) => {
await ItemsService.deleteItem('directus_files', pk);
const file = await database
.select('storage', 'filename_disk')
.from('directus_files')
.where({ id: pk })
.first();
const { wasDeleted } = await storage.disk(file.storage).delete(file.filename_disk);
logger.info(`File ${file.filename_download} deleted: ${wasDeleted}`);
await database.delete().from('directus_files').where({ id: pk });
};