2 lines
1.6 KiB
JavaScript
2 lines
1.6 KiB
JavaScript
import{a7 as F,r as S,bR as u,bS as g,bT as k,bU as D,b3 as R}from"./main-BhFWIRV_.js";function b(){const{getDjangoUrl:s}=F(),o=S(!1);function f(i,r,n){let t=new FormData;t.append("name",i),r!=null&&t.append("file",r),o.value=!0;let e=s("api/user-file/"),p="POST";return n&&(e+=`${n}/`,p="PUT"),fetch(e,{method:p,headers:{"X-CSRFToken":u("csrftoken")},body:t}).then(a=>{if(a.ok)return a.json().then(l=>D(l));throw new R(a)}).finally(()=>{o.value=!1})}function d(i,r,n){let t=new FormData;return r!=null&&t.append("image",r),n&&t.append("image_url",n),fetch(s(`api/recipe/${i}/image/`),{method:"PUT",headers:{"X-CSRFToken":u("csrftoken")},body:t}).then(e=>e.json().then(p=>k(p))).finally(()=>{o.value=!1})}function m(i,r,n="",t=""){let e=new FormData;return r!=null?e.append("file",r):e.append("file",""),e.append("text",n),e.append("recipe_id",t),e.append("ai_provider_id",i),o.value=!0,fetch(s("api/ai-import/"),{method:"POST",headers:{"X-CSRFToken":u("csrftoken")},body:e}).then(p=>p.json().then(a=>g(a))).finally(()=>{o.value=!1})}function c(i,r,n,t=!0,e=!0,p=!1){o.value=!0;let a=new FormData;return a.append("type",r),a.append("duplicates",n?"true":"false"),a.append("meal_plans",t?"true":"false"),a.append("shopping_lists",e?"true":"false"),a.append("nutrition_per_serving",p?"true":"false"),i.forEach(l=>{a.append("files",l)}),fetch(s("api/import/"),{method:"POST",headers:{"X-CSRFToken":u("csrftoken")},body:a}).then(l=>l.json().then(h=>h.import_id)).finally(()=>{o.value=!1})}return{fileApiLoading:o,createOrUpdateUserFile:f,updateRecipeImage:d,doAiImport:m,doAppImport:c}}export{b as u};
|