Edit: /tmp/tsx-0/17887-dd95f8b6db1f6c07ddf275342112d0c270678edf (5991B)
{"code":"__filename=\"/opt/canhelp/apps/api/src/routes/reviews.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 reviews_exports={};__export(reviews_exports,{default:()=>reviews_default});module.exports=__toCommonJS(reviews_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_notif=require(\"../lib/notif.js\");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({taskId:import_zod.z.string().uuid(),targetId:import_zod.z.string(),rating:import_zod.z.number().int().min(1).max(5),comment:import_zod.z.string().max(2e3).optional()})),async c=>{const user=c.get(\"user\");const body=c.req.valid(\"json\");const[task]=await import_db.db.select().from(import_db2.tasks).where((0,import_drizzle_orm.eq)(import_db2.tasks.id,body.taskId));if(!task)return c.json({error:\"Task not found\"},404);if(task.status!==\"completed\")return c.json({error:\"Task is not completed\"},400);const[review]=await import_db.db.insert(import_db2.reviews).values({taskId:body.taskId,authorId:user.id,targetId:body.targetId,rating:body.rating,comment:body.comment}).returning();await(0,import_notif.notifyNewReview)(body.targetId,body.rating,body.taskId);return c.json(review,201)});app.get(\"/user/:userId\",async c=>{const rows=await import_db.db.select({review:import_db2.reviews,author:{id:import_db2.users.id,name:import_db2.users.name,image:import_db2.users.image}}).from(import_db2.reviews).leftJoin(import_db2.users,(0,import_drizzle_orm.eq)(import_db2.reviews.authorId,import_db2.users.id)).where((0,import_drizzle_orm.eq)(import_db2.reviews.targetId,c.req.param(\"userId\"))).orderBy((0,import_drizzle_orm.desc)(import_db2.reviews.createdAt));return c.json(rows)});app.get(\"/user/:userId/rating\",async c=>{const[result]=await import_db.db.select({avg:(0,import_drizzle_orm.avg)(import_db2.reviews.rating)}).from(import_db2.reviews).where((0,import_drizzle_orm.eq)(import_db2.reviews.targetId,c.req.param(\"userId\")));return c.json({avg:result?.avg?Number(result.avg).toFixed(2):null})});app.get(\"/my\",import_auth.requireAuth,async c=>{const user=c.get(\"user\");const rows=await import_db.db.select({review:import_db2.reviews,author:{id:import_db2.users.id,name:import_db2.users.name,image:import_db2.users.image}}).from(import_db2.reviews).leftJoin(import_db2.users,(0,import_drizzle_orm.eq)(import_db2.reviews.authorId,import_db2.users.id)).where((0,import_drizzle_orm.eq)(import_db2.reviews.targetId,user.id)).orderBy((0,import_drizzle_orm.desc)(import_db2.reviews.createdAt));return c.json(rows)});app.get(\"/task/:taskId\",async c=>{const rows=await import_db.db.select().from(import_db2.reviews).where((0,import_drizzle_orm.eq)(import_db2.reviews.taskId,c.req.param(\"taskId\")));return c.json(rows)});var reviews_default=app;\n})()\n","warnings":[],"map":{"version":3,"mappings":"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","names":["import_db"],"ignoreList":[],"sources":["/opt/canhelp/apps/api/src/routes/reviews.ts"],"sourcesContent":[null]}}