Edit: /tmp/tsx-0/17887-46b68e40a44202a946d37228ca1b33e41967b9a1 (3911B)
{"code":"__filename=\"/opt/canhelp/apps/api/src/routes/uploads.ts\";(()=>{\n\"use strict\";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from===\"object\"||typeof from===\"function\"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,\"default\",{value:mod,enumerable:true}):target,mod));var __toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:true}),mod);var uploads_exports={};__export(uploads_exports,{default:()=>uploads_default});module.exports=__toCommonJS(uploads_exports);var import_hono=require(\"hono\");var import_fs=__toESM(require(\"fs\"));var import_path=__toESM(require(\"path\"));var import_url=require(\"url\");var import_auth=require(\"../middleware/auth.js\");const ALLOWED_TYPES=[\"image/jpeg\",\"image/png\",\"image/gif\",\"image/webp\",\"image/svg+xml\"];const MAX_SIZE=(Number(process.env.MAX_FILE_SIZE_MB)||5)*1024*1024;const _dir=import_path.default.dirname((0,import_url.fileURLToPath)(\"file:///opt/canhelp/apps/api/src/routes/uploads.ts\"));const UPLOAD_DIR=process.env.UPLOAD_DIR?import_path.default.resolve(process.env.UPLOAD_DIR):import_path.default.resolve(_dir,\"../../uploads\");if(!import_fs.default.existsSync(UPLOAD_DIR)){import_fs.default.mkdirSync(UPLOAD_DIR,{recursive:true})}const app=new import_hono.Hono;app.post(\"/\",import_auth.requireAuth,async c=>{const formData=await c.req.formData();const file=formData.get(\"file\");if(!file)return c.json({error:\"No file provided\"},400);if(!ALLOWED_TYPES.includes(file.type)){return c.json({error:\"Only JPEG, PNG, GIF, WebP and SVG images are allowed\"},400)}if(file.size>MAX_SIZE){return c.json({error:`File too large (max ${MAX_SIZE/1024/1024}MB)`},400)}const ext=file.name.split(\".\").pop()||\"jpg\";const filename=`${crypto.randomUUID()}.${ext}`;const dest=import_path.default.join(UPLOAD_DIR,filename);const buffer=Buffer.from(await file.arrayBuffer());import_fs.default.writeFileSync(dest,buffer);return c.json({url:`/api/uploads/${filename}`},201)});var uploads_default=app;\n})()\n","warnings":[],"map":{"version":3,"mappings":";g7BAAA,4IAAqB,gBAErB,cAAe,uBACf,gBAAiB,yBACjB,eAA8B,eAC9B,gBAAgD,iCAEhD,MAAM,cAAgB,CAAC,aAAc,YAAa,YAAa,aAAc,eAAe,EAC5F,MAAM,UAAY,OAAO,QAAQ,IAAI,gBAAgB,GAAK,GAAK,KAAO,KACtE,MAAM,KAAO,YAAAA,QAAK,WAAQ,0BAAc,oDAAe,CAAC,EACxD,MAAM,WAAa,QAAQ,IAAI,WAC3B,YAAAA,QAAK,QAAQ,QAAQ,IAAI,UAAU,EACnC,YAAAA,QAAK,QAAQ,KAAM,eAAe,EAEtC,GAAI,CAAC,UAAAC,QAAG,WAAW,UAAU,EAAG,CAC9B,UAAAA,QAAG,UAAU,WAAY,CAAE,UAAW,IAAK,CAAC,CAC9C,CAEA,MAAM,IAAM,IAAI,iBAGhB,IAAI,KAAK,IAAK,wBAAa,MAAO,GAAM,CACtC,MAAM,SAAW,MAAM,EAAE,IAAI,SAAS,EACtC,MAAM,KAAO,SAAS,IAAI,MAAM,EAEhC,GAAI,CAAC,KAAM,OAAO,EAAE,KAAK,CAAE,MAAO,kBAAmB,EAAG,GAAG,EAC3D,GAAI,CAAC,cAAc,SAAS,KAAK,IAAI,EAAG,CACtC,OAAO,EAAE,KAAK,CAAE,MAAO,sDAAuD,EAAG,GAAG,CACtF,CACA,GAAI,KAAK,KAAO,SAAU,CACxB,OAAO,EAAE,KAAK,CAAE,MAAO,uBAAuB,SAAW,KAAO,IAAI,KAAM,EAAG,GAAG,CAClF,CAEA,MAAM,IAAM,KAAK,KAAK,MAAM,GAAG,EAAE,IAAI,GAAK,MAC1C,MAAM,SAAW,GAAG,OAAO,WAAW,CAAC,IAAI,GAAG,GAC9C,MAAM,KAAO,YAAAD,QAAK,KAAK,WAAY,QAAQ,EAE3C,MAAM,OAAS,OAAO,KAAK,MAAM,KAAK,YAAY,CAAC,EACnD,UAAAC,QAAG,cAAc,KAAM,MAAM,EAE7B,OAAO,EAAE,KAAK,CAAE,IAAK,gBAAgB,QAAQ,EAAG,EAAG,GAAG,CACxD,CAAC,EAED,IAAO,gBAAQ","names":["path","fs"],"ignoreList":[],"sources":["/opt/canhelp/apps/api/src/routes/uploads.ts"],"sourcesContent":[null]}}