2 lines
6.8 KiB
JavaScript
2 lines
6.8 KiB
JavaScript
import{a3 as v,a5 as f}from"./index-a9671513.js";async function j(){const{data:t,error:i}=await f.from("matchs").select("*");if(i)throw i;return t}async function V(t,i){const{data:a,error:c}=await f.from("matchs").update(i).eq("id",t).select();if(c)throw c;return a}async function B(t){const{data:i,error:a}=await f.from("matchs").select("*").eq("id",t).single();if(a)throw a;const{data:c,error:n}=await f.from("questions").select("*").eq("match_id",t);if(n)throw n;return{...i,questions:c||[]}}async function P(t){console.log("addMatchWithQuestions payload:",t);const{data:i,error:a}=await f.from("matchs").insert([t.match]).select().single();if(console.log("Match insert result:",{matchData:i,matchError:a}),a)throw console.error("Match insert error:",a),a;for(const c of t.questions){const{data:n,error:l}=await f.from("questions").insert([{match_id:i.id,question:c.question,options:c.options,correct_answer:c.correct_answer}]).select().single();if(l)throw l;console.log("Question created:",n)}return i}async function R(t,i){const{error:a}=await f.from("matchs").update(i.match).eq("id",t);if(a)throw a;const{data:c}=await f.from("questions").select("id").eq("match_id",t);if(c)for(const n of c)await f.from("questions").delete().eq("id",n.id);for(const n of i.questions){const{data:l,error:o}=await f.from("questions").insert([{match_id:t,question:n.question,options:n.options,correct_answer:n.correct_answer}]).select().single();if(o)throw o;console.log("Question updated:",l)}return{id:t}}async function U(t){await f.from("questions").delete().eq("match_id",t);const{error:i}=await f.from("matchs").delete().eq("id",t);if(i)throw i}async function A(t){const{TableEngineRequest:i}=await v(()=>import("./buildSupabaseQuery-895aec07.js"),["assets/buildSupabaseQuery-895aec07.js","assets/index-a9671513.js","assets/index-6c22dd25.css"]),a={...t};!a.sort&&!a.order&&(a.order="-id");const c=await i(a,"matchs");try{if(Array.isArray(c==null?void 0:c.rows)){const n=a.page||1,l=a.limit||200,o=(n-1)*l,h=c.rows.map((u,g)=>({id:u.id,title:u.title??"",description:u.description??"",created_at:u.created_at??"",index:o+g,...u}));return{...c,rows:h}}}catch(n){console.log("[getMatchTable] normalize error:",n)}return c}async function K(t){var i,a,c,n,l;try{const{data:o,error:h}=await f.from("answers").select("*");if(h)throw h;if(!o||o.length===0)return{rows:[],total:0,query:{...t,total:0}};const u=[...new Set(o.map(e=>e.match_id).filter(Boolean))],{data:g,error:q}=await f.from("matchs").select("*").in("id",u);if(q)throw q;const L=[...new Set(o.map(e=>e.user_id).filter(Boolean))];let b=[],z=new Map;if(L.length>0){const{data:e,error:s}=await f.from("users").select("*").in("id",L);!s&&e?b=e:s&&console.error("[getWinnersTable] Error fetching users:",s)}const W=new Map((g||[]).map(e=>[e.id,e])),m=new Map;b.forEach(e=>{const s=e.id;if(m.set(s,e),m.set(String(s),e),typeof s=="string"){const r=s.toLowerCase().replace(/-/g,"");m.set(r,e),s.includes("-")&&(m.set(s.replace(/-/g,""),e),m.set(s.replace(/-/g,"").toLowerCase(),e))}});let w=o.filter(e=>{const s=W.get(e.match_id);if(!s)return!1;const r=s.minimum_score?Number(s.minimum_score):0;return(e.score?Number(e.score):0)>=r}).map(e=>{const s=W.get(e.match_id)||{};let r={};if(e.user_id){const p=e.user_id,_=String(p),E=_.toLowerCase();if(r=m.get(p)||m.get(_)||{},(!r||Object.keys(r).length===0)&&(r=m.get(E)||{}),(!r||Object.keys(r).length===0)&&_.includes("-")){const S=_.replace(/-/g,"");r=m.get(S)||m.get(S.toLowerCase())||{}}(!r||Object.keys(r).length===0)&&(r=b.find(S=>{const D=String(S.id||"").toLowerCase(),N=E;return D===N||D.replace(/-/g,"")===N.replace(/-/g,"")})||{})}let d="نامشخص";return r&&Object.keys(r).length>0&&(r.name?d=r.name:r.phone?d=r.phone:r.email?d=r.email:r.username&&(d=r.username)),{id:e.id,match_id:e.match_id,user_id:e.user_id,score:e.score,match_title:s.title||"",match_description:s.description||"",user_name:d,user_mobile:(r==null?void 0:r.phone)||"",created_at:e.created_at||""}});if(t.search){const e=t.search.toLowerCase();w=w.filter(s=>(s.match_title||"").toLowerCase().includes(e)||(s.match_descript
|