2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
import{_ as C}from"./BaseTable.vue_vue_type_style_index_0_lang-dc289015.js";import{_ as D}from"./button.vue_vue_type_style_index_0_lang-91e4b242.js";import{I as q}from"./Icon-a74909b8.js";import{_ as M}from"./Modal.vue_vue_type_style_index_0_lang-1396235b.js";import{_ as P}from"./BasicInput.vue_vue_type_style_index_0_lang-0ea8cc4e.js";import{a3 as R,a4 as _,d as T,t as F,h as A,a0 as p,o as $,K as S,w as c,a as y,b as u,L as v,r as E,c as V,a2 as z}from"./index-dc16a447.js";import{b as O,F as x}from"./index-86eb3b1f.js";import{u as L}from"./useBaseTable-3aeb2499.js";import{M as N}from"./index-1fdea3e3.js";import{T as B}from"./index-d6d429b9.js";import"./usePrefix-697ee667.js";import"./index-35519014.js";import"./raf-ec71f8db.js";import"./index-107e76c0.js";import"./colors-3781f3bd.js";import"./vnode-38db88ef.js";import"./useState-9008c07f.js";import"./index-db28d471.js";import"./debounce-4882126f.js";import"./styleChecker-7756749a.js";import"./SearchOutlined-2411817f.js";import"./pickAttrs-783961e6.js";import"./CheckOutlined-00877c2c.js";import"./FormItemContext-0b3cf77f.js";import"./objectDestructuringEmpty-24e23e90.js";import"./eagerComputed-2078e774.js";import"./index-63c0e239.js";import"./BasicModal.vue_vue_type_style_index_0_lang-a3ebe9dc.js";import"./index-bd1e6805.js";import"./index-fd71cf7c.js";import"./EyeOutlined-8828addc.js";import"./_plugin-vue_export-helper-c27b6911.js";import"./usePrice-7afab779.js";import"./Col-f1d21b91.js";const j=async a=>{const{TableEngineRequest:t}=await R(()=>import("./buildSupabaseQuery-2cc8eb19.js"),["assets/buildSupabaseQuery-2cc8eb19.js","assets/index-dc16a447.js","assets/index-6be15433.css"]),s=await t(a,"users");try{if(Array.isArray(s==null?void 0:s.rows)){const e=s.rows.map(r=>({id:r.id??null,first_name:r.first_name||"",last_name:r.last_name||"",phone:r.phone||"",fname:r.first_name||"",lname:r.last_name||"",mobile:r.phone||"",...r}));return{...s,rows:e}}}catch(e){console.log("[getMembersTable] normalize error:",e)}return s},I=async a=>{const{data:t,error:s}=await _.from("users").select("*").eq("id",a).single();if(s)throw s;return{id:t.id??null,first_name:t.first_name||"",last_name:t.last_name||"",phone:t.phone||"",fname:t.first_name||"",lname:t.last_name||"",mobile:t.phone||"",...t}},G=async a=>{const t={};a.first_name&&a.first_name.trim()!==""&&(t.first_name=a.first_name.trim()),a.last_name&&a.last_name.trim()!==""&&(t.last_name=a.last_name.trim()),a.phone&&a.phone.trim()!==""&&(t.phone=a.phone.trim());const{data:s,error:e}=await _.from("users").select("id, user_id").order("created_at",{ascending:!1}).limit(100);if(e||!s||s.length===0)throw new Error("برای ایجاد کاربر جدید، حداقل یک کاربر باید در سیستم وجود داشته باشد");let r=null;const w=s.find(d=>d.id===d.user_id);w?r=w.id:r=s[0].id,t.user_id=r;let l=null,f=null,i=0;const o=10,m=new Set;for(m.add(r);i<o;){const d=await _.from("users").insert([t]).select().single();if(f=d.error,l=d.data,!f)break;if(f.code==="23505"&&f.message.includes("user_id")){if(i++,i>=o)throw new Error("خطا در ایجاد کاربر: user_id باید منحصر به فرد باشد. لطفاً چند لحظه صبر کنید و دوباره تلاش کنید.");await new Promise(b=>setTimeout(b,300*i));const{data:n,error:U}=await _.from("users").select("id, user_id").order("created_at",{ascending:!1}).limit(100);if(!U&&n&&n.length>0){const b=n.find(h=>!m.has(h.id));if(b){r=b.id,m.add(r),t.user_id=r;continue}const g=n.find(h=>h.id===h.user_id&&!m.has(h.id));if(g){r=g.id,m.add(r),t.user_id=r;continue}const k=n.find(h=>h.id!==r);if(k){r=k.id,t.user_id=r;continue}}throw new Error("خطا در ایجاد کاربر: لطفاً چند لحظه صبر کنید و دوباره تلاش کنید.")}else throw f}if(f)throw f;if(l&&l.id&&l.user_id!==l.id){const{data:d,error:n}=await _.from("users").update({user_id:l.id}).eq("id",l.id).select().single();if(!n&&d)return d;if(n)throw n}return l},H=async(a,t)=>{const s={};t.first_name!==void 0&&(s.first_name=t.first_name.trim()||null),t.last_name!==void 0&&(s.
|