import{a as e,br as t,fr as n,lr as r,pr as i}from"./axios-GfLWCH1-.js";import{i as a,s as o,t as s}from"./ctiAxios-uIjEIJkB.js";import{t as c}from"./useMutation-BmXoCM97.js";import{n as l}from"./favoritesAdapter-l-SLH8oA.js";var u=e=>{let r=e.getElementsByTagName(`HTTP_SERVICE`)[0],a=n(r,`PROFILE`),o=[];return a&&a.length&&a.forEach((e,r)=>{let a=i(e),s={};Object.entries(a).forEach(e=>{e[1]===`true`?s[e[0]]=!0:e[1]===`false`?s[e[0]]=!1:s[e[0]]=e[1]}),s.auths=t(n(e,`AUT`));let c=n(e,`FAVORITE`)[0];s.favorites=[],c&&(s.favorites=l(c,!0)),s.key=r,o.push(s)}),o},d=e=>{let r=e.getElementsByTagName(`HTTP_SERVICE`)[0],a=n(r,`MODULES`)[0],o=n(r,`SECURITY_LEVEL`)[0],s=n(r,`CTIUSRDIR`)[0],c=n(a,`MODULE`),l=[];return c&&c.length&&c.forEach((e,r)=>{let a=i(e),o=n(e,`VIEW`),s=[];o&&o.length&&(s=t(o)),a.views=s,a.key=r,l.push(a)}),{modules:l,securityLevels:t(n(o,`RECORD`)),envs:t(n(s,`ENVIRONMENT`)),ctiusrdir:i(s)}},f=async()=>u(await a(`modules/outils/php/getUsers.php`)),p=async()=>d(await a(`modules/outils/php/httpService_usersManager_getConfig.php`)),m=async(e,t)=>{await a(`modules/outils/php/setUser.php`,{option:`save`,file:t,recordXML:e})},h=async(e,t)=>{await a(`modules/outils/php/setUser.php`,{option:`delete`,file:t,recordXML:e})},g=async(e,t)=>{let n={...t};n.theme=n.theme===!0?`light`:`dark`;let i=new FormData;i.append(`user`,e),i.append(`displaySettings`,JSON.stringify(n));let a=await s({method:`post`,url:r()+`modules/outils/php/httpService_usersManager_updateUserDisplaySettings.php`,data:i,headers:{"Content-Type":`multipart/form-data`}}),o=typeof a.data==`string`?a.data:new TextDecoder().decode(a.data);if(o.startsWith(`KO`))throw Error(o.substring(3))},_=async(e,t,n)=>{let r=(await a(`modules/outils/php/httpService_passwordManager_update.php`,{user:e,password:t,newPassword:n})).getElementsByTagName(`HTTP_SERVICE`)[0],o=i(r);if(o.returnCode!==`OK`)throw Error(o.returnTexte);return o},v={all:[`users`],list:()=>[...v.all,`list`],modules:()=>[...v.all,`modules`]};function y(){let t=e();return c({mutationFn:({userXml:e,file:t})=>m(e,t),meta:{successMessage:`Utilisateur enregistré`,errorMessage:`Erreur lors de l'enregistrement de l'utilisateur`},onSettled:async()=>{await t.invalidateQueries({queryKey:v.list()})}})}function b(){let t=e();return c({mutationFn:({userXml:e,file:t})=>h(e,t),meta:{successMessage:`Utilisateur supprimé`,errorMessage:`Erreur lors de la suppression de l'utilisateur`},onSettled:async()=>{await t.invalidateQueries({queryKey:v.list()})}})}function x(){let t=e();return c({mutationFn:({user:e,displaySettings:t})=>g(e,t),meta:{successMessage:`Préférences enregistrées`,errorMessage:`Erreur lors de la mise à jour des préférences`},onMutate:async({displaySettings:e})=>{await t.cancelQueries({queryKey:o.all});let n=t.getQueryData(o.all),{primaryColor:r,...i}=e;return t.setQueryData(o.all,e=>({...e,user:{...e?.user,...i},...r!==void 0&&{primaryColor:r}})),{previousSettings:n}},onError:(e,n,r)=>{r?.previousSettings&&t.setQueryData(o.all,r.previousSettings)},onSettled:async()=>{await t.invalidateQueries({queryKey:o.all})}})}function S(){return c({mutationFn:({user:e,password:t,newPassword:n})=>_(e,t,n),meta:{successMessage:`Mot de passe modifié`,errorMessage:`Erreur lors de la mise à jour du mot de passe`}})}export{v as a,x as i,y as n,p as o,S as r,f as s,b as t};