2026-10-04 13:31:09 +03:30
|
|
|
import{O as f,_ as E,I as m,J as w,K as g}from"./index-c678e119.js";import{formatTableResult as L}from"./supabaseTableQuery-e9feb810.js";const V="*, product_attributes(*, attributes(*)), variants(*, variant_attribute_values(*))",O=new Set(["description","price","sku","is_active","code","title","title_fa","brand_id","collection_id","body","original_image","is_show","display_price","count_order","count_fav","count_view","count","seo_title","meta","min_price","max_price","type","files","owner_id","discount","discount_type","box_size","sell_type","weight","product_type","rial_fee","percent_fee","auto_calculate","is_exist","post_shipping_cost","max_qty_per_order"]);function P(t){var e;return(((e=t.variants)==null?void 0:e.length)??0)>0||t.type==="variant"}function v(t,e){const n=t.price!=null?Number(t.price):0;return n>0?n:Number(e??0)}function R(t,e,n){const i=t.discount!=null?Number(t.discount):0;if(i>0)return{discount:i,discount_type:t.discount_type??"percent"};const s=e!=null?Number(e):0;return s>0?{discount:s,discount_type:n??"percent"}:{discount:null,discount_type:null}}function S(t,e,n,i){const s=t.map(o=>v(o,i)),r=s.length?Math.min(...s):0,u=s.length?Math.max(...s):0;if((e??0)>0){const o=t.map(c=>b(v(c,i),e,n??"percent")),a=t.map(c=>{const d=v(c,i),_=R(c,e,n);return b(d,_.discount,_.discount_type)});return{price:r,display_price:o.length?Math.min(...o):r,min_price:a.length?Math.min(...a):r,max_price:a.length?Math.max(...a):u,discount:e??null,discount_type:n??"percent"}}return{price:r,display_price:r,min_price:r,max_price:u,discount:null,discount_type:null}}function A(t){const e=P(t),n=new Set(["count","display_price","min_price","max_price","price"]),i={};for(const[s,r]of Object.entries(t))!O.has(s)||r===void 0||e&&n.has(s)||(i[s]=r);if(i.type=e?"variant":"simple",i.max_qty_per_order!=null){const s=Number(i.max_qty_per_order);i.max_qty_per_order=Number.isFinite(s)&&s>0?s:null}if(e){const s=t.variants??[],r=t.discount!=null?Number(t.discount):null,u=t.discount?t.discount_type??"percent":null,l=t.price!=null?Number(t.price):null,o=S(s,r,u,l),a=s.map(c=>Number(c.stock??0));i.price=o.price,i.discount=o.discount,i.discount_type=o.discount_type,i.count=a.reduce((c,d)=>c+d,0),i.display_price=o.display_price,i.min_price=o.min_price,i.max_price=o.max_price,i.is_exist=a.length?a.some(c=>c>0):t.is_exist??!0}else{const s=Number(t.price??0),r=t.discount!=null?Number(t.discount):null,u=t.discount_type??"percent";i.price=s,i.display_price=b(s,r,u),i.min_price=i.display_price,i.max_price=i.display_price}return i}function b(t,e,n){const i=Number(t??0),s=Number(e??0);return s?n==="percent"?Math.max(0,Math.round(i*(100-s)/100)):Math.max(0,i-s):i}function k(t){if(t==null||t==="")return null;const e=Number(t);return Number.isFinite(e)?e:null}function F(t=[]){return[...t].sort((e,n)=>{const i=e.sort_order??Number(e.id??0),s=n.sort_order??Number(n.id??0);return i!==s?i-s:Number(e.id??0)-Number(n.id??0)})}function C(t){const e=((t==null?void 0:t.variant_attribute_values)??[]).map(n=>{var i;return n.attribute_value_id??((i=n.attribute_values)==null?void 0:i.id)}).filter(n=>n!=null);return{id:k(t.id),sku:t.sku??"",price:t.price??0,box_price:t.box_price??t.price??0,stock:t.stock??0,discount:t.discount??void 0,discount_type:t.discount_type??"percent",is_default:t.is_default??!1,sort_order:t.sort_order??null,attribute_values:e,attribute_values_name:[]}}function M(t){const e=new Map;for(const n of t){if(n.attribute_id==null)continue;const i=(n.attribute_values??[]).filter(r=>r!=null),s=e.get(n.attribute_id);if(!s){e.set(n.attribute_id,{id:n.id,attribute_id:n.attribute_id,use_in_product_page:n.use_in_product_page??!0,use_in_variant:n.use_in_variant??!1,attribute_values:[...i]});continue}s.attribute_values=[...new Set([...s.attribute_values??[],...i])],s.use_in_variant=s.use_in_variant||n.use_in_variant,s.use_in_product_page=s.use_in_product_page||n.use_in_product_page}return[...e.values()]}function z(t){const e=(t==null?void 0:t.variants)??[];return e.length>0?e.reduce((n,i)=>n+Number(i.stock??0),0):Number((t==null?void 0:t.count)??0)}function y(t)
|