import{a as h,b as N,o as b}from"./index-Bndk0DrU.chunk.mjs";import{i as E}from"./createElementId-DhjFt1I9-C_WKCRq3.chunk.mjs";import{l as v}from"./index-DCpg1aui.chunk.mjs";import{l as P,_ as D}from"./index-JSJM6V6X.chunk.mjs";import{s,l,N as T,a as $,b as R,P as r}from"./public-Sa--me8z.chunk.mjs";function m(){return v("files_sharing","isPublic",null)??document.querySelector('input#isPublic[type="hidden"][name="isPublic"][value="1"]')!==null}function q(){return v("files_sharing","sharingToken",null)??document.querySelector('input#sharingToken[type="hidden"]')?.value??null}function x(e=""){let n=r.NONE;return e&&(e.includes("G")&&(n|=r.READ),e.includes("W")&&(n|=r.WRITE),e.includes("CK")&&(n|=r.CREATE),e.includes("NV")&&(n|=r.UPDATE),e.includes("D")&&(n|=r.DELETE),e.includes("R")&&(n|=r.SHARE)),n}const g=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:creationdate","d:displayname","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:size"],y={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"};function z(e,n={nc:"http://nextcloud.org/ns"}){s.davNamespaces??={...y},s.davProperties??=[...g];const o={...s.davNamespaces,...n};if(s.davProperties.find(t=>t===e))return l.warn(`${e} already registered`,{prop:e}),!1;if(e.startsWith("<")||e.split(":").length!==2)return l.error(`${e} is not valid. See example: 'oc:fileid'`,{prop:e}),!1;const i=e.split(":")[0];return o[i]?(s.davProperties.push(e),s.davNamespaces=o,!0):(l.error(`${e} namespace unknown`,{prop:e,namespaces:o}),!1)}function C(){return s.davProperties??=[...g],s.davProperties.map(e=>`<${e} />`).join(" ")}function _(){return s.davNamespaces??={...y},Object.keys(s.davNamespaces).map(e=>`xmlns:${e}="${s.davNamespaces?.[e]}"`).join(" ")}function A(){return m()?`/files/${q()}`:`/files/${h()?.uid}`}const S=A();function k(){const e=E("dav");return m()?e.replace("remote.php","public.php"):e}const w=k();function O(e=w,n={}){const o=P(e,{headers:n});function i(t){o.setHeaders({...n,"X-Requested-With":"XMLHttpRequest",requesttoken:t??""})}return b(i),i(N()),D().patch("fetch",(t,a)=>{const c=a.headers;return c?.method&&(a.method=c.method,delete c.method),fetch(t,a)}),o}function U(e,n=S,o=w){let i=h()?.uid;if(m())i=i??"anonymous";else if(!i)throw new Error("No user id found");const t=e.props,a=x(t?.permissions),c=String(t?.["owner-id"]||i),f=t.fileid||0,d=new Date(Date.parse(e.lastmod)),p=new Date(Date.parse(t.creationdate)),u={id:f,source:`${o}${e.filename}`,mtime:!isNaN(d.getTime())&&d.getTime()!==0?d:void 0,crtime:!isNaN(p.getTime())&&p.getTime()!==0?p:void 0,mime:e.mime||"application/octet-stream",displayname:t.displayname!==void 0?String(t.displayname):void 0,size:t?.size||Number.parseInt(t.getcontentlength||"0"),status:f<0?T.FAILED:void 0,permissions:a,owner:c,root:n,attributes:{...e,...t,hasPreview:t?.["has-preview"]}};return delete u.attributes?.props,e.type==="file"?new $(u):new R(u)}export{_ as a,C as b,z as c,w as d,k as e,A as f,O as g,U as r}; //# sourceMappingURL=dav-SmFgKjZ4.chunk.mjs.map