Edit: /tmp/tsx-0/17887-8717b52b3da534ac7390acef447ff70a54d70eac (4595B)
{"code":"__filename=\"/opt/canhelp/apps/api/src/routes/reports.ts\";(()=>{\n\"use strict\";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;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,desc2)=>{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:!(desc2=__getOwnPropDesc(from,key))||desc2.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:true}),mod);var reports_exports={};__export(reports_exports,{default:()=>reports_default});module.exports=__toCommonJS(reports_exports);var import_hono=require(\"hono\");var import_zod_validator=require(\"@hono/zod-validator\");var import_zod=require(\"zod\");var import_drizzle_orm=require(\"drizzle-orm\");var import_db=require(\"../db.js\");var import_db2=require(\"@canhelp/db\");var import_auth=require(\"../middleware/auth.js\");const app=new import_hono.Hono;app.post(\"/\",import_auth.requireAuth,(0,import_zod_validator.zValidator)(\"json\",import_zod.z.object({targetType:import_zod.z.enum([\"task\",\"user\"]),targetId:import_zod.z.string(),reason:import_zod.z.enum([\"spam\",\"inappropriate\",\"fraud\",\"duplicate\",\"other\"]),description:import_zod.z.string().max(2e3).optional()})),async c=>{const user=c.get(\"user\");const body=c.req.valid(\"json\");const[report]=await import_db.db.insert(import_db2.reports).values({reporterId:user.id,...body}).returning();return c.json(report,201)});app.get(\"/\",import_auth.requireAdmin,async c=>{const page=Number(c.req.query(\"page\")||1);const limit=Math.min(Number(c.req.query(\"limit\")||20),100);const offset=(page-1)*limit;const rows=await import_db.db.select().from(import_db2.reports).where((0,import_drizzle_orm.eq)(import_db2.reports.status,\"pending\")).orderBy((0,import_drizzle_orm.desc)(import_db2.reports.createdAt)).limit(limit).offset(offset);const[{total}]=await import_db.db.select({total:(0,import_drizzle_orm.count)()}).from(import_db2.reports).where((0,import_drizzle_orm.eq)(import_db2.reports.status,\"pending\"));return c.json({data:rows,total,page,limit})});app.patch(\"/:id/status\",import_auth.requireAdmin,(0,import_zod_validator.zValidator)(\"json\",import_zod.z.object({status:import_zod.z.enum([\"reviewed\",\"dismissed\"])})),async c=>{const body=c.req.valid(\"json\");const[updated]=await import_db.db.update(import_db2.reports).set({status:body.status}).where((0,import_drizzle_orm.eq)(import_db2.reports.id,c.req.param(\"id\"))).returning();if(!updated)return c.json({error:\"Not found\"},404);return c.json(updated)});var reports_default=app;\n})()\n","warnings":[],"map":{"version":3,"mappings":";wqBAAA,4IAAqB,gBACrB,yBAA2B,+BAC3B,eAAkB,eAClB,uBAAgC,uBAChC,cAAmB,oBACnB,IAAAA,WAAwB,uBACxB,gBAA8D,iCAE9D,MAAM,IAAM,IAAI,iBAGhB,IAAI,KACF,IACA,2BACA,iCACE,OACA,aAAE,OAAO,CACP,WAAY,aAAE,KAAK,CAAC,OAAQ,MAAM,CAAC,EACnC,SAAU,aAAE,OAAO,EACnB,OAAQ,aAAE,KAAK,CAAC,OAAQ,gBAAiB,QAAS,YAAa,OAAO,CAAC,EACvE,YAAa,aAAE,OAAO,EAAE,IAAI,GAAI,EAAE,SAAS,CAC7C,CAAC,CACH,EACA,MAAO,GAAM,CACX,MAAM,KAAO,EAAE,IAAI,MAAM,EACzB,MAAM,KAAO,EAAE,IAAI,MAAM,MAAM,EAE/B,KAAM,CAAC,MAAM,EAAI,MAAM,aACpB,OAAO,kBAAO,EACd,OAAO,CACN,WAAY,KAAK,GACjB,GAAG,IACL,CAAC,EACA,UAAU,EAEb,OAAO,EAAE,KAAK,OAAQ,GAAG,CAC3B,CACF,EAGA,IAAI,IAAI,IAAK,yBAAc,MAAO,GAAM,CACtC,MAAM,KAAO,OAAO,EAAE,IAAI,MAAM,MAAM,GAAK,CAAC,EAC5C,MAAM,MAAQ,KAAK,IAAI,OAAO,EAAE,IAAI,MAAM,OAAO,GAAK,EAAE,EAAG,GAAG,EAC9D,MAAM,QAAU,KAAO,GAAK,MAE5B,MAAM,KAAO,MAAM,aAChB,OAAO,EACP,KAAK,kBAAO,EACZ,SAAM,uBAAG,mBAAQ,OAAQ,SAAS,CAAC,EACnC,WAAQ,yBAAK,mBAAQ,SAAS,CAAC,EAC/B,MAAM,KAAK,EACX,OAAO,MAAM,EAEhB,KAAM,CAAC,CAAE,KAAM,CAAC,EAAI,MAAM,aACvB,OAAO,CAAE,SAAO,0BAAM,CAAE,CAAC,EACzB,KAAK,kBAAO,EACZ,SAAM,uBAAG,mBAAQ,OAAQ,SAAS,CAAC,EAEtC,OAAO,EAAE,KAAK,CAAE,KAAM,KAAM,MAAO,KAAM,KAAM,CAAC,CAClD,CAAC,EAGD,IAAI,MACF,cACA,4BACA,iCAAW,OAAQ,aAAE,OAAO,CAAE,OAAQ,aAAE,KAAK,CAAC,WAAY,WAAW,CAAC,CAAE,CAAC,CAAC,EAC1E,MAAO,GAAM,CACX,MAAM,KAAO,EAAE,IAAI,MAAM,MAAM,EAC/B,KAAM,CAAC,OAAO,EAAI,MAAM,aACrB,OAAO,kBAAO,EACd,IAAI,CAAE,OAAQ,KAAK,MAAO,CAAC,EAC3B,SAAM,uBAAG,mBAAQ,GAAI,EAAE,IAAI,MAAM,IAAI,CAAC,CAAC,EACvC,UAAU,EAEb,GAAI,CAAC,QAAS,OAAO,EAAE,KAAK,CAAE,MAAO,WAAY,EAAG,GAAG,EACvD,OAAO,EAAE,KAAK,OAAO,CACvB,CACF,EAEA,IAAO,gBAAQ","names":["import_db"],"ignoreList":[],"sources":["/opt/canhelp/apps/api/src/routes/reports.ts"],"sourcesContent":[null]}}