import{f as e,n as t,r as n}from"./apiFetch-C4rLkcBG.js";var r=e(`/associations`),i=e(`/users`);function a(e){let t=e?.siege??{};return{id:e?.complements?.identifiant_association||e?.siren||``,titre:e?.nom_complet||e?.nom_raison_sociale||``,titre_court:e?.sigle||void 0,adresse:{commune:t?.libelle_commune||void 0,code_postal:t?.code_postal||void 0,departement:t?.departement||void 0,numero_voie:t?.numero_voie||void 0,type_voie:t?.type_voie||void 0,libelle_voie:t?.libelle_voie||void 0}}}var o={async searchRNA(e){let t=`https://recherche-entreprises.api.gouv.fr/search?q=${encodeURIComponent(e)}&est_association=true&per_page=8&page=1`,n=await fetch(t);if(!n.ok)throw Error(`RNA search failed: ${n.status}`);let r=await n.json();return(Array.isArray(r?.results)?r.results:[]).map(a)},async getAssociations(e){return t(n(r,e))},async getAssociation(e){return t(`${r}/${e}`)},async createAssociation(e){return t(r,{method:`POST`,body:e})},async updateAssociation(e,n){return t(`${r}/${e}`,{method:`PUT`,body:n})},async deleteAssociation(e){await t(`${r}/${e}`,{method:`DELETE`})},async joinAssociation(e){return t(`${r}/${e}/join`,{method:`POST`,body:{}})},async leaveAssociation(e){await t(`${r}/${e}/leave`,{method:`POST`,body:{}})},async getMembers(e,i,a){return t(n(`${r}/${e}/members`,{page:i,page_size:a}))},async updateMemberRole(e,n,i){return t(`${r}/${e}/members/${n}/role`,{method:`PUT`,body:{role:i}})},async removeMember(e,n){await t(`${r}/${e}/members/${n}`,{method:`DELETE`})},async requestToJoin(e,n){return t(`${r}/${e}/join-requests`,{method:`POST`,body:{message:n||``}})},async listJoinRequests(e){return(await t(`${r}/${e}/join-requests`)).join_requests||[]},async reviewJoinRequest(e,n,i){return t(`${r}/${e}/join-requests/${n}`,{method:`PATCH`,body:{status:i}})},async getPendingJoinRequestCount(e){return(await t(`${r}/${e}/join-requests/count`)).count??0},async generateInvitation(e,n){return t(`${r}/${e}/invitations`,{method:`POST`,body:n||{}})},async listInvitations(e){return(await t(`${r}/${e}/invitations`)).invitations||[]},async revokeInvitation(e,n){await t(`${r}/${e}/invitations/${n}`,{method:`DELETE`})},async useInvitation(e){return(await t(`${r}/join/${e}`,{method:`POST`,body:{}})).member},async getUserAssociations(e){try{return(await t(`${i}/${e}/associations`)).associations||[]}catch{return[]}}};export{o as t};