veza/apps/web/dist_verification/assets/users-DDt25V_U.js
2026-02-07 20:36:48 +01:00

1 line
2.8 KiB
JavaScript

import{a as t}from"./index-D2uzyr9g.js";import{q as u}from"./vendor-fFnFILYR.js";async function l(r){return(await t.get(`/users/${r}`)).data.profile}async function p(r){const e=await t.get(`/users/by-username/${r}`);return e.data.profile||e.data}async function f(r,e){const s=await t.put(`/users/${r}`,e);return s.data.profile||s.data}async function d(r){return(await t.get(`/users/${r}/completion`)).data}async function w(r){return(await t.post(`/users/${r}/follow`)).data}async function g(r){return(await t.delete(`/users/${r}/follow`)).data}async function h(r,e=1,s=20){return(await t.get(`/users/${r}/followers`,{params:{page:e,limit:s}})).data}async function m(r,e=1,s=20){return(await t.get(`/users/${r}/following`,{params:{page:e,limit:s}})).data}async function E(r){try{return(await t.get(`/users/${r}/settings`)).data}catch(e){if(e instanceof u){if(e.response?.status===401)throw new Error("Unauthorized: Please log in to access settings");if(e.response?.status===403)throw new Error("Forbidden: You cannot access these settings");if(e.response?.status===404)throw new Error("Settings not found");const s=e.response?.data?.error||e.message||"Failed to fetch settings";throw new Error(s)}throw e}}async function y(r,e){try{await t.put("/users/settings",e)}catch(s){if(s instanceof u){if(s.response?.status===400){const o=s.response?.data?.error||"Invalid settings data";throw new Error(o)}if(s.response?.status===401)throw new Error("Unauthorized: Please log in to update settings");if(s.response?.status===403)throw new Error("Forbidden: You cannot update these settings");if(s.response?.status===404)throw new Error("Settings not found");const a=s.response?.data?.error||s.message||"Failed to update settings";throw new Error(a)}throw s}}class i extends Error{constructor(e,s){super(e),this.code=s,this.name="AvatarUploadError"}}async function $(r,e,s){const a=new FormData;a.append("avatar",e);try{return(await t.post(`/users/${r}/avatar`,a,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress:n=>{if(n.total&&s){const c=Math.round(n.loaded*100/n.total);s(c)}}})).data}catch(o){if(o instanceof u){if(o.response){const n=o.response.status;throw n===400?new i(o.response.data?.error||"Format ou taille de fichier invalide","VALIDATION"):n===413?new i("Fichier trop volumineux (max 5MB)","VALIDATION"):n>=500?new i("Erreur serveur. Veuillez réessayer.","SERVER"):new i(o.response.data?.error||"Erreur lors de l'upload","SERVER")}else if(o.request)throw new i("Erreur de connexion. Vérifiez votre connexion internet.","NETWORK")}throw new i("Erreur inconnue","UNKNOWN")}}async function v(r){await t.delete(`/users/${r}/avatar`)}const U={getProfile:l,getProfileByUsername:p,updateProfile:f,calculateProfileCompletion:d,follow:w,unfollow:g,getFollowers:h,getFollowing:m,getSettings:E,updateSettings:y,uploadAvatar:$,deleteAvatar:v};export{g as a,w as f,l as g,U as u};