PageSourceSearch

https://horizoncrm.ca/_assets/usePlatformContract-DCLqTJ2v.js

js horizoncrm.ca collected 2026-10-02 01:19:19 UTC 3,880 bytes, 1 lines download raw bytes

1import{g as p,S as n,o as s,p as h,s as c,k as C,f as d,A as l,aq as i}from"./vendor-QOkwwy6v.js";import{b as w}from"./index-B5Va5PI-.js";const m=["platform-contract","has-accepted"],x=()=>{const{authState:o}=w();return p({queryKey:m,queryFn:async()=>{const e=await fetch("/_api/platform-contract/has-accepted",{method:"GET",headers:{"Content-Type":"application/json"}});if(!e.ok){const r=n.parse(await e.text()),t=r&&typeof r=="object"&&"error"in r&&typeof r.error=="string"?r.error:"Failed to check contract acceptance status";throw new Error(t)}return n.parse(await e.text())},enabled:(o.type==="authenticated"||o.type==="subscription_expired")&&!!o.user.companyId,staleTime:1e3*60*5})};s({});const E=async(o,e)=>{const r=await fetch("/_api/admin/platform-contract",{method:"GET",...e,headers:{"Content-Type":"application/json"}});if(!r.ok){const t=n.parse(await r.text()),a=t&&typeof t=="object"&&"error"in t&&typeof t.error=="string"?t.error:"Failed to fetch platform contracts";throw new Error(a)}return n.parse(await r.text())},T=s({titleFr:c().min(1,"French title is required"),titleEn:c().min(1,"English title is required"),contentFr:c().min(1,"French content is required"),contentEn:c().min(1,"English content is required"),createNewVersion:h().optional()}),g=async(o,e)=>{const r=T.parse(o),t=await fetch("/_api/admin/platform-contract",{method:"POST",body:n.stringify(r),...e,headers:{"Content-Type":"application/json"}});if(!t.ok){const a=n.parse(await t.text()),u=a&&typeof a=="object"&&"error"in a&&typeof a.error=="string"?a.error:"Failed to update platform contract";throw new Error(u)}return n.parse(await t.text())};s({});const A=async(o,e)=>{const r=await fetch("/_api/admin/platform-contract/acceptances",{method:"GET",...e,headers:{"Content-Type":"application/json"}});if(!r.ok){const t=n.parse(await r.text()),a=t&&typeof t=="object"&&"error"in t&&typeof t.error=="string"?t.error:"Failed to fetch contract acceptances";throw new Error(a)}return n.parse(await r.text())};s({});const b=async(o,e)=>{const r=await fetch("/_api/platform-contract/active",{method:"GET",...e,headers:{"Content-Type":"application/json"}});if(!r.ok){const t=n.parse(await r.text()),a=t&&typeof t=="object"&&"error"in t&&typeof t.error=="string"?t.error:"Failed to fetch active contract";throw new Error(a)}return n.parse(await r.text())},_=s({contractId:C(),signatureData:c().min(1,"Signature data is required"),signerName:c().min(1,"Signer name is required"),signerEmail:c().email("Invalid email address")}),j=async(o,e)=>{const r=_.parse(o),t=await fetch("/_api/platform-contract/accept",{method:"POST",body:n.stringify(r),...e,headers:{"Content-Type":"application/json"}});if(!t.ok){const a=n.parse(await t.text()),u=a&&typeof a=="object"&&"error"in a&&typeof a.error=="string"?a.error:"Failed to accept contract";throw new Error(u)}return n.parse(await t.text())},y=["admin","platform-contract"],F=["admin","platform-contract","acceptances"],f=["platform-contract","active"],v=()=>p({queryKey:f,queryFn:()=>b(),staleTime:1e3*60*60}),M=()=>p({queryKey:y,queryFn:()=>E()}),P=()=>p({queryKey:F,queryFn:()=>A()}),S=()=>{const o=d();return l({mutationFn:e=>g(e),onSuccess:()=>{i.success("Contrat de plateforme mis à jour avec succès !"),o.invalidateQueries({queryKey:y}),o.invalidateQueries({queryKey:f})},onError:e=>{console.error("Failed to update platform contract:",e);const r=e instanceof Error?e.message:"An unknown error occurred.";i.error(`Échec de la mise à jour du contrat : ${r}`)}})},K=()=>{const o=d();return l({mutationFn:e=>j(e),onSuccess:()=>{i.success("Contrat accepté avec succès !"),o.invalidateQueries({queryKey:m})},onError:e=>{console.error("Failed to accept contract:",e);const r=e instanceof Error?e.message:"An unknown error occurred.";i.error(`Échec de l'acceptation du contrat : ${r}`)}})};export{m as H,M as a,S as b,P as c,K as d,x as e,v as u};

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.