Files
machartaa_admin_dist/dist/assets/buildSupabaseQuery-5aeee7d3.js
T
2025-10-21 19:32:03 +03:30

2 lines
1.7 KiB
JavaScript

import{a3 as y}from"./index-fccf7b13.js";async function f(t,o){const{limit:s,filters:c,page:d,sort:n,order:l,select:k,search:u}=t;let e=y.from(o);if(k&&k.length>0?e=e.select(k.join(","),{count:"exact"}):e=e.select("*",{count:"exact"}),u&&u.trim()){const i=`%${u}%`;switch(o){case"storys":e=e.or(`title.ilike.${i},sub_title.ilike.${i}`);break;case"challenge":e=e.or(`title.ilike.${i},description.ilike.${i}`);break;case"competition":e=e.or(`title.ilike.${i},description.ilike.${i}`);break;case"users":e=e.or(`name.ilike.${i},email.ilike.${i},phone.ilike.${i}`);break;case"videos":e=e.or(`title.ilike.${i},description.ilike.${i}`);break;case"customers":e=e.or(`name.ilike.${i},email.ilike.${i},phone.ilike.${i}`);break;default:e=e.or(`title.ilike.${i},name.ilike.${i},description.ilike.${i}`)}}if(c&&Array.isArray(c)&&c.forEach(i=>{const{field:r,op:$,value:a,hidden:m}=i;if(!m)switch($){case"eq":e=e.eq(r,a);break;case"neq":e=e.neq(r,a);break;case"gt":e=e.gt(r,a);break;case"lt":e=e.lt(r,a);break;case"gte":e=e.gte(r,a);break;case"lte":e=e.lte(r,a);break;case"has":e=e.ilike(r,`%${a}%`);break;case"like":e=e.like(r,`%${a}%`);break;default:console.warn(`Unsupported operation: ${$}`)}}),s&&d){const i=(d-1)*s,r=i+s-1;e=e.range(i,r)}if(n&&n.key){const i=n.order==="asc";e=e.order(n.key,{ascending:i})}else if(l){const i=!l.startsWith("-"),r=l.replace(/^[-+]/,"");e=e.order(r,{ascending:i})}const{data:b,error:p,count:g}=await e;return p?(console.error("Supabase query error:",p),null):{data:b,count:g}}async function q(t,o="users"){const s=await f(t,o);return s?{query:{...t,limit:t.limit||10,page:t.page||1,total:s.count},rows:s.data}:{query:{...t,limit:t.limit||10,page:t.page||1,total:0},rows:[]}}export{q as TableEngineRequest,f as buildSupabaseQuery};