1import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{y as t}from"./charts-CxGMTvux.js";import{r as n,t as r}from"./useQuery-6mdqn0zu.js";import{t as i}from"./useMutation-BGDe0AyK.js";import{t as a}from"./client-yey10Ass.js";import{n as o}from"./auth-Bgh7oQiz.js";var s=e(t(),1);function c(){let{user:e}=o();return r({queryKey:[`enterprise`,e?.id],queryFn:async()=>{if(!e)return null;let{data:t,error:n}=await a.rpc(`get_user_enterprise_id`,{_user_id:e.id});if(n||!t)return null;let{data:r,error:i}=await a.from(`enterprises`).select(`*`).eq(`id`,t).maybeSingle();if(i)throw i;return r??null},enabled:!!e,refetchOnWindowFocus:!0,staleTime:5*6e4})}function l(){let{user:e}=o(),{data:t}=c();return r({queryKey:[`is-enterprise-admin`,e?.id,t?.id],queryFn:async()=>{if(!e||!t)return!1;let{data:n,error:r}=await a.rpc(`is_enterprise_admin`,{_user_id:e.id,_enterprise_id:t.id});return r?!1:!!n},enabled:!!e&&!!t,staleTime:5*6e4})}function u(){let{data:e}=c(),{data:t}=l(),r=n(),i=(0,s.useRef)(!1);(0,s.useEffect)(()=>{i.current||!e||!t||e.service_library_initialized_at||(i.current=!0,(async()=>{try{let t=await a.functions.invoke(`seed-default-templates`,{body:{enterpriseId:e.id}});if(t.error||t.data?.error){i.current=!1;return}await a.from(`enterprises`).update({service_library_initialized_at:new Date().toISOString()}).eq(`id`,e.id),r.invalidateQueries({queryKey:[`enterprise`]}),r.invalidateQueries({queryKey:[`service-templates`]})}catch{i.current=!1}})())},[e,t,r])}function d(){let{data:e}=c();return r({queryKey:[`enterprise-shops`,e?.id],queryFn:async()=>{if(!e)return[];let{data:t,error:n}=await a.from(`organizations`).select(`id, name, phone, enterprise_id, subscription_status, subscription_tier, billing_interval, base_seats, additional_seats, seats_total, stripe_subscription_id, current_period_end, carfax_status`).eq(`enterprise_id`,e.id).order(`created_at`,{ascending:!0});if(n)throw n;return t??[]},enabled:!!e,staleTime:6e4})}function f(){let e=n();return i({mutationFn:async e=>{let{data:{session:t}}=await a.auth.getSession();if(!t)throw Error(`Not authenticated`);let n=await a.functions.invoke(`create-shop`,{body:e});if(n.error)throw Error(n.error.message||`Failed to create shop`);if(n.data?.error)throw Error(n.data.error);return n.data},onSuccess:()=>{e.invalidateQueries({queryKey:[`enterprise-shops`]}),e.invalidateQueries({queryKey:[`pending-invitations`]}),e.invalidateQueries({queryKey:[`enterprise`]})}})}function p(){let e=n();return i({mutationFn:async({shopId:e,phone:t})=>{let{error:n}=await a.from(`organizations`).update({phone:t}).eq(`id`,e);if(n)throw n},onSuccess:()=>{e.invalidateQueries({queryKey:[`enterprise-shops`]})}})}function m(){let{data:e}=c(),t=n();return i({mutationFn:async t=>
1{if(!e?.id)throw Error(`No enterprise found`);let{error:n}=await a.from(`enterprises`).update({custom_logo_url:t}).eq(`id`,e.id);if(n)throw n},onSuccess:()=>{t.invalidateQueries({queryKey:[`enterprise`]})}})}function h(){let{data:e}=c(),t=n();return i({mutationFn:async t=>{if(!e?.id)throw Error(`No enterprise found`);let{error:n}=await a.from(`enterprises`).update({prompt_customizations:t}).eq(`id`,e.id);if(n)throw n},onSuccess:()=>{t.invalidateQueries({queryKey:[`enterprise`]})}})}export{l as a,p as c,d as i,f as n,m as o,c as r,h as s,u as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.