Files
machartaa_admin_dist/dist/assets/buildSupabaseQuery-69f12a61.js
T
2026-06-21 18:11:33 +03:30

2 lines
2.7 KiB
JavaScript

import{I as h,X as b}from"./index-f631c110.js";import{t as f,g as y,b as S}from"./supabaseTableQuery-be932edd.js";const x={storys:["title","sub_title"],challenge:["title","description"],step_challenges:["title"],matchs:["title","description"],competition:["title","description"],users:["name","email","phone"],videos:["title","description"],customers:["name","email","phone"],daily_questions:["question_text","option1_text","option2_text","designer_name"],books:["title","sub_title"],images_book:["title","description"],subscription_plans:["title","description"],products:["title_fa","title","code","sku","description"],brands:["title","description"],collections:["title","description"],discounts:["title","code"],competition_winners:["match_title","match_description","user_name","user_mobile"],choir_registrations:["first_name","last_name","phone","province"],channel_message:["text"]};function d(t,n,i){const a=i.trim();if(!a)return t;if(n==="comments"||n==="channel_message")return t.ilike("text",f(a));const o=x[n]??["title","description"];return t.or(y(o,a))}function g(t,n){return n!=null&&n.length&&n.forEach(i=>{i.hidden||!i.field||(t=S(t,i))}),t}function _(t,n){const{limit:i,page:a,sort:o,order:c}=n;if(i&&a){const s=(a-1)*i,r=s+i-1;t=t.range(s,r)}if(o!=null&&o.key)t=t.order(o.key,{ascending:o.order==="asc"});else if(c){const s=!c.startsWith("-"),r=c.replace(/^[-+]/,"");t=t.order(r,{ascending:s})}return t}async function k(t,n){const{limit:i,filters:a,page:o,sort:c,order:s,select:r,search:l}=t;let e=h.from(n);r!=null&&r.length?e=e.select(r.join(","),{count:"exact"}):e=e.select("*",{count:"exact"}),l!=null&&l.trim()&&(e=d(e,n,l.trim())),e=g(e,a),e=_(e,{limit:i,page:o,sort:c,order:s});const{data:p,error:u,count:m}=await e;return u?(console.error("Supabase query error:",u),null):{data:p,count:m}}async function w(t,n){const{limit:i,filters:a,page:o,sort:c,order:s,select:r,search:l}=t;let e=b.from(n);r!=null&&r.length?e=e.select(r.join(","),{count:"exact"}):e=e.select("*",{count:"exact"}),l!=null&&l.trim()&&(e=d(e,n,l.trim())),e=g(e,a),e=_(e,{limit:i,page:o,sort:c,order:s});const{data:p,error:u,count:m}=await e;return u?(console.error("Supabase query error:",u),null):{data:p,count:m}}async function A(t,n="users"){const i=await k(t,n);if(!i)return{query:{...t,limit:t.limit||10,page:t.page||1,total:0},rows:[]};const a=((t.page||1)-1)*(t.limit||10),o=(i.data||[]).map((c,s)=>({...c,index:a+s}));return{query:{...t,limit:t.limit||10,page:t.page||1,total:i.count},rows:o}}async function F(t,n="users"){const i=await w(t,n);return i?{query:{...t,limit:t.limit||10,page:t.page||1,total:i.count},rows:i.data}:{query:{...t,limit:t.limit||10,page:t.page||1,total:0},rows:[]}}export{A as TableEngineRequest,F as TableEngineShopRequest,k as buildSupabaseQuery,w as buildSupabaseShopQuery};