Files
bodyshop-media-server/util/generateUniqueFilename.ts
2024-08-28 09:34:56 -07:00

19 lines
800 B
TypeScript

import path from "path";
export default function (file: Express.Multer.File) {
return `${path.parse(sanitizeFileName(path.basename(file.originalname))).name}-${Math.floor(Date.now() / 1000)}${path.extname(file.originalname)}`;
}
export function generateUniqueBillFilename(file: Express.Multer.File, invoice_number: string) {
return `${sanitizeFileName(invoice_number)}-${Math.floor(Date.now() / 1000)}${path.extname(file.originalname)}`;
}
export function generateUniqueHeicFilename(file: Express.Multer.File) {
return `${path.parse(sanitizeFileName(path.basename(file.originalname))).name}-${Math.floor(Date.now() / 1000)}.jpeg`;
}
function sanitizeFileName(fileName: string): string {
const restrictedChars = /[<>:"/\\|?*#\x00-\x1F]/g;
return fileName.replace(restrictedChars, "");
}