2 lines
30 KiB
JavaScript
2 lines
30 KiB
JavaScript
import{_ as Be}from"./BasicMainCard-1361ed38.js";import{_ as ye}from"./BasicModal.vue_vue_type_style_index_0_lang-acac591d.js";import{_ as ze}from"./BasicTextArea.vue_vue_type_style_index_0_lang-a89d96c8.js";import{_ as xe}from"./BaseSwitch.vue_vue_type_script_setup_true_lang-c92640b4.js";import{_ as he}from"./BasicInput.vue_vue_type_style_index_0_lang-6c1f4129.js";import{_ as Ee,u as de}from"./useBaseTable-c2761680.js";import{_ as we}from"./button.vue_vue_type_style_index_0_lang-c37c204f.js";import{_ as De,G as L,J as Y,d as oe,g as k,h as U,v as ke,D as m,o as T,c as q,F as Me,a as n,b as l,t as J,p as Oe,w as v,e as H,r as Fe,E as qe,i as te,j as y,k as j,a0 as Ze,H as pe,I as He}from"./index-4dccb174.js";import{f as _e,a as je,b as Ke,c as Ge,d as Ve,e as Xe}from"./supabaseTableQuery-95762ff3.js";import{t as re}from"./useDataTime-f3f5ea50.js";import{I as F}from"./Icon-6b61a044.js";import{g as Je}from"./index-d825960e.js";import{e as me,g as ve}from"./convert-2ad76038.js";import{F as fe}from"./index-495b789b.js";import{a as Ye}from"./index-c7f692d2.js";import{I as We}from"./index-7afebd52.js";import{a as ge}from"./index-7a876d00.js";import{M as ae}from"./index-a34bba22.js";import{S as Qe}from"./index-f08752bf.js";import{T as Z}from"./isSymbol-80c521a5.js";import{U as et}from"./index-bd458d30.js";import"./index-6f4a8a6b.js";import"./index-7ce2783e.js";import"./Col-c87d3a9d.js";import"./styleChecker-133e2b1a.js";import"./isPlainObject-819f93b0.js";import"./vnode-8e0d49aa.js";import"./_plugin-vue_export-helper-fc650ede.js";import"./index-4762b7d8.js";import"./FormItemContext-d26e27b7.js";import"./usePrice-bc935b83.js";import"./updateLocale-72f02bbd.js";import"./useState-7760581d.js";import"./lodash-0f8911c3.js";import"./index-895cd0d7.js";import"./isNumeric-3f69e2aa.js";import"./index-00d83bfc.js";import"./index-8f783c3c.js";import"./index-ce6d92ba.js";import"./LeftOutlined-2d8ca514.js";import"./css-aae66f86.js";import"./DialogWrap-715ad625.js";import"./pickAttrs-13d22210.js";import"./toArray-8c6d8405.js";import"./index-6a54d8cb.js";import"./_flatRest-00780a2d.js";import"./useRefs-b5c660b2.js";function Ie(e,u){return Math.max(0,Math.round(e*(1-(u||0)/100)))}async function tt(e){const{TableEngineRequest:u}=await De(()=>import("./buildSupabaseQuery-6c90042d.js"),["assets/buildSupabaseQuery-6c90042d.js","assets/index-4dccb174.js","assets/index-338b63e2.css","assets/supabaseTableQuery-95762ff3.js"]),r={...e};!r.sort&&!r.order&&(r.order="-sort_order");const s=await u(r,"subscription_plans");if(Array.isArray(s==null?void 0:s.rows)){const x=s.rows.map((g,w)=>({...g,index:w,final_price:Ie(Number(g.price),Number(g.discount_percent||0))}));return{...s,rows:x}}return s}const at=new Set(["plan_title","payment_status","status","final_price","expires_at","created_at","user_id","plan_id"]),nt=["plan_title","payment_status","status"];async function st(e){const{limit:u=20,page:r=1,search:s,filters:x}=e;let g=L.from("subscription_purchases").select("*, users(name, phone, first_name, last_name)",{count:"exact"});if(s!=null&&s.trim()){const _=await _e(L,s);g=je(g,s,nt,_)}if(x!=null&&x.length){for(const _ of x)if(!(_.hidden||!_.field)){if(_.field==="user_name"||_.field==="user_phone"){if(["eq","has","like"].includes(_.op)){const t=await _e(L,String(_.value));t.length?g=g.in("user_id",t):g=g.eq("user_id","00000000-0000-0000-0000-000000000000")}continue}at.has(_.field)&&(g=Ke(g,_))}}g=Ge(g,e,"-created_at",["created_at","plan_title","payment_status","status"]),g=Ve(g,r,u);const{data:w,error:C,count:h}=await g;if(C)throw C;return Xe(w,h,e,_=>{const t=Array.isArray(_.users)?_.users[0]:_.users;let A="نامشخص";return t!=null&&t.name?A=t.name:t!=null&&t.first_name||t!=null&&t.last_name?A=`${t.first_name||""} ${t.last_name||""}`.trim():t!=null&&t.phone&&(A=t.phone),{..._,user_name:A,user_phone:(t==null?void 0:t.phone)||""}})}async function it(e){const{data:u,error:r}=await L.from("subscription_plans").insert([{title:e.title,description:e.description||null,image_url:e.image_url,price:e.price,discount_percent:e.discount_percent??0,duration_days:e
|