Edit: /tmp/tsx-0/17887-658a0d8e62827a06df97720b7c64879774a311c8 (23228B)
{"code":"__filename=\"/opt/canhelp/apps/api/src/routes/price-list.ts\";(()=>{\n\"use strict\";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,\"name\",{value,configurable:true});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 __toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:true}),mod);var price_list_exports={};__export(price_list_exports,{default:()=>price_list_default});module.exports=__toCommonJS(price_list_exports);var import_hono=require(\"hono\");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_translate=require(\"../translate.js\");const app=new import_hono.Hono;const LOCALES=[\"el\",\"en\",\"ru\",\"uk\"];function normalizeLocale(input){if(input===\"el\"||input===\"en\"||input===\"ru\"||input===\"uk\")return input;return\"el\"}__name(normalizeLocale,\"normalizeLocale\");function localeCap(locale){return locale.charAt(0).toUpperCase()+locale.slice(1)}__name(localeCap,\"localeCap\");async function translateToLocaleFields(prefix,value,sourceLocale){const sourceField=`${prefix}${localeCap(sourceLocale)}`;const updates={[sourceField]:value};const targets=LOCALES.filter(l=>l!==sourceLocale);const translated=await Promise.allSettled(targets.map(async to=>({to,text:await(0,import_translate.translateString)(value,sourceLocale,to)})));for(const result of translated){if(result.status!==\"fulfilled\")continue;const field=`${prefix}${localeCap(result.value.to)}`;updates[field]=result.value.text||value}for(const to of targets){const field=`${prefix}${localeCap(to)}`;if(!updates[field])updates[field]=value}return updates}__name(translateToLocaleFields,\"translateToLocaleFields\");function pickLocalized(locale,base,localized){if(locale===\"el\")return localized.el??base??null;if(locale===\"en\")return localized.en??localized.el??base??null;if(locale===\"ru\")return localized.ru??localized.el??base??null;return localized.uk??localized.el??base??null}__name(pickLocalized,\"pickLocalized\");async function getOwnedCard(cardId,userId,isAdmin){const[card]=await import_db.db.select().from(import_db2.specialistCards).where((0,import_drizzle_orm.eq)(import_db2.specialistCards.id,cardId));if(!card)return null;if(card.specialistId!==userId&&!isAdmin)return null;return card}__name(getOwnedCard,\"getOwnedCard\");async function canUsePriceList(userId,isAdmin){if(isAdmin)return true;const[dbUser]=await import_db.db.select({planId:import_db2.users.planId}).from(import_db2.users).where((0,import_drizzle_orm.eq)(import_db2.users.id,userId));if(!dbUser?.planId)return false;const[plan]=await import_db.db.select({hasPriceList:import_db2.plans.hasPriceList}).from(import_db2.plans).where((0,import_drizzle_orm.eq)(import_db2.plans.id,dbUser.planId));return!!plan?.hasPriceList}__name(canUsePriceList,\"canUsePriceList\");app.get(\"/:cardId\",async c=>{const cardId=c.req.param(\"cardId\");const locale=normalizeLocale(c.req.query(\"locale\"));const groups=await import_db.db.select().from(import_db2.priceListGroups).where((0,import_drizzle_orm.eq)(import_db2.priceListGroups.cardId,cardId)).orderBy((0,import_drizzle_orm.asc)(import_db2.priceListGroups.order),(0,import_drizzle_orm.asc)(import_db2.priceListGroups.createdAt));const items=await import_db.db.select().from(import_db2.priceListItems).where((0,import_drizzle_orm.eq)(import_db2.priceListItems.cardId,cardId)).orderBy((0,import_drizzle_orm.asc)(import_db2.priceListItems.order),(0,import_drizzle_orm.asc)(import_db2.priceListItems.createdAt));const result=groups.map(g=>{const groupItems=items.filter(i=>i.groupId===g.id);const localizedItems=groupItems.map(i=>({...i,name:pickLocalized(locale,i.name,{el:i.nameEl,en:i.nameEn,ru:i.nameRu,uk:i.nameUk})||i.name,description:pickLocalized(locale,i.description,{el:i.descriptionEl,en:i.descriptionEn,ru:i.descriptionRu,uk:i.descriptionUk}),unit:pickLocalized(locale,i.unit,{el:i.unitEl,en:i.unitEn,ru:i.unitRu,uk:i.unitUk})}));return{...g,title:pickLocalized(locale,g.title,{el:g.titleEl,en:g.titleEn,ru:g.titleRu,uk:g.titleUk})||g.title,items:localizedItems}});return c.json(result)});const groupSchema=import_zod.z.object({title:import_zod.z.string().min(1).max(200),locale:import_zod.z.enum([\"el\",\"en\",\"ru\",\"uk\"]).optional(),autoTranslate:import_zod.z.boolean().optional(),order:import_zod.z.number().int().min(0).optional()});app.post(\"/:cardId/groups\",import_auth.requireAuth,async c=>{const user=c.get(\"user\");const cardId=c.req.param(\"cardId\");if(!await canUsePriceList(user.id,user.role===\"admin\")){return c.json({error:\"Price list is not available on your plan\",code:\"PLAN_UPGRADE_REQUIRED\"},403)}const card=await getOwnedCard(cardId,user.id,user.role===\"admin\");if(!card)return c.json({error:\"Not found or forbidden\"},404);const body=await c.req.json();const parsed=groupSchema.safeParse(body);if(!parsed.success)return c.json({error:\"Invalid data\",details:parsed.error.issues},400);const[{count}]=await import_db.db.select({count:import_drizzle_orm.sql`cast(count(*) as int)`}).from(import_db2.priceListGroups).where((0,import_drizzle_orm.eq)(import_db2.priceListGroups.cardId,cardId));const[group]=await import_db.db.insert(import_db2.priceListGroups).values({cardId,specialistId:card.specialistId,title:parsed.data.title,...await translateToLocaleFields(\"title\",parsed.data.title,normalizeLocale(parsed.data.locale??user.locale)),originalLocale:normalizeLocale(parsed.data.locale??user.locale),order:parsed.data.order??count}).returning();return c.json({...group,items:[]},201)});app.patch(\"/groups/:groupId\",import_auth.requireAuth,async c=>{const user=c.get(\"user\");const groupId=c.req.param(\"groupId\");const[group]=await import_db.db.select().from(import_db2.priceListGroups).where((0,import_drizzle_orm.eq)(import_db2.priceListGroups.id,groupId));if(!group)return c.json({error:\"Not found\"},404);if(group.specialistId!==user.id&&user.role!==\"admin\")return c.json({error:\"Forbidden\"},403);const body=await c.req.json();const parsed=import_zod.z.object({title:import_zod.z.string().min(1).max(200).optional(),locale:import_zod.z.enum([\"el\",\"en\",\"ru\",\"uk\"]).optional(),autoTranslate:import_zod.z.boolean().optional(),order:import_zod.z.number().int().min(0).optional()}).safeParse(body);if(!parsed.success)return c.json({error:\"Invalid data\",details:parsed.error.issues},400);const updates={};const sourceLocale=normalizeLocale(parsed.data.locale??group.originalLocale);if(\"title\"in parsed.data&&parsed.data.title){updates.title=parsed.data.title;updates[`title${localeCap(sourceLocale)}`]=parsed.data.title;updates.originalLocale=sourceLocale;if(parsed.data.autoTranslate!==false){Object.assign(updates,await translateToLocaleFields(\"title\",parsed.data.title,sourceLocale))}}if(\"order\"in parsed.data)updates.order=parsed.data.order;const[updated]=await import_db.db.update(import_db2.priceListGroups).set(updates).where((0,import_drizzle_orm.eq)(import_db2.priceListGroups.id,groupId)).returning();return c.json(updated)});app.delete(\"/groups/:groupId\",import_auth.requireAuth,async c=>{const user=c.get(\"user\");const groupId=c.req.param(\"groupId\");const[group]=await import_db.db.select().from(import_db2.priceListGroups).where((0,import_drizzle_orm.eq)(import_db2.priceListGroups.id,groupId));if(!group)return c.json({error:\"Not found\"},404);if(group.specialistId!==user.id&&user.role!==\"admin\")return c.json({error:\"Forbidden\"},403);await import_db.db.delete(import_db2.priceListGroups).where((0,import_drizzle_orm.eq)(import_db2.priceListGroups.id,groupId));return c.json({ok:true})});const itemSchema=import_zod.z.object({name:import_zod.z.string().min(1).max(200),description:import_zod.z.string().max(1e3).optional().nullable(),price:import_zod.z.string().regex(/^\\d+(\\.\\d{1,2})?$/).optional().nullable(),unit:import_zod.z.string().max(100).optional().nullable(),locale:import_zod.z.enum([\"el\",\"en\",\"ru\",\"uk\"]).optional(),autoTranslate:import_zod.z.boolean().optional(),order:import_zod.z.number().int().min(0).optional()});app.post(\"/groups/:groupId/items\",import_auth.requireAuth,async c=>{const user=c.get(\"user\");const groupId=c.req.param(\"groupId\");const[group]=await import_db.db.select().from(import_db2.priceListGroups).where((0,import_drizzle_orm.eq)(import_db2.priceListGroups.id,groupId));if(!group)return c.json({error:\"Group not found\"},404);if(group.specialistId!==user.id&&user.role!==\"admin\")return c.json({error:\"Forbidden\"},403);const body=await c.req.json();const parsed=itemSchema.safeParse(body);if(!parsed.success)return c.json({error:\"Invalid data\",details:parsed.error.issues},400);const[{count}]=await import_db.db.select({count:import_drizzle_orm.sql`cast(count(*) as int)`}).from(import_db2.priceListItems).where((0,import_drizzle_orm.eq)(import_db2.priceListItems.groupId,groupId));const[item]=await import_db.db.insert(import_db2.priceListItems).values({groupId,cardId:group.cardId,specialistId:group.specialistId,name:parsed.data.name,description:parsed.data.description??null,price:parsed.data.price??null,unit:parsed.data.unit??null,...await translateToLocaleFields(\"name\",parsed.data.name,normalizeLocale(parsed.data.locale??user.locale)),...parsed.data.description?await translateToLocaleFields(\"description\",parsed.data.description,normalizeLocale(parsed.data.locale??user.locale)):{descriptionEl:null,descriptionEn:null,descriptionRu:null,descriptionUk:null},...parsed.data.unit?await translateToLocaleFields(\"unit\",parsed.data.unit,normalizeLocale(parsed.data.locale??user.locale)):{unitEl:null,unitEn:null,unitRu:null,unitUk:null},originalLocale:normalizeLocale(parsed.data.locale??user.locale),order:parsed.data.order??count}).returning();return c.json(item,201)});app.patch(\"/items/:itemId\",import_auth.requireAuth,async c=>{const user=c.get(\"user\");const itemId=c.req.param(\"itemId\");const[item]=await import_db.db.select().from(import_db2.priceListItems).where((0,import_drizzle_orm.eq)(import_db2.priceListItems.id,itemId));if(!item)return c.json({error:\"Not found\"},404);if(item.specialistId!==user.id&&user.role!==\"admin\")return c.json({error:\"Forbidden\"},403);const body=await c.req.json();const parsed=import_zod.z.object({name:import_zod.z.string().min(1).max(200).optional(),description:import_zod.z.string().max(1e3).optional().nullable(),price:import_zod.z.string().regex(/^\\d+(\\.\\d{1,2})?$/).optional().nullable(),unit:import_zod.z.string().max(100).optional().nullable(),locale:import_zod.z.enum([\"el\",\"en\",\"ru\",\"uk\"]).optional(),autoTranslate:import_zod.z.boolean().optional(),order:import_zod.z.number().int().min(0).optional()}).safeParse(body);if(!parsed.success)return c.json({error:\"Invalid data\",details:parsed.error.issues},400);const updates={};const sourceLocale=normalizeLocale(parsed.data.locale??item.originalLocale);if(\"name\"in parsed.data&&parsed.data.name){updates.name=parsed.data.name;updates[`name${localeCap(sourceLocale)}`]=parsed.data.name;updates.originalLocale=sourceLocale;if(parsed.data.autoTranslate!==false){Object.assign(updates,await translateToLocaleFields(\"name\",parsed.data.name,sourceLocale))}}if(\"description\"in parsed.data){updates.description=parsed.data.description;updates[`description${localeCap(sourceLocale)}`]=parsed.data.description;if(parsed.data.autoTranslate!==false&&parsed.data.description){Object.assign(updates,await translateToLocaleFields(\"description\",parsed.data.description,sourceLocale))}}if(\"price\"in parsed.data)updates.price=parsed.data.price;if(\"unit\"in parsed.data){updates.unit=parsed.data.unit;updates[`unit${localeCap(sourceLocale)}`]=parsed.data.unit;if(parsed.data.autoTranslate!==false&&parsed.data.unit){Object.assign(updates,await translateToLocaleFields(\"unit\",parsed.data.unit,sourceLocale))}}if(\"order\"in parsed.data)updates.order=parsed.data.order;const[updated]=await import_db.db.update(import_db2.priceListItems).set(updates).where((0,import_drizzle_orm.eq)(import_db2.priceListItems.id,itemId)).returning();return c.json(updated)});app.delete(\"/items/:itemId\",import_auth.requireAuth,async c=>{const user=c.get(\"user\");const itemId=c.req.param(\"itemId\");const[item]=await import_db.db.select().from(import_db2.priceListItems).where((0,import_drizzle_orm.eq)(import_db2.priceListItems.id,itemId));if(!item)return c.json({error:\"Not found\"},404);if(item.specialistId!==user.id&&user.role!==\"admin\")return c.json({error:\"Forbidden\"},403);await import_db.db.delete(import_db2.priceListItems).where((0,import_drizzle_orm.eq)(import_db2.priceListItems.id,itemId));return c.json({ok:true})});var price_list_default=app;\n})()\n","warnings":[],"map":{"version":3,"mappings":";mvBAAA,wJAAqB,gBACrB,eAAkB,eAClB,uBAAkC,uBAClC,cAAmB,oBACnB,IAAAA,WAA+E,uBAC/E,gBAAgD,iCAChD,qBAAgC,2BAEhC,MAAM,IAAM,IAAI,iBAEhB,MAAM,QAAoB,CAAC,KAAM,KAAM,KAAM,IAAI,EAEjD,SAAS,gBAAgB,MAA+B,CACtD,GAAI,QAAU,MAAQ,QAAU,MAAQ,QAAU,MAAQ,QAAU,KAAM,OAAO,MACjF,MAAO,IACT,CAHS,0CAKT,SAAS,UAAU,OAA2C,CAC5D,OAAQ,OAAO,OAAO,CAAC,EAAE,YAAY,EAAI,OAAO,MAAM,CAAC,CACzD,CAFS,8BAIT,eAAe,wBAAwB,OAAgB,MAAe,aAAuD,CAC3H,MAAM,YAAc,GAAG,MAAM,GAAG,UAAU,YAAY,CAAC,GACvD,MAAM,QAAkC,CAAE,CAAC,WAAW,EAAG,KAAM,EAC/D,MAAM,QAAU,QAAQ,OAAQ,GAAM,IAAM,YAAY,EAExD,MAAM,WAAa,MAAM,QAAQ,WAC/B,QAAQ,IAAI,MAAO,KAAQ,CACzB,GACA,KAAM,QAAM,kCAAgB,MAAO,aAAc,EAAE,CACrD,EAAE,CACJ,EAEA,UAAW,UAAU,WAAY,CAC/B,GAAI,OAAO,SAAW,YAAa,SACnC,MAAM,MAAQ,GAAG,MAAM,GAAG,UAAU,OAAO,MAAM,EAAE,CAAC,GACpD,QAAQ,KAAK,EAAI,OAAO,MAAM,MAAQ,KACxC,CAEA,UAAW,MAAM,QAAS,CACxB,MAAM,MAAQ,GAAG,MAAM,GAAG,UAAU,EAAE,CAAC,GACvC,GAAI,CAAC,QAAQ,KAAK,EAAG,QAAQ,KAAK,EAAI,KACxC,CAEA,OAAO,OACT,CAxBe,0DA0Bf,SAAS,cACP,OACA,KACA,UACe,CACf,GAAI,SAAW,KAAM,OAAO,UAAU,IAAM,MAAQ,KACpD,GAAI,SAAW,KAAM,OAAO,UAAU,IAAM,UAAU,IAAM,MAAQ,KACpE,GAAI,SAAW,KAAM,OAAO,UAAU,IAAM,UAAU,IAAM,MAAQ,KACpE,OAAO,UAAU,IAAM,UAAU,IAAM,MAAQ,IACjD,CATS,sCAYT,eAAe,aAAa,OAAgB,OAAgB,QAAkB,CAC5E,KAAM,CAAC,IAAI,EAAI,MAAM,aAAG,OAAO,EAAE,KAAK,0BAAe,EAAE,SAAM,uBAAG,2BAAgB,GAAI,MAAM,CAAC,EAC3F,GAAI,CAAC,KAAM,OAAO,KAClB,GAAI,KAAK,eAAiB,QAAU,CAAC,QAAS,OAAO,KACrD,OAAO,IACT,CALe,oCAQf,eAAe,gBAAgB,OAAgB,QAAoC,CACjF,GAAI,QAAS,MAAO,MACpB,KAAM,CAAC,MAAM,EAAI,MAAM,aAAG,OAAO,CAAE,OAAQ,iBAAM,MAAO,CAAC,EAAE,KAAK,gBAAK,EAAE,SAAM,uBAAG,iBAAM,GAAI,MAAM,CAAC,EACjG,GAAI,CAAC,QAAQ,OAAQ,MAAO,OAC5B,KAAM,CAAC,IAAI,EAAI,MAAM,aAAG,OAAO,CAAE,aAAc,iBAAM,YAAa,CAAC,EAAE,KAAK,gBAAK,EAAE,SAAM,uBAAG,iBAAM,GAAI,OAAO,MAAM,CAAC,EAClH,MAAO,CAAC,CAAC,MAAM,YACjB,CANe,0CAUf,IAAI,IAAI,WAAY,MAAO,GAAM,CAC/B,MAAM,OAAS,EAAE,IAAI,MAAM,QAAQ,EACnC,MAAM,OAAS,gBAAgB,EAAE,IAAI,MAAM,QAAQ,CAAC,EAEpD,MAAM,OAAS,MAAM,aAClB,OAAO,EACP,KAAK,0BAAe,EACpB,SAAM,uBAAG,2BAAgB,OAAQ,MAAM,CAAC,EACxC,WAAQ,wBAAI,2BAAgB,KAAK,KAAG,wBAAI,2BAAgB,SAAS,CAAC,EAErE,MAAM,MAAQ,MAAM,aACjB,OAAO,EACP,KAAK,yBAAc,EACnB,SAAM,uBAAG,0BAAe,OAAQ,MAAM,CAAC,EACvC,WAAQ,wBAAI,0BAAe,KAAK,KAAG,wBAAI,0BAAe,SAAS,CAAC,EAEnE,MAAM,OAAS,OAAO,IAAK,GAAM,CAC7B,MAAM,WAAa,MAAM,OAAQ,GAAM,EAAE,UAAY,EAAE,EAAE,EACzD,MAAM,eAAiB,WAAW,IAAK,IAAO,CAC5C,GAAG,EACH,KAAM,cAAc,OAAQ,EAAE,KAAM,CAClC,GAAI,EAAE,OACN,GAAI,EAAE,OACN,GAAI,EAAE,OACN,GAAI,EAAE,MACR,CAAC,GAAK,EAAE,KACR,YAAa,cAAc,OAAQ,EAAE,YAAa,CAChD,GAAI,EAAE,cACN,GAAI,EAAE,cACN,GAAI,EAAE,cACN,GAAI,EAAE,aACR,CAAC,EACD,KAAM,cAAc,OAAQ,EAAE,KAAM,CAClC,GAAI,EAAE,OACN,GAAI,EAAE,OACN,GAAI,EAAE,OACN,GAAI,EAAE,MACR,CAAC,CACH,EAAE,EAEF,MAAO,CACL,GAAG,EACH,MAAO,cAAc,OAAQ,EAAE,MAAO,CACpC,GAAI,EAAE,QACN,GAAI,EAAE,QACN,GAAI,EAAE,QACN,GAAI,EAAE,OACR,CAAC,GAAK,EAAE,MACR,MAAO,cACT,CACF,CAAC,EAEH,OAAO,EAAE,KAAK,MAAM,CACtB,CAAC,EAGD,MAAM,YAAc,aAAE,OAAO,CAC3B,MAAO,aAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAChC,OAAQ,aAAE,KAAK,CAAC,KAAM,KAAM,KAAM,IAAI,CAAC,EAAE,SAAS,EAClD,cAAe,aAAE,QAAQ,EAAE,SAAS,EACpC,MAAO,aAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,CAC1C,CAAC,EAED,IAAI,KAAK,kBAAmB,wBAAa,MAAO,GAAM,CACpD,MAAM,KAAO,EAAE,IAAI,MAAM,EACzB,MAAM,OAAS,EAAE,IAAI,MAAM,QAAQ,EAEnC,GAAI,CAAC,MAAM,gBAAgB,KAAK,GAAI,KAAK,OAAS,OAAO,EAAG,CAC1D,OAAO,EAAE,KAAK,CAAE,MAAO,2CAA4C,KAAM,uBAAwB,EAAG,GAAG,CACzG,CAEA,MAAM,KAAO,MAAM,aAAa,OAAQ,KAAK,GAAI,KAAK,OAAS,OAAO,EACtE,GAAI,CAAC,KAAM,OAAO,EAAE,KAAK,CAAE,MAAO,wBAAyB,EAAG,GAAG,EAEjE,MAAM,KAAO,MAAM,EAAE,IAAI,KAAK,EAC9B,MAAM,OAAS,YAAY,UAAU,IAAI,EACzC,GAAI,CAAC,OAAO,QAAS,OAAO,EAAE,KAAK,CAAE,MAAO,eAAgB,QAAS,OAAO,MAAM,MAAO,EAAG,GAAG,EAE/F,KAAM,CAAC,CAAE,KAAM,CAAC,EAAI,MAAM,aACvB,OAAO,CAAE,MAAO,6CAAmC,CAAC,EACpD,KAAK,0BAAe,EACpB,SAAM,uBAAG,2BAAgB,OAAQ,MAAM,CAAC,EAE3C,KAAM,CAAC,KAAK,EAAI,MAAM,aACnB,OAAO,0BAAe,EACtB,OAAO,CACN,OACA,aAAc,KAAK,aACnB,MAAO,OAAO,KAAK,MACnB,GAAG,MAAM,wBAAwB,QAAS,OAAO,KAAK,MAAO,gBAAgB,OAAO,KAAK,QAAW,KAAa,MAAM,CAAC,EACxH,eAAgB,gBAAgB,OAAO,KAAK,QAAW,KAAa,MAAM,EAC1E,MAAO,OAAO,KAAK,OAAS,KAC9B,CAAC,EACA,UAAU,EAEb,OAAO,EAAE,KAAK,CAAE,GAAG,MAAO,MAAO,CAAC,CAAE,EAAG,GAAG,CAC5C,CAAC,EAGD,IAAI,MAAM,mBAAoB,wBAAa,MAAO,GAAM,CACtD,MAAM,KAAO,EAAE,IAAI,MAAM,EACzB,MAAM,QAAU,EAAE,IAAI,MAAM,SAAS,EAErC,KAAM,CAAC,KAAK,EAAI,MAAM,aAAG,OAAO,EAAE,KAAK,0BAAe,EAAE,SAAM,uBAAG,2BAAgB,GAAI,OAAO,CAAC,EAC7F,GAAI,CAAC,MAAO,OAAO,EAAE,KAAK,CAAE,MAAO,WAAY,EAAG,GAAG,EACrD,GAAI,MAAM,eAAiB,KAAK,IAAM,KAAK,OAAS,QAAS,OAAO,EAAE,KAAK,CAAE,MAAO,WAAY,EAAG,GAAG,EAEtG,MAAM,KAAO,MAAM,EAAE,IAAI,KAAK,EAC9B,MAAM,OAAS,aAAE,OAAO,CACtB,MAAO,aAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS,EAC3C,OAAQ,aAAE,KAAK,CAAC,KAAM,KAAM,KAAM,IAAI,CAAC,EAAE,SAAS,EAClD,cAAe,aAAE,QAAQ,EAAE,SAAS,EACpC,MAAO,aAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,CAC1C,CAAC,EAAE,UAAU,IAAI,EACjB,GAAI,CAAC,OAAO,QAAS,OAAO,EAAE,KAAK,CAAE,MAAO,eAAgB,QAAS,OAAO,MAAM,MAAO,EAAG,GAAG,EAE/F,MAAM,QAAe,CAAC,EACtB,MAAM,aAAe,gBAAgB,OAAO,KAAK,QAAU,MAAM,cAAc,EAC/E,GAAI,UAAW,OAAO,MAAQ,OAAO,KAAK,MAAO,CAC/C,QAAQ,MAAQ,OAAO,KAAK,MAC5B,QAAQ,QAAQ,UAAU,YAAY,CAAC,EAAE,EAAI,OAAO,KAAK,MACzD,QAAQ,eAAiB,aACzB,GAAI,OAAO,KAAK,gBAAkB,MAAO,CACvC,OAAO,OAAO,QAAS,MAAM,wBAAwB,QAAS,OAAO,KAAK,MAAO,YAAY,CAAC,CAChG,CACF,CACA,GAAI,UAAW,OAAO,KAAM,QAAQ,MAAQ,OAAO,KAAK,MAExD,KAAM,CAAC,OAAO,EAAI,MAAM,aACrB,OAAO,0BAAe,EACtB,IAAI,OAAO,EACX,SAAM,uBAAG,2BAAgB,GAAI,OAAO,CAAC,EACrC,UAAU,EAEb,OAAO,EAAE,KAAK,OAAO,CACvB,CAAC,EAGD,IAAI,OAAO,mBAAoB,wBAAa,MAAO,GAAM,CACvD,MAAM,KAAO,EAAE,IAAI,MAAM,EACzB,MAAM,QAAU,EAAE,IAAI,MAAM,SAAS,EAErC,KAAM,CAAC,KAAK,EAAI,MAAM,aAAG,OAAO,EAAE,KAAK,0BAAe,EAAE,SAAM,uBAAG,2BAAgB,GAAI,OAAO,CAAC,EAC7F,GAAI,CAAC,MAAO,OAAO,EAAE,KAAK,CAAE,MAAO,WAAY,EAAG,GAAG,EACrD,GAAI,MAAM,eAAiB,KAAK,IAAM,KAAK,OAAS,QAAS,OAAO,EAAE,KAAK,CAAE,MAAO,WAAY,EAAG,GAAG,EAEtG,MAAM,aAAG,OAAO,0BAAe,EAAE,SAAM,uBAAG,2BAAgB,GAAI,OAAO,CAAC,EACtE,OAAO,EAAE,KAAK,CAAE,GAAI,IAAK,CAAC,CAC5B,CAAC,EAGD,MAAM,WAAa,aAAE,OAAO,CAC1B,KAAM,aAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAC/B,YAAa,aAAE,OAAO,EAAE,IAAI,GAAI,EAAE,SAAS,EAAE,SAAS,EACtD,MAAO,aAAE,OAAO,EAAE,MAAM,mBAAmB,EAAE,SAAS,EAAE,SAAS,EACjE,KAAM,aAAE,OAAO,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS,EAC9C,OAAQ,aAAE,KAAK,CAAC,KAAM,KAAM,KAAM,IAAI,CAAC,EAAE,SAAS,EAClD,cAAe,aAAE,QAAQ,EAAE,SAAS,EACpC,MAAO,aAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,CAC1C,CAAC,EAED,IAAI,KAAK,yBAA0B,wBAAa,MAAO,GAAM,CAC3D,MAAM,KAAO,EAAE,IAAI,MAAM,EACzB,MAAM,QAAU,EAAE,IAAI,MAAM,SAAS,EAErC,KAAM,CAAC,KAAK,EAAI,MAAM,aAAG,OAAO,EAAE,KAAK,0BAAe,EAAE,SAAM,uBAAG,2BAAgB,GAAI,OAAO,CAAC,EAC7F,GAAI,CAAC,MAAO,OAAO,EAAE,KAAK,CAAE,MAAO,iBAAkB,EAAG,GAAG,EAC3D,GAAI,MAAM,eAAiB,KAAK,IAAM,KAAK,OAAS,QAAS,OAAO,EAAE,KAAK,CAAE,MAAO,WAAY,EAAG,GAAG,EAEtG,MAAM,KAAO,MAAM,EAAE,IAAI,KAAK,EAC9B,MAAM,OAAS,WAAW,UAAU,IAAI,EACxC,GAAI,CAAC,OAAO,QAAS,OAAO,EAAE,KAAK,CAAE,MAAO,eAAgB,QAAS,OAAO,MAAM,MAAO,EAAG,GAAG,EAE/F,KAAM,CAAC,CAAE,KAAM,CAAC,EAAI,MAAM,aACvB,OAAO,CAAE,MAAO,6CAAmC,CAAC,EACpD,KAAK,yBAAc,EACnB,SAAM,uBAAG,0BAAe,QAAS,OAAO,CAAC,EAE5C,KAAM,CAAC,IAAI,EAAI,MAAM,aAClB,OAAO,yBAAc,EACrB,OAAO,CACN,QACA,OAAQ,MAAM,OACd,aAAc,MAAM,aACpB,KAAM,OAAO,KAAK,KAClB,YAAa,OAAO,KAAK,aAAe,KACxC,MAAO,OAAO,KAAK,OAAS,KAC5B,KAAM,OAAO,KAAK,MAAQ,KAC1B,GAAG,MAAM,wBAAwB,OAAQ,OAAO,KAAK,KAAM,gBAAgB,OAAO,KAAK,QAAW,KAAa,MAAM,CAAC,EACtH,GAAI,OAAO,KAAK,YACZ,MAAM,wBAAwB,cAAe,OAAO,KAAK,YAAa,gBAAgB,OAAO,KAAK,QAAW,KAAa,MAAM,CAAC,EACjI,CACE,cAAe,KACf,cAAe,KACf,cAAe,KACf,cAAe,IACjB,EACJ,GAAI,OAAO,KAAK,KACZ,MAAM,wBAAwB,OAAQ,OAAO,KAAK,KAAM,gBAAgB,OAAO,KAAK,QAAW,KAAa,MAAM,CAAC,EACnH,CACE,OAAQ,KACR,OAAQ,KACR,OAAQ,KACR,OAAQ,IACV,EACJ,eAAgB,gBAAgB,OAAO,KAAK,QAAW,KAAa,MAAM,EAC1E,MAAO,OAAO,KAAK,OAAS,KAC9B,CAAC,EACA,UAAU,EAEb,OAAO,EAAE,KAAK,KAAM,GAAG,CACzB,CAAC,EAGD,IAAI,MAAM,iBAAkB,wBAAa,MAAO,GAAM,CACpD,MAAM,KAAO,EAAE,IAAI,MAAM,EACzB,MAAM,OAAS,EAAE,IAAI,MAAM,QAAQ,EAEnC,KAAM,CAAC,IAAI,EAAI,MAAM,aAAG,OAAO,EAAE,KAAK,yBAAc,EAAE,SAAM,uBAAG,0BAAe,GAAI,MAAM,CAAC,EACzF,GAAI,CAAC,KAAM,OAAO,EAAE,KAAK,CAAE,MAAO,WAAY,EAAG,GAAG,EACpD,GAAI,KAAK,eAAiB,KAAK,IAAM,KAAK,OAAS,QAAS,OAAO,EAAE,KAAK,CAAE,MAAO,WAAY,EAAG,GAAG,EAErG,MAAM,KAAO,MAAM,EAAE,IAAI,KAAK,EAC9B,MAAM,OAAS,aAAE,OAAO,CACtB,KAAM,aAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS,EAC1C,YAAa,aAAE,OAAO,EAAE,IAAI,GAAI,EAAE,SAAS,EAAE,SAAS,EACtD,MAAO,aAAE,OAAO,EAAE,MAAM,mBAAmB,EAAE,SAAS,EAAE,SAAS,EACjE,KAAM,aAAE,OAAO,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS,EAC9C,OAAQ,aAAE,KAAK,CAAC,KAAM,KAAM,KAAM,IAAI,CAAC,EAAE,SAAS,EAClD,cAAe,aAAE,QAAQ,EAAE,SAAS,EACpC,MAAO,aAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,SAAS,CAC1C,CAAC,EAAE,UAAU,IAAI,EACjB,GAAI,CAAC,OAAO,QAAS,OAAO,EAAE,KAAK,CAAE,MAAO,eAAgB,QAAS,OAAO,MAAM,MAAO,EAAG,GAAG,EAE/F,MAAM,QAAe,CAAC,EACtB,MAAM,aAAe,gBAAgB,OAAO,KAAK,QAAU,KAAK,cAAc,EAC9E,GAAI,SAAU,OAAO,MAAQ,OAAO,KAAK,KAAM,CAC7C,QAAQ,KAAO,OAAO,KAAK,KAC3B,QAAQ,OAAO,UAAU,YAAY,CAAC,EAAE,EAAI,OAAO,KAAK,KACxD,QAAQ,eAAiB,aACzB,GAAI,OAAO,KAAK,gBAAkB,MAAO,CACvC,OAAO,OAAO,QAAS,MAAM,wBAAwB,OAAQ,OAAO,KAAK,KAAM,YAAY,CAAC,CAC9F,CACF,CACA,GAAI,gBAAiB,OAAO,KAAM,CAChC,QAAQ,YAAc,OAAO,KAAK,YAClC,QAAQ,cAAc,UAAU,YAAY,CAAC,EAAE,EAAI,OAAO,KAAK,YAC/D,GAAI,OAAO,KAAK,gBAAkB,OAAS,OAAO,KAAK,YAAa,CAClE,OAAO,OAAO,QAAS,MAAM,wBAAwB,cAAe,OAAO,KAAK,YAAa,YAAY,CAAC,CAC5G,CACF,CACA,GAAI,UAAW,OAAO,KAAM,QAAQ,MAAQ,OAAO,KAAK,MACxD,GAAI,SAAU,OAAO,KAAM,CACzB,QAAQ,KAAO,OAAO,KAAK,KAC3B,QAAQ,OAAO,UAAU,YAAY,CAAC,EAAE,EAAI,OAAO,KAAK,KACxD,GAAI,OAAO,KAAK,gBAAkB,OAAS,OAAO,KAAK,KAAM,CAC3D,OAAO,OAAO,QAAS,MAAM,wBAAwB,OAAQ,OAAO,KAAK,KAAM,YAAY,CAAC,CAC9F,CACF,CACA,GAAI,UAAW,OAAO,KAAM,QAAQ,MAAQ,OAAO,KAAK,MAExD,KAAM,CAAC,OAAO,EAAI,MAAM,aACrB,OAAO,yBAAc,EACrB,IAAI,OAAO,EACX,SAAM,uBAAG,0BAAe,GAAI,MAAM,CAAC,EACnC,UAAU,EAEb,OAAO,EAAE,KAAK,OAAO,CACvB,CAAC,EAGD,IAAI,OAAO,iBAAkB,wBAAa,MAAO,GAAM,CACrD,MAAM,KAAO,EAAE,IAAI,MAAM,EACzB,MAAM,OAAS,EAAE,IAAI,MAAM,QAAQ,EAEnC,KAAM,CAAC,IAAI,EAAI,MAAM,aAAG,OAAO,EAAE,KAAK,yBAAc,EAAE,SAAM,uBAAG,0BAAe,GAAI,MAAM,CAAC,EACzF,GAAI,CAAC,KAAM,OAAO,EAAE,KAAK,CAAE,MAAO,WAAY,EAAG,GAAG,EACpD,GAAI,KAAK,eAAiB,KAAK,IAAM,KAAK,OAAS,QAAS,OAAO,EAAE,KAAK,CAAE,MAAO,WAAY,EAAG,GAAG,EAErG,MAAM,aAAG,OAAO,yBAAc,EAAE,SAAM,uBAAG,0BAAe,GAAI,MAAM,CAAC,EACnE,OAAO,EAAE,KAAK,CAAE,GAAI,IAAK,CAAC,CAC5B,CAAC,EAED,IAAO,mBAAQ","names":["import_db"],"ignoreList":[],"sources":["/opt/canhelp/apps/api/src/routes/price-list.ts"],"sourcesContent":[null]}}