server/dist/core-files_client.js

3 lines
12 KiB
JavaScript

/*! For license information please see core-files_client.js.LICENSE.txt */
(()=>{"use strict";var e,t={7913:(e,t,s)=>{var n=s(95573),i=s.n(n),r=s(64492),o=s(19755);!function(e,t){var s=function(t){this._root=t.root,"/"===this._root.charAt(this._root.length-1)&&(this._root=this._root.substr(0,this._root.length-1));let n=s.PROTOCOL_HTTP+"://";t.useHTTPS&&(n=s.PROTOCOL_HTTPS+"://"),n+=t.host+this._root,this._host=t.host,this._defaultHeaders=t.defaultHeaders||{"X-Requested-With":"XMLHttpRequest",requesttoken:e.requestToken},this._baseUrl=n;const i={baseUrl:this._baseUrl,xmlNamespaces:{"DAV:":"d","http://owncloud.org/ns":"oc","http://nextcloud.org/ns":"nc","http://open-collaboration-services.org/ns":"ocs"}};t.userName&&(i.userName=t.userName),t.password&&(i.password=t.password),this._client=new dav.Client(i),this._client.xhrProvider=r.bind(this._xhrProvider,this),this._fileInfoParsers=[]};s.NS_OWNCLOUD="http://owncloud.org/ns",s.NS_NEXTCLOUD="http://nextcloud.org/ns",s.NS_DAV="DAV:",s.NS_OCS="http://open-collaboration-services.org/ns",s.PROPERTY_GETLASTMODIFIED="{"+s.NS_DAV+"}getlastmodified",s.PROPERTY_GETETAG="{"+s.NS_DAV+"}getetag",s.PROPERTY_GETCONTENTTYPE="{"+s.NS_DAV+"}getcontenttype",s.PROPERTY_RESOURCETYPE="{"+s.NS_DAV+"}resourcetype",s.PROPERTY_INTERNAL_FILEID="{"+s.NS_OWNCLOUD+"}fileid",s.PROPERTY_PERMISSIONS="{"+s.NS_OWNCLOUD+"}permissions",s.PROPERTY_SIZE="{"+s.NS_OWNCLOUD+"}size",s.PROPERTY_GETCONTENTLENGTH="{"+s.NS_DAV+"}getcontentlength",s.PROPERTY_ISENCRYPTED="{"+s.NS_DAV+"}is-encrypted",s.PROPERTY_SHARE_PERMISSIONS="{"+s.NS_OCS+"}share-permissions",s.PROPERTY_QUOTA_AVAILABLE_BYTES="{"+s.NS_DAV+"}quota-available-bytes",s.PROTOCOL_HTTP="http",s.PROTOCOL_HTTPS="https",s._PROPFIND_PROPERTIES=[[s.NS_DAV,"getlastmodified"],[s.NS_DAV,"getetag"],[s.NS_DAV,"getcontenttype"],[s.NS_DAV,"resourcetype"],[s.NS_OWNCLOUD,"fileid"],[s.NS_OWNCLOUD,"permissions"],[s.NS_OWNCLOUD,"size"],[s.NS_DAV,"getcontentlength"],[s.NS_DAV,"quota-available-bytes"],[s.NS_NEXTCLOUD,"has-preview"],[s.NS_NEXTCLOUD,"mount-type"],[s.NS_NEXTCLOUD,"is-encrypted"],[s.NS_OCS,"share-permissions"]],s.prototype={_root:null,_client:null,_fileInfoParsers:[],_xhrProvider:function(){const t=this._defaultHeaders,s=new XMLHttpRequest,n=s.open;return s.open=function(){const e=n.apply(this,arguments);return r.each(t,(function(e,t){s.setRequestHeader(t,e)})),e},e.registerXHRForErrorProcessing(s),s},_buildUrl:function(){let e=this._buildPath.apply(this,arguments);return"/"===e.charAt([e.length-1])&&(e=e.substr(0,e.length-1)),"/"===e.charAt(0)&&(e=e.substr(1)),this._baseUrl+"/"+e},_buildPath:function(){let t=e.joinPaths.apply(this,arguments);const s=t.split("/");let n;for(n=0;n<s.length;n++)s[n]=encodeURIComponent(s[n]);return t=s.join("/"),t},_parseHeaders:function(e){const t=e.split("\n"),s={};for(let e=0;e<t.length;e++){const n=t[e].indexOf(":");if(n<0)continue;const i=t[e].substr(0,n),r=t[e].substr(n+2);s[i]||(s[i]=[]),s[i].push(r)}return s},_parseEtag:function(e){return'"'===e.charAt(0)?e.split('"')[1]:e},_parseFileInfo:function(n){let i=decodeURIComponent(n.href);if(i.substr(0,this._root.length)===this._root&&(i=i.substr(this._root.length)),"/"===i.charAt(i.length-1)&&(i=i.substr(0,i.length-1)),0===n.propStat.length||"HTTP/1.1 200 OK"!==n.propStat[0].status)return null;const o=n.propStat[0].properties,a={id:o[s.PROPERTY_INTERNAL_FILEID],path:e.dirname(i)||"/",name:e.basename(i),mtime:new Date(o[s.PROPERTY_GETLASTMODIFIED]).getTime()},c=o[s.PROPERTY_GETETAG];r.isUndefined(c)||(a.etag=this._parseEtag(c));let l=o[s.PROPERTY_GETCONTENTLENGTH];r.isUndefined(l)||(a.size=parseInt(l,10)),l=o[s.PROPERTY_SIZE],r.isUndefined(l)||(a.size=parseInt(l,10));const u=o["{"+s.NS_NEXTCLOUD+"}has-preview"];r.isUndefined(u)?a.hasPreview=!0:a.hasPreview="true"===u;const p=o["{"+s.NS_NEXTCLOUD+"}is-encrypted"];r.isUndefined(p)?a.isEncrypted=!1:a.isEncrypted="1"===p;const h=o["{"+s.NS_OWNCLOUD+"}favorite"];r.isUndefined(h)?a.isFavourited=!1:a.isFavourited="1"===h;const d=o[s.PROPERTY_GETCONTENTTYPE];r.isUndefined(d)||(a.mimetype=d);const _=o[s.PROPERTY_RESOURCETYPE];if(!a.mimetype&&_){const e=_[0];e.namespaceURI===s.NS_DAV&&"collection"===e.nodeName.split(":")[1]&&(a.mimetype="httpd/unix-directory")}a.permissions=e.PERMISSION_NONE;const f=o[s.PROPERTY_PERMISSIONS];if(!r.isUndefined(f)){const t=f||"";a.mountType=null;for(let s=0;s<t.length;s++)switch(t.charAt(s)){case"C":case"K":a.permissions|=e.PERMISSION_CREATE;break;case"G":a.permissions|=e.PERMISSION_READ;break;case"W":case"N":case"V":a.permissions|=e.PERMISSION_UPDATE;break;case"D":a.permissions|=e.PERMISSION_DELETE;break;case"R":a.permissions|=e.PERMISSION_SHARE;break;case"M":a.mountType||(a.mountType="external");break;case"S":a.mountType="shared"}}const S=o[s.PROPERTY_SHARE_PERMISSIONS];r.isUndefined(S)||(a.sharePermissions=parseInt(S));const P=o["{"+s.NS_NEXTCLOUD+"}mount-type"];r.isUndefined(P)||(a.mountType=P);const E=o["{"+s.NS_DAV+"}quota-available-bytes"];return r.isUndefined(E)||(a.quotaAvailableBytes=E),r.each(this._fileInfoParsers,(function(e){r.extend(a,e(n,a)||{})})),new t(a)},_parseResult:function(e){const t=this;return r.map(e,(function(e){return t._parseFileInfo(e)}))},_isSuccessStatus:function(e){return e>=200&&e<=299},_getSabreException:function(e){const t={},s=e.xhr.responseXML;if(null===s)return t;const n=s.getElementsByTagNameNS("http://sabredav.org/ns","message"),i=s.getElementsByTagNameNS("http://sabredav.org/ns","exception");return n.length&&(t.message=n[0].textContent),i.length&&(t.exception=i[0].textContent),t},getPropfindProperties:function(){return this._propfindProperties||(this._propfindProperties=r.map(s._PROPFIND_PROPERTIES,(function(e){return"{"+e[0]+"}"+e[1]}))),this._propfindProperties},getFolderContents:function(e,t){e||(e=""),t=t||{};const s=this,n=o.Deferred(),i=n.promise();let a;return a=r.isUndefined(t.properties)?this.getPropfindProperties():t.properties,this._client.propFind(this._buildUrl(e),a,1).then((function(e){if(s._isSuccessStatus(e.status)){const i=s._parseResult(e.body);t&&t.includeParent||i.shift(),n.resolve(e.status,i)}else e=r.extend(e,s._getSabreException(e)),n.reject(e.status,e)})),i},getFilteredFiles:function(e,t){t=t||{};const s=this,n=o.Deferred(),a=n.promise();let c;if(c=r.isUndefined(t.properties)?this.getPropfindProperties():t.properties,!e||!e.systemTagIds&&r.isUndefined(e.favorite)&&!e.circlesIds)throw"Missing filter argument";let l,u="<oc:filter-files ";for(l in this._client.xmlNamespaces)u+=" xmlns:"+this._client.xmlNamespaces[l]+'="'+l+'"';return u+=">\n",u+=" <"+this._client.xmlNamespaces["DAV:"]+":prop>\n",r.each(c,(function(e){const t=s._client.parseClarkNotation(e);u+=" <"+s._client.xmlNamespaces[t.namespace]+":"+t.name+" />\n"})),u+=" </"+this._client.xmlNamespaces["DAV:"]+":prop>\n",u+=" <oc:filter-rules>\n",r.each(e.systemTagIds,(function(e){u+=" <oc:systemtag>"+i()(e)+"</oc:systemtag>\n"})),r.each(e.circlesIds,(function(e){u+=" <oc:circle>"+i()(e)+"</oc:circle>\n"})),e.favorite&&(u+=" <oc:favorite>"+(e.favorite?"1":"0")+"</oc:favorite>\n"),u+=" </oc:filter-rules>\n",u+="</oc:filter-files>\n",this._client.request("REPORT",this._buildUrl(),{},u).then((function(e){if(s._isSuccessStatus(e.status)){const t=s._parseResult(e.body);n.resolve(e.status,t)}else e=r.extend(e,s._getSabreException(e)),n.reject(e.status,e)})),a},getFileInfo:function(e,t){e||(e=""),t=t||{};const s=this,n=o.Deferred(),i=n.promise();let a;return a=r.isUndefined(t.properties)?this.getPropfindProperties():t.properties,this._client.propFind(this._buildUrl(e),a,0).then((function(e){s._isSuccessStatus(e.status)?n.resolve(e.status,s._parseResult([e.body])[0]):(e=r.extend(e,s._getSabreException(e)),n.reject(e.status,e))})),i},getFileContents:function(e){if(!e)throw'Missing argument "path"';const t=this,s=o.Deferred(),n=s.promise();return this._client.request("GET",this._buildUrl(e)).then((function(e){t._isSuccessStatus(e.status)?s.resolve(e.status,e.body):(e=r.extend(e,t._getSabreException(e)),s.reject(e.status,e))})),n},putFileContents:function(e,t,s){if(!e)throw'Missing argument "path"';const n=this,i=o.Deferred(),a=i.promise(),c={};let l="text/plain;charset=utf-8";return(s=s||{}).contentType&&(l=s.contentType),c["Content-Type"]=l,(r.isUndefined(s.overwrite)||s.overwrite)&&(c["If-None-Match"]="*"),this._client.request("PUT",this._buildUrl(e),c,t||"").then((function(e){n._isSuccessStatus(e.status)?i.resolve(e.status):(e=r.extend(e,n._getSabreException(e)),i.reject(e.status,e))})),a},_simpleCall:function(e,t){if(!t)throw'Missing argument "path"';const s=this,n=o.Deferred(),i=n.promise();return this._client.request(e,this._buildUrl(t)).then((function(e){s._isSuccessStatus(e.status)?n.resolve(e.status):(e=r.extend(e,s._getSabreException(e)),n.reject(e.status,e))})),i},createDirectory:function(e){return this._simpleCall("MKCOL",e)},remove:function(e){return this._simpleCall("DELETE",e)},move:function(e,t,s,n){if(!e)throw'Missing argument "path"';if(!t)throw'Missing argument "destinationPath"';const i=this,a=o.Deferred(),c=a.promise();return n=r.extend({},n,{Destination:this._buildUrl(t)}),s||(n.Overwrite="F"),this._client.request("MOVE",this._buildUrl(e),n).then((function(e){i._isSuccessStatus(e.status)?a.resolve(e.status):(e=r.extend(e,i._getSabreException(e)),a.reject(e.status,e))})),c},copy:function(e,t,s){if(!e)throw'Missing argument "path"';if(!t)throw'Missing argument "destinationPath"';const n=this,i=o.Deferred(),r=i.promise(),a={Destination:this._buildUrl(t)};return s||(a.Overwrite="F"),this._client.request("COPY",this._buildUrl(e),a).then((function(e){n._isSuccessStatus(e.status)?i.resolve(e.status):i.reject(e.status)})),r},addFileInfoParser:function(e){this._fileInfoParsers.push(e)},getClient:function(){return this._client},getUserName:function(){return this._client.userName},getPassword:function(){return this._client.password},getBaseUrl:function(){return this._client.baseUrl},getHost:function(){return this._host}},e.Files||(e.Files={}),e.Files.getClient=function(){if(e.Files._defaultClient)return e.Files._defaultClient;const t=new e.Files.Client({host:e.getHost(),port:e.getPort(),root:e.linkToRemoteBase("dav")+"/files/"+e.getCurrentUser().uid,useHTTPS:"https"===e.getProtocol()});return e.Files._defaultClient=t,t},e.Files.Client=s}(OC,OC.Files.FileInfo)}},s={};function n(e){var i=s[e];if(void 0!==i)return i.exports;var r=s[e]={id:e,loaded:!1,exports:{}};return t[e].call(r.exports,r,r.exports,n),r.loaded=!0,r.exports}n.m=t,n.amdD=function(){throw new Error("define cannot be used indirect")},n.amdO={},e=[],n.O=(t,s,i,r)=>{if(!s){var o=1/0;for(u=0;u<e.length;u++){s=e[u][0],i=e[u][1],r=e[u][2];for(var a=!0,c=0;c<s.length;c++)(!1&r||o>=r)&&Object.keys(n.O).every((e=>n.O[e](s[c])))?s.splice(c--,1):(a=!1,r<o&&(o=r));if(a){e.splice(u--,1);var l=i();void 0!==l&&(t=l)}}return t}r=r||0;for(var u=e.length;u>0&&e[u-1][2]>r;u--)e[u]=e[u-1];e[u]=[s,i,r]},n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.j=578,(()=>{var e={578:0};n.O.j=t=>0===e[t];var t=(t,s)=>{var i,r,o=s[0],a=s[1],c=s[2],l=0;if(o.some((t=>0!==e[t]))){for(i in a)n.o(a,i)&&(n.m[i]=a[i]);if(c)var u=c(n)}for(t&&t(s);l<o.length;l++)r=o[l],n.o(e,r)&&e[r]&&e[r][0](),e[o[l]]=0;return n.O(u)},s=self.webpackChunknextcloud=self.webpackChunknextcloud||[];s.forEach(t.bind(null,0)),s.push=t.bind(null,s.push.bind(s))})();var i=n.O(void 0,[820],(()=>n(7913)));i=n.O(i)})();
//# sourceMappingURL=core-files_client.js.map?v=082b41c84af1e3678086