"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.uploadMinutes = exports.uploadLogo = exports.uploadPhoto = exports.uploadHeadshot = void 0; const multer_1 = __importDefault(require("multer")); const path_1 = __importDefault(require("path")); const fs_1 = __importDefault(require("fs")); const uploadsBase = path_1.default.join(__dirname, '../../../uploads'); function storageFor(subdir) { return multer_1.default.diskStorage({ destination: (_req, _file, cb) => { const dir = path_1.default.join(uploadsBase, subdir); fs_1.default.mkdirSync(dir, { recursive: true }); cb(null, dir); }, filename: (_req, file, cb) => { const unique = `${Date.now()}-${Math.round(Math.random() * 1e6)}`; cb(null, unique + path_1.default.extname(file.originalname)); }, }); } const imageFilter = (_req, file, cb) => { const allowed = /jpeg|jpg|png|gif|webp/; cb(null, allowed.test(path_1.default.extname(file.originalname).toLowerCase()) && allowed.test(file.mimetype)); }; const pdfFilter = (_req, file, cb) => { cb(null, file.mimetype === 'application/pdf' || path_1.default.extname(file.originalname).toLowerCase() === '.pdf'); }; exports.uploadHeadshot = (0, multer_1.default)({ storage: storageFor('headshots'), fileFilter: imageFilter, limits: { fileSize: 5 * 1024 * 1024 } }); exports.uploadPhoto = (0, multer_1.default)({ storage: storageFor('photos'), fileFilter: imageFilter, limits: { fileSize: 10 * 1024 * 1024 } }); exports.uploadLogo = (0, multer_1.default)({ storage: storageFor('sponsors'), fileFilter: imageFilter, limits: { fileSize: 5 * 1024 * 1024 } }); exports.uploadMinutes = (0, multer_1.default)({ storage: storageFor('minutes'), fileFilter: pdfFilter, limits: { fileSize: 20 * 1024 * 1024 } }); //# sourceMappingURL=upload.js.map