`).eq("id",e).single();if(r)throw r;return C(t)}async function se(e){var o,s;const t=F()||localStorage.getItem("tamin_token")||localStorage.getItem("token")||"";if(!t)throw new Error("توکن احراز هویت یافت نشد");const r=new FormData;r.append("file",e);const a=await fetch(`${O}/upload/machartaa-img`,{method:"POST",headers:{Authorization:`Bearer${t}`},body:r});if(!a.ok)throw new Error("خطا در آپلود تصویر");const n=await a.json(),u=n.full_src||n.url||n.src||n.path||((o=n.data)==null?void 0:o.full_src)||((s=n.data)==null?void 0:s.url);if(!u)throw new Error("مسیر فایل از سرور دریافت نشد");return $(u)}async function ie(e){const t=e.content.trim();if(!t&&!(e.attachments||[]).length)throw new Error("متن پاسخ یا تصویر الزامی است");const r=new Date().toISOString(),a=e.attachments||[],{data:n,error:u}=await i.from("support_tickets").select("id, user_id, unread_by_user").eq("id",e.ticketId).single();if(u)throw u;const{data:o,error:s}=await i.from("support_ticket_messages").insert([{ticket_id:e.ticketId,sender_type:"admin",sender_id:e.adminId||null,content:t||" ",attachments:a}]).select("*").single();if(s)throw s;const{error:d}=await i.from("support_tickets").update({status:"answered",admin_queue:"answered",admin_note:t||null,admin_attachments:a,unread_by_user:((n==null?void 0:n.unread_by_user)??0)+1,updated_at:r}).eq("id",e.ticketId);if(d)throw d;const p=n==null?void 0:n.user_id;return p&&L("پاسخ تیکت پشتیبانی","کارشناس ماچارتا به تیکت شما پاسخ داده است. برای دیدن پاسخ اینجا بزنید.",[p],`/support-ticket/${e.ticketId}`).catch(f=>{console.error("support ticket reply push failed:",f)}),{...o,attachments:g(o.attachments)}}async function oe(e){const t=new Date().toISOString(),{data:r,error:a}=await i.from("support_tickets").update({status:"closed",admin_queue:"closed",updated_at:t}).eq("id",e).select();if(a)throw a;return r}async function ue(e){const t=new Date().toISOString(),{data:r,error:a}=await i.from("support_tickets").update({admin_queue:"spam",updated_at:t}).eq("id",e).select();if(a)throw a;return r}async function ce(e){const t=new Date().toISOString(),r=e.status==="closed"?"closed":e.status==="answered"||e.status==="reviewed"?"answered":"new",{data:a,error:n}=await i.from("support_tickets").update({admin_queue:r,updated_at:t}).eq("id",e.id).select();if(n)throw n;return a}export{G as a,K as b,X as c,Y as d,I as e,Q as f,te as g,H as h,W as i,re as j,ne as k,ae as l,ee as m,se as n,ue as o,ce as p,oe as q,U as r,Z as s,z as t,J as u,ie as v};