+function cleanUpReqFiles (req: { files: { [ fieldname: string ]: Express.Multer.File[] } | Express.Multer.File[] }) {
+ const files = req.files
+
+ if (!files) return
+
+ if (isArray(files)) {
+ (files as Express.Multer.File[]).forEach(f => deleteFileAsync(f.path))
+ return
+ }
+
+ for (const key of Object.keys(files)) {
+ const file = files[key]
+
+ if (isArray(file)) file.forEach(f => deleteFileAsync(f.path))
+ else deleteFileAsync(file.path)
+ }
+}
+
+function deleteFileAsync (path: string) {
+ unlinkPromise(path)
+ .catch(err => logger.error('Cannot delete the file %s asynchronously.', path, { err }))
+}
+