Files
machartaa_admin_dist/dist/assets/index-ee7e4456.js
T

2 lines
20 KiB
JavaScript
Raw Normal View History

2026-06-23 12:46:29 +03:30
import{_ as xe}from"./BasicMainCard-5dbf2123.js";import{_ as be}from"./BasicModal.vue_vue_type_style_index_0_lang-5a281b97.js";import{_ as ye}from"./BasicTextArea.vue_vue_type_style_index_0_lang-314e342a.js";import{a as te,_ as he,u as G}from"./useBaseTable-0603087a.js";import{_ as ae}from"./BasicInput.vue_vue_type_style_index_0_lang-9081be0a.js";import{_ as ne}from"./button.vue_vue_type_style_index_0_lang-0bce19d5.js";import{_ as we,I as w,d as se,g as I,h as E,v as Ie,D as v,o as P,c as L,F as ke,a,b as c,t as $,p as Ae,w as g,e as H,j as h,G as V,k as X,H as Se}from"./index-293f04b3.js";import{f as Y,a as Re,b as Pe,c as Le,d as Ne,e as Ce}from"./supabaseTableQuery-95762ff3.js";import{t as q}from"./useDataTime-57a8a3f8.js";import{I as z}from"./Icon-143cda7e.js";import{g as Te}from"./index-b2ebe9dd.js";import{e as J,g as W}from"./convert-67c23be8.js";import{T as Q}from"./index-a099f91c.js";import{M as Ue}from"./index-54115afc.js";import{S as ze}from"./index-1fca4b83.js";import{T as O}from"./shallowequal-01da2816.js";import{U as Be}from"./index-dca57a40.js";import"./index-5d736149.js";import"./index-c35faac3.js";import"./Col-96a24c64.js";import"./vnode-1aecf5d6.js";import"./_plugin-vue_export-helper-e06a1ebf.js";import"./isPlainObject-d528b478.js";import"./index-7b3ddc64.js";import"./FormItemContext-aa4f9ccd.js";import"./fa_IR-d598d318.js";import"./toArray-a928867c.js";import"./pickAttrs-78f9c6a8.js";import"./useState-4ab7f1e5.js";import"./lodash-a587ee41.js";import"./index-87832a78.js";import"./usePrice-bc935b83.js";import"./useRefs-98debfb1.js";import"./index-e5115cc8.js";function ie(e,i){return Math.max(0,Math.round(e*(1-(i||0)/100)))}async function Ee(e){const{TableEngineRequest:i}=await we(()=>import("./buildSupabaseQuery-0c131031.js"),["assets/buildSupabaseQuery-0c131031.js","assets/index-293f04b3.js","assets/index-f59f1398.css","assets/supabaseTableQuery-95762ff3.js"]),o={...e};!o.sort&&!o.order&&(o.order="-sort_order");const t=await i(o,"subscription_plans");if(Array.isArray(t==null?void 0:t.rows)){const p=t.rows.map((d,x)=>({...d,index:x,final_price:ie(Number(d.price),Number(d.discount_percent||0))}));return{...t,rows:p}}return t}const $e=new Set(["plan_title","payment_status","status","final_price","expires_at","created_at","user_id","plan_id"]),De=["plan_title","payment_status","status"];async function Me(e){const{limit:i=20,page:o=1,search:t,filters:p}=e;let d=w.from("subscription_purchases").select("*, users(name, phone, first_name, last_name)",{count:"exact"});if(t!=null&&t.trim()){const u=await Y(w,t);d=Re(d,t,De,u)}if(p!=null&&p.length){for(const u of p)if(!(u.hidden||!u.field)){if(u.field==="user_name"||u.field==="user_phone"){if(["eq","has","like"].includes(u.op)){const r=await Y(w,String(u.value));r.length?d=d.in("user_id",r):d=d.eq("user_id","00000000-0000-0000-0000-000000000000")}continue}$e.has(u.field)&&(d=Pe(d,u))}}d=Le(d,e,"-created_at",["created_at","plan_title","payment_status","status"]),d=Ne(d,o,i);const{data:x,error:k,count:m}=await d;if(k)throw k;return Ce(x,m,e,u=>{const r=Array.isArray(u.users)?u.users[0]:u.users;let b="نامشخص";return r!=null&&r.name?b=r.name:r!=null&&r.first_name||r!=null&&r.last_name?b=`${r.first_name||""} ${r.last_name||""}`.trim():r!=null&&r.phone&&(b=r.phone),{...u,user_name:b,user_phone:(r==null?void 0:r.phone)||""}})}async function Fe(e){const{data:i,error:o}=await w.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.duration_days,is_active:e.is_active??!0,sort_order:e.sort_order??0}]).select().single();if(o)throw o;return i}async function Oe(e,i){const{data:o,error:t}=await w.from("subscription_plans").update({title:i.title,description:i.description||null,image_url:i.image_url,price:i.price,discount_percent:i.discount_percent??0,duration_days:i.duration_days,is_active:i.is_active??!0,sort_order:i.sort_order??0,updated_at:new Date().toISOString()}).eq("id",e).select();if(t)throw t;return o}async function qe(e){const{error:i}=await w.from