2 lines
3.0 KiB
JavaScript
2 lines
3.0 KiB
JavaScript
import{_ as p,G as f}from"./index-f83afa83.js";const U=async t=>{const{TableEngineRequest:e}=await p(()=>import("./buildSupabaseQuery-e9dfb20d.js"),["assets/buildSupabaseQuery-e9dfb20d.js","assets/index-f83afa83.js","assets/index-518d479c.css","assets/supabaseTableQuery-95762ff3.js"]),s={...t};!s.sort&&!s.order&&(s.order="-created_at");const n=await e(s,"users");try{if(Array.isArray(n==null?void 0:n.rows)){const r=n.rows.map(i=>({id:i.id??null,first_name:i.first_name||"",last_name:i.last_name||"",phone:i.phone||"",fname:i.first_name||"",lname:i.last_name||"",mobile:i.phone||"",...i}));return{...n,rows:r}}}catch(r){console.log("[getMembersTable] normalize error:",r)}return n},v=async t=>{const{data:e,error:s}=await f.from("users").select("*").eq("id",t).single();if(s)throw s;return{id:e.id??null,first_name:e.first_name||"",last_name:e.last_name||"",phone:e.phone||"",fname:e.first_name||"",lname:e.last_name||"",mobile:e.phone||"",...e}},M=async t=>{const e={};t.first_name&&t.first_name.trim()!==""&&(e.first_name=t.first_name.trim()),t.last_name&&t.last_name.trim()!==""&&(e.last_name=t.last_name.trim()),t.phone&&t.phone.trim()!==""&&(e.phone=t.phone.trim());const{data:s,error:n}=await f.from("users").select("id, user_id").order("created_at",{ascending:!1}).limit(100);if(n||!s||s.length===0)throw new Error("برای ایجاد کاربر جدید، حداقل یک کاربر باید در سیستم وجود داشته باشد");let r=null;const i=s.find(d=>d.id===d.user_id);i?r=i.id:r=s[0].id,e.user_id=r;let o=null,m=null,u=0;const h=10,c=new Set;for(c.add(r);u<h;){const d=await f.from("users").insert([e]).select().single();if(m=d.error,o=d.data,!m)break;if(m.code==="23505"&&m.message.includes("user_id")){if(u++,u>=h)throw new Error("خطا در ایجاد کاربر: user_id باید منحصر به فرد باشد. لطفاً چند لحظه صبر کنید و دوباره تلاش کنید.");await new Promise(_=>setTimeout(_,300*u));const{data:a,error:b}=await f.from("users").select("id, user_id").order("created_at",{ascending:!1}).limit(100);if(!b&&a&&a.length>0){const _=a.find(l=>!c.has(l.id));if(_){r=_.id,c.add(r),e.user_id=r;continue}const w=a.find(l=>l.id===l.user_id&&!c.has(l.id));if(w){r=w.id,c.add(r),e.user_id=r;continue}const g=a.find(l=>l.id!==r);if(g){r=g.id,e.user_id=r;continue}}throw new Error("خطا در ایجاد کاربر: لطفاً چند لحظه صبر کنید و دوباره تلاش کنید.")}else throw m}if(m)throw m;if(o&&o.id&&o.user_id!==o.id){const{data:d,error:a}=await f.from("users").update({user_id:o.id}).eq("id",o.id).select().single();if(!a&&d)return d;if(a)throw a}return o},q=async(t,e)=>{const s={};e.first_name!==void 0&&(s.first_name=e.first_name.trim()||null),e.last_name!==void 0&&(s.last_name=e.last_name.trim()||null),e.phone!==void 0&&(s.phone=e.phone.trim()||null);const{data:n,error:r}=await f.from("users").update(s).eq("id",t).select().single();if(r)throw r;return n},P=async t=>{const{error:e}=await f.from("users").delete().eq("id",t);if(e)throw e;return{success:!0}};export{v as a,M as c,P as d,U as g,q as u};
|