Files
machartaa_admin_dist/dist/assets/buildSupabaseQuery-78a7461d.js
T

2 lines
3.1 KiB
JavaScript

import{H as $,ab as b}from"./index-1beefa05.js";function m(e,o,n){const t=`%${n}%`;switch(o){case"storys":return e.or(`title.ilike.${t},sub_title.ilike.${t}`);case"challenge":return e.or(`title.ilike.${t},description.ilike.${t}`);case"step_challenges":return e.or(`title.ilike.${t}`);case"matchs":return e.or(`title.ilike.${t},description.ilike.${t}`);case"competition":return e.or(`title.ilike.${t},description.ilike.${t}`);case"users":return e.or(`name.ilike.${t},email.ilike.${t},phone.ilike.${t}`);case"videos":return e.or(`title.ilike.${t},description.ilike.${t}`);case"customers":return e.or(`name.ilike.${t},email.ilike.${t},phone.ilike.${t}`);case"comments":return e.ilike("text",t);case"daily_questions":return e.or(`question_text.ilike.${t},option1_text.ilike.${t},option2_text.ilike.${t},designer_name.ilike.${t}`);default:return e.or(`title.ilike.${t},name.ilike.${t},description.ilike.${t}`)}}function d(e,o){return o!=null&&o.length&&o.forEach(n=>{const{field:t,op:s,value:a,hidden:c}=n;if(!c)switch(s){case"eq":e=e.eq(t,a);break;case"neq":case"not":e=e.neq(t,a);break;case"gt":e=e.gt(t,a);break;case"lt":e=e.lt(t,a);break;case"gte":e=e.gte(t,a);break;case"lte":e=e.lte(t,a);break;case"has":case"like":e=e.ilike(t,`%${a}%`);break;case"sw":e=e.ilike(t,`${a}%`);break;case"ew":e=e.ilike(t,`%${a}`);break;case"in":{const r=Array.isArray(a)?a:String(a).split(",").map(l=>l.trim()).filter(Boolean);r.length&&(e=e.in(t,r));break}case"nn":e=e.not(t,"is",null);break;default:console.warn(`Unsupported operation: ${s}`)}}),e}function g(e,o){const{limit:n,page:t,sort:s,order:a}=o;if(n&&t){const c=(t-1)*n,r=c+n-1;e=e.range(c,r)}if(s!=null&&s.key)e=e.order(s.key,{ascending:s.order==="asc"});else if(a){const c=!a.startsWith("-"),r=a.replace(/^[-+]/,"");e=e.order(r,{ascending:c})}return e}async function h(e,o){const{limit:n,filters:t,page:s,sort:a,order:c,select:r,search:l}=e;let i=$.from(o);r!=null&&r.length?i=i.select(r.join(","),{count:"exact"}):i=i.select("*",{count:"exact"}),l!=null&&l.trim()&&(i=m(i,o,l.trim())),i=d(i,t),i=g(i,{limit:n,page:s,sort:a,order:c});const{data:k,error:p,count:u}=await i;return p?(console.error("Supabase query error:",p),null):{data:k,count:u}}async function w(e,o){const{limit:n,filters:t,page:s,sort:a,order:c,select:r,search:l}=e;let i=b.from(o);r!=null&&r.length?i=i.select(r.join(","),{count:"exact"}):i=i.select("*",{count:"exact"}),l!=null&&l.trim()&&(i=m(i,o,l.trim())),i=d(i,t),i=g(i,{limit:n,page:s,sort:a,order:c});const{data:k,error:p,count:u}=await i;return p?(console.error("Supabase query error:",p),null):{data:k,count:u}}async function x(e,o="users"){const n=await h(e,o);if(!n)return{query:{...e,limit:e.limit||10,page:e.page||1,total:0},rows:[]};const t=((e.page||1)-1)*(e.limit||10),s=(n.data||[]).map((a,c)=>({...a,index:t+c}));return{query:{...e,limit:e.limit||10,page:e.page||1,total:n.count},rows:s}}async function S(e,o="users"){const n=await w(e,o);return n?{query:{...e,limit:e.limit||10,page:e.page||1,total:n.count},rows:n.data}:{query:{...e,limit:e.limit||10,page:e.page||1,total:0},rows:[]}}export{x as TableEngineRequest,S as TableEngineShopRequest,h as buildSupabaseQuery,w as buildSupabaseShopQuery};