Edit: /tmp/tsx-0/17887-b214774976fea0732b3db0d2803f802feba3d7e2 (17845B)
{"code":"__filename=\"/opt/canhelp/apps/api/src/routes/offers.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 offers_exports={};__export(offers_exports,{default:()=>offers_default});module.exports=__toCommonJS(offers_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\");var import_email=require(\"../lib/email.js\");var import_notif=require(\"../lib/notif.js\");var import_nameUtils=require(\"../lib/nameUtils.js\");var import_daily_limits=require(\"../lib/daily-limits.js\");var import_fomo=require(\"../lib/fomo.js\");var import_helper_capability=require(\"../lib/helper-capability.js\");const app=new import_hono.Hono;app.get(\"/\",import_auth.requireAuth,async c=>{const taskId=c.req.query(\"taskId\");if(!taskId)return c.json({error:\"taskId is required\"},400);const[task]=await import_db.db.select().from(import_db2.tasks).where((0,import_drizzle_orm.eq)(import_db2.tasks.id,taskId));if(!task)return c.json({error:\"Task not found\"},404);const user=c.get(\"user\");if(task.customerId!==user.id)return c.json({error:\"Forbidden\"},403);const rows=await import_db.db.select({offer:import_db2.offers,specialist:{id:import_db2.users.id,name:import_db2.users.name,firstName:import_db2.users.firstName,lastName:import_db2.users.lastName,image:import_db2.users.image},planTier:import_drizzle_orm.sql`COALESCE(${import_db2.plans.tier}, 'free')`.as(\"plan_tier\"),highlightedReviews:import_drizzle_orm.sql`COALESCE(${import_db2.plans.highlightedReviews}, false)`.as(\"highlighted_reviews\")}).from(import_db2.offers).leftJoin(import_db2.users,(0,import_drizzle_orm.eq)(import_db2.offers.specialistId,import_db2.users.id)).leftJoin(import_db2.plans,(0,import_drizzle_orm.eq)(import_db2.users.planId,import_db2.plans.id)).where((0,import_drizzle_orm.eq)(import_db2.offers.taskId,taskId)).orderBy(import_drizzle_orm.sql`COALESCE(${import_db2.plans.searchBoost}, 0) DESC`,(0,import_drizzle_orm.desc)(import_db2.offers.createdAt));return c.json(rows)});app.get(\"/my\",import_auth.requireAuth,async c=>{const user=c.get(\"user\");const rows=await import_db.db.select({offer:import_db2.offers,task:{id:import_db2.tasks.id,title:import_db2.tasks.title,status:import_db2.tasks.status,budget:import_db2.tasks.budget}}).from(import_db2.offers).leftJoin(import_db2.tasks,(0,import_drizzle_orm.eq)(import_db2.offers.taskId,import_db2.tasks.id)).where((0,import_drizzle_orm.eq)(import_db2.offers.specialistId,user.id)).orderBy((0,import_drizzle_orm.desc)(import_db2.offers.createdAt));return c.json(rows)});app.post(\"/\",import_auth.requireAuth,(0,import_zod_validator.zValidator)(\"json\",import_zod.z.object({taskId:import_zod.z.string().uuid(),price:import_zod.z.number().positive(),message:import_zod.z.string().max(2e3).optional()})),async c=>{const user=c.get(\"user\");const isHelperReady=(0,import_helper_capability.isAdminRole)(user.role)?true:await(0,import_helper_capability.getHelperCapability)(user.id);if(!isHelperReady){return c.json({error:\"Complete your specialist profile (bio, service cards, categories, and locations) before sending offers\",code:\"HELPER_PROFILE_INCOMPLETE\"},403)}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!==\"open\")return c.json({error:\"Task is not open for offers\"},400);if(task.customerId===user.id)return c.json({error:\"Cannot offer on your own task\"},400);const orderCheck=await(0,import_daily_limits.checkOrderLimit)(user.id);if(!orderCheck.allowed){return c.json({error:\"Daily offer limit reached\",code:\"DAILY_LIMIT_REACHED\",limit:orderCheck.limit,current:orderCheck.current},429)}const[existing]=await import_db.db.select().from(import_db2.offers).where((0,import_drizzle_orm.and)((0,import_drizzle_orm.eq)(import_db2.offers.taskId,body.taskId),(0,import_drizzle_orm.eq)(import_db2.offers.specialistId,user.id)));if(existing)return c.json({error:\"You already submitted an offer for this task\"},409);const[offer]=await import_db.db.insert(import_db2.offers).values({taskId:body.taskId,specialistId:user.id,price:body.price.toString(),message:body.message}).returning();await import_db.db.delete(import_db2.notifications).where((0,import_drizzle_orm.and)((0,import_drizzle_orm.eq)(import_db2.notifications.recipientId,user.id),(0,import_drizzle_orm.eq)(import_db2.notifications.type,\"task_invite\"),(0,import_drizzle_orm.eq)(import_db2.notifications.referenceId,body.taskId))).catch(()=>{});await(0,import_notif.notifyNewOffer)(task.customerId,task.title,task.id);const[customer]=await import_db.db.select().from(import_db2.users).where((0,import_drizzle_orm.eq)(import_db2.users.id,task.customerId));if(customer?.email){(0,import_email.emailNewOffer)({to:customer.email,customerName:customer.firstName||customer.name||\"\\u03A7\\u03C1\\u03AE\\u03C3\\u03C4\\u03B7\",taskTitle:task.title,taskId:task.id,specialistName:(0,import_nameUtils.abbrevName)(user.firstName,user.lastName,user.name),price:body.price,locale:customer.locale||\"el\"}).catch(()=>{})}(0,import_daily_limits.incrementOrders)(user.id).catch(()=>{});return c.json(offer,201)});app.patch(\"/:id/accept\",import_auth.requireAuth,async c=>{const user=c.get(\"user\");const[offer]=await import_db.db.select().from(import_db2.offers).where((0,import_drizzle_orm.eq)(import_db2.offers.id,c.req.param(\"id\")));if(!offer)return c.json({error:\"Not found\"},404);const[task]=await import_db.db.select().from(import_db2.tasks).where((0,import_drizzle_orm.eq)(import_db2.tasks.id,offer.taskId));if(task.customerId!==user.id)return c.json({error:\"Forbidden\"},403);if(offer.status!==\"pending\")return c.json({error:\"Offer is not pending\"},400);const[updated]=await import_db.db.update(import_db2.offers).set({status:\"accepted\",updatedAt:new Date}).where((0,import_drizzle_orm.eq)(import_db2.offers.id,offer.id)).returning();await import_db.db.update(import_db2.tasks).set({status:\"in_progress\",updatedAt:new Date}).where((0,import_drizzle_orm.eq)(import_db2.tasks.id,task.id));const otherOffers=await import_db.db.select({id:import_db2.offers.id,specialistId:import_db2.offers.specialistId}).from(import_db2.offers).where((0,import_drizzle_orm.and)((0,import_drizzle_orm.eq)(import_db2.offers.taskId,task.id),(0,import_drizzle_orm.eq)(import_db2.offers.status,\"pending\")));if(otherOffers.length>0){await import_db.db.update(import_db2.offers).set({status:\"other_accepted\",updatedAt:new Date}).where((0,import_drizzle_orm.and)((0,import_drizzle_orm.eq)(import_db2.offers.taskId,task.id),(0,import_drizzle_orm.eq)(import_db2.offers.status,\"pending\")));for(const other of otherOffers){(0,import_notif.notifyOfferOtherAccepted)(other.specialistId,task.title,task.id).catch(()=>{});import_db.db.select().from(import_db2.users).where((0,import_drizzle_orm.eq)(import_db2.users.id,other.specialistId)).then(([sp])=>{if(sp?.email){(0,import_email.emailOfferOtherAccepted)({to:sp.email,specialistName:sp.firstName||sp.name||\"\\u0395\\u03B9\\u03B4\\u03B9\\u03BA\\u03AD\",taskTitle:task.title,taskId:task.id,locale:sp.locale||\"el\"}).catch(()=>{})}}).catch(()=>{})}}(0,import_fomo.recordMissedOrders)(task.id,offer.specialistId).catch(()=>{});await(0,import_notif.notifyOfferAccepted)(offer.specialistId,task.title,task.id);const[specialist]=await import_db.db.select().from(import_db2.users).where((0,import_drizzle_orm.eq)(import_db2.users.id,offer.specialistId));if(specialist?.email){(0,import_email.emailOfferAccepted)({to:specialist.email,specialistName:specialist.firstName||specialist.name||\"\\u0395\\u03B9\\u03B4\\u03B9\\u03BA\\u03AD\",taskTitle:task.title,taskId:task.id,price:Number(offer.price),locale:specialist.locale||\"el\"}).catch(()=>{})}return c.json(updated)});app.patch(\"/:id/decline\",import_auth.requireAuth,async c=>{const user=c.get(\"user\");const[offer]=await import_db.db.select().from(import_db2.offers).where((0,import_drizzle_orm.eq)(import_db2.offers.id,c.req.param(\"id\")));if(!offer)return c.json({error:\"Not found\"},404);const[task]=await import_db.db.select().from(import_db2.tasks).where((0,import_drizzle_orm.eq)(import_db2.tasks.id,offer.taskId));if(task.customerId!==user.id)return c.json({error:\"Forbidden\"},403);const[updated]=await import_db.db.update(import_db2.offers).set({status:\"declined\",updatedAt:new Date}).where((0,import_drizzle_orm.eq)(import_db2.offers.id,offer.id)).returning();await(0,import_notif.notifyOfferDeclined)(offer.specialistId,task.title,task.id);const[specialist]=await import_db.db.select().from(import_db2.users).where((0,import_drizzle_orm.eq)(import_db2.users.id,offer.specialistId));if(specialist?.email){(0,import_email.emailOfferDeclined)({to:specialist.email,specialistName:specialist.firstName||specialist.name||\"\\u0395\\u03B9\\u03B4\\u03B9\\u03BA\\u03AD\",taskTitle:task.title,taskId:task.id,locale:specialist.locale||\"el\"}).catch(()=>{})}return c.json(updated)});app.patch(\"/:id/counter\",import_auth.requireAuth,(0,import_zod_validator.zValidator)(\"json\",import_zod.z.object({counterPrice:import_zod.z.number().positive()})),async c=>{const user=c.get(\"user\");const[offer]=await import_db.db.select().from(import_db2.offers).where((0,import_drizzle_orm.eq)(import_db2.offers.id,c.req.param(\"id\")));if(!offer)return c.json({error:\"Not found\"},404);const[task]=await import_db.db.select().from(import_db2.tasks).where((0,import_drizzle_orm.eq)(import_db2.tasks.id,offer.taskId));if(task.customerId!==user.id)return c.json({error:\"Forbidden\"},403);const body=c.req.valid(\"json\");const[updated]=await import_db.db.update(import_db2.offers).set({counterPrice:body.counterPrice.toString(),updatedAt:new Date}).where((0,import_drizzle_orm.eq)(import_db2.offers.id,offer.id)).returning();return c.json(updated)});var offers_default=app;\n})()\n","warnings":[],"map":{"version":3,"mappings":"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","names":["import_db"],"ignoreList":[],"sources":["/opt/canhelp/apps/api/src/routes/offers.ts"],"sourcesContent":[null]}}