1import{n as e}from"./rolldown-runtime-C0FnF6B9.js";import{bt as t,xt as n}from"./vendor-D1JlsGpU.js";import{d as r,g as i,l as a,o,p as s,s as c}from"./base.api-DpjJHIXP.js";import{t as l}from"./resource.api-DI7AjwFJ.js";import{a as u,s as d}from"./resource.types-BROgCoAm.js";import{a as f,c as p,i as m,o as h,r as g,s as _,t as v}from"./resource-DUfG9v3z.js";import{n as y,t as b}from"./resource-equipment.api-B0LEifga.js";import{n as x}from"./resource-approval.types-C-nKDzw1.js";var S,C;function w(){return(w=e((()=>{i(),S=class{BASE_PATH=`/resources`;async getResources(e){try{let t=new URLSearchParams,n=Math.max(1,Math.min(100,e?.limit||24)),r=Math.max(0,e?.offset||0);t.append(`limit`,n.toString()),t.append(`offset`,r.toString()),e?.query&&e.query.trim()&&t.append(`search`,e.query.trim()),e?.labId&&t.append(`labId`,e.labId),e?.type&&e.type!==`all`&&t.append(`type`,e.type),e?.status&&e.status!==`all`&&t.append(`status`,e.status),e?.createdBy&&t.append(`createdBy`,e.createdBy);let i=`${this.BASE_PATH}?${t.toString()}`,a=await c(i);return a?.success?a.data:a}catch(e){throw e}}async searchResources(e,t=20){try{let n=new URLSearchParams;n.append(`query`,e),n.append(`limit`,t.toString());let r=`${this.BASE_PATH}/search?${n.toString()}`,i=await c(r);return i?.success?i.data:i}catch(e){throw e}}async countResources(e){try{let t=new URLSearchParams;e&&t.append(`type`,e);let n=`${this.BASE_PATH}/count?${t.toString()}`,r=await c(n);return r?.success?r.data:r}catch(e){throw e}}async getResourceById(e){try{let t=`${this.BASE_PATH}/${e}`,n=await c(t);return n?.success?n.data:n}catch(e){throw e}}async getCompleteResource(e){try{let t=`${this.BASE_PATH}/${e}`,n=await c(t);return n?.success?n.data:n}catch(e){throw e}}async getResourceCategories(e){try{let t=`${this.BASE_PATH}/${e}/categories`,n=await c(t);return n?.success?n.data:n}catch(e){throw e}}async createResource(e){try{let t=`${this.BASE_PATH}`,n=await r(t,e);return n?.success?n.data:n}catch(e){throw e}}async updateResource(e,t){try{let n=`${this.BASE_PATH}/${e}`,r=await s(n,t);return r?.success?r.data:r}catch(e){throw e}}async deleteResource(e){try{let t=`${this.BASE_PATH}/${e}`;await o(t)}catch(e){throw e}}async uploadResourceImage(e){try{let t=new FormData;if(e.imageData instanceof File)t.append(`image`,e.imageData,e.fileName||e.imageData.name);else{let n=new Blob([e.imageData]);t.append(`image`,n,e.fileName||`image`)}t.append(`order`,e.order.toString());let n=`${this.BASE_PATH}/${e.resourceId}/images`,r=await a(n,t,`POST`);return r?.success?r.data:r}catch(e){throw e}}},new S,C={staleTime:3e5,gcTime:6e5}})))()}function T(e){return typeof e==`object`&&!!e&&e.restricted===!0}var E,D,O;function k(){return(k=e((()=>{t(),v(),m(),p(),y(),h(),w(),d(),E=(e,t)=>[`resource`,e,`complete`,t??null],D=45e3,O=(e,t,r)=>{let i=r?.view,a=r?.enabled??!0,o=n({queryKey:E(e,i),queryFn:async()=>{if(!e)throw Error(`Resource ID is required`);let{type:t}=await l.getType(e);switch(t){case u.SERVICE:return await g.getById(e,{view:i});case u.ITEM:return await _.getById(e);case u.EQUIPMENT:return await b.getById(e);case u.DIGITAL:return await f.getById(e);case u.LAB_SPACE:return await l.getById(e,{view:i});default:throw Error(`Unknown resource type: ${t}`)}},...C,enabled:!!e&&a,initialData:t,initialDataUpdatedAt:t?t.type===u.EQUIPMENT||x(t)?0:Date.now():void 0,refetchInterval:e=>T(e.state.data)&&e.state.data.accessRequest?.status===`pending`?D:!1}),s=o.data,c=T(s)?s:null,d=x(s)?s:null;return{resource:!s||T(s)?null:s,restricted:c,approvalStub:d,isLoading:o.isLoading,error:o.error||null,refetch:o.refetch}}})))()}export{w as i,E as n,O as r,k as t};
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.