mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
Add file deletion
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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 });
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user