From 3970fe3bc2d84b42cb4e49c4c816419de83651ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A4=91=ED=9B=88?= Date: Tue, 12 Jul 2016 00:45:32 +0900 Subject: [PATCH 1/2] removed metadata api, fixed exec & cancel api - now exec can call node.js' exec() api directly when async is false - changed getChildProcs to findProcs, with execId option, limiting scopes to async executions. (sync. exec. may not need management) - added some exec-specfic parameters for sync exec. - added some additonal properties for ChildProcs, including state & exit code, exit signal, to handle background procs properly - added some descriptions Execution class properties, especially for portability. --- README-API.md | 7 +- api-bundle.js | 4 +- api-bundle.js.map | 2 +- api-spec/swagger.json | 209 ++++++--------------- api-spec/swagger.yaml | 281 ++++++++++++----------------- builder/templates/package.mustache | 2 +- docs/ChildProcess.md | 25 ++- docs/Execution.md | 12 +- docs/ExecutionResult.md | 2 +- docs/Session.md | 2 +- docs/WorkspaceApi.md | 243 ++++--------------------- package.json | 2 +- src/api/WorkspaceApi.js | 233 ++++-------------------- src/model/ChildProcess.js | 85 +++++++-- src/model/Execution.js | 32 ++-- src/model/ExecutionResult.js | 15 +- src/model/Session.js | 4 +- test/api/WorkspaceApi.spec.js | 46 +---- test/model/ChildProcess.spec.js | 20 +- test/model/Execution.spec.js | 8 +- test/model/ExecutionResult.spec.js | 4 +- 21 files changed, 396 insertions(+), 842 deletions(-) diff --git a/README-API.md b/README-API.md index f60dcaf..5801556 100644 --- a/README-API.md +++ b/README-API.md @@ -4,7 +4,7 @@ This SDK Contains automatically generated sources & documents with the [Swagger - API version: 0.3.0 - Package version: 0.3.0 -- Build date: 2016-07-11T14:35:38.260+09:00 +- Build date: 2016-07-12T00:44:58.051+09:00 - Build package: class io.swagger.codegen.languages.JavascriptClientCodegen ## Getting Started @@ -63,14 +63,11 @@ Class | Method | HTTP request | Description *WebidaRestfulApi.WorkspaceApi* | [**cancel**](docs/WorkspaceApi.md#cancel) | **DELETE** /workspaces/{workspaceId}/exec | *WebidaRestfulApi.WorkspaceApi* | [**createWorkspace**](docs/WorkspaceApi.md#createWorkspace) | **POST** /workspaces | *WebidaRestfulApi.WorkspaceApi* | [**exec**](docs/WorkspaceApi.md#exec) | **POST** /workspaces/{workspaceId}/exec | +*WebidaRestfulApi.WorkspaceApi* | [**findProcs**](docs/WorkspaceApi.md#findProcs) | **GET** /workspaces/{workspaceId}/exec | *WebidaRestfulApi.WorkspaceApi* | [**findWorkspaces**](docs/WorkspaceApi.md#findWorkspaces) | **GET** /workspaces | -*WebidaRestfulApi.WorkspaceApi* | [**getChildProcs**](docs/WorkspaceApi.md#getChildProcs) | **GET** /workspaces/{workspaceId}/exec | *WebidaRestfulApi.WorkspaceApi* | [**getWorkspace**](docs/WorkspaceApi.md#getWorkspace) | **GET** /workspaces/{workspaceId} | -*WebidaRestfulApi.WorkspaceApi* | [**readMetadata**](docs/WorkspaceApi.md#readMetadata) | **GET** /workspaces/{workspaceId}/metadata/{objectPath} | -*WebidaRestfulApi.WorkspaceApi* | [**removeMetadata**](docs/WorkspaceApi.md#removeMetadata) | **DELETE** /workspaces/{workspaceId}/metadata/{objectPath} | *WebidaRestfulApi.WorkspaceApi* | [**removeWorkspace**](docs/WorkspaceApi.md#removeWorkspace) | **DELETE** /workspaces/{workspaceId} | *WebidaRestfulApi.WorkspaceApi* | [**updateWorkspace**](docs/WorkspaceApi.md#updateWorkspace) | **PUT** /workspaces/{workspaceId} | -*WebidaRestfulApi.WorkspaceApi* | [**writeMetadata**](docs/WorkspaceApi.md#writeMetadata) | **PUT** /workspaces/{workspaceId}/metadata/{objectPath} | ## Documentation for Models diff --git a/api-bundle.js b/api-bundle.js index e7b86c6..129a13e 100644 --- a/api-bundle.js +++ b/api-bundle.js @@ -1,3 +1,3 @@ -define(function(){return function(t){function e(i){if(r[i])return r[i].exports;var n=r[i]={exports:{},id:i,loaded:!1};return t[i].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){var i,n,o;!function(a){n=[r(1),r(7),r(8),r(4),r(9),r(10),r(23),r(11),r(2),r(3),r(12),r(5),r(13),r(14),r(15),r(17),r(18),r(19),r(20),r(21),r(22)],i=a,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(function(t,e,r,i,n,o,a,s,p,c,l,u,h,d,f,w,v,y,m,g,T){"use strict";var P={ApiClient:t,ChildProcess:e,Credential:r,DirEntry:i,Execution:n,ExecutionResult:o,Match:a,RemoteAccess:s,RestError:p,RestOK:c,Session:l,Stats:u,Token:h,User:d,Workspace:f,AuthApi:w,OpsApi:v,RemotesApi:y,SessionApi:m,WfsApi:g,WorkspaceApi:T};return P})},function(t,e,r){var i,n,o;!function(a,s){n=[r(16)],i=s,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t){"use strict";var e=function(){this.basePath="https://localhost/api".replace(/\/+$/,""),this.authentications={"webida-simple-auth":{type:"apiKey","in":"header",name:"Authorization"}},this.defaultHeaders={},this.timeout=6e4};return e.prototype.paramToString=function(t){return void 0==t||null==t?"":t instanceof Date?t.toJSON():t.toString()},e.prototype.buildUrl=function(t,e){t.match(/^\//)||(t="/"+t);var r=this.basePath+t,i=this;return r=r.replace(/\{([\w-]+)\}/g,function(t,r){var n;return n=e.hasOwnProperty(r)?i.paramToString(e[r]):t,encodeURIComponent(n)})},e.prototype.isJsonMime=function(t){return Boolean(null!=t&&t.match(/^application\/json(;.*)?$/i))},e.prototype.jsonPreferredMime=function(t){for(var e=0;e=200&&e.status<300)return r.callback(t,e);var n=new Error(e.statusText||"Unsuccessful HTTP response");n.original=t,n.response=e,n.status=e.status,r.callback(n,e)}catch(i){r.callback(i)}})}function d(t,e){var r=g("DELETE",t);return e&&r.end(e),r}var f,w=t("emitter"),v=t("reduce"),y=t("./request-base"),m=t("./is-object");f="undefined"!=typeof window?window:"undefined"!=typeof self?self:this;var g=e.exports=t("./request").bind(null,h);g.getXHR=function(){if(!(!f.XMLHttpRequest||f.location&&"file:"==f.location.protocol&&f.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(t){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(t){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(t){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(t){}return!1};var T="".trim?function(t){return t.trim()}:function(t){return t.replace(/(^\s*|\s*$)/g,"")};g.serializeObject=n,g.parseString=a,g.types={html:"text/html",json:"application/json",xml:"application/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},g.serialize={"application/x-www-form-urlencoded":n,"application/json":JSON.stringify},g.parse={"application/x-www-form-urlencoded":a,"application/json":JSON.parse},u.prototype.get=function(t){return this.header[t.toLowerCase()]},u.prototype._setHeaderProperties=function(t){var e=this.header["content-type"]||"";this.type=c(e);var r=l(e);for(var i in r)this[i]=r[i]},u.prototype._parseBody=function(t){var e=g.parse[this.type];return!e&&p(this.type)&&(e=g.parse["application/json"]),e&&t&&(t.length||t instanceof Object)?e(t):null},u.prototype._setStatusProperties=function(t){1223===t&&(t=204);var e=t/100|0;this.status=this.statusCode=t,this.statusType=e,this.info=1==e,this.ok=2==e,this.clientError=4==e,this.serverError=5==e,this.error=(4==e||5==e)&&this.toError(),this.accepted=202==t,this.noContent=204==t,this.badRequest=400==t,this.unauthorized=401==t,this.notAcceptable=406==t,this.notFound=404==t,this.forbidden=403==t},u.prototype.toError=function(){var t=this.req,e=t.method,r=t.url,i="cannot "+e+" "+r+" ("+this.status+")",n=new Error(i);return n.status=this.status,n.method=e,n.url=r,n},g.Response=u,w(h.prototype);for(var P in y)h.prototype[P]=y[P];h.prototype.type=function(t){return this.set("Content-Type",g.types[t]||t),this},h.prototype.responseType=function(t){return this._responseType=t,this},h.prototype.accept=function(t){return this.set("Accept",g.types[t]||t),this},h.prototype.auth=function(t,e,r){switch(r||(r={type:"basic"}),r.type){case"basic":var i=btoa(t+":"+e);this.set("Authorization","Basic "+i);break;case"auto":this.username=t,this.password=e}return this},h.prototype.query=function(t){return"string"!=typeof t&&(t=n(t)),t&&this._query.push(t),this},h.prototype.attach=function(t,e,r){return this._getFormData().append(t,e,r||e.name),this},h.prototype._getFormData=function(){return this._formData||(this._formData=new f.FormData),this._formData},h.prototype.callback=function(t,e){var r=this._callback;this.clearTimeout(),r(t,e)},h.prototype.crossDomainError=function(){var t=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");t.crossDomain=!0,t.status=this.status,t.method=this.method,t.url=this.url,this.callback(t)},h.prototype._timeoutError=function(){var t=this._timeout,e=new Error("timeout of "+t+"ms exceeded");e.timeout=t,this.callback(e)},h.prototype._appendQueryString=function(){var t=this._query.join("&");t&&(this.url+=~this.url.indexOf("?")?"&"+t:"?"+t)},h.prototype.end=function(t){var e=this,r=this.xhr=g.getXHR(),n=this._timeout,o=this._formData||this._data;this._callback=t||i,r.onreadystatechange=function(){if(4==r.readyState){var t;try{t=r.status}catch(i){t=0}if(0==t){if(e.timedout)return e._timeoutError();if(e._aborted)return;return e.crossDomainError()}e.emit("end")}};var a=function(t){t.total>0&&(t.percent=t.loaded/t.total*100),t.direction="download",e.emit("progress",t)};this.hasListeners("progress")&&(r.onprogress=a);try{r.upload&&this.hasListeners("progress")&&(r.upload.onprogress=a)}catch(s){}if(n&&!this._timer&&(this._timer=setTimeout(function(){e.timedout=!0,e.abort()},n)),this._appendQueryString(),this.username&&this.password?r.open(this.method,this.url,!0,this.username,this.password):r.open(this.method,this.url,!0),this._withCredentials&&(r.withCredentials=!0),"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof o&&!this._isHost(o)){var c=this._header["content-type"],l=this._serializer||g.serialize[c?c.split(";")[0]:""];!l&&p(c)&&(l=g.serialize["application/json"]),l&&(o=l(o))}for(var u in this.header)null!=this.header[u]&&r.setRequestHeader(u,this.header[u]);return this._responseType&&(r.responseType=this._responseType),this.emit("request",this),r.send("undefined"!=typeof o?o:null),this},g.Request=h,g.get=function(t,e,r){var i=g("GET",t);return"function"==typeof e&&(r=e,e=null),e&&i.query(e),r&&i.end(r),i},g.head=function(t,e,r){var i=g("HEAD",t);return"function"==typeof e&&(r=e,e=null),e&&i.send(e),r&&i.end(r),i},g.options=function(t,e,r){var i=g("OPTIONS",t);return"function"==typeof e&&(r=e,e=null),e&&i.send(e),r&&i.end(r),i},g.del=d,g["delete"]=d,g.patch=function(t,e,r){var i=g("PATCH",t);return"function"==typeof e&&(r=e,e=null),e&&i.send(e),r&&i.end(r),i},g.post=function(t,e,r){var i=g("POST",t);return"function"==typeof e&&(r=e,e=null),e&&i.send(e),r&&i.end(r),i},g.put=function(t,e,r){var i=g("PUT",t);return"function"==typeof e&&(r=e,e=null),e&&i.send(e),r&&i.end(r),i}},{"./is-object":1,"./request":3,"./request-base":2,emitter:4,reduce:5}]},{},[6])(6)})},function(t,e,r){var i,n,o;!function(a,s){n=[r(1),r(14),r(2),r(13),r(8)],i=s,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,r,i,n){"use strict";var o=function(r){this.apiClient=r||t.instance,this.getInfo=function(t){var r=null,i={},n={},o={},a={},s=["webida-simple-auth"],p=["application/json"],c=["application/json","application/octet-stream"],l=e;return this.apiClient.callApi("/auth/info","GET",i,n,o,a,r,s,p,c,l,t)},this.issueToken=function(t,e,r){e=e||{};var n=null;if(void 0==t||null==t)throw"Missing the required parameter 'type' when calling issueToken";var o={},a={type:t,workspaceId:e.workspaceId},s={},p={},c=["webida-simple-auth"],l=["application/json"],u=["application/json","application/octet-stream"],h=i;return this.apiClient.callApi("/auth/token","POST",o,a,s,p,n,c,l,u,h,r)},this.login=function(t,e){var r=t;if(void 0==t||null==t)throw"Missing the required parameter 'body' when calling login";var n={},o={},a={},s={},p=[],c=["application/json"],l=["application/json","application/octet-stream"],u=i;return this.apiClient.callApi("/auth/login","POST",n,o,a,s,r,p,c,l,u,e)}};return o})},function(t,e,r){var i,n,o;!function(a,s){n=[r(1),r(3),r(2)],i=s,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,r){"use strict";var i=function(r){this.apiClient=r||t.instance,this.replace=function(t,r,i,n,o,a){o=o||{};var s=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling replace";if(void 0==r||null==r)throw"Missing the required parameter 'wfsPathList' when calling replace";if(void 0==i||null==i)throw"Missing the required parameter 'pattern' when calling replace";if(void 0==n||null==n)throw"Missing the required parameter 'replaceTo' when calling replace";var p={wfsId:t},c={wfsPathList:this.apiClient.buildCollectionParam(r,"multi"),pattern:i,replaceTo:n,ignoreCase:o.ignoreCase},l={},u={},h=["webida-simple-auth"],d=["application/json"],f=["application/json","application/octet-stream"],w=e;return this.apiClient.callApi("/wfs/{wfsId}/ops/replace","POST",p,c,l,u,s,h,d,f,w,a)},this.search=function(t,e,r,i,n){i=i||{};var o=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling search";if(void 0==e||null==e)throw"Missing the required parameter 'wfsPath' when calling search";if(void 0==r||null==r)throw"Missing the required parameter 'pattern' when calling search";var a={wfsId:t,wfsPath:e},s={pattern:r,ignoreCase:i.ignoreCase},p={},c={},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d={String:[Match]};return this.apiClient.callApi("/wfs/{wfsId}/ops/search/{wfsPath}","GET",a,s,p,c,o,l,u,h,d,n)}};return i})},function(t,e,r){var i,n,o;!function(a,s){n=[r(1),r(2),r(11),r(3)],i=s,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,r,i){"use strict";var n=function(e){this.apiClient=e||t.instance,this.findRemoteAccesses=function(t){var e=null,i={},n={},o={},a={},s=["webida-simple-auth"],p=["application/json"],c=["application/json","application/octet-stream"],l=[r];return this.apiClient.callApi("/remotes","GET",i,n,o,a,e,s,p,c,l,t)},this.putRemoteAccess=function(t,e){var r=t;if(void 0==t||null==t)throw"Missing the required parameter 'body' when calling putRemoteAccess";var n={},o={},a={},s={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=i;return this.apiClient.callApi("/remotes","PUT",n,o,a,s,r,p,c,l,u,e)},this.removeRemoteAccess=function(t,e){var i=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling removeRemoteAccess";var n={},o={workspaceId:t},a={},s={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=r;return this.apiClient.callApi("/remotes","DELETE",n,o,a,s,i,p,c,l,u,e)}};return n})},function(t,e,r){var i,n,o;!function(a,s){n=[r(1),r(3),r(2),r(12)],i=s,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,r,i){"use strict";var n=function(r){this.apiClient=r||t.instance,this.closeSession=function(t,r,i){var n=null;if(void 0==t||null==t)throw"Missing the required parameter 'sessionId' when calling closeSession";if(void 0==r||null==r)throw"Missing the required parameter 'closeAfter' when calling closeSession";var o={sessionId:t},a={closeAfter:r},s={},p={},c=["webida-simple-auth"],l=["application/json"],u=["application/json","application/octet-stream"],h=e;return this.apiClient.callApi("/sessions/{sessionId}","DELETE",o,a,s,p,n,c,l,u,h,i); -},this.findSessions=function(t,e){t=t||{};var r=null,n={},o={workspaceId:t.workspaceId},a={},s={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=[i];return this.apiClient.callApi("/sessions","GET",n,o,a,s,r,p,c,l,u,e)},this.getSession=function(t,e){var r=null;if(void 0==t||null==t)throw"Missing the required parameter 'sessionId' when calling getSession";var n={sessionId:t},o={},a={},s={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=i;return this.apiClient.callApi("/sessions/{sessionId}","GET",n,o,a,s,r,p,c,l,u,e)}};return n})},function(t,e,r){var i,n,o;!function(a,s){n=[r(1),r(3),r(2),r(4),r(5)],i=s,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,r,i,n){"use strict";var o=function(r){this.apiClient=r||t.instance,this.copy=function(t,r,i,n,o){n=n||{};var a=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling copy";if(void 0==r||null==r)throw"Missing the required parameter 'wfsPath' when calling copy";if(void 0==i||null==i)throw"Missing the required parameter 'srcPath' when calling copy";var s={wfsId:t,wfsPath:r},p={srcPath:i,noOverwrite:n.noOverwrite,followSymbolicLinks:n.followSymbolicLinks,preserveTimestamps:n.preserveTimestamps},c={},l={},u=["webida-simple-auth"],h=["application/json"],d=["application/json","application/octet-stream"],f=e;return this.apiClient.callApi("/wfs/{wfsId}/any/{wfsPath}","PUT",s,p,c,l,a,u,h,d,f,o)},this.createDir=function(t,r,i){var n=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling createDir";if(void 0==r||null==r)throw"Missing the required parameter 'wfsPath' when calling createDir";var o={wfsId:t,wfsPath:r},a={},s={},p={},c=["webida-simple-auth"],l=["application/json"],u=["application/json","application/octet-stream"],h=e;return this.apiClient.callApi("/wfs/{wfsId}/dir/{wfsPath}","PUT",o,a,s,p,n,c,l,u,h,i)},this.dirTree=function(t,e,r,n){var o=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling dirTree";if(void 0==e||null==e)throw"Missing the required parameter 'wfsPath' when calling dirTree";if(void 0==r||null==r)throw"Missing the required parameter 'maxDepth' when calling dirTree";var a={wfsId:t,wfsPath:e},s={maxDepth:r},p={},c={},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d=i;return this.apiClient.callApi("/wfs/{wfsId}/dir/{wfsPath}","GET",a,s,p,c,o,l,u,h,d,n)},this.move=function(t,r,i,n,o){n=n||{};var a=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling move";if(void 0==r||null==r)throw"Missing the required parameter 'wfsPath' when calling move";if(void 0==i||null==i)throw"Missing the required parameter 'srcPath' when calling move";var s={wfsId:t,wfsPath:r},p={srcPath:i,noOverwrite:n.noOverwrite},c={},l={},u=["webida-simple-auth"],h=["application/json"],d=["application/json","application/octet-stream"],f=e;return this.apiClient.callApi("/wfs/{wfsId}/any/{wfsPath}","POST",s,p,c,l,a,u,h,d,f,o)},this.readFile=function(t,e,r){var i=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling readFile";if(void 0==e||null==e)throw"Missing the required parameter 'wfsPath' when calling readFile";var n={wfsId:t,wfsPath:e},o={},a={},s={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=File;return this.apiClient.callApi("/wfs/{wfsId}/file/{wfsPath}","GET",n,o,a,s,i,p,c,l,u,r)},this.remove=function(t,r,i,n){i=i||{};var o=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling remove";if(void 0==r||null==r)throw"Missing the required parameter 'wfsPath' when calling remove";var a={wfsId:t,wfsPath:r},s={noRecursive:i.noRecursive},p={},c={},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d=e;return this.apiClient.callApi("/wfs/{wfsId}/any/{wfsPath}","DELETE",a,s,p,c,o,l,u,h,d,n)},this.stat=function(t,e,r,i){r=r||{};var o=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling stat";if(void 0==e||null==e)throw"Missing the required parameter 'wfsPath' when calling stat";var a={wfsId:t,wfsPath:e},s={ignoreError:r.ignoreError},p={},c={},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d=n;return this.apiClient.callApi("/wfs/{wfsId}/any/{wfsPath}","GET",a,s,p,c,o,l,u,h,d,i)},this.writeFile=function(t,r,i,n,o){n=n||{};var a=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling writeFile";if(void 0==r||null==r)throw"Missing the required parameter 'wfsPath' when calling writeFile";if(void 0==i||null==i)throw"Missing the required parameter 'data' when calling writeFile";var s={wfsId:t,wfsPath:r},p={ensureParents:n.ensureParents},c={},l={data:i},u=["webida-simple-auth"],h=["multipart/form-data"],d=["application/json","application/octet-stream"],f=e;return this.apiClient.callApi("/wfs/{wfsId}/file/{wfsPath}","PUT",s,p,c,l,a,u,h,d,f,o)}};return o})},function(t,e,r){var i,n,o;!function(a,s){n=[r(1),r(3),r(2),r(15),r(7),r(9),r(10)],i=s,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,r,i,n,o,a){"use strict";var s=function(r){this.apiClient=r||t.instance,this.cancel=function(t,r,i){r=r||{};var n=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling cancel";var o={workspaceId:t},a={execId:r.execId},s={},p={},c=["webida-simple-auth"],l=["application/json"],u=["application/json","application/octet-stream"],h=e;return this.apiClient.callApi("/workspaces/{workspaceId}/exec","DELETE",o,a,s,p,n,c,l,u,h,i)},this.createWorkspace=function(t,e,r,n){var o=null;if(void 0==t||null==t)throw"Missing the required parameter 'localPath' when calling createWorkspace";if(void 0==e||null==e)throw"Missing the required parameter 'name' when calling createWorkspace";if(void 0==r||null==r)throw"Missing the required parameter 'description' when calling createWorkspace";var a={},s={localPath:t,name:e,description:r},p={},c={},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d=i;return this.apiClient.callApi("/workspaces","POST",a,s,p,c,o,l,u,h,d,n)},this.exec=function(t,e,r,i){r=r||{};var n=e;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling exec";if(void 0==e||null==e)throw"Missing the required parameter 'body' when calling exec";var o={workspaceId:t},s={async:r.async},p={},c={},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d=a;return this.apiClient.callApi("/workspaces/{workspaceId}/exec","POST",o,s,p,c,n,l,u,h,d,i)},this.findWorkspaces=function(t,e){t=t||{};var r=null,n={},o={disposable:t.disposable},a={},s={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=[i];return this.apiClient.callApi("/workspaces","GET",n,o,a,s,r,p,c,l,u,e)},this.getChildProcs=function(t,e,r){e=e||{};var i=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling getChildProcs";var o={workspaceId:t},a={includeExec:e.includeExec},s={},p={},c=[],l=["application/json"],u=["application/json","application/octet-stream"],h=[n];return this.apiClient.callApi("/workspaces/{workspaceId}/exec","GET",o,a,s,p,i,c,l,u,h,r)},this.getWorkspace=function(t,e){var r=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling getWorkspace";var n={workspaceId:t},o={},a={},s={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=i;return this.apiClient.callApi("/workspaces/{workspaceId}","GET",n,o,a,s,r,p,c,l,u,e)},this.readMetadata=function(t,e,r){var i=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling readMetadata";if(void 0==e||null==e)throw"Missing the required parameter 'objectPath' when calling readMetadata";var n={workspaceId:t,objectPath:e},o={},a={},s={},p=[],c=["application/json"],l=["application/json","application/octet-stream"],u=File;return this.apiClient.callApi("/workspaces/{workspaceId}/metadata/{objectPath}","GET",n,o,a,s,i,p,c,l,u,r)},this.removeMetadata=function(t,r,i){var n=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling removeMetadata";if(void 0==r||null==r)throw"Missing the required parameter 'objectPath' when calling removeMetadata";var o={workspaceId:t,objectPath:r},a={},s={},p={},c=["webida-simple-auth"],l=["application/json"],u=["application/json","application/octet-stream"],h=e;return this.apiClient.callApi("/workspaces/{workspaceId}/metadata/{objectPath}","DELETE",o,a,s,p,n,c,l,u,h,i)},this.removeWorkspace=function(t,e,r){e=e||{};var n=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling removeWorkspace";var o={workspaceId:t},a={closeAfter:e.closeAfter},s={},p={},c=["webida-simple-auth"],l=["application/json"],u=["application/json","application/octet-stream"],h=i;return this.apiClient.callApi("/workspaces/{workspaceId}","DELETE",o,a,s,p,n,c,l,u,h,r)},this.updateWorkspace=function(t,e){var r=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling updateWorkspace";var n={workspaceId:t},o={},a={},s={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=i;return this.apiClient.callApi("/workspaces/{workspaceId}","PUT",n,o,a,s,r,p,c,l,u,e)},this.writeMetadata=function(t,r,i,n){var o=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling writeMetadata";if(void 0==r||null==r)throw"Missing the required parameter 'objectPath' when calling writeMetadata";if(void 0==i||null==i)throw"Missing the required parameter 'data' when calling writeMetadata";var a={workspaceId:t,objectPath:r},s={},p={},c={data:i},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d=e;return this.apiClient.callApi("/workspaces/{workspaceId}/metadata/{objectPath}","PUT",a,s,p,c,o,l,u,h,d,n)}};return s})},function(t,e,r){var i,n,o;!function(a,s){n=[r(1)],i=s,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t){"use strict";var e=function(t,e){var r=this;r.line=t,r.text=e};return e.constructFromObject=function(r,i){return r&&(i=i||new e,r.hasOwnProperty("line")&&(i.line=t.convertToType(r.line,"Integer")),r.hasOwnProperty("text")&&(i.text=t.convertToType(r.text,"String"))),i},e.prototype.line=void 0,e.prototype.text=void 0,e})}])}); +define(function(){return function(t){function e(i){if(r[i])return r[i].exports;var n=r[i]={exports:{},id:i,loaded:!1};return t[i].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var r={};return e.m=t,e.c=r,e.p="",e(0)}([function(t,e,r){var i,n,o;!function(s){n=[r(1),r(7),r(8),r(4),r(9),r(10),r(23),r(11),r(2),r(3),r(12),r(5),r(13),r(14),r(15),r(17),r(18),r(19),r(20),r(21),r(22)],i=s,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(function(t,e,r,i,n,o,s,a,p,c,l,u,h,d,f,y,w,v,m,T,g){"use strict";var P={ApiClient:t,ChildProcess:e,Credential:r,DirEntry:i,Execution:n,ExecutionResult:o,Match:s,RemoteAccess:a,RestError:p,RestOK:c,Session:l,Stats:u,Token:h,User:d,Workspace:f,AuthApi:y,OpsApi:w,RemotesApi:v,SessionApi:m,WfsApi:T,WorkspaceApi:g};return P})},function(t,e,r){var i,n,o;!function(s,a){n=[r(16)],i=a,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t){"use strict";var e=function(){this.basePath="https://localhost/api".replace(/\/+$/,""),this.authentications={"webida-simple-auth":{type:"apiKey","in":"header",name:"Authorization"}},this.defaultHeaders={},this.timeout=6e4};return e.prototype.paramToString=function(t){return void 0==t||null==t?"":t instanceof Date?t.toJSON():t.toString()},e.prototype.buildUrl=function(t,e){t.match(/^\//)||(t="/"+t);var r=this.basePath+t,i=this;return r=r.replace(/\{([\w-]+)\}/g,function(t,r){var n;return n=e.hasOwnProperty(r)?i.paramToString(e[r]):t,encodeURIComponent(n)})},e.prototype.isJsonMime=function(t){return Boolean(null!=t&&t.match(/^application\/json(;.*)?$/i))},e.prototype.jsonPreferredMime=function(t){for(var e=0;e=200&&e.status<300)return r.callback(t,e);var n=new Error(e.statusText||"Unsuccessful HTTP response");n.original=t,n.response=e,n.status=e.status,r.callback(n,e)}catch(i){r.callback(i)}})}function d(t,e){var r=T("DELETE",t);return e&&r.end(e),r}var f,y=t("emitter"),w=t("reduce"),v=t("./request-base"),m=t("./is-object");f="undefined"!=typeof window?window:"undefined"!=typeof self?self:this;var T=e.exports=t("./request").bind(null,h);T.getXHR=function(){if(!(!f.XMLHttpRequest||f.location&&"file:"==f.location.protocol&&f.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(t){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(t){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(t){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(t){}return!1};var g="".trim?function(t){return t.trim()}:function(t){return t.replace(/(^\s*|\s*$)/g,"")};T.serializeObject=n,T.parseString=s,T.types={html:"text/html",json:"application/json",xml:"application/xml",urlencoded:"application/x-www-form-urlencoded",form:"application/x-www-form-urlencoded","form-data":"application/x-www-form-urlencoded"},T.serialize={"application/x-www-form-urlencoded":n,"application/json":JSON.stringify},T.parse={"application/x-www-form-urlencoded":s,"application/json":JSON.parse},u.prototype.get=function(t){return this.header[t.toLowerCase()]},u.prototype._setHeaderProperties=function(t){var e=this.header["content-type"]||"";this.type=c(e);var r=l(e);for(var i in r)this[i]=r[i]},u.prototype._parseBody=function(t){var e=T.parse[this.type];return!e&&p(this.type)&&(e=T.parse["application/json"]),e&&t&&(t.length||t instanceof Object)?e(t):null},u.prototype._setStatusProperties=function(t){1223===t&&(t=204);var e=t/100|0;this.status=this.statusCode=t,this.statusType=e,this.info=1==e,this.ok=2==e,this.clientError=4==e,this.serverError=5==e,this.error=(4==e||5==e)&&this.toError(),this.accepted=202==t,this.noContent=204==t,this.badRequest=400==t,this.unauthorized=401==t,this.notAcceptable=406==t,this.notFound=404==t,this.forbidden=403==t},u.prototype.toError=function(){var t=this.req,e=t.method,r=t.url,i="cannot "+e+" "+r+" ("+this.status+")",n=new Error(i);return n.status=this.status,n.method=e,n.url=r,n},T.Response=u,y(h.prototype);for(var P in v)h.prototype[P]=v[P];h.prototype.type=function(t){return this.set("Content-Type",T.types[t]||t),this},h.prototype.responseType=function(t){return this._responseType=t,this},h.prototype.accept=function(t){return this.set("Accept",T.types[t]||t),this},h.prototype.auth=function(t,e,r){switch(r||(r={type:"basic"}),r.type){case"basic":var i=btoa(t+":"+e);this.set("Authorization","Basic "+i);break;case"auto":this.username=t,this.password=e}return this},h.prototype.query=function(t){return"string"!=typeof t&&(t=n(t)),t&&this._query.push(t),this},h.prototype.attach=function(t,e,r){return this._getFormData().append(t,e,r||e.name),this},h.prototype._getFormData=function(){return this._formData||(this._formData=new f.FormData),this._formData},h.prototype.callback=function(t,e){var r=this._callback;this.clearTimeout(),r(t,e)},h.prototype.crossDomainError=function(){var t=new Error("Request has been terminated\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.");t.crossDomain=!0,t.status=this.status,t.method=this.method,t.url=this.url,this.callback(t)},h.prototype._timeoutError=function(){var t=this._timeout,e=new Error("timeout of "+t+"ms exceeded");e.timeout=t,this.callback(e)},h.prototype._appendQueryString=function(){var t=this._query.join("&");t&&(this.url+=~this.url.indexOf("?")?"&"+t:"?"+t)},h.prototype.end=function(t){var e=this,r=this.xhr=T.getXHR(),n=this._timeout,o=this._formData||this._data;this._callback=t||i,r.onreadystatechange=function(){if(4==r.readyState){var t;try{t=r.status}catch(i){t=0}if(0==t){if(e.timedout)return e._timeoutError();if(e._aborted)return;return e.crossDomainError()}e.emit("end")}};var s=function(t){t.total>0&&(t.percent=t.loaded/t.total*100),t.direction="download",e.emit("progress",t)};this.hasListeners("progress")&&(r.onprogress=s);try{r.upload&&this.hasListeners("progress")&&(r.upload.onprogress=s)}catch(a){}if(n&&!this._timer&&(this._timer=setTimeout(function(){e.timedout=!0,e.abort()},n)),this._appendQueryString(),this.username&&this.password?r.open(this.method,this.url,!0,this.username,this.password):r.open(this.method,this.url,!0),this._withCredentials&&(r.withCredentials=!0),"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof o&&!this._isHost(o)){var c=this._header["content-type"],l=this._serializer||T.serialize[c?c.split(";")[0]:""];!l&&p(c)&&(l=T.serialize["application/json"]),l&&(o=l(o))}for(var u in this.header)null!=this.header[u]&&r.setRequestHeader(u,this.header[u]);return this._responseType&&(r.responseType=this._responseType),this.emit("request",this),r.send("undefined"!=typeof o?o:null),this},T.Request=h,T.get=function(t,e,r){var i=T("GET",t);return"function"==typeof e&&(r=e,e=null),e&&i.query(e),r&&i.end(r),i},T.head=function(t,e,r){var i=T("HEAD",t);return"function"==typeof e&&(r=e,e=null),e&&i.send(e),r&&i.end(r),i},T.options=function(t,e,r){var i=T("OPTIONS",t);return"function"==typeof e&&(r=e,e=null),e&&i.send(e),r&&i.end(r),i},T.del=d,T["delete"]=d,T.patch=function(t,e,r){var i=T("PATCH",t);return"function"==typeof e&&(r=e,e=null),e&&i.send(e),r&&i.end(r),i},T.post=function(t,e,r){var i=T("POST",t);return"function"==typeof e&&(r=e,e=null),e&&i.send(e),r&&i.end(r),i},T.put=function(t,e,r){var i=T("PUT",t);return"function"==typeof e&&(r=e,e=null),e&&i.send(e),r&&i.end(r),i}},{"./is-object":1,"./request":3,"./request-base":2,emitter:4,reduce:5}]},{},[6])(6)})},function(t,e,r){var i,n,o;!function(s,a){n=[r(1),r(14),r(2),r(13),r(8)],i=a,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,r,i,n){"use strict";var o=function(r){this.apiClient=r||t.instance,this.getInfo=function(t){var r=null,i={},n={},o={},s={},a=["webida-simple-auth"],p=["application/json"],c=["application/json","application/octet-stream"],l=e;return this.apiClient.callApi("/auth/info","GET",i,n,o,s,r,a,p,c,l,t)},this.issueToken=function(t,e,r){e=e||{};var n=null;if(void 0==t||null==t)throw"Missing the required parameter 'type' when calling issueToken";var o={},s={type:t,workspaceId:e.workspaceId},a={},p={},c=["webida-simple-auth"],l=["application/json"],u=["application/json","application/octet-stream"],h=i;return this.apiClient.callApi("/auth/token","POST",o,s,a,p,n,c,l,u,h,r)},this.login=function(t,e){var r=t;if(void 0==t||null==t)throw"Missing the required parameter 'body' when calling login";var n={},o={},s={},a={},p=[],c=["application/json"],l=["application/json","application/octet-stream"],u=i;return this.apiClient.callApi("/auth/login","POST",n,o,s,a,r,p,c,l,u,e)}};return o})},function(t,e,r){var i,n,o;!function(s,a){n=[r(1),r(3),r(2)],i=a,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,r){"use strict";var i=function(r){this.apiClient=r||t.instance,this.replace=function(t,r,i,n,o,s){o=o||{};var a=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling replace";if(void 0==r||null==r)throw"Missing the required parameter 'wfsPathList' when calling replace";if(void 0==i||null==i)throw"Missing the required parameter 'pattern' when calling replace";if(void 0==n||null==n)throw"Missing the required parameter 'replaceTo' when calling replace";var p={wfsId:t},c={wfsPathList:this.apiClient.buildCollectionParam(r,"multi"),pattern:i,replaceTo:n,ignoreCase:o.ignoreCase},l={},u={},h=["webida-simple-auth"],d=["application/json"],f=["application/json","application/octet-stream"],y=e;return this.apiClient.callApi("/wfs/{wfsId}/ops/replace","POST",p,c,l,u,a,h,d,f,y,s)},this.search=function(t,e,r,i,n){i=i||{};var o=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling search";if(void 0==e||null==e)throw"Missing the required parameter 'wfsPath' when calling search";if(void 0==r||null==r)throw"Missing the required parameter 'pattern' when calling search";var s={wfsId:t,wfsPath:e},a={pattern:r,ignoreCase:i.ignoreCase},p={},c={},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d={String:[Match]};return this.apiClient.callApi("/wfs/{wfsId}/ops/search/{wfsPath}","GET",s,a,p,c,o,l,u,h,d,n)}};return i})},function(t,e,r){var i,n,o;!function(s,a){n=[r(1),r(2),r(11),r(3)],i=a,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,r,i){"use strict";var n=function(e){this.apiClient=e||t.instance,this.findRemoteAccesses=function(t){var e=null,i={},n={},o={},s={},a=["webida-simple-auth"],p=["application/json"],c=["application/json","application/octet-stream"],l=[r];return this.apiClient.callApi("/remotes","GET",i,n,o,s,e,a,p,c,l,t)},this.putRemoteAccess=function(t,e){var r=t;if(void 0==t||null==t)throw"Missing the required parameter 'body' when calling putRemoteAccess";var n={},o={},s={},a={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=i;return this.apiClient.callApi("/remotes","PUT",n,o,s,a,r,p,c,l,u,e)},this.removeRemoteAccess=function(t,e){var i=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling removeRemoteAccess";var n={},o={workspaceId:t},s={},a={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=r;return this.apiClient.callApi("/remotes","DELETE",n,o,s,a,i,p,c,l,u,e)}};return n})},function(t,e,r){var i,n,o;!function(s,a){n=[r(1),r(3),r(2),r(12)],i=a,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,r,i){"use strict";var n=function(r){this.apiClient=r||t.instance,this.closeSession=function(t,r,i){var n=null;if(void 0==t||null==t)throw"Missing the required parameter 'sessionId' when calling closeSession";if(void 0==r||null==r)throw"Missing the required parameter 'closeAfter' when calling closeSession"; +var o={sessionId:t},s={closeAfter:r},a={},p={},c=["webida-simple-auth"],l=["application/json"],u=["application/json","application/octet-stream"],h=e;return this.apiClient.callApi("/sessions/{sessionId}","DELETE",o,s,a,p,n,c,l,u,h,i)},this.findSessions=function(t,e){t=t||{};var r=null,n={},o={workspaceId:t.workspaceId},s={},a={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=[i];return this.apiClient.callApi("/sessions","GET",n,o,s,a,r,p,c,l,u,e)},this.getSession=function(t,e){var r=null;if(void 0==t||null==t)throw"Missing the required parameter 'sessionId' when calling getSession";var n={sessionId:t},o={},s={},a={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=i;return this.apiClient.callApi("/sessions/{sessionId}","GET",n,o,s,a,r,p,c,l,u,e)}};return n})},function(t,e,r){var i,n,o;!function(s,a){n=[r(1),r(3),r(2),r(4),r(5)],i=a,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,r,i,n){"use strict";var o=function(r){this.apiClient=r||t.instance,this.copy=function(t,r,i,n,o){n=n||{};var s=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling copy";if(void 0==r||null==r)throw"Missing the required parameter 'wfsPath' when calling copy";if(void 0==i||null==i)throw"Missing the required parameter 'srcPath' when calling copy";var a={wfsId:t,wfsPath:r},p={srcPath:i,noOverwrite:n.noOverwrite,followSymbolicLinks:n.followSymbolicLinks,preserveTimestamps:n.preserveTimestamps},c={},l={},u=["webida-simple-auth"],h=["application/json"],d=["application/json","application/octet-stream"],f=e;return this.apiClient.callApi("/wfs/{wfsId}/any/{wfsPath}","PUT",a,p,c,l,s,u,h,d,f,o)},this.createDir=function(t,r,i){var n=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling createDir";if(void 0==r||null==r)throw"Missing the required parameter 'wfsPath' when calling createDir";var o={wfsId:t,wfsPath:r},s={},a={},p={},c=["webida-simple-auth"],l=["application/json"],u=["application/json","application/octet-stream"],h=e;return this.apiClient.callApi("/wfs/{wfsId}/dir/{wfsPath}","PUT",o,s,a,p,n,c,l,u,h,i)},this.dirTree=function(t,e,r,n){var o=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling dirTree";if(void 0==e||null==e)throw"Missing the required parameter 'wfsPath' when calling dirTree";if(void 0==r||null==r)throw"Missing the required parameter 'maxDepth' when calling dirTree";var s={wfsId:t,wfsPath:e},a={maxDepth:r},p={},c={},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d=i;return this.apiClient.callApi("/wfs/{wfsId}/dir/{wfsPath}","GET",s,a,p,c,o,l,u,h,d,n)},this.move=function(t,r,i,n,o){n=n||{};var s=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling move";if(void 0==r||null==r)throw"Missing the required parameter 'wfsPath' when calling move";if(void 0==i||null==i)throw"Missing the required parameter 'srcPath' when calling move";var a={wfsId:t,wfsPath:r},p={srcPath:i,noOverwrite:n.noOverwrite},c={},l={},u=["webida-simple-auth"],h=["application/json"],d=["application/json","application/octet-stream"],f=e;return this.apiClient.callApi("/wfs/{wfsId}/any/{wfsPath}","POST",a,p,c,l,s,u,h,d,f,o)},this.readFile=function(t,e,r){var i=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling readFile";if(void 0==e||null==e)throw"Missing the required parameter 'wfsPath' when calling readFile";var n={wfsId:t,wfsPath:e},o={},s={},a={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=File;return this.apiClient.callApi("/wfs/{wfsId}/file/{wfsPath}","GET",n,o,s,a,i,p,c,l,u,r)},this.remove=function(t,r,i,n){i=i||{};var o=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling remove";if(void 0==r||null==r)throw"Missing the required parameter 'wfsPath' when calling remove";var s={wfsId:t,wfsPath:r},a={noRecursive:i.noRecursive},p={},c={},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d=e;return this.apiClient.callApi("/wfs/{wfsId}/any/{wfsPath}","DELETE",s,a,p,c,o,l,u,h,d,n)},this.stat=function(t,e,r,i){r=r||{};var o=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling stat";if(void 0==e||null==e)throw"Missing the required parameter 'wfsPath' when calling stat";var s={wfsId:t,wfsPath:e},a={ignoreError:r.ignoreError},p={},c={},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d=n;return this.apiClient.callApi("/wfs/{wfsId}/any/{wfsPath}","GET",s,a,p,c,o,l,u,h,d,i)},this.writeFile=function(t,r,i,n,o){n=n||{};var s=null;if(void 0==t||null==t)throw"Missing the required parameter 'wfsId' when calling writeFile";if(void 0==r||null==r)throw"Missing the required parameter 'wfsPath' when calling writeFile";if(void 0==i||null==i)throw"Missing the required parameter 'data' when calling writeFile";var a={wfsId:t,wfsPath:r},p={ensureParents:n.ensureParents},c={},l={data:i},u=["webida-simple-auth"],h=["multipart/form-data"],d=["application/json","application/octet-stream"],f=e;return this.apiClient.callApi("/wfs/{wfsId}/file/{wfsPath}","PUT",a,p,c,l,s,u,h,d,f,o)}};return o})},function(t,e,r){var i,n,o;!function(s,a){n=[r(1),r(3),r(2),r(15),r(7),r(9),r(10)],i=a,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t,e,r,i,n,o,s){"use strict";var a=function(r){this.apiClient=r||t.instance,this.cancel=function(t,r,i){r=r||{};var n=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling cancel";var o={workspaceId:t},s={execId:r.execId},a={},p={},c=["webida-simple-auth"],l=["application/json"],u=["application/json","application/octet-stream"],h=e;return this.apiClient.callApi("/workspaces/{workspaceId}/exec","DELETE",o,s,a,p,n,c,l,u,h,i)},this.createWorkspace=function(t,e,r,n){var o=null;if(void 0==t||null==t)throw"Missing the required parameter 'localPath' when calling createWorkspace";if(void 0==e||null==e)throw"Missing the required parameter 'name' when calling createWorkspace";if(void 0==r||null==r)throw"Missing the required parameter 'description' when calling createWorkspace";var s={},a={localPath:t,name:e,description:r},p={},c={},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d=i;return this.apiClient.callApi("/workspaces","POST",s,a,p,c,o,l,u,h,d,n)},this.exec=function(t,e,r,i){r=r||{};var n=e;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling exec";if(void 0==e||null==e)throw"Missing the required parameter 'body' when calling exec";var o={workspaceId:t},a={async:r.async},p={},c={},l=["webida-simple-auth"],u=["application/json"],h=["application/json","application/octet-stream"],d=s;return this.apiClient.callApi("/workspaces/{workspaceId}/exec","POST",o,a,p,c,n,l,u,h,d,i)},this.findProcs=function(t,e,r){e=e||{};var i=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling findProcs";var o={workspaceId:t},s={execId:e.execId},a={},p={},c=[],l=["application/json"],u=["application/json","application/octet-stream"],h=[n];return this.apiClient.callApi("/workspaces/{workspaceId}/exec","GET",o,s,a,p,i,c,l,u,h,r)},this.findWorkspaces=function(t,e){t=t||{};var r=null,n={},o={disposable:t.disposable},s={},a={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=[i];return this.apiClient.callApi("/workspaces","GET",n,o,s,a,r,p,c,l,u,e)},this.getWorkspace=function(t,e){var r=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling getWorkspace";var n={workspaceId:t},o={},s={},a={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=i;return this.apiClient.callApi("/workspaces/{workspaceId}","GET",n,o,s,a,r,p,c,l,u,e)},this.removeWorkspace=function(t,e,r){e=e||{};var n=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling removeWorkspace";var o={workspaceId:t},s={closeAfter:e.closeAfter},a={},p={},c=["webida-simple-auth"],l=["application/json"],u=["application/json","application/octet-stream"],h=i;return this.apiClient.callApi("/workspaces/{workspaceId}","DELETE",o,s,a,p,n,c,l,u,h,r)},this.updateWorkspace=function(t,e){var r=null;if(void 0==t||null==t)throw"Missing the required parameter 'workspaceId' when calling updateWorkspace";var n={workspaceId:t},o={},s={},a={},p=["webida-simple-auth"],c=["application/json"],l=["application/json","application/octet-stream"],u=i;return this.apiClient.callApi("/workspaces/{workspaceId}","PUT",n,o,s,a,r,p,c,l,u,e)}};return a})},function(t,e,r){var i,n,o;!function(s,a){n=[r(1)],i=a,o="function"==typeof i?i.apply(e,n):i,!(void 0!==o&&(t.exports=o))}(this,function(t){"use strict";var e=function(t,e){var r=this;r.line=t,r.text=e};return e.constructFromObject=function(r,i){return r&&(i=i||new e,r.hasOwnProperty("line")&&(i.line=t.convertToType(r.line,"Integer")),r.hasOwnProperty("text")&&(i.text=t.convertToType(r.text,"String"))),i},e.prototype.line=void 0,e.prototype.text=void 0,e})}])}); //# sourceMappingURL=api-bundle.js.map \ No newline at end of file diff --git a/api-bundle.js.map b/api-bundle.js.map index a202b99..7dab6e9 100644 --- a/api-bundle.js.map +++ b/api-bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///api-bundle.js","webpack:///webpack/bootstrap d2749e9fa8459a84bc05","webpack:///./src/index.js","webpack:///./src/ApiClient.js","webpack:///./src/model/RestError.js","webpack:///./src/model/RestOK.js","webpack:///./src/model/DirEntry.js","webpack:///./src/model/Stats.js","webpack:///./src/model/ChildProcess.js","webpack:///./src/model/Credential.js","webpack:///./src/model/Execution.js","webpack:///./src/model/ExecutionResult.js","webpack:///./src/model/RemoteAccess.js","webpack:///./src/model/Session.js","webpack:///./src/model/Token.js","webpack:///./src/model/User.js","webpack:///./src/model/Workspace.js","webpack:///./~/superagent/superagent.js","webpack:///./src/api/AuthApi.js","webpack:///./src/api/OpsApi.js","webpack:///./src/api/RemotesApi.js","webpack:///./src/api/SessionApi.js","webpack:///./src/api/WfsApi.js","webpack:///./src/api/WorkspaceApi.js","webpack:///./src/model/Match.js"],"names":["define","modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","apply","undefined","ApiClient","ChildProcess","Credential","DirEntry","Execution","ExecutionResult","Match","RemoteAccess","RestError","RestOK","Session","Stats","Token","User","Workspace","AuthApi","OpsApi","RemotesApi","SessionApi","WfsApi","WorkspaceApi","root","this","superagent","basePath","replace","authentications","webida-simple-auth","type","in","name","defaultHeaders","timeout","prototype","paramToString","param","Date","toJSON","toString","buildUrl","path","pathParams","match","url","_this","fullMatch","key","value","hasOwnProperty","encodeURIComponent","isJsonMime","contentType","Boolean","jsonPreferredMime","contentTypes","i","length","isFileParam","window","ReadStream","Buffer","Blob","File","normalizeParams","params","newParams","Array","isArray","CollectionFormatEnum","CSV","SSV","TSV","PIPES","MULTI","buildCollectionParam","collectionFormat","map","join","Error","applyAuthToRequest","request","authNames","forEach","authName","auth","username","password","apiKey","data","apiKeyPrefix","set","query","accessToken","Authorization","deserialize","response","returnType","body","text","convertToType","callApi","httpMethod","queryParams","headerParams","formParams","bodyParam","accepts","callback","header","send","_formParams","attach","field","accept","end","error","parseDate","str","parseInt","parseFloat","String","Object","constructFromObject","itemType","item","keyType","valueType","k","result","obj","instance","message","stats","children","birthtime","mtime","mode","size","nlink","TypeEnum","FILE","DIRECTORY","BLOCK_DEVICE","CHARACTER_DEVICE","LINK","FIFO","SOCKET","DUMMY","pid","command","args","executionId","startedAt","background","loginId","loginPassword","exitCode","stdout","stderr","serverUrl","workspaceId","masterToken","state","clientAddress","connectedAt","disconnectedAt","StateEnum","NORMAL","LOSING","CLOSING","tokenType","expiresAt","issuedAt","TokenTypeEnum","MASTER","ACCESS","description","createdAt","workspacePath","excludedPaths","offlineCachePaths","f","amd","g","global","self","e","t","n","r","s","o","u","a","require","code","l","1","isObject","2","clearTimeout","_timeout","_timer","parse","fn","_parser","serialize","_serializer","ms","then","resolve","reject","_fullfilledPromise","Promise","innerResolve","innerReject","err","res","use","get","_header","toLowerCase","getHeader","val","unset","_getFormData","append","abort","_aborted","xhr","req","emit","withCredentials","_withCredentials","redirects","_maxRedirects","method","_data","_isHost","./is-object","3","RequestConstructor","arguments","4","Emitter","mixin","on","addEventListener","event","_callbacks","push","once","off","removeListener","removeAllListeners","removeEventListener","callbacks","cb","splice","slice","len","listeners","hasListeners","5","arr","initial","idx","curr","6","noop","pairs","pushEncodedKeyValuePair","v","subkey","parseString","pair","pos","split","indexOf","decodeURIComponent","parseHeader","index","line","lines","fields","pop","trim","isJSON","mime","test","shift","reduce","parts","Response","options","responseType","responseText","statusText","_setStatusProperties","status","headers","getAllResponseHeaders","getResponseHeader","_setHeaderProperties","_parseBody","Request","_query","original","rawResponse","statusCode","new_err","del","requestBase","bind","getXHR","XMLHttpRequest","location","protocol","ActiveXObject","serializeObject","types","html","json","xml","urlencoded","form","form-data","application/x-www-form-urlencoded","application/json","JSON","stringify","ct","statusType","info","ok","clientError","serverError","toError","accepted","noContent","badRequest","unauthorized","notAcceptable","notFound","forbidden","msg","_responseType","user","pass","btoa","file","filename","_formData","FormData","_callback","crossDomainError","crossDomain","_timeoutError","_appendQueryString","onreadystatechange","readyState","timedout","handleProgress","total","percent","direction","onprogress","upload","setTimeout","open","setRequestHeader","head","patch","post","put","./request","./request-base","emitter","apiClient","getInfo","postBody","issueToken","opts","login","wfsId","wfsPathList","pattern","replaceTo","ignoreCase","search","wfsPath","findRemoteAccesses","putRemoteAccess","removeRemoteAccess","closeSession","sessionId","closeAfter","findSessions","getSession","copy","srcPath","noOverwrite","followSymbolicLinks","preserveTimestamps","createDir","dirTree","maxDepth","move","readFile","remove","noRecursive","stat","ignoreError","writeFile","ensureParents","cancel","execId","createWorkspace","localPath","exec","async","findWorkspaces","disposable","getChildProcs","includeExec","getWorkspace","readMetadata","objectPath","removeMetadata","removeWorkspace","updateWorkspace","writeMetadata"],"mappings":"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","file":"api-bundle.js","sourcesContent":["define(function() { return /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(7), __webpack_require__(8), __webpack_require__(4), __webpack_require__(9), __webpack_require__(10), __webpack_require__(23), __webpack_require__(11), __webpack_require__(2), __webpack_require__(3), __webpack_require__(12), __webpack_require__(5), __webpack_require__(13), __webpack_require__(14), __webpack_require__(15), __webpack_require__(17), __webpack_require__(18), __webpack_require__(19), __webpack_require__(20), __webpack_require__(21), __webpack_require__(22)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('./ApiClient'), require('./model/ChildProcess'), require('./model/Credential'), require('./model/DirEntry'), require('./model/Execution'), require('./model/ExecutionResult'), require('./model/Match'), require('./model/RemoteAccess'), require('./model/RestError'), require('./model/RestOK'), require('./model/Session'), require('./model/Stats'), require('./model/Token'), require('./model/User'), require('./model/Workspace'), require('./api/AuthApi'), require('./api/OpsApi'), require('./api/RemotesApi'), require('./api/SessionApi'), require('./api/WfsApi'), require('./api/WorkspaceApi'));\n\t }\n\t}(function(ApiClient, ChildProcess, Credential, DirEntry, Execution, ExecutionResult, Match, RemoteAccess, RestError, RestOK, Session, Stats, Token, User, Workspace, AuthApi, OpsApi, RemotesApi, SessionApi, WfsApi, WorkspaceApi) {\n\t 'use strict';\n\t\n\t /**\n\t * Restful_API_for_Webida_clients_to_use_servers_data__features.
\n\t * The index module provides access to constructors for all the classes which comprise the public API.\n\t *

\n\t * An AMD (recommended!) or CommonJS application will generally do something equivalent to the following:\n\t *

\n\t   * var WebidaRestfulApi = require('index'); // See note below*.\n\t   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n\t   * var yyyModel = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n\t   * yyyModel.someProperty = 'someValue';\n\t   * ...\n\t   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n\t   * ...\n\t   * 
\n\t * *NOTE: For a top-level AMD script, use require(['index'], function(){...})\n\t * and put the application logic within the callback function.\n\t *

\n\t *

\n\t * A non-AMD browser application (discouraged) might do something like this:\n\t *

\n\t   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n\t   * var yyy = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n\t   * yyyModel.someProperty = 'someValue';\n\t   * ...\n\t   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n\t   * ...\n\t   * 
\n\t *

\n\t * @module index\n\t * @version 0.3.0\n\t */\n\t var exports = {\n\t /**\n\t * The ApiClient constructor.\n\t * @property {module:ApiClient}\n\t */\n\t ApiClient: ApiClient,\n\t /**\n\t * The ChildProcess model constructor.\n\t * @property {module:model/ChildProcess}\n\t */\n\t ChildProcess: ChildProcess,\n\t /**\n\t * The Credential model constructor.\n\t * @property {module:model/Credential}\n\t */\n\t Credential: Credential,\n\t /**\n\t * The DirEntry model constructor.\n\t * @property {module:model/DirEntry}\n\t */\n\t DirEntry: DirEntry,\n\t /**\n\t * The Execution model constructor.\n\t * @property {module:model/Execution}\n\t */\n\t Execution: Execution,\n\t /**\n\t * The ExecutionResult model constructor.\n\t * @property {module:model/ExecutionResult}\n\t */\n\t ExecutionResult: ExecutionResult,\n\t /**\n\t * The Match model constructor.\n\t * @property {module:model/Match}\n\t */\n\t Match: Match,\n\t /**\n\t * The RemoteAccess model constructor.\n\t * @property {module:model/RemoteAccess}\n\t */\n\t RemoteAccess: RemoteAccess,\n\t /**\n\t * The RestError model constructor.\n\t * @property {module:model/RestError}\n\t */\n\t RestError: RestError,\n\t /**\n\t * The RestOK model constructor.\n\t * @property {module:model/RestOK}\n\t */\n\t RestOK: RestOK,\n\t /**\n\t * The Session model constructor.\n\t * @property {module:model/Session}\n\t */\n\t Session: Session,\n\t /**\n\t * The Stats model constructor.\n\t * @property {module:model/Stats}\n\t */\n\t Stats: Stats,\n\t /**\n\t * The Token model constructor.\n\t * @property {module:model/Token}\n\t */\n\t Token: Token,\n\t /**\n\t * The User model constructor.\n\t * @property {module:model/User}\n\t */\n\t User: User,\n\t /**\n\t * The Workspace model constructor.\n\t * @property {module:model/Workspace}\n\t */\n\t Workspace: Workspace,\n\t /**\n\t * The AuthApi service constructor.\n\t * @property {module:api/AuthApi}\n\t */\n\t AuthApi: AuthApi,\n\t /**\n\t * The OpsApi service constructor.\n\t * @property {module:api/OpsApi}\n\t */\n\t OpsApi: OpsApi,\n\t /**\n\t * The RemotesApi service constructor.\n\t * @property {module:api/RemotesApi}\n\t */\n\t RemotesApi: RemotesApi,\n\t /**\n\t * The SessionApi service constructor.\n\t * @property {module:api/SessionApi}\n\t */\n\t SessionApi: SessionApi,\n\t /**\n\t * The WfsApi service constructor.\n\t * @property {module:api/WfsApi}\n\t */\n\t WfsApi: WfsApi,\n\t /**\n\t * The WorkspaceApi service constructor.\n\t * @property {module:api/WorkspaceApi}\n\t */\n\t WorkspaceApi: WorkspaceApi\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(16)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('superagent'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.ApiClient = factory(root.superagent);\n\t }\n\t}(this, function(superagent) {\n\t 'use strict';\n\t\n\t /**\n\t * @module ApiClient\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Manages low level client-server communications, parameter marshalling, etc. There should not be any need for an\n\t * application to use this class directly - the *Api and model classes provide the public API for the service. The\n\t * contents of this file should be regarded as internal but are documented for completeness.\n\t * @alias module:ApiClient\n\t * @class\n\t */\n\t var exports = function() {\n\t /**\n\t * The base URL against which to resolve every API call's (relative) path.\n\t * @type {String}\n\t * @default https://localhost/api\n\t */\n\t this.basePath = 'https://localhost/api'.replace(/\\/+$/, '');\n\t\n\t /**\n\t * The authentication methods to be included for all API calls.\n\t * @type {Array.}\n\t */\n\t this.authentications = {\n\t 'webida-simple-auth': {type: 'apiKey', 'in': 'header', name: 'Authorization'}\n\t };\n\t /**\n\t * The default HTTP headers to be included for all API calls.\n\t * @type {Array.}\n\t * @default {}\n\t */\n\t this.defaultHeaders = {};\n\t\n\t /**\n\t * The default HTTP timeout for all API calls.\n\t * @type {Number}\n\t * @default 60000\n\t */\n\t this.timeout = 60000;\n\t };\n\t\n\t /**\n\t * Returns a string representation for an actual parameter.\n\t * @param param The actual parameter.\n\t * @returns {String} The string representation of param.\n\t */\n\t exports.prototype.paramToString = function(param) {\n\t if (param == undefined || param == null) {\n\t return '';\n\t }\n\t if (param instanceof Date) {\n\t return param.toJSON();\n\t }\n\t return param.toString();\n\t };\n\t\n\t /**\n\t * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders with parameter values.\n\t * NOTE: query parameters are not handled here.\n\t * @param {String} path The path to append to the base URL.\n\t * @param {Object} pathParams The parameter values to append.\n\t * @returns {String} The encoded path with parameter values substituted.\n\t */\n\t exports.prototype.buildUrl = function(path, pathParams) {\n\t if (!path.match(/^\\//)) {\n\t path = '/' + path;\n\t }\n\t var url = this.basePath + path;\n\t var _this = this;\n\t url = url.replace(/\\{([\\w-]+)\\}/g, function(fullMatch, key) {\n\t var value;\n\t if (pathParams.hasOwnProperty(key)) {\n\t value = _this.paramToString(pathParams[key]);\n\t } else {\n\t value = fullMatch;\n\t }\n\t return encodeURIComponent(value);\n\t });\n\t return url;\n\t };\n\t\n\t /**\n\t * Checks whether the given content type represents JSON.
\n\t * JSON content type examples:
\n\t *
    \n\t *
  • application/json
  • \n\t *
  • application/json; charset=UTF8
  • \n\t *
  • APPLICATION/JSON
  • \n\t *
\n\t * @param {String} contentType The MIME content type to check.\n\t * @returns {Boolean} true if contentType represents JSON, otherwise false.\n\t */\n\t exports.prototype.isJsonMime = function(contentType) {\n\t return Boolean(contentType != null && contentType.match(/^application\\/json(;.*)?$/i));\n\t };\n\t\n\t /**\n\t * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first.\n\t * @param {Array.} contentTypes\n\t * @returns {String} The chosen content type, preferring JSON.\n\t */\n\t exports.prototype.jsonPreferredMime = function(contentTypes) {\n\t for (var i = 0; i < contentTypes.length; i++) {\n\t if (this.isJsonMime(contentTypes[i])) {\n\t return contentTypes[i];\n\t }\n\t }\n\t return contentTypes[0];\n\t };\n\t\n\t /**\n\t * Checks whether the given parameter value represents file-like content.\n\t * @param param The parameter to check.\n\t * @returns {Boolean} true if param represents a file. \n\t */\n\t exports.prototype.isFileParam = function(param) {\n\t // fs.ReadStream in Node.js (but not in runtime like browserify)\n\t if (typeof window === 'undefined' &&\n\t \"function\" === 'function' &&\n\t __webpack_require__(6) &&\n\t param instanceof __webpack_require__(6).ReadStream) {\n\t return true;\n\t }\n\t // Buffer in Node.js\n\t if (typeof Buffer === 'function' && param instanceof Buffer) {\n\t return true;\n\t }\n\t // Blob in browser\n\t if (typeof Blob === 'function' && param instanceof Blob) {\n\t return true;\n\t }\n\t // File in browser (it seems File object is also instance of Blob, but keep this for safe)\n\t if (typeof File === 'function' && param instanceof File) {\n\t return true;\n\t }\n\t return false;\n\t };\n\t\n\t /**\n\t * Normalizes parameter values:\n\t *
    \n\t *
  • remove nils
  • \n\t *
  • keep files and arrays
  • \n\t *
  • format to string with `paramToString` for other cases
  • \n\t *
\n\t * @param {Object.} params The parameters as object properties.\n\t * @returns {Object.} normalized parameters.\n\t */\n\t exports.prototype.normalizeParams = function(params) {\n\t var newParams = {};\n\t for (var key in params) {\n\t if (params.hasOwnProperty(key) && params[key] != undefined && params[key] != null) {\n\t var value = params[key];\n\t if (this.isFileParam(value) || Array.isArray(value)) {\n\t newParams[key] = value;\n\t } else {\n\t newParams[key] = this.paramToString(value);\n\t }\n\t }\n\t }\n\t return newParams;\n\t };\n\t\n\t /**\n\t * Enumeration of collection format separator strategies.\n\t * @enum {String} \n\t * @readonly\n\t */\n\t exports.CollectionFormatEnum = {\n\t /**\n\t * Comma-separated values. Value: csv\n\t * @const\n\t */\n\t CSV: ',',\n\t /**\n\t * Space-separated values. Value: ssv\n\t * @const\n\t */\n\t SSV: ' ',\n\t /**\n\t * Tab-separated values. Value: tsv\n\t * @const\n\t */\n\t TSV: '\\t',\n\t /**\n\t * Pipe(|)-separated values. Value: pipes\n\t * @const\n\t */\n\t PIPES: '|',\n\t /**\n\t * Native array. Value: multi\n\t * @const\n\t */\n\t MULTI: 'multi'\n\t };\n\t\n\t /**\n\t * Builds a string representation of an array-type actual parameter, according to the given collection format.\n\t * @param {Array} param An array parameter.\n\t * @param {module:ApiClient.CollectionFormatEnum} collectionFormat The array element separator strategy.\n\t * @returns {String|Array} A string representation of the supplied collection, using the specified delimiter. Returns\n\t * param as is if collectionFormat is multi.\n\t */\n\t exports.prototype.buildCollectionParam = function buildCollectionParam(param, collectionFormat) {\n\t if (param == null) {\n\t return null;\n\t }\n\t switch (collectionFormat) {\n\t case 'csv':\n\t return param.map(this.paramToString).join(',');\n\t case 'ssv':\n\t return param.map(this.paramToString).join(' ');\n\t case 'tsv':\n\t return param.map(this.paramToString).join('\\t');\n\t case 'pipes':\n\t return param.map(this.paramToString).join('|');\n\t case 'multi':\n\t // return the array directly as SuperAgent will handle it as expected\n\t return param.map(this.paramToString);\n\t default:\n\t throw new Error('Unknown collection format: ' + collectionFormat);\n\t }\n\t };\n\t\n\t /**\n\t * Applies authentication headers to the request.\n\t * @param {Object} request The request object created by a superagent() call.\n\t * @param {Array.} authNames An array of authentication method names.\n\t */\n\t exports.prototype.applyAuthToRequest = function(request, authNames) {\n\t var _this = this;\n\t authNames.forEach(function(authName) {\n\t var auth = _this.authentications[authName];\n\t switch (auth.type) {\n\t case 'basic':\n\t if (auth.username || auth.password) {\n\t request.auth(auth.username || '', auth.password || '');\n\t }\n\t break;\n\t case 'apiKey':\n\t if (auth.apiKey) {\n\t var data = {};\n\t if (auth.apiKeyPrefix) {\n\t data[auth.name] = auth.apiKeyPrefix + ' ' + auth.apiKey;\n\t } else {\n\t data[auth.name] = auth.apiKey;\n\t }\n\t if (auth['in'] === 'header') {\n\t request.set(data);\n\t } else {\n\t request.query(data);\n\t }\n\t }\n\t break;\n\t case 'oauth2':\n\t if (auth.accessToken) {\n\t request.set({'Authorization': 'Bearer ' + auth.accessToken});\n\t }\n\t break;\n\t default:\n\t throw new Error('Unknown authentication type: ' + auth.type);\n\t }\n\t });\n\t };\n\t\n\t /**\n\t * Deserializes an HTTP response body into a value of the specified type.\n\t * @param {Object} response A SuperAgent response object.\n\t * @param {(String|Array.|Object.|Function)} returnType The type to return. Pass a string for simple types\n\t * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n\t * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n\t * all properties on data will be converted to this type.\n\t * @returns A value of the specified type.\n\t */\n\t exports.prototype.deserialize = function deserialize(response, returnType) {\n\t if (response == null || returnType == null) {\n\t return null;\n\t }\n\t // Rely on SuperAgent for parsing response body.\n\t // See http://visionmedia.github.io/superagent/#parsing-response-bodies\n\t var data = response.body;\n\t if (data == null) {\n\t // SuperAgent does not always produce a body; use the unparsed response as a fallback\n\t data = response.text;\n\t }\n\t return exports.convertToType(data, returnType);\n\t };\n\t\n\t /**\n\t * Callback function to receive the result of the operation.\n\t * @callback module:ApiClient~callApiCallback\n\t * @param {String} error Error message, if any.\n\t * @param data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Invokes the REST service using the supplied settings and parameters.\n\t * @param {String} path The base URL to invoke.\n\t * @param {String} httpMethod The HTTP method to use.\n\t * @param {Object.} pathParams A map of path parameters and their values.\n\t * @param {Object.} queryParams A map of query parameters and their values.\n\t * @param {Object.} headerParams A map of header parameters and their values.\n\t * @param {Object.} formParams A map of form parameters and their values.\n\t * @param {Object} bodyParam The value to pass as the request body.\n\t * @param {Array.} authNames An array of authentication type names.\n\t * @param {Array.} contentTypes An array of request MIME types.\n\t * @param {Array.} accepts An array of acceptable response MIME types.\n\t * @param {(String|Array|ObjectFunction)} returnType The required type to return; can be a string for simple types or the\n\t * constructor for a complex type.\n\t * @param {module:ApiClient~callApiCallback} callback The callback function.\n\t * @returns {Object} The SuperAgent request object.\n\t */\n\t exports.prototype.callApi = function callApi(path, httpMethod, pathParams,\n\t queryParams, headerParams, formParams, bodyParam, authNames, contentTypes, accepts,\n\t returnType, callback) {\n\t\n\t var _this = this;\n\t var url = this.buildUrl(path, pathParams);\n\t var request = superagent(httpMethod, url);\n\t\n\t // apply authentications\n\t this.applyAuthToRequest(request, authNames);\n\t\n\t // set query parameters\n\t request.query(this.normalizeParams(queryParams));\n\t\n\t // set header parameters\n\t request.set(this.defaultHeaders).set(this.normalizeParams(headerParams));\n\t\n\t // set request timeout\n\t request.timeout(this.timeout);\n\t\n\t var contentType = this.jsonPreferredMime(contentTypes);\n\t if (contentType !== 'multipart/form-data') {\n\t if (contentType) {\n\t request.type(contentType);\n\t } else if (!request.header['Content-Type']) {\n\t request.type('application/json');\n\t }\n\t }\n\t\n\t if (contentType === 'application/x-www-form-urlencoded') {\n\t request.send(this.normalizeParams(formParams));\n\t } else if (contentType == 'multipart/form-data') {\n\t var _formParams = this.normalizeParams(formParams);\n\t for (var key in _formParams) {\n\t if (_formParams.hasOwnProperty(key)) {\n\t if (this.isFileParam(_formParams[key])) {\n\t // file field\n\t request.attach(key, _formParams[key]);\n\t } else {\n\t request.field(key, _formParams[key]);\n\t }\n\t }\n\t }\n\t } else if (bodyParam) {\n\t request.send(bodyParam);\n\t }\n\t\n\t var accept = this.jsonPreferredMime(accepts);\n\t if (accept) {\n\t request.accept(accept);\n\t }\n\t\n\t\n\t request.end(function(error, response) {\n\t if (callback) {\n\t var data = null;\n\t if (!error) {\n\t data = _this.deserialize(response, returnType);\n\t }\n\t callback(error, data, response);\n\t }\n\t });\n\t\n\t return request;\n\t };\n\t\n\t /**\n\t * Parses an ISO-8601 string representation of a date value.\n\t * @param {String} str The date value as a string.\n\t * @returns {Date} The parsed date object.\n\t */\n\t exports.parseDate = function(str) {\n\t return new Date(str.replace(/T/i, ' '));\n\t };\n\t\n\t /**\n\t * Converts a value to the specified type.\n\t * @param {(String|Object)} data The data to convert, as a string or object.\n\t * @param {(String|Array.|Object.|Function)} type The type to return. Pass a string for simple types\n\t * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n\t * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n\t * all properties on data will be converted to this type.\n\t * @returns An instance of the specified type.\n\t */\n\t exports.convertToType = function(data, type) {\n\t switch (type) {\n\t case 'Boolean':\n\t return Boolean(data);\n\t case 'Integer':\n\t return parseInt(data, 10);\n\t case 'Number':\n\t return parseFloat(data);\n\t case 'String':\n\t return String(data);\n\t case 'Date':\n\t return this.parseDate(String(data));\n\t default:\n\t if (type === Object || type === File) {\n\t // generic object or Blob - return directly\n\t return data;\n\t } else if (typeof type === 'function') {\n\t if (typeof type.constructFromObject !== 'function') {\n\t // some manually written models might have no factory function\n\t return data;\n\t } else {\n\t // for model type like: User\n\t return type.constructFromObject(data);\n\t }\n\t } else if (Array.isArray(type)) {\n\t // for array type like: ['String']\n\t var itemType = type[0];\n\t return data.map(function(item) {\n\t return exports.convertToType(item, itemType);\n\t });\n\t } else if (typeof type === 'object') {\n\t // for plain object type like: {'String': 'Integer'}\n\t var keyType, valueType;\n\t for (var k in type) {\n\t if (type.hasOwnProperty(k)) {\n\t keyType = k;\n\t valueType = type[k];\n\t break;\n\t }\n\t }\n\t var result = {};\n\t for (var k in data) {\n\t if (data.hasOwnProperty(k)) {\n\t var key = exports.convertToType(k, keyType);\n\t var value = exports.convertToType(data[k], valueType);\n\t result[key] = value;\n\t }\n\t }\n\t return result;\n\t } else {\n\t // for unknown type, return the data directly\n\t return data;\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * Constructs a new map or array model from REST data.\n\t * @param data {Object|Array} The REST data.\n\t * @param obj {Object|Array} The target object or array.\n\t */\n\t exports.constructFromObject = function(data, obj, itemType) {\n\t if (Array.isArray(data)) {\n\t for (var i = 0; i < data.length; i++) {\n\t if (data.hasOwnProperty(i))\n\t obj[i] = exports.convertToType(data[i], itemType);\n\t }\n\t } else {\n\t for (var k in data) {\n\t if (data.hasOwnProperty(k))\n\t obj[k] = exports.convertToType(data[k], itemType);\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * The default API client implementation.\n\t * @type {module:ApiClient}\n\t */\n\t exports.instance = new exports();\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RestError = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The RestError model module.\n\t * @module model/RestError\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new RestError.\n\t * Error object with code and message. code is bound to status code, but not always same to standard HTTP status text. For example, some 409 error may have code \\"Invalid Argument\\" instead of \\"Conflic\\". So, Client should read message property to know what happend exactly when an error is returned from server. And, some 500 errors can have system errno instead of useless \\"internal\\". Like other errors, details are hidden in message. \n\t * @alias module:model/RestError\n\t * @class\n\t * @param message {String} \n\t */\n\t var exports = function(message) {\n\t var _this = this;\n\t\n\t\n\t _this['message'] = message;\n\t };\n\t\n\t /**\n\t * Constructs a RestError from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/RestError} obj Optional instance to populate.\n\t * @return {module:model/RestError} The populated RestError instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('code')) {\n\t obj['code'] = ApiClient.convertToType(data['code'], 'String');\n\t }\n\t if (data.hasOwnProperty('message')) {\n\t obj['message'] = ApiClient.convertToType(data['message'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} code\n\t */\n\t exports.prototype['code'] = undefined;\n\t /**\n\t * @member {String} message\n\t */\n\t exports.prototype['message'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RestOK = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The RestOK model module.\n\t * @module model/RestOK\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new RestOK.\n\t * @alias module:model/RestOK\n\t * @class\n\t */\n\t var exports = function() {\n\t var _this = this;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a RestOK from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/RestOK} obj Optional instance to populate.\n\t * @return {module:model/RestOK} The populated RestOK instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('message')) {\n\t obj['message'] = ApiClient.convertToType(data['message'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} message\n\t */\n\t exports.prototype['message'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(4), __webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('./DirEntry'), require('./Stats'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.DirEntry = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n\t }\n\t}(this, function(ApiClient, DirEntry, Stats) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The DirEntry model module.\n\t * @module model/DirEntry\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new DirEntry.\n\t * a directory entry (file or directory) with children that represents a (sub) tree\n\t * @alias module:model/DirEntry\n\t * @class\n\t * @param name {String} \n\t * @param stats {module:model/Stats} \n\t * @param children {Array.} \n\t */\n\t var exports = function(name, stats, children) {\n\t var _this = this;\n\t\n\t _this['name'] = name;\n\t _this['stats'] = stats;\n\t _this['children'] = children;\n\t };\n\t\n\t /**\n\t * Constructs a DirEntry from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/DirEntry} obj Optional instance to populate.\n\t * @return {module:model/DirEntry} The populated DirEntry instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('stats')) {\n\t obj['stats'] = Stats.constructFromObject(data['stats']);\n\t }\n\t if (data.hasOwnProperty('children')) {\n\t obj['children'] = ApiClient.convertToType(data['children'], [DirEntry]);\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * @member {module:model/Stats} stats\n\t */\n\t exports.prototype['stats'] = undefined;\n\t /**\n\t * @member {Array.} children\n\t */\n\t exports.prototype['children'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Stats = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Stats model module.\n\t * @module model/Stats\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Stats.\n\t * simplified/augmented fs.Stats class - see node.js doc for all properties\n\t * @alias module:model/Stats\n\t * @class\n\t * @param type {module:model/Stats.TypeEnum} All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n\t * @param birthtime {Date} \n\t * @param mtime {Date} \n\t * @param mode {String} \n\t * @param size {Integer} \n\t * @param nlink {Integer} \n\t */\n\t var exports = function(type, birthtime, mtime, mode, size, nlink) {\n\t var _this = this;\n\t\n\t _this['type'] = type;\n\t _this['birthtime'] = birthtime;\n\t _this['mtime'] = mtime;\n\t _this['mode'] = mode;\n\t _this['size'] = size;\n\t _this['nlink'] = nlink;\n\t };\n\t\n\t /**\n\t * Constructs a Stats from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Stats} obj Optional instance to populate.\n\t * @return {module:model/Stats} The populated Stats instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('type')) {\n\t obj['type'] = ApiClient.convertToType(data['type'], 'String');\n\t }\n\t if (data.hasOwnProperty('birthtime')) {\n\t obj['birthtime'] = ApiClient.convertToType(data['birthtime'], 'Date');\n\t }\n\t if (data.hasOwnProperty('mtime')) {\n\t obj['mtime'] = ApiClient.convertToType(data['mtime'], 'Date');\n\t }\n\t if (data.hasOwnProperty('mode')) {\n\t obj['mode'] = ApiClient.convertToType(data['mode'], 'String');\n\t }\n\t if (data.hasOwnProperty('size')) {\n\t obj['size'] = ApiClient.convertToType(data['size'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('nlink')) {\n\t obj['nlink'] = ApiClient.convertToType(data['nlink'], 'Integer');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n\t * @member {module:model/Stats.TypeEnum} type\n\t */\n\t exports.prototype['type'] = undefined;\n\t /**\n\t * @member {Date} birthtime\n\t */\n\t exports.prototype['birthtime'] = undefined;\n\t /**\n\t * @member {Date} mtime\n\t */\n\t exports.prototype['mtime'] = undefined;\n\t /**\n\t * @member {String} mode\n\t */\n\t exports.prototype['mode'] = undefined;\n\t /**\n\t * @member {Integer} size\n\t */\n\t exports.prototype['size'] = undefined;\n\t /**\n\t * @member {Integer} nlink\n\t */\n\t exports.prototype['nlink'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the type property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.TypeEnum = {\n\t /**\n\t * value: \"FILE\"\n\t * @const\n\t */\n\t \"FILE\": \"FILE\",\n\t /**\n\t * value: \"DIRECTORY\"\n\t * @const\n\t */\n\t \"DIRECTORY\": \"DIRECTORY\",\n\t /**\n\t * value: \"BLOCK_DEVICE\"\n\t * @const\n\t */\n\t \"BLOCK_DEVICE\": \"BLOCK_DEVICE\",\n\t /**\n\t * value: \"CHARACTER_DEVICE\"\n\t * @const\n\t */\n\t \"CHARACTER_DEVICE\": \"CHARACTER_DEVICE\",\n\t /**\n\t * value: \"LINK\"\n\t * @const\n\t */\n\t \"LINK\": \"LINK\",\n\t /**\n\t * value: \"FIFO\"\n\t * @const\n\t */\n\t \"FIFO\": \"FIFO\",\n\t /**\n\t * value: \"SOCKET\"\n\t * @const\n\t */\n\t \"SOCKET\": \"SOCKET\",\n\t /**\n\t * value: \"DUMMY\"\n\t * @const\n\t */\n\t \"DUMMY\": \"DUMMY\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.ChildProcess = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The ChildProcess model module.\n\t * @module model/ChildProcess\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new ChildProcess.\n\t * a process in execution\n\t * @alias module:model/ChildProcess\n\t * @class\n\t * @param pid {Integer} child process pid\n\t * @param command {String} the execution command in Execution request\n\t * @param args {Array.} arguments of the command in Execution request\n\t * @param executionId {String} execution id from Execution request\n\t * @param startedAt {Date} the time when this process is spawned\n\t * @param background {Array.} true when this process is spawned by asynchronous exec request or some other ways to spawn processes in server. fasle when this process is spawened with plain, synchronous execution request. \n\t */\n\t var exports = function(pid, command, args, executionId, startedAt, background) {\n\t var _this = this;\n\t\n\t _this['pid'] = pid;\n\t _this['command'] = command;\n\t _this['args'] = args;\n\t _this['executionId'] = executionId;\n\t _this['startedAt'] = startedAt;\n\t _this['background'] = background;\n\t };\n\t\n\t /**\n\t * Constructs a ChildProcess from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/ChildProcess} obj Optional instance to populate.\n\t * @return {module:model/ChildProcess} The populated ChildProcess instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('pid')) {\n\t obj['pid'] = ApiClient.convertToType(data['pid'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('command')) {\n\t obj['command'] = ApiClient.convertToType(data['command'], 'String');\n\t }\n\t if (data.hasOwnProperty('args')) {\n\t obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n\t }\n\t if (data.hasOwnProperty('executionId')) {\n\t obj['executionId'] = ApiClient.convertToType(data['executionId'], 'String');\n\t }\n\t if (data.hasOwnProperty('startedAt')) {\n\t obj['startedAt'] = ApiClient.convertToType(data['startedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('background')) {\n\t obj['background'] = ApiClient.convertToType(data['background'], ['String']);\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * child process pid\n\t * @member {Integer} pid\n\t */\n\t exports.prototype['pid'] = undefined;\n\t /**\n\t * the execution command in Execution request\n\t * @member {String} command\n\t */\n\t exports.prototype['command'] = undefined;\n\t /**\n\t * arguments of the command in Execution request\n\t * @member {Array.} args\n\t */\n\t exports.prototype['args'] = undefined;\n\t /**\n\t * execution id from Execution request\n\t * @member {String} executionId\n\t */\n\t exports.prototype['executionId'] = undefined;\n\t /**\n\t * the time when this process is spawned\n\t * @member {Date} startedAt\n\t */\n\t exports.prototype['startedAt'] = undefined;\n\t /**\n\t * true when this process is spawned by asynchronous exec request or some other ways to spawn processes in server. fasle when this process is spawened with plain, synchronous execution request. \n\t * @member {Array.} background\n\t */\n\t exports.prototype['background'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Credential = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Credential model module.\n\t * @module model/Credential\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Credential.\n\t * user credential to login. Use https to protect credential.\n\t * @alias module:model/Credential\n\t * @class\n\t * @param loginId {String} \n\t * @param loginPassword {String} \n\t */\n\t var exports = function(loginId, loginPassword) {\n\t var _this = this;\n\t\n\t _this['loginId'] = loginId;\n\t _this['loginPassword'] = loginPassword;\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Credential from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Credential} obj Optional instance to populate.\n\t * @return {module:model/Credential} The populated Credential instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('loginId')) {\n\t obj['loginId'] = ApiClient.convertToType(data['loginId'], 'String');\n\t }\n\t if (data.hasOwnProperty('loginPassword')) {\n\t obj['loginPassword'] = ApiClient.convertToType(data['loginPassword'], 'String');\n\t }\n\t if (data.hasOwnProperty('masterToken')) {\n\t obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} loginId\n\t */\n\t exports.prototype['loginId'] = undefined;\n\t /**\n\t * @member {String} loginPassword\n\t */\n\t exports.prototype['loginPassword'] = undefined;\n\t /**\n\t * a master token is issued when user wants to access webida api without id/password from remote or local desktop app. When masterToken is set, client should put some bogus id/password, non-empty. (The values can be used to identify client type) \n\t * @member {String} masterToken\n\t */\n\t exports.prototype['masterToken'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Execution = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Execution model module.\n\t * @module model/Execution\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Execution.\n\t * execution request, simlilar to node.js spawn(). see node.js documentation for details of each properties. some properties are not configurable for portability - encoding : fixed to utf-8 - shell : fixed to system default. Using shell variables in command may not work. - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or invoke taskkill to ensure chlid process is killed. - uid & gid : will not be set for security - stdio : all streams are handled by server. no options are avaliable to client. - shell : always false. - detached : always false \n\t * @alias module:model/Execution\n\t * @class\n\t * @param command {String} command to run. should not contain any arguments, pipes, redirections \n\t * @param args {Array.} the arguments array\n\t */\n\t var exports = function(command, args) {\n\t var _this = this;\n\t\n\t\n\t _this['command'] = command;\n\t _this['args'] = args;\n\t\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Execution from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Execution} obj Optional instance to populate.\n\t * @return {module:model/Execution} The populated Execution instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('command')) {\n\t obj['command'] = ApiClient.convertToType(data['command'], 'String');\n\t }\n\t if (data.hasOwnProperty('args')) {\n\t obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n\t }\n\t if (data.hasOwnProperty('cwd')) {\n\t obj['cwd'] = ApiClient.convertToType(data['cwd'], 'String');\n\t }\n\t if (data.hasOwnProperty('input')) {\n\t obj['input'] = ApiClient.convertToType(data['input'], 'String');\n\t }\n\t if (data.hasOwnProperty('timeout')) {\n\t obj['timeout'] = ApiClient.convertToType(data['timeout'], 'Integer');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * unique identifier of execution, to demux response stream or cancel request. async exec request should have id, always. For synchronous execution, missing id will be generated by server with random string & timestamp. \n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * command to run. should not contain any arguments, pipes, redirections \n\t * @member {String} command\n\t */\n\t exports.prototype['command'] = undefined;\n\t /**\n\t * the arguments array\n\t * @member {Array.} args\n\t */\n\t exports.prototype['args'] = undefined;\n\t /**\n\t * Current working directory of spawned process, relative to workspace root. If abscent, cwd will be the workspace root directory. Does not accept any evaluatable form like $HOME, %USERPROFILE%. As wfs operations, path should be unixified. But, unlikely, while the wfs operations cut heading \\\"/\\\" in path with URI normlization, this operation does not convert path to relateive and returns error for the argument. \n\t * @member {String} cwd\n\t */\n\t exports.prototype['cwd'] = undefined;\n\t /**\n\t * input string for child process. if falsy, no input will be available to child. (interactive execution via websocket is not supported for most of such processes requires tty, not standard i/o) \n\t * @member {String} input\n\t */\n\t exports.prototype['input'] = undefined;\n\t /**\n\t * The value which In \\\"milliseconds\\\" the maximum amount of time the child is allowed to run. (not idle time of stdout / stderr stream) if undefined, server sets default timeout value 5 min to synchronous execution requests. If request specifies async execution and sets this value to falsy, server should not kill the child process until 1) The process exists by self 2) cancel operation is invoked by api request 3) The workspace executing the process is removed by api request 4) Server Stops Terminiating any \\\"too-long-lived\\\" child process are not graceful, as cancel() is. \n\t * @member {Integer} timeout\n\t */\n\t exports.prototype['timeout'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.ExecutionResult = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The ExecutionResult model module.\n\t * @module model/ExecutionResult\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new ExecutionResult.\n\t * execution response\n\t * @alias module:model/ExecutionResult\n\t * @class\n\t * @param exitCode {Integer} exit code of child process.\n\t * @param stdout {String} standard out of child process.\n\t * @param stderr {String} standard error of child process.\n\t */\n\t var exports = function(exitCode, stdout, stderr) {\n\t var _this = this;\n\t\n\t _this['exitCode'] = exitCode;\n\t _this['stdout'] = stdout;\n\t _this['stderr'] = stderr;\n\t };\n\t\n\t /**\n\t * Constructs a ExecutionResult from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/ExecutionResult} obj Optional instance to populate.\n\t * @return {module:model/ExecutionResult} The populated ExecutionResult instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('exitCode')) {\n\t obj['exitCode'] = ApiClient.convertToType(data['exitCode'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('stdout')) {\n\t obj['stdout'] = ApiClient.convertToType(data['stdout'], 'String');\n\t }\n\t if (data.hasOwnProperty('stderr')) {\n\t obj['stderr'] = ApiClient.convertToType(data['stderr'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * exit code of child process.\n\t * @member {Integer} exitCode\n\t */\n\t exports.prototype['exitCode'] = undefined;\n\t /**\n\t * standard out of child process.\n\t * @member {String} stdout\n\t */\n\t exports.prototype['stdout'] = undefined;\n\t /**\n\t * standard error of child process.\n\t * @member {String} stderr\n\t */\n\t exports.prototype['stderr'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RemoteAccess = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The RemoteAccess model module.\n\t * @module model/RemoteAccess\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new RemoteAccess.\n\t * Access information of remote workspace in remote server\n\t * @alias module:model/RemoteAccess\n\t * @class\n\t * @param name {String} display text of remote workspace. can be different from original name. \n\t * @param serverUrl {String} the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n\t * @param workspaceId {String} the id of remote workspace, read from remote server\n\t * @param masterToken {String} master token to access service, issued from remote server\n\t */\n\t var exports = function(name, serverUrl, workspaceId, masterToken) {\n\t var _this = this;\n\t\n\t _this['name'] = name;\n\t _this['serverUrl'] = serverUrl;\n\t _this['workspaceId'] = workspaceId;\n\t\n\t _this['masterToken'] = masterToken;\n\t };\n\t\n\t /**\n\t * Constructs a RemoteAccess from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/RemoteAccess} obj Optional instance to populate.\n\t * @return {module:model/RemoteAccess} The populated RemoteAccess instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('serverUrl')) {\n\t obj['serverUrl'] = ApiClient.convertToType(data['serverUrl'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspaceId')) {\n\t obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspacePath')) {\n\t obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n\t }\n\t if (data.hasOwnProperty('masterToken')) {\n\t obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * display text of remote workspace. can be different from original name. \n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n\t * @member {String} serverUrl\n\t */\n\t exports.prototype['serverUrl'] = undefined;\n\t /**\n\t * the id of remote workspace, read from remote server\n\t * @member {String} workspaceId\n\t */\n\t exports.prototype['workspaceId'] = undefined;\n\t /**\n\t * Full path of remote workspace, read from remote server. this property will be removed when clients are able to work without \\\"named root directory\\\" in workspace fs tree. \n\t * @member {String} workspacePath\n\t */\n\t exports.prototype['workspacePath'] = undefined;\n\t /**\n\t * master token to access service, issued from remote server\n\t * @member {String} masterToken\n\t */\n\t exports.prototype['masterToken'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Session = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Session model module.\n\t * @module model/Session\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Session.\n\t * an application session per ide instance. bound to access token\n\t * @alias module:model/Session\n\t * @class\n\t * @param id {String} the id of a session. usually same to socket id.\n\t * @param name {String} human readable name, usually derived from workspace name.\n\t * @param state {module:model/Session.StateEnum} state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n\t * @param clientAddress {String} the peer address of session connection. not always\n\t * @param connectedAt {Date} the time when socket connection is established\n\t * @param disconnectedAt {Date} the time when socket is closed.\n\t */\n\t var exports = function(id, name, state, clientAddress, connectedAt, disconnectedAt) {\n\t var _this = this;\n\t\n\t _this['id'] = id;\n\t _this['name'] = name;\n\t _this['state'] = state;\n\t\n\t _this['clientAddress'] = clientAddress;\n\t _this['connectedAt'] = connectedAt;\n\t _this['disconnectedAt'] = disconnectedAt;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Session from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Session} obj Optional instance to populate.\n\t * @return {module:model/Session} The populated Session instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('state')) {\n\t obj['state'] = ApiClient.convertToType(data['state'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspaceId')) {\n\t obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n\t }\n\t if (data.hasOwnProperty('clientAddress')) {\n\t obj['clientAddress'] = ApiClient.convertToType(data['clientAddress'], 'String');\n\t }\n\t if (data.hasOwnProperty('connectedAt')) {\n\t obj['connectedAt'] = ApiClient.convertToType(data['connectedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('disconnectedAt')) {\n\t obj['disconnectedAt'] = ApiClient.convertToType(data['disconnectedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('willCloseAt')) {\n\t obj['willCloseAt'] = ApiClient.convertToType(data['willCloseAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('willLoseAt')) {\n\t obj['willLoseAt'] = ApiClient.convertToType(data['willLoseAt'], 'Date');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * the id of a session. usually same to socket id.\n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * human readable name, usually derived from workspace name.\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n\t * @member {module:model/Session.StateEnum} state\n\t */\n\t exports.prototype['state'] = undefined;\n\t /**\n\t * the id of workspace that this sessions is working on. If falsy, then this session is not belonged to any workpsace. Usually, dashboard / monitoring app will create a session without workspace id. \n\t * @member {String} workspaceId\n\t */\n\t exports.prototype['workspaceId'] = undefined;\n\t /**\n\t * the peer address of session connection. not always\n\t * @member {String} clientAddress\n\t */\n\t exports.prototype['clientAddress'] = undefined;\n\t /**\n\t * the time when socket connection is established\n\t * @member {Date} connectedAt\n\t */\n\t exports.prototype['connectedAt'] = undefined;\n\t /**\n\t * the time when socket is closed.\n\t * @member {Date} disconnectedAt\n\t */\n\t exports.prototype['disconnectedAt'] = undefined;\n\t /**\n\t * when state becomes CLOSING, actual closing time will be updated by server.\n\t * @member {Date} willCloseAt\n\t */\n\t exports.prototype['willCloseAt'] = undefined;\n\t /**\n\t * when state becomes LOSING, server will not wait for reconnection after this time.\n\t * @member {Date} willLoseAt\n\t */\n\t exports.prototype['willLoseAt'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the state property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.StateEnum = {\n\t /**\n\t * value: \"NORMAL\"\n\t * @const\n\t */\n\t \"NORMAL\": \"NORMAL\",\n\t /**\n\t * value: \"LOSING\"\n\t * @const\n\t */\n\t \"LOSING\": \"LOSING\",\n\t /**\n\t * value: \"CLOSING\"\n\t * @const\n\t */\n\t \"CLOSING\": \"CLOSING\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Token = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Token model module.\n\t * @module model/Token\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Token.\n\t * a json webtoken and accessible data\n\t * @alias module:model/Token\n\t * @class\n\t * @param text {String} actual token text that should be shipped in header or query\n\t * @param tokenType {module:model/Token.TokenTypeEnum} MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n\t * @param expiresAt {Date} \n\t * @param issuedAt {Date} \n\t */\n\t var exports = function(text, tokenType, expiresAt, issuedAt) {\n\t var _this = this;\n\t\n\t _this['text'] = text;\n\t _this['tokenType'] = tokenType;\n\t _this['expiresAt'] = expiresAt;\n\t _this['issuedAt'] = issuedAt;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Token from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Token} obj Optional instance to populate.\n\t * @return {module:model/Token} The populated Token instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('text')) {\n\t obj['text'] = ApiClient.convertToType(data['text'], 'String');\n\t }\n\t if (data.hasOwnProperty('tokenType')) {\n\t obj['tokenType'] = ApiClient.convertToType(data['tokenType'], 'String');\n\t }\n\t if (data.hasOwnProperty('expiresAt')) {\n\t obj['expiresAt'] = ApiClient.convertToType(data['expiresAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('issuedAt')) {\n\t obj['issuedAt'] = ApiClient.convertToType(data['issuedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('sessionId')) {\n\t obj['sessionId'] = ApiClient.convertToType(data['sessionId'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspaceId')) {\n\t obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * actual token text that should be shipped in header or query\n\t * @member {String} text\n\t */\n\t exports.prototype['text'] = undefined;\n\t /**\n\t * MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n\t * @member {module:model/Token.TokenTypeEnum} tokenType\n\t */\n\t exports.prototype['tokenType'] = undefined;\n\t /**\n\t * @member {Date} expiresAt\n\t */\n\t exports.prototype['expiresAt'] = undefined;\n\t /**\n\t * @member {Date} issuedAt\n\t */\n\t exports.prototype['issuedAt'] = undefined;\n\t /**\n\t * mandatory for ACCESS token, identifying client instance\n\t * @member {String} sessionId\n\t */\n\t exports.prototype['sessionId'] = undefined;\n\t /**\n\t * If truthy, access rights are restricted to specified workspace only.\n\t * @member {String} workspaceId\n\t */\n\t exports.prototype['workspaceId'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the tokenType property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.TokenTypeEnum = {\n\t /**\n\t * value: \"MASTER\"\n\t * @const\n\t */\n\t \"MASTER\": \"MASTER\",\n\t /**\n\t * value: \"ACCESS\"\n\t * @const\n\t */\n\t \"ACCESS\": \"ACCESS\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.User = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The User model module.\n\t * @module model/User\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new User.\n\t * Any services/products should define some admin apis to manage users in the system and expose what should be exposed to client app. So, no properties are mandatory. Currently, the properties are defined for compatiblity with legacy clients. \n\t * @alias module:model/User\n\t * @class\n\t */\n\t var exports = function() {\n\t var _this = this;\n\t\n\t\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a User from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/User} obj Optional instance to populate.\n\t * @return {module:model/User} The populated User instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('email')) {\n\t obj['email'] = ApiClient.convertToType(data['email'], 'String');\n\t }\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * unique id per user (email is also unique)\n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * @member {String} email\n\t */\n\t exports.prototype['email'] = undefined;\n\t /**\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Workspace = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Workspace model module.\n\t * @module model/Workspace\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Workspace.\n\t * A workspace in server\n\t * @alias module:model/Workspace\n\t * @class\n\t * @param id {String} the id of a workspace. usually same to file system id\n\t * @param name {String} display text of this workspace for UI\n\t * @param description {String} human readable description on this workspace\n\t * @param createdAt {Date} the time when this workspace is created (registered from local file system)\n\t * @param workspacePath {String} absolute path of this workspace in server.\n\t * @param excludedPaths {Array.} glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n\t * @param offlineCachePaths {Array.} any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n\t */\n\t var exports = function(id, name, description, createdAt, workspacePath, excludedPaths, offlineCachePaths) {\n\t var _this = this;\n\t\n\t _this['id'] = id;\n\t _this['name'] = name;\n\t _this['description'] = description;\n\t _this['createdAt'] = createdAt;\n\t\n\t _this['workspacePath'] = workspacePath;\n\t _this['excludedPaths'] = excludedPaths;\n\t _this['offlineCachePaths'] = offlineCachePaths;\n\t };\n\t\n\t /**\n\t * Constructs a Workspace from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Workspace} obj Optional instance to populate.\n\t * @return {module:model/Workspace} The populated Workspace instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('description')) {\n\t obj['description'] = ApiClient.convertToType(data['description'], 'String');\n\t }\n\t if (data.hasOwnProperty('createdAt')) {\n\t obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('accessedAt')) {\n\t obj['accessedAt'] = ApiClient.convertToType(data['accessedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('workspacePath')) {\n\t obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n\t }\n\t if (data.hasOwnProperty('excludedPaths')) {\n\t obj['excludedPaths'] = ApiClient.convertToType(data['excludedPaths'], ['String']);\n\t }\n\t if (data.hasOwnProperty('offlineCachePaths')) {\n\t obj['offlineCachePaths'] = ApiClient.convertToType(data['offlineCachePaths'], ['String']);\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * the id of a workspace. usually same to file system id\n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * display text of this workspace for UI\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * human readable description on this workspace\n\t * @member {String} description\n\t */\n\t exports.prototype['description'] = undefined;\n\t /**\n\t * the time when this workspace is created (registered from local file system)\n\t * @member {Date} createdAt\n\t */\n\t exports.prototype['createdAt'] = undefined;\n\t /**\n\t * the time when the last session on this workspace was made. (optional)\n\t * @member {Date} accessedAt\n\t */\n\t exports.prototype['accessedAt'] = undefined;\n\t /**\n\t * absolute path of this workspace in server.\n\t * @member {String} workspacePath\n\t */\n\t exports.prototype['workspacePath'] = undefined;\n\t /**\n\t * glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n\t * @member {Array.} excludedPaths\n\t */\n\t exports.prototype['excludedPaths'] = undefined;\n\t /**\n\t * any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n\t * @member {Array.} offlineCachePaths\n\t */\n\t exports.prototype['offlineCachePaths'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\t(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.superagent = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= 200 && res.status < 300) {\n\t return self.callback(err, res);\n\t }\n\t\n\t var new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n\t new_err.original = err;\n\t new_err.response = res;\n\t new_err.status = res.status;\n\t\n\t self.callback(new_err, res);\n\t } catch(e) {\n\t self.callback(e); // #985 touching res may cause INVALID_STATE_ERR on old Android\n\t }\n\t });\n\t}\n\t\n\t/**\n\t * Mixin `Emitter` and `requestBase`.\n\t */\n\t\n\tEmitter(Request.prototype);\n\tfor (var key in requestBase) {\n\t Request.prototype[key] = requestBase[key];\n\t}\n\t\n\t/**\n\t * Set Content-Type to `type`, mapping values from `request.types`.\n\t *\n\t * Examples:\n\t *\n\t * superagent.types.xml = 'application/xml';\n\t *\n\t * request.post('/')\n\t * .type('xml')\n\t * .send(xmlstring)\n\t * .end(callback);\n\t *\n\t * request.post('/')\n\t * .type('application/xml')\n\t * .send(xmlstring)\n\t * .end(callback);\n\t *\n\t * @param {String} type\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.type = function(type){\n\t this.set('Content-Type', request.types[type] || type);\n\t return this;\n\t};\n\t\n\t/**\n\t * Set responseType to `val`. Presently valid responseTypes are 'blob' and\n\t * 'arraybuffer'.\n\t *\n\t * Examples:\n\t *\n\t * req.get('/')\n\t * .responseType('blob')\n\t * .end(callback);\n\t *\n\t * @param {String} val\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.responseType = function(val){\n\t this._responseType = val;\n\t return this;\n\t};\n\t\n\t/**\n\t * Set Accept to `type`, mapping values from `request.types`.\n\t *\n\t * Examples:\n\t *\n\t * superagent.types.json = 'application/json';\n\t *\n\t * request.get('/agent')\n\t * .accept('json')\n\t * .end(callback);\n\t *\n\t * request.get('/agent')\n\t * .accept('application/json')\n\t * .end(callback);\n\t *\n\t * @param {String} accept\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.accept = function(type){\n\t this.set('Accept', request.types[type] || type);\n\t return this;\n\t};\n\t\n\t/**\n\t * Set Authorization field value with `user` and `pass`.\n\t *\n\t * @param {String} user\n\t * @param {String} pass\n\t * @param {Object} options with 'type' property 'auto' or 'basic' (default 'basic')\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.auth = function(user, pass, options){\n\t if (!options) {\n\t options = {\n\t type: 'basic'\n\t }\n\t }\n\t\n\t switch (options.type) {\n\t case 'basic':\n\t var str = btoa(user + ':' + pass);\n\t this.set('Authorization', 'Basic ' + str);\n\t break;\n\t\n\t case 'auto':\n\t this.username = user;\n\t this.password = pass;\n\t break;\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t* Add query-string `val`.\n\t*\n\t* Examples:\n\t*\n\t* request.get('/shoes')\n\t* .query('size=10')\n\t* .query({ color: 'blue' })\n\t*\n\t* @param {Object|String} val\n\t* @return {Request} for chaining\n\t* @api public\n\t*/\n\t\n\tRequest.prototype.query = function(val){\n\t if ('string' != typeof val) val = serialize(val);\n\t if (val) this._query.push(val);\n\t return this;\n\t};\n\t\n\t/**\n\t * Queue the given `file` as an attachment to the specified `field`,\n\t * with optional `filename`.\n\t *\n\t * ``` js\n\t * request.post('/upload')\n\t * .attach('content', new Blob(['hey!'], { type: \"text/html\"}))\n\t * .end(callback);\n\t * ```\n\t *\n\t * @param {String} field\n\t * @param {Blob|File} file\n\t * @param {String} filename\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.attach = function(field, file, filename){\n\t this._getFormData().append(field, file, filename || file.name);\n\t return this;\n\t};\n\t\n\tRequest.prototype._getFormData = function(){\n\t if (!this._formData) {\n\t this._formData = new root.FormData();\n\t }\n\t return this._formData;\n\t};\n\t\n\t/**\n\t * Invoke the callback with `err` and `res`\n\t * and handle arity check.\n\t *\n\t * @param {Error} err\n\t * @param {Response} res\n\t * @api private\n\t */\n\t\n\tRequest.prototype.callback = function(err, res){\n\t var fn = this._callback;\n\t this.clearTimeout();\n\t fn(err, res);\n\t};\n\t\n\t/**\n\t * Invoke callback with x-domain error.\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype.crossDomainError = function(){\n\t var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n\t err.crossDomain = true;\n\t\n\t err.status = this.status;\n\t err.method = this.method;\n\t err.url = this.url;\n\t\n\t this.callback(err);\n\t};\n\t\n\t/**\n\t * Invoke callback with timeout error.\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype._timeoutError = function(){\n\t var timeout = this._timeout;\n\t var err = new Error('timeout of ' + timeout + 'ms exceeded');\n\t err.timeout = timeout;\n\t this.callback(err);\n\t};\n\t\n\t/**\n\t * Compose querystring to append to req.url\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype._appendQueryString = function(){\n\t var query = this._query.join('&');\n\t if (query) {\n\t this.url += ~this.url.indexOf('?')\n\t ? '&' + query\n\t : '?' + query;\n\t }\n\t};\n\t\n\t/**\n\t * Initiate request, invoking callback `fn(res)`\n\t * with an instanceof `Response`.\n\t *\n\t * @param {Function} fn\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.end = function(fn){\n\t var self = this;\n\t var xhr = this.xhr = request.getXHR();\n\t var timeout = this._timeout;\n\t var data = this._formData || this._data;\n\t\n\t // store callback\n\t this._callback = fn || noop;\n\t\n\t // state change\n\t xhr.onreadystatechange = function(){\n\t if (4 != xhr.readyState) return;\n\t\n\t // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n\t // result in the error \"Could not complete the operation due to error c00c023f\"\n\t var status;\n\t try { status = xhr.status } catch(e) { status = 0; }\n\t\n\t if (0 == status) {\n\t if (self.timedout) return self._timeoutError();\n\t if (self._aborted) return;\n\t return self.crossDomainError();\n\t }\n\t self.emit('end');\n\t };\n\t\n\t // progress\n\t var handleProgress = function(e){\n\t if (e.total > 0) {\n\t e.percent = e.loaded / e.total * 100;\n\t }\n\t e.direction = 'download';\n\t self.emit('progress', e);\n\t };\n\t if (this.hasListeners('progress')) {\n\t xhr.onprogress = handleProgress;\n\t }\n\t try {\n\t if (xhr.upload && this.hasListeners('progress')) {\n\t xhr.upload.onprogress = handleProgress;\n\t }\n\t } catch(e) {\n\t // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n\t // Reported here:\n\t // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n\t }\n\t\n\t // timeout\n\t if (timeout && !this._timer) {\n\t this._timer = setTimeout(function(){\n\t self.timedout = true;\n\t self.abort();\n\t }, timeout);\n\t }\n\t\n\t // querystring\n\t this._appendQueryString();\n\t\n\t // initiate request\n\t if (this.username && this.password) {\n\t xhr.open(this.method, this.url, true, this.username, this.password);\n\t } else {\n\t xhr.open(this.method, this.url, true);\n\t }\n\t\n\t // CORS\n\t if (this._withCredentials) xhr.withCredentials = true;\n\t\n\t // body\n\t if ('GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n\t // serialize stuff\n\t var contentType = this._header['content-type'];\n\t var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n\t if (!serialize && isJSON(contentType)) serialize = request.serialize['application/json'];\n\t if (serialize) data = serialize(data);\n\t }\n\t\n\t // set header fields\n\t for (var field in this.header) {\n\t if (null == this.header[field]) continue;\n\t xhr.setRequestHeader(field, this.header[field]);\n\t }\n\t\n\t if (this._responseType) {\n\t xhr.responseType = this._responseType;\n\t }\n\t\n\t // send stuff\n\t this.emit('request', this);\n\t\n\t // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n\t // We need null here if data is undefined\n\t xhr.send(typeof data !== 'undefined' ? data : null);\n\t return this;\n\t};\n\t\n\t\n\t/**\n\t * Expose `Request`.\n\t */\n\t\n\trequest.Request = Request;\n\t\n\t/**\n\t * GET `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.get = function(url, data, fn){\n\t var req = request('GET', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.query(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * HEAD `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.head = function(url, data, fn){\n\t var req = request('HEAD', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * OPTIONS query to `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.options = function(url, data, fn){\n\t var req = request('OPTIONS', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * DELETE `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\tfunction del(url, fn){\n\t var req = request('DELETE', url);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\trequest['del'] = del;\n\trequest['delete'] = del;\n\t\n\t/**\n\t * PATCH `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed} data\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.patch = function(url, data, fn){\n\t var req = request('PATCH', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * POST `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed} data\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.post = function(url, data, fn){\n\t var req = request('POST', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * PUT `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.put = function(url, data, fn){\n\t var req = request('PUT', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t},{\"./is-object\":1,\"./request\":3,\"./request-base\":2,\"emitter\":4,\"reduce\":5}]},{},[6])(6)\n\t});\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(14), __webpack_require__(2), __webpack_require__(13), __webpack_require__(8)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/User'), require('../model/RestError'), require('../model/Token'), require('../model/Credential'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.AuthApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.User, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Token, root.WebidaRestfulApi.Credential);\n\t }\n\t}(this, function(ApiClient, User, RestError, Token, Credential) {\n\t 'use strict';\n\t\n\t /**\n\t * Auth service.\n\t * @module api/AuthApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new AuthApi. \n\t * @alias module:api/AuthApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the getInfo operation.\n\t * @callback module:api/AuthApi~getInfoCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/User} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Gets user information of that can be identified with current access token. Implementations should provide a more restful api based on domain data model, not extending this operation. (e.g. GET,PUT and DELETE on /Users/{userId} to read, update and delete user) \n\t * @param {module:api/AuthApi~getInfoCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/User}\n\t */\n\t this.getInfo = function(callback) {\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = User;\n\t\n\t return this.apiClient.callApi(\n\t '/auth/info', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the issueToken operation.\n\t * @callback module:api/AuthApi~issueTokenCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Token} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates new token from current access token, inheriting workspace id & session id. The duration of generated token is (and should not be) parameterizable. Server should set proper duration, respecting \\"reconnect\\" period of socket.io clients. Remember that most of socket.io client implementations (including official js client) do not provide any ways to change connection parameters (header or query) while reconnecting to server. Like login API, this endpoint does not provide any encryption. Server should not set any data to harm security in the token & should provide some signinig/encryption mechanism to protect token. Simple JSON Web Token with HMAC-SHA will do. \n\t * @param {module:model/String} type \n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.workspaceId recommended to issue a MASTER type token to restrict remote access\n\t * @param {module:api/AuthApi~issueTokenCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Token}\n\t */\n\t this.issueToken = function(type, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'type' is set\n\t if (type == undefined || type == null) {\n\t throw \"Missing the required parameter 'type' when calling issueToken\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'type': type,\n\t 'workspaceId': opts['workspaceId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Token;\n\t\n\t return this.apiClient.callApi(\n\t '/auth/token', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the login operation.\n\t * @callback module:api/AuthApi~loginCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Token} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * A \\"VERY\\" basic authentication, required to use webida-simple-auth security scheme. Service / Product implementations who need better security, should override this operation or add their own login api or some other specs like OAuth2. Simple auth is not suitable for large-sacle, multi-tennant service, for the scheme assumes a single, trusted user only. Logging-in with master token, the generated access token inherits all restriction from it. On the other hand, normal log-in with login id & password creates an unrestricted access token, with reasonably short expiration time. Every client should spawn another access token with issueToken API before current access token expires, inheriting session id from current token. To save remote access info, client should create a (restricted but long-ttl) master token to start IDE from remote. The remote client should not use the unrestricted acccess token from login to use any other perpose than finding available workspaces, and should not refresh the token. (Let user log-in again) Login API does not force any encryption. Server should provide secure transport channel, usually https, to provide remote access, always. \n\t * @param {module:model/Credential} body \n\t * @param {module:api/AuthApi~loginCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Token}\n\t */\n\t this.login = function(body, callback) {\n\t var postBody = body;\n\t\n\t // verify the required parameter 'body' is set\n\t if (body == undefined || body == null) {\n\t throw \"Missing the required parameter 'body' when calling login\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = [];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Token;\n\t\n\t return this.apiClient.callApi(\n\t '/auth/login', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.OpsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError) {\n\t 'use strict';\n\t\n\t /**\n\t * Ops service.\n\t * @module api/OpsApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new OpsApi. \n\t * @alias module:api/OpsApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the replace operation.\n\t * @callback module:api/OpsApi~replaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * replace file contents with regex matching\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {Array.} wfsPathList array of wfsPath, with heading / (collection format may be changed by implementation)\n\t * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n\t * @param {String} replaceTo string to replace with\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n\t * @param {module:api/OpsApi~replaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.replace = function(wfsId, wfsPathList, pattern, replaceTo, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling replace\";\n\t }\n\t\n\t // verify the required parameter 'wfsPathList' is set\n\t if (wfsPathList == undefined || wfsPathList == null) {\n\t throw \"Missing the required parameter 'wfsPathList' when calling replace\";\n\t }\n\t\n\t // verify the required parameter 'pattern' is set\n\t if (pattern == undefined || pattern == null) {\n\t throw \"Missing the required parameter 'pattern' when calling replace\";\n\t }\n\t\n\t // verify the required parameter 'replaceTo' is set\n\t if (replaceTo == undefined || replaceTo == null) {\n\t throw \"Missing the required parameter 'replaceTo' when calling replace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId\n\t };\n\t var queryParams = {\n\t 'wfsPathList': this.apiClient.buildCollectionParam(wfsPathList, 'multi'),\n\t 'pattern': pattern,\n\t 'replaceTo': replaceTo,\n\t 'ignoreCase': opts['ignoreCase']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/ops/replace', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the search operation.\n\t * @callback module:api/OpsApi~searchCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Object.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * search files in some path, with given pattern\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n\t * @param {module:api/OpsApi~searchCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Object.}\n\t */\n\t this.search = function(wfsId, wfsPath, pattern, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling search\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling search\";\n\t }\n\t\n\t // verify the required parameter 'pattern' is set\n\t if (pattern == undefined || pattern == null) {\n\t throw \"Missing the required parameter 'pattern' when calling search\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'pattern': pattern,\n\t 'ignoreCase': opts['ignoreCase']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = {'String': [Match]};\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/ops/search/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(2), __webpack_require__(11), __webpack_require__(3)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestError'), require('../model/RemoteAccess'), require('../model/RestOK'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RemotesApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.RemoteAccess, root.WebidaRestfulApi.RestOK);\n\t }\n\t}(this, function(ApiClient, RestError, RemoteAccess, RestOK) {\n\t 'use strict';\n\t\n\t /**\n\t * Remotes service.\n\t * @module api/RemotesApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new RemotesApi. \n\t * @alias module:api/RemotesApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the findRemoteAccesses operation.\n\t * @callback module:api/RemotesApi~findRemoteAccessesCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Get all access informations See RemoteWorkspaceAccess definition for details (no fancy find / search feature yet) \n\t * @param {module:api/RemotesApi~findRemoteAccessesCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findRemoteAccesses = function(callback) {\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [RemoteAccess];\n\t\n\t return this.apiClient.callApi(\n\t '/remotes', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the putRemoteAccess operation.\n\t * @callback module:api/RemotesApi~putRemoteAccessCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * create or update a remote workspace access information\n\t * @param {module:model/RemoteAccess} body \n\t * @param {module:api/RemotesApi~putRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.putRemoteAccess = function(body, callback) {\n\t var postBody = body;\n\t\n\t // verify the required parameter 'body' is set\n\t if (body == undefined || body == null) {\n\t throw \"Missing the required parameter 'body' when calling putRemoteAccess\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/remotes', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the removeRemoteAccess operation.\n\t * @callback module:api/RemotesApi~removeRemoteAccessCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RemoteAccess} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * delete a remote workspace\n\t * @param {String} workspaceId workspace Id of remote workspace\n\t * @param {module:api/RemotesApi~removeRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RemoteAccess}\n\t */\n\t this.removeRemoteAccess = function(workspaceId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling removeRemoteAccess\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RemoteAccess;\n\t\n\t return this.apiClient.callApi(\n\t '/remotes', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2), __webpack_require__(12)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Session'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.SessionApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Session);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError, Session) {\n\t 'use strict';\n\t\n\t /**\n\t * Session service.\n\t * @module api/SessionApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new SessionApi. \n\t * @alias module:api/SessionApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the closeSession operation.\n\t * @callback module:api/SessionApi~closeSessionCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * close session with timeout\n\t * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n\t * @param {Integer} closeAfter waiting time before actual closing, to let client save files and prevent reconnect \n\t * @param {module:api/SessionApi~closeSessionCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.closeSession = function(sessionId, closeAfter, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'sessionId' is set\n\t if (sessionId == undefined || sessionId == null) {\n\t throw \"Missing the required parameter 'sessionId' when calling closeSession\";\n\t }\n\t\n\t // verify the required parameter 'closeAfter' is set\n\t if (closeAfter == undefined || closeAfter == null) {\n\t throw \"Missing the required parameter 'closeAfter' when calling closeSession\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'sessionId': sessionId\n\t };\n\t var queryParams = {\n\t 'closeAfter': closeAfter\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/sessions/{sessionId}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the findSessions operation.\n\t * @callback module:api/SessionApi~findSessionsCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get all / some webida sessions established to server\n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.workspaceId find only sessions working on some given workspace\n\t * @param {module:api/SessionApi~findSessionsCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findSessions = function(opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'workspaceId': opts['workspaceId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [Session];\n\t\n\t return this.apiClient.callApi(\n\t '/sessions', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the getSession operation.\n\t * @callback module:api/SessionApi~getSessionCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Session} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get a session object by id\n\t * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n\t * @param {module:api/SessionApi~getSessionCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Session}\n\t */\n\t this.getSession = function(sessionId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'sessionId' is set\n\t if (sessionId == undefined || sessionId == null) {\n\t throw \"Missing the required parameter 'sessionId' when calling getSession\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'sessionId': sessionId\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Session;\n\t\n\t return this.apiClient.callApi(\n\t '/sessions/{sessionId}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2), __webpack_require__(4), __webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/DirEntry'), require('../model/Stats'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.WfsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError, DirEntry, Stats) {\n\t 'use strict';\n\t\n\t /**\n\t * Wfs service.\n\t * @module api/WfsApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new WfsApi. \n\t * @alias module:api/WfsApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the copy operation.\n\t * @callback module:api/WfsApi~copyCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates a copy of source to given path. Unlike cp command, wfsPath always denotes an exact path of the resource to be created. So, copying a file to directory always returns error and vice versa. this operation creates the parents dir of destination path always, and does not roll-back the creation when operation failed. So, clients should roll-back if needed. When destination path exists already, 1) copying file to file : follows noOverwrite flag. (does not return error) 2) copying file to dir : returns 409 error 3) copying dir to file : returns 409 error 4) copying dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {String} srcPath source data path of some operations, with have heading /\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n\t * @param {Boolean} opts.followSymbolicLinks dereference symlinks in source. (default to false)\n\t * @param {Boolean} opts.preserveTimestamps keep mtime/atime of source file(s) in destination. (default to false)\n\t * @param {module:api/WfsApi~copyCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.copy = function(wfsId, wfsPath, srcPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling copy\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling copy\";\n\t }\n\t\n\t // verify the required parameter 'srcPath' is set\n\t if (srcPath == undefined || srcPath == null) {\n\t throw \"Missing the required parameter 'srcPath' when calling copy\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'srcPath': srcPath,\n\t 'noOverwrite': opts['noOverwrite'],\n\t 'followSymbolicLinks': opts['followSymbolicLinks'],\n\t 'preserveTimestamps': opts['preserveTimestamps']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the createDir operation.\n\t * @callback module:api/WfsApi~createDirCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * create a directory at the path. returns error when wfsPath exists and not empty this API always creates parent directories if needed. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {module:api/WfsApi~createDirCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.createDir = function(wfsId, wfsPath, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling createDir\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling createDir\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/dir/{wfsPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the dirTree operation.\n\t * @callback module:api/WfsApi~dirTreeCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/DirEntry} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * returns a directory tree of given path, for listing dir and managing file system errors while building sub-tree will be ignored and will not be included in result. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {Integer} maxDepth Maximum depth of tree. -1 to build a full tree, 0 to stat, 1 to plain list.\n\t * @param {module:api/WfsApi~dirTreeCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/DirEntry}\n\t */\n\t this.dirTree = function(wfsId, wfsPath, maxDepth, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling dirTree\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling dirTree\";\n\t }\n\t\n\t // verify the required parameter 'maxDepth' is set\n\t if (maxDepth == undefined || maxDepth == null) {\n\t throw \"Missing the required parameter 'maxDepth' when calling dirTree\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'maxDepth': maxDepth\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = DirEntry;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/dir/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the move operation.\n\t * @callback module:api/WfsApi~moveCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Moves source resource to given path. Unlike mv command, wfsPath always denotes an exact path of the resource to be created. So, moving a file to existing directory always returns error and vice versa. (So, This API works like 'rename' rather than 'mv' command) Like copy(), this operation creates parent path of destination, and does not roll-back when operation failes. When destination path exists already, 1) moving file to file : follows noOverwrite flag. 2) moving file to dir : returns 409 error 3) moving dir to file : returns 409 error 4) moving dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {String} srcPath source data path of some operations, with have heading /\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n\t * @param {module:api/WfsApi~moveCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.move = function(wfsId, wfsPath, srcPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling move\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling move\";\n\t }\n\t\n\t // verify the required parameter 'srcPath' is set\n\t if (srcPath == undefined || srcPath == null) {\n\t throw \"Missing the required parameter 'srcPath' when calling move\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'srcPath': srcPath,\n\t 'noOverwrite': opts['noOverwrite']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the readFile operation.\n\t * @callback module:api/WfsApi~readFileCallback\n\t * @param {String} error Error message, if any.\n\t * @param {File} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * read file data on path\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {module:api/WfsApi~readFileCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {File}\n\t */\n\t this.readFile = function(wfsId, wfsPath, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling readFile\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling readFile\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = File;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/file/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the remove operation.\n\t * @callback module:api/WfsApi~removeCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * delete file or directory\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.noRecursive if set, deleting non-empty directory will return 409 error. (default to false)\n\t * @param {module:api/WfsApi~removeCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.remove = function(wfsId, wfsPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling remove\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling remove\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'noRecursive': opts['noRecursive']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the stat operation.\n\t * @callback module:api/WfsApi~statCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Stats} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Get stats of given path. (stat() returns \\"stats\\" object in node and POSIX system) Since we've no ctime/atime in Stats class, some file system changing events will send 'exactly same' stats object. This API should be called only when stats of some file system path is stale for unknown reason (e.g. losting change events). Use dirTree operation and session events to detect stats, if possible. This API can be used to check a path is valid, existing one, but it's not recommended to check existence of individual paths by API. Clients should use dirTree and session events to synchorize some in-app file system with webida file system. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ignoreError flag to ignore stat errors to check existence only. If this flag is true, server will returns 'DUMMY' type stats object instead of 404 error when given path does not exists. (invalid wfsId will produce 400 error, not 404) (default to false)\n\t * @param {module:api/WfsApi~statCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Stats}\n\t */\n\t this.stat = function(wfsId, wfsPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling stat\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling stat\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'ignoreError': opts['ignoreError']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Stats;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the writeFile operation.\n\t * @callback module:api/WfsApi~writeFileCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates / updates file with body data. Server should write the file in 'atomic' manner, and should not write down request body into final destination path directly. In other words, wheather writeFile() succeeds or not, the contents of the file should not be corrupted nor half-written. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {File} data file contents to write.\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ensureParents A flag to create all parent directories to create file or dir, like mkdir -p. This parameter does not create entire path, but creates to 'parent directory' of the path. (default to false)\n\t * @param {module:api/WfsApi~writeFileCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.writeFile = function(wfsId, wfsPath, data, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling writeFile\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling writeFile\";\n\t }\n\t\n\t // verify the required parameter 'data' is set\n\t if (data == undefined || data == null) {\n\t throw \"Missing the required parameter 'data' when calling writeFile\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'ensureParents': opts['ensureParents']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t 'data': data\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['multipart/form-data'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/file/{wfsPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2), __webpack_require__(15), __webpack_require__(7), __webpack_require__(9), __webpack_require__(10)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Workspace'), require('../model/ChildProcess'), require('../model/Execution'), require('../model/ExecutionResult'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.WorkspaceApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Workspace, root.WebidaRestfulApi.ChildProcess, root.WebidaRestfulApi.Execution, root.WebidaRestfulApi.ExecutionResult);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError, Workspace, ChildProcess, Execution, ExecutionResult) {\n\t 'use strict';\n\t\n\t /**\n\t * Workspace service.\n\t * @module api/WorkspaceApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new WorkspaceApi. \n\t * @alias module:api/WorkspaceApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the cancel operation.\n\t * @callback module:api/WorkspaceApi~cancelCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * cancels an execution, if possible. Killing process may not be graceful.\n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.execId the id of execution (different from pid!)\n\t * @param {module:api/WorkspaceApi~cancelCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.cancel = function(workspaceId, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling cancel\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'execId': opts['execId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/exec', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the createWorkspace operation.\n\t * @callback module:api/WorkspaceApi~createWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates a new workspace with given local path. Requires an unrestricted access token. \n\t * @param {String} localPath a real, local path of the system (not unixified)\n\t * @param {String} name workspace name property\n\t * @param {String} description workspace name property\n\t * @param {module:api/WorkspaceApi~createWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.createWorkspace = function(localPath, name, description, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'localPath' is set\n\t if (localPath == undefined || localPath == null) {\n\t throw \"Missing the required parameter 'localPath' when calling createWorkspace\";\n\t }\n\t\n\t // verify the required parameter 'name' is set\n\t if (name == undefined || name == null) {\n\t throw \"Missing the required parameter 'name' when calling createWorkspace\";\n\t }\n\t\n\t // verify the required parameter 'description' is set\n\t if (description == undefined || description == null) {\n\t throw \"Missing the required parameter 'description' when calling createWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'localPath': localPath,\n\t 'name': name,\n\t 'description': description\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the exec operation.\n\t * @callback module:api/WorkspaceApi~execCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/ExecutionResult} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * execute a shell command on this workspace\n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {module:model/Execution} body \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.async Spawn a child process for given command and returns a child process info only. , Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/asyn-{Execution#id} (default to false)\n\t * @param {module:api/WorkspaceApi~execCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/ExecutionResult}\n\t */\n\t this.exec = function(workspaceId, body, opts, callback) {\n\t opts = opts || {};\n\t var postBody = body;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling exec\";\n\t }\n\t\n\t // verify the required parameter 'body' is set\n\t if (body == undefined || body == null) {\n\t throw \"Missing the required parameter 'body' when calling exec\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'async': opts['async']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = ExecutionResult;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/exec', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the findWorkspaces operation.\n\t * @callback module:api/WorkspaceApi~findWorkspacesCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Finds workspaces (no find/search parameters yet). Requires an unrestricted access token. \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.disposable include disposable workspaces or not (default to false)\n\t * @param {module:api/WorkspaceApi~findWorkspacesCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findWorkspaces = function(opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'disposable': opts['disposable']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [Workspace];\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the getChildProcs operation.\n\t * @callback module:api/WorkspaceApi~getChildProcsCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get all spawned process info, created by exec api, on given workspace. set workspace id to \\"*\\" to all processes info. This operation requires proper access rights (unrestricted or matching workspace id in access token with parameter) \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.includeExec include processes created by synchronous exec request (default to false)\n\t * @param {module:api/WorkspaceApi~getChildProcsCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.getChildProcs = function(workspaceId, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling getChildProcs\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'includeExec': opts['includeExec']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = [];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [ChildProcess];\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/exec', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the getWorkspace operation.\n\t * @callback module:api/WorkspaceApi~getWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get a workspace object by id\n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {module:api/WorkspaceApi~getWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.getWorkspace = function(workspaceId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling getWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the readMetadata operation.\n\t * @callback module:api/WorkspaceApi~readMetadataCallback\n\t * @param {String} error Error message, if any.\n\t * @param {File} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * read a metadata file from a workspace.\n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {String} objectPath the path (filename without .json) of metadata, without heading /\n\t * @param {module:api/WorkspaceApi~readMetadataCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {File}\n\t */\n\t this.readMetadata = function(workspaceId, objectPath, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling readMetadata\";\n\t }\n\t\n\t // verify the required parameter 'objectPath' is set\n\t if (objectPath == undefined || objectPath == null) {\n\t throw \"Missing the required parameter 'objectPath' when calling readMetadata\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId,\n\t 'objectPath': objectPath\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = [];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = File;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/metadata/{objectPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the removeMetadata operation.\n\t * @callback module:api/WorkspaceApi~removeMetadataCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * delete metadata of given path\n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {String} objectPath the path (filename without .json) of metadata, without heading /\n\t * @param {module:api/WorkspaceApi~removeMetadataCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.removeMetadata = function(workspaceId, objectPath, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling removeMetadata\";\n\t }\n\t\n\t // verify the required parameter 'objectPath' is set\n\t if (objectPath == undefined || objectPath == null) {\n\t throw \"Missing the required parameter 'objectPath' when calling removeMetadata\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId,\n\t 'objectPath': objectPath\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/metadata/{objectPath}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the removeWorkspace operation.\n\t * @callback module:api/WorkspaceApi~removeWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * This operation will remove the requested workspace when 1) all sessions are closed for request (will be notified by server) 2) excedded time limit value in closeAfter parameter 3) server goes down after accepting remove request \\"willBeRemovedAt\\" property can be set \\"only\\" by this api. This API requires \\"unrestricted\\" access token. Even an access token has matching workspace id, removing an workspace is rejected. \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {Object} opts Optional parameters\n\t * @param {Integer} opts.closeAfter Time in seconds to wait for all sessions save & close their data. (default to 0)\n\t * @param {module:api/WorkspaceApi~removeWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.removeWorkspace = function(workspaceId, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling removeWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'closeAfter': opts['closeAfter']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the updateWorkspace operation.\n\t * @callback module:api/WorkspaceApi~updateWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Updates workspace. Some protected properties will not be changed by this api. Requires proper access rights in access token. \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {module:api/WorkspaceApi~updateWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.updateWorkspace = function(workspaceId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling updateWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the writeMetadata operation.\n\t * @callback module:api/WorkspaceApi~writeMetadataCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * write a metadata file at given path. missing parents will be created.\n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {String} objectPath the path (filename without .json) of metadata, without heading /\n\t * @param {File} data file contents to write.\n\t * @param {module:api/WorkspaceApi~writeMetadataCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.writeMetadata = function(workspaceId, objectPath, data, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling writeMetadata\";\n\t }\n\t\n\t // verify the required parameter 'objectPath' is set\n\t if (objectPath == undefined || objectPath == null) {\n\t throw \"Missing the required parameter 'objectPath' when calling writeMetadata\";\n\t }\n\t\n\t // verify the required parameter 'data' is set\n\t if (data == undefined || data == null) {\n\t throw \"Missing the required parameter 'data' when calling writeMetadata\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId,\n\t 'objectPath': objectPath\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t 'data': data\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/metadata/{objectPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Match = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Match model module.\n\t * @module model/Match\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Match.\n\t * search result for a file\n\t * @alias module:model/Match\n\t * @class\n\t * @param line {Integer} \n\t * @param text {String} \n\t */\n\t var exports = function(line, text) {\n\t var _this = this;\n\t\n\t _this['line'] = line;\n\t _this['text'] = text;\n\t };\n\t\n\t /**\n\t * Constructs a Match from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Match} obj Optional instance to populate.\n\t * @return {module:model/Match} The populated Match instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('line')) {\n\t obj['line'] = ApiClient.convertToType(data['line'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('text')) {\n\t obj['text'] = ApiClient.convertToType(data['text'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {Integer} line\n\t */\n\t exports.prototype['line'] = undefined;\n\t /**\n\t * @member {String} text\n\t */\n\t exports.prototype['text'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ }\n/******/ ])});;\n\n\n/** WEBPACK FOOTER **\n ** api-bundle.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap d2749e9fa8459a84bc05\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/ChildProcess', 'model/Credential', 'model/DirEntry', 'model/Execution', 'model/ExecutionResult', 'model/Match', 'model/RemoteAccess', 'model/RestError', 'model/RestOK', 'model/Session', 'model/Stats', 'model/Token', 'model/User', 'model/Workspace', 'api/AuthApi', 'api/OpsApi', 'api/RemotesApi', 'api/SessionApi', 'api/WfsApi', 'api/WorkspaceApi'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('./ApiClient'), require('./model/ChildProcess'), require('./model/Credential'), require('./model/DirEntry'), require('./model/Execution'), require('./model/ExecutionResult'), require('./model/Match'), require('./model/RemoteAccess'), require('./model/RestError'), require('./model/RestOK'), require('./model/Session'), require('./model/Stats'), require('./model/Token'), require('./model/User'), require('./model/Workspace'), require('./api/AuthApi'), require('./api/OpsApi'), require('./api/RemotesApi'), require('./api/SessionApi'), require('./api/WfsApi'), require('./api/WorkspaceApi'));\n }\n}(function(ApiClient, ChildProcess, Credential, DirEntry, Execution, ExecutionResult, Match, RemoteAccess, RestError, RestOK, Session, Stats, Token, User, Workspace, AuthApi, OpsApi, RemotesApi, SessionApi, WfsApi, WorkspaceApi) {\n 'use strict';\n\n /**\n * Restful_API_for_Webida_clients_to_use_servers_data__features.
\n * The index module provides access to constructors for all the classes which comprise the public API.\n *

\n * An AMD (recommended!) or CommonJS application will generally do something equivalent to the following:\n *

\n   * var WebidaRestfulApi = require('index'); // See note below*.\n   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n   * var yyyModel = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n   * yyyModel.someProperty = 'someValue';\n   * ...\n   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n   * ...\n   * 
\n * *NOTE: For a top-level AMD script, use require(['index'], function(){...})\n * and put the application logic within the callback function.\n *

\n *

\n * A non-AMD browser application (discouraged) might do something like this:\n *

\n   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n   * var yyy = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n   * yyyModel.someProperty = 'someValue';\n   * ...\n   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n   * ...\n   * 
\n *

\n * @module index\n * @version 0.3.0\n */\n var exports = {\n /**\n * The ApiClient constructor.\n * @property {module:ApiClient}\n */\n ApiClient: ApiClient,\n /**\n * The ChildProcess model constructor.\n * @property {module:model/ChildProcess}\n */\n ChildProcess: ChildProcess,\n /**\n * The Credential model constructor.\n * @property {module:model/Credential}\n */\n Credential: Credential,\n /**\n * The DirEntry model constructor.\n * @property {module:model/DirEntry}\n */\n DirEntry: DirEntry,\n /**\n * The Execution model constructor.\n * @property {module:model/Execution}\n */\n Execution: Execution,\n /**\n * The ExecutionResult model constructor.\n * @property {module:model/ExecutionResult}\n */\n ExecutionResult: ExecutionResult,\n /**\n * The Match model constructor.\n * @property {module:model/Match}\n */\n Match: Match,\n /**\n * The RemoteAccess model constructor.\n * @property {module:model/RemoteAccess}\n */\n RemoteAccess: RemoteAccess,\n /**\n * The RestError model constructor.\n * @property {module:model/RestError}\n */\n RestError: RestError,\n /**\n * The RestOK model constructor.\n * @property {module:model/RestOK}\n */\n RestOK: RestOK,\n /**\n * The Session model constructor.\n * @property {module:model/Session}\n */\n Session: Session,\n /**\n * The Stats model constructor.\n * @property {module:model/Stats}\n */\n Stats: Stats,\n /**\n * The Token model constructor.\n * @property {module:model/Token}\n */\n Token: Token,\n /**\n * The User model constructor.\n * @property {module:model/User}\n */\n User: User,\n /**\n * The Workspace model constructor.\n * @property {module:model/Workspace}\n */\n Workspace: Workspace,\n /**\n * The AuthApi service constructor.\n * @property {module:api/AuthApi}\n */\n AuthApi: AuthApi,\n /**\n * The OpsApi service constructor.\n * @property {module:api/OpsApi}\n */\n OpsApi: OpsApi,\n /**\n * The RemotesApi service constructor.\n * @property {module:api/RemotesApi}\n */\n RemotesApi: RemotesApi,\n /**\n * The SessionApi service constructor.\n * @property {module:api/SessionApi}\n */\n SessionApi: SessionApi,\n /**\n * The WfsApi service constructor.\n * @property {module:api/WfsApi}\n */\n WfsApi: WfsApi,\n /**\n * The WorkspaceApi service constructor.\n * @property {module:api/WorkspaceApi}\n */\n WorkspaceApi: WorkspaceApi\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/index.js\n ** module id = 0\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['superagent'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('superagent'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.ApiClient = factory(root.superagent);\n }\n}(this, function(superagent) {\n 'use strict';\n\n /**\n * @module ApiClient\n * @version 0.3.0\n */\n\n /**\n * Manages low level client-server communications, parameter marshalling, etc. There should not be any need for an\n * application to use this class directly - the *Api and model classes provide the public API for the service. The\n * contents of this file should be regarded as internal but are documented for completeness.\n * @alias module:ApiClient\n * @class\n */\n var exports = function() {\n /**\n * The base URL against which to resolve every API call's (relative) path.\n * @type {String}\n * @default https://localhost/api\n */\n this.basePath = 'https://localhost/api'.replace(/\\/+$/, '');\n\n /**\n * The authentication methods to be included for all API calls.\n * @type {Array.}\n */\n this.authentications = {\n 'webida-simple-auth': {type: 'apiKey', 'in': 'header', name: 'Authorization'}\n };\n /**\n * The default HTTP headers to be included for all API calls.\n * @type {Array.}\n * @default {}\n */\n this.defaultHeaders = {};\n\n /**\n * The default HTTP timeout for all API calls.\n * @type {Number}\n * @default 60000\n */\n this.timeout = 60000;\n };\n\n /**\n * Returns a string representation for an actual parameter.\n * @param param The actual parameter.\n * @returns {String} The string representation of param.\n */\n exports.prototype.paramToString = function(param) {\n if (param == undefined || param == null) {\n return '';\n }\n if (param instanceof Date) {\n return param.toJSON();\n }\n return param.toString();\n };\n\n /**\n * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders with parameter values.\n * NOTE: query parameters are not handled here.\n * @param {String} path The path to append to the base URL.\n * @param {Object} pathParams The parameter values to append.\n * @returns {String} The encoded path with parameter values substituted.\n */\n exports.prototype.buildUrl = function(path, pathParams) {\n if (!path.match(/^\\//)) {\n path = '/' + path;\n }\n var url = this.basePath + path;\n var _this = this;\n url = url.replace(/\\{([\\w-]+)\\}/g, function(fullMatch, key) {\n var value;\n if (pathParams.hasOwnProperty(key)) {\n value = _this.paramToString(pathParams[key]);\n } else {\n value = fullMatch;\n }\n return encodeURIComponent(value);\n });\n return url;\n };\n\n /**\n * Checks whether the given content type represents JSON.
\n * JSON content type examples:
\n *
    \n *
  • application/json
  • \n *
  • application/json; charset=UTF8
  • \n *
  • APPLICATION/JSON
  • \n *
\n * @param {String} contentType The MIME content type to check.\n * @returns {Boolean} true if contentType represents JSON, otherwise false.\n */\n exports.prototype.isJsonMime = function(contentType) {\n return Boolean(contentType != null && contentType.match(/^application\\/json(;.*)?$/i));\n };\n\n /**\n * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first.\n * @param {Array.} contentTypes\n * @returns {String} The chosen content type, preferring JSON.\n */\n exports.prototype.jsonPreferredMime = function(contentTypes) {\n for (var i = 0; i < contentTypes.length; i++) {\n if (this.isJsonMime(contentTypes[i])) {\n return contentTypes[i];\n }\n }\n return contentTypes[0];\n };\n\n /**\n * Checks whether the given parameter value represents file-like content.\n * @param param The parameter to check.\n * @returns {Boolean} true if param represents a file. \n */\n exports.prototype.isFileParam = function(param) {\n // fs.ReadStream in Node.js (but not in runtime like browserify)\n if (typeof window === 'undefined' &&\n typeof require === 'function' &&\n require('fs') &&\n param instanceof require('fs').ReadStream) {\n return true;\n }\n // Buffer in Node.js\n if (typeof Buffer === 'function' && param instanceof Buffer) {\n return true;\n }\n // Blob in browser\n if (typeof Blob === 'function' && param instanceof Blob) {\n return true;\n }\n // File in browser (it seems File object is also instance of Blob, but keep this for safe)\n if (typeof File === 'function' && param instanceof File) {\n return true;\n }\n return false;\n };\n\n /**\n * Normalizes parameter values:\n *
    \n *
  • remove nils
  • \n *
  • keep files and arrays
  • \n *
  • format to string with `paramToString` for other cases
  • \n *
\n * @param {Object.} params The parameters as object properties.\n * @returns {Object.} normalized parameters.\n */\n exports.prototype.normalizeParams = function(params) {\n var newParams = {};\n for (var key in params) {\n if (params.hasOwnProperty(key) && params[key] != undefined && params[key] != null) {\n var value = params[key];\n if (this.isFileParam(value) || Array.isArray(value)) {\n newParams[key] = value;\n } else {\n newParams[key] = this.paramToString(value);\n }\n }\n }\n return newParams;\n };\n\n /**\n * Enumeration of collection format separator strategies.\n * @enum {String} \n * @readonly\n */\n exports.CollectionFormatEnum = {\n /**\n * Comma-separated values. Value: csv\n * @const\n */\n CSV: ',',\n /**\n * Space-separated values. Value: ssv\n * @const\n */\n SSV: ' ',\n /**\n * Tab-separated values. Value: tsv\n * @const\n */\n TSV: '\\t',\n /**\n * Pipe(|)-separated values. Value: pipes\n * @const\n */\n PIPES: '|',\n /**\n * Native array. Value: multi\n * @const\n */\n MULTI: 'multi'\n };\n\n /**\n * Builds a string representation of an array-type actual parameter, according to the given collection format.\n * @param {Array} param An array parameter.\n * @param {module:ApiClient.CollectionFormatEnum} collectionFormat The array element separator strategy.\n * @returns {String|Array} A string representation of the supplied collection, using the specified delimiter. Returns\n * param as is if collectionFormat is multi.\n */\n exports.prototype.buildCollectionParam = function buildCollectionParam(param, collectionFormat) {\n if (param == null) {\n return null;\n }\n switch (collectionFormat) {\n case 'csv':\n return param.map(this.paramToString).join(',');\n case 'ssv':\n return param.map(this.paramToString).join(' ');\n case 'tsv':\n return param.map(this.paramToString).join('\\t');\n case 'pipes':\n return param.map(this.paramToString).join('|');\n case 'multi':\n // return the array directly as SuperAgent will handle it as expected\n return param.map(this.paramToString);\n default:\n throw new Error('Unknown collection format: ' + collectionFormat);\n }\n };\n\n /**\n * Applies authentication headers to the request.\n * @param {Object} request The request object created by a superagent() call.\n * @param {Array.} authNames An array of authentication method names.\n */\n exports.prototype.applyAuthToRequest = function(request, authNames) {\n var _this = this;\n authNames.forEach(function(authName) {\n var auth = _this.authentications[authName];\n switch (auth.type) {\n case 'basic':\n if (auth.username || auth.password) {\n request.auth(auth.username || '', auth.password || '');\n }\n break;\n case 'apiKey':\n if (auth.apiKey) {\n var data = {};\n if (auth.apiKeyPrefix) {\n data[auth.name] = auth.apiKeyPrefix + ' ' + auth.apiKey;\n } else {\n data[auth.name] = auth.apiKey;\n }\n if (auth['in'] === 'header') {\n request.set(data);\n } else {\n request.query(data);\n }\n }\n break;\n case 'oauth2':\n if (auth.accessToken) {\n request.set({'Authorization': 'Bearer ' + auth.accessToken});\n }\n break;\n default:\n throw new Error('Unknown authentication type: ' + auth.type);\n }\n });\n };\n\n /**\n * Deserializes an HTTP response body into a value of the specified type.\n * @param {Object} response A SuperAgent response object.\n * @param {(String|Array.|Object.|Function)} returnType The type to return. Pass a string for simple types\n * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n * all properties on data will be converted to this type.\n * @returns A value of the specified type.\n */\n exports.prototype.deserialize = function deserialize(response, returnType) {\n if (response == null || returnType == null) {\n return null;\n }\n // Rely on SuperAgent for parsing response body.\n // See http://visionmedia.github.io/superagent/#parsing-response-bodies\n var data = response.body;\n if (data == null) {\n // SuperAgent does not always produce a body; use the unparsed response as a fallback\n data = response.text;\n }\n return exports.convertToType(data, returnType);\n };\n\n /**\n * Callback function to receive the result of the operation.\n * @callback module:ApiClient~callApiCallback\n * @param {String} error Error message, if any.\n * @param data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Invokes the REST service using the supplied settings and parameters.\n * @param {String} path The base URL to invoke.\n * @param {String} httpMethod The HTTP method to use.\n * @param {Object.} pathParams A map of path parameters and their values.\n * @param {Object.} queryParams A map of query parameters and their values.\n * @param {Object.} headerParams A map of header parameters and their values.\n * @param {Object.} formParams A map of form parameters and their values.\n * @param {Object} bodyParam The value to pass as the request body.\n * @param {Array.} authNames An array of authentication type names.\n * @param {Array.} contentTypes An array of request MIME types.\n * @param {Array.} accepts An array of acceptable response MIME types.\n * @param {(String|Array|ObjectFunction)} returnType The required type to return; can be a string for simple types or the\n * constructor for a complex type.\n * @param {module:ApiClient~callApiCallback} callback The callback function.\n * @returns {Object} The SuperAgent request object.\n */\n exports.prototype.callApi = function callApi(path, httpMethod, pathParams,\n queryParams, headerParams, formParams, bodyParam, authNames, contentTypes, accepts,\n returnType, callback) {\n\n var _this = this;\n var url = this.buildUrl(path, pathParams);\n var request = superagent(httpMethod, url);\n\n // apply authentications\n this.applyAuthToRequest(request, authNames);\n\n // set query parameters\n request.query(this.normalizeParams(queryParams));\n\n // set header parameters\n request.set(this.defaultHeaders).set(this.normalizeParams(headerParams));\n\n // set request timeout\n request.timeout(this.timeout);\n\n var contentType = this.jsonPreferredMime(contentTypes);\n if (contentType !== 'multipart/form-data') {\n if (contentType) {\n request.type(contentType);\n } else if (!request.header['Content-Type']) {\n request.type('application/json');\n }\n }\n\n if (contentType === 'application/x-www-form-urlencoded') {\n request.send(this.normalizeParams(formParams));\n } else if (contentType == 'multipart/form-data') {\n var _formParams = this.normalizeParams(formParams);\n for (var key in _formParams) {\n if (_formParams.hasOwnProperty(key)) {\n if (this.isFileParam(_formParams[key])) {\n // file field\n request.attach(key, _formParams[key]);\n } else {\n request.field(key, _formParams[key]);\n }\n }\n }\n } else if (bodyParam) {\n request.send(bodyParam);\n }\n\n var accept = this.jsonPreferredMime(accepts);\n if (accept) {\n request.accept(accept);\n }\n\n\n request.end(function(error, response) {\n if (callback) {\n var data = null;\n if (!error) {\n data = _this.deserialize(response, returnType);\n }\n callback(error, data, response);\n }\n });\n\n return request;\n };\n\n /**\n * Parses an ISO-8601 string representation of a date value.\n * @param {String} str The date value as a string.\n * @returns {Date} The parsed date object.\n */\n exports.parseDate = function(str) {\n return new Date(str.replace(/T/i, ' '));\n };\n\n /**\n * Converts a value to the specified type.\n * @param {(String|Object)} data The data to convert, as a string or object.\n * @param {(String|Array.|Object.|Function)} type The type to return. Pass a string for simple types\n * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n * all properties on data will be converted to this type.\n * @returns An instance of the specified type.\n */\n exports.convertToType = function(data, type) {\n switch (type) {\n case 'Boolean':\n return Boolean(data);\n case 'Integer':\n return parseInt(data, 10);\n case 'Number':\n return parseFloat(data);\n case 'String':\n return String(data);\n case 'Date':\n return this.parseDate(String(data));\n default:\n if (type === Object || type === File) {\n // generic object or Blob - return directly\n return data;\n } else if (typeof type === 'function') {\n if (typeof type.constructFromObject !== 'function') {\n // some manually written models might have no factory function\n return data;\n } else {\n // for model type like: User\n return type.constructFromObject(data);\n }\n } else if (Array.isArray(type)) {\n // for array type like: ['String']\n var itemType = type[0];\n return data.map(function(item) {\n return exports.convertToType(item, itemType);\n });\n } else if (typeof type === 'object') {\n // for plain object type like: {'String': 'Integer'}\n var keyType, valueType;\n for (var k in type) {\n if (type.hasOwnProperty(k)) {\n keyType = k;\n valueType = type[k];\n break;\n }\n }\n var result = {};\n for (var k in data) {\n if (data.hasOwnProperty(k)) {\n var key = exports.convertToType(k, keyType);\n var value = exports.convertToType(data[k], valueType);\n result[key] = value;\n }\n }\n return result;\n } else {\n // for unknown type, return the data directly\n return data;\n }\n }\n };\n\n /**\n * Constructs a new map or array model from REST data.\n * @param data {Object|Array} The REST data.\n * @param obj {Object|Array} The target object or array.\n */\n exports.constructFromObject = function(data, obj, itemType) {\n if (Array.isArray(data)) {\n for (var i = 0; i < data.length; i++) {\n if (data.hasOwnProperty(i))\n obj[i] = exports.convertToType(data[i], itemType);\n }\n } else {\n for (var k in data) {\n if (data.hasOwnProperty(k))\n obj[k] = exports.convertToType(data[k], itemType);\n }\n }\n };\n\n /**\n * The default API client implementation.\n * @type {module:ApiClient}\n */\n exports.instance = new exports();\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/ApiClient.js\n ** module id = 1\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RestError = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The RestError model module.\n * @module model/RestError\n * @version 0.3.0\n */\n\n /**\n * Constructs a new RestError.\n * Error object with code and message. code is bound to status code, but not always same to standard HTTP status text. For example, some 409 error may have code \\"Invalid Argument\\" instead of \\"Conflic\\". So, Client should read message property to know what happend exactly when an error is returned from server. And, some 500 errors can have system errno instead of useless \\"internal\\". Like other errors, details are hidden in message. \n * @alias module:model/RestError\n * @class\n * @param message {String} \n */\n var exports = function(message) {\n var _this = this;\n\n\n _this['message'] = message;\n };\n\n /**\n * Constructs a RestError from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/RestError} obj Optional instance to populate.\n * @return {module:model/RestError} The populated RestError instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('code')) {\n obj['code'] = ApiClient.convertToType(data['code'], 'String');\n }\n if (data.hasOwnProperty('message')) {\n obj['message'] = ApiClient.convertToType(data['message'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {String} code\n */\n exports.prototype['code'] = undefined;\n /**\n * @member {String} message\n */\n exports.prototype['message'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/RestError.js\n ** module id = 2\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RestOK = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The RestOK model module.\n * @module model/RestOK\n * @version 0.3.0\n */\n\n /**\n * Constructs a new RestOK.\n * @alias module:model/RestOK\n * @class\n */\n var exports = function() {\n var _this = this;\n\n\n };\n\n /**\n * Constructs a RestOK from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/RestOK} obj Optional instance to populate.\n * @return {module:model/RestOK} The populated RestOK instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('message')) {\n obj['message'] = ApiClient.convertToType(data['message'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {String} message\n */\n exports.prototype['message'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/RestOK.js\n ** module id = 3\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/DirEntry', 'model/Stats'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('./DirEntry'), require('./Stats'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.DirEntry = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n }\n}(this, function(ApiClient, DirEntry, Stats) {\n 'use strict';\n\n\n\n\n /**\n * The DirEntry model module.\n * @module model/DirEntry\n * @version 0.3.0\n */\n\n /**\n * Constructs a new DirEntry.\n * a directory entry (file or directory) with children that represents a (sub) tree\n * @alias module:model/DirEntry\n * @class\n * @param name {String} \n * @param stats {module:model/Stats} \n * @param children {Array.} \n */\n var exports = function(name, stats, children) {\n var _this = this;\n\n _this['name'] = name;\n _this['stats'] = stats;\n _this['children'] = children;\n };\n\n /**\n * Constructs a DirEntry from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/DirEntry} obj Optional instance to populate.\n * @return {module:model/DirEntry} The populated DirEntry instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('stats')) {\n obj['stats'] = Stats.constructFromObject(data['stats']);\n }\n if (data.hasOwnProperty('children')) {\n obj['children'] = ApiClient.convertToType(data['children'], [DirEntry]);\n }\n }\n return obj;\n }\n\n /**\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * @member {module:model/Stats} stats\n */\n exports.prototype['stats'] = undefined;\n /**\n * @member {Array.} children\n */\n exports.prototype['children'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/DirEntry.js\n ** module id = 4\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Stats = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Stats model module.\n * @module model/Stats\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Stats.\n * simplified/augmented fs.Stats class - see node.js doc for all properties\n * @alias module:model/Stats\n * @class\n * @param type {module:model/Stats.TypeEnum} All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n * @param birthtime {Date} \n * @param mtime {Date} \n * @param mode {String} \n * @param size {Integer} \n * @param nlink {Integer} \n */\n var exports = function(type, birthtime, mtime, mode, size, nlink) {\n var _this = this;\n\n _this['type'] = type;\n _this['birthtime'] = birthtime;\n _this['mtime'] = mtime;\n _this['mode'] = mode;\n _this['size'] = size;\n _this['nlink'] = nlink;\n };\n\n /**\n * Constructs a Stats from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Stats} obj Optional instance to populate.\n * @return {module:model/Stats} The populated Stats instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('type')) {\n obj['type'] = ApiClient.convertToType(data['type'], 'String');\n }\n if (data.hasOwnProperty('birthtime')) {\n obj['birthtime'] = ApiClient.convertToType(data['birthtime'], 'Date');\n }\n if (data.hasOwnProperty('mtime')) {\n obj['mtime'] = ApiClient.convertToType(data['mtime'], 'Date');\n }\n if (data.hasOwnProperty('mode')) {\n obj['mode'] = ApiClient.convertToType(data['mode'], 'String');\n }\n if (data.hasOwnProperty('size')) {\n obj['size'] = ApiClient.convertToType(data['size'], 'Integer');\n }\n if (data.hasOwnProperty('nlink')) {\n obj['nlink'] = ApiClient.convertToType(data['nlink'], 'Integer');\n }\n }\n return obj;\n }\n\n /**\n * All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n * @member {module:model/Stats.TypeEnum} type\n */\n exports.prototype['type'] = undefined;\n /**\n * @member {Date} birthtime\n */\n exports.prototype['birthtime'] = undefined;\n /**\n * @member {Date} mtime\n */\n exports.prototype['mtime'] = undefined;\n /**\n * @member {String} mode\n */\n exports.prototype['mode'] = undefined;\n /**\n * @member {Integer} size\n */\n exports.prototype['size'] = undefined;\n /**\n * @member {Integer} nlink\n */\n exports.prototype['nlink'] = undefined;\n\n\n /**\n * Allowed values for the type property.\n * @enum {String}\n * @readonly\n */\n exports.TypeEnum = {\n /**\n * value: \"FILE\"\n * @const\n */\n \"FILE\": \"FILE\",\n /**\n * value: \"DIRECTORY\"\n * @const\n */\n \"DIRECTORY\": \"DIRECTORY\",\n /**\n * value: \"BLOCK_DEVICE\"\n * @const\n */\n \"BLOCK_DEVICE\": \"BLOCK_DEVICE\",\n /**\n * value: \"CHARACTER_DEVICE\"\n * @const\n */\n \"CHARACTER_DEVICE\": \"CHARACTER_DEVICE\",\n /**\n * value: \"LINK\"\n * @const\n */\n \"LINK\": \"LINK\",\n /**\n * value: \"FIFO\"\n * @const\n */\n \"FIFO\": \"FIFO\",\n /**\n * value: \"SOCKET\"\n * @const\n */\n \"SOCKET\": \"SOCKET\",\n /**\n * value: \"DUMMY\"\n * @const\n */\n \"DUMMY\": \"DUMMY\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Stats.js\n ** module id = 5\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.ChildProcess = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The ChildProcess model module.\n * @module model/ChildProcess\n * @version 0.3.0\n */\n\n /**\n * Constructs a new ChildProcess.\n * a process in execution\n * @alias module:model/ChildProcess\n * @class\n * @param pid {Integer} child process pid\n * @param command {String} the execution command in Execution request\n * @param args {Array.} arguments of the command in Execution request\n * @param executionId {String} execution id from Execution request\n * @param startedAt {Date} the time when this process is spawned\n * @param background {Array.} true when this process is spawned by asynchronous exec request or some other ways to spawn processes in server. fasle when this process is spawened with plain, synchronous execution request. \n */\n var exports = function(pid, command, args, executionId, startedAt, background) {\n var _this = this;\n\n _this['pid'] = pid;\n _this['command'] = command;\n _this['args'] = args;\n _this['executionId'] = executionId;\n _this['startedAt'] = startedAt;\n _this['background'] = background;\n };\n\n /**\n * Constructs a ChildProcess from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/ChildProcess} obj Optional instance to populate.\n * @return {module:model/ChildProcess} The populated ChildProcess instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('pid')) {\n obj['pid'] = ApiClient.convertToType(data['pid'], 'Integer');\n }\n if (data.hasOwnProperty('command')) {\n obj['command'] = ApiClient.convertToType(data['command'], 'String');\n }\n if (data.hasOwnProperty('args')) {\n obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n }\n if (data.hasOwnProperty('executionId')) {\n obj['executionId'] = ApiClient.convertToType(data['executionId'], 'String');\n }\n if (data.hasOwnProperty('startedAt')) {\n obj['startedAt'] = ApiClient.convertToType(data['startedAt'], 'Date');\n }\n if (data.hasOwnProperty('background')) {\n obj['background'] = ApiClient.convertToType(data['background'], ['String']);\n }\n }\n return obj;\n }\n\n /**\n * child process pid\n * @member {Integer} pid\n */\n exports.prototype['pid'] = undefined;\n /**\n * the execution command in Execution request\n * @member {String} command\n */\n exports.prototype['command'] = undefined;\n /**\n * arguments of the command in Execution request\n * @member {Array.} args\n */\n exports.prototype['args'] = undefined;\n /**\n * execution id from Execution request\n * @member {String} executionId\n */\n exports.prototype['executionId'] = undefined;\n /**\n * the time when this process is spawned\n * @member {Date} startedAt\n */\n exports.prototype['startedAt'] = undefined;\n /**\n * true when this process is spawned by asynchronous exec request or some other ways to spawn processes in server. fasle when this process is spawened with plain, synchronous execution request. \n * @member {Array.} background\n */\n exports.prototype['background'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/ChildProcess.js\n ** module id = 7\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Credential = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Credential model module.\n * @module model/Credential\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Credential.\n * user credential to login. Use https to protect credential.\n * @alias module:model/Credential\n * @class\n * @param loginId {String} \n * @param loginPassword {String} \n */\n var exports = function(loginId, loginPassword) {\n var _this = this;\n\n _this['loginId'] = loginId;\n _this['loginPassword'] = loginPassword;\n\n };\n\n /**\n * Constructs a Credential from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Credential} obj Optional instance to populate.\n * @return {module:model/Credential} The populated Credential instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('loginId')) {\n obj['loginId'] = ApiClient.convertToType(data['loginId'], 'String');\n }\n if (data.hasOwnProperty('loginPassword')) {\n obj['loginPassword'] = ApiClient.convertToType(data['loginPassword'], 'String');\n }\n if (data.hasOwnProperty('masterToken')) {\n obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {String} loginId\n */\n exports.prototype['loginId'] = undefined;\n /**\n * @member {String} loginPassword\n */\n exports.prototype['loginPassword'] = undefined;\n /**\n * a master token is issued when user wants to access webida api without id/password from remote or local desktop app. When masterToken is set, client should put some bogus id/password, non-empty. (The values can be used to identify client type) \n * @member {String} masterToken\n */\n exports.prototype['masterToken'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Credential.js\n ** module id = 8\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Execution = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Execution model module.\n * @module model/Execution\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Execution.\n * execution request, simlilar to node.js spawn(). see node.js documentation for details of each properties. some properties are not configurable for portability - encoding : fixed to utf-8 - shell : fixed to system default. Using shell variables in command may not work. - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or invoke taskkill to ensure chlid process is killed. - uid & gid : will not be set for security - stdio : all streams are handled by server. no options are avaliable to client. - shell : always false. - detached : always false \n * @alias module:model/Execution\n * @class\n * @param command {String} command to run. should not contain any arguments, pipes, redirections \n * @param args {Array.} the arguments array\n */\n var exports = function(command, args) {\n var _this = this;\n\n\n _this['command'] = command;\n _this['args'] = args;\n\n\n\n };\n\n /**\n * Constructs a Execution from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Execution} obj Optional instance to populate.\n * @return {module:model/Execution} The populated Execution instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('command')) {\n obj['command'] = ApiClient.convertToType(data['command'], 'String');\n }\n if (data.hasOwnProperty('args')) {\n obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n }\n if (data.hasOwnProperty('cwd')) {\n obj['cwd'] = ApiClient.convertToType(data['cwd'], 'String');\n }\n if (data.hasOwnProperty('input')) {\n obj['input'] = ApiClient.convertToType(data['input'], 'String');\n }\n if (data.hasOwnProperty('timeout')) {\n obj['timeout'] = ApiClient.convertToType(data['timeout'], 'Integer');\n }\n }\n return obj;\n }\n\n /**\n * unique identifier of execution, to demux response stream or cancel request. async exec request should have id, always. For synchronous execution, missing id will be generated by server with random string & timestamp. \n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * command to run. should not contain any arguments, pipes, redirections \n * @member {String} command\n */\n exports.prototype['command'] = undefined;\n /**\n * the arguments array\n * @member {Array.} args\n */\n exports.prototype['args'] = undefined;\n /**\n * Current working directory of spawned process, relative to workspace root. If abscent, cwd will be the workspace root directory. Does not accept any evaluatable form like $HOME, %USERPROFILE%. As wfs operations, path should be unixified. But, unlikely, while the wfs operations cut heading \\\"/\\\" in path with URI normlization, this operation does not convert path to relateive and returns error for the argument. \n * @member {String} cwd\n */\n exports.prototype['cwd'] = undefined;\n /**\n * input string for child process. if falsy, no input will be available to child. (interactive execution via websocket is not supported for most of such processes requires tty, not standard i/o) \n * @member {String} input\n */\n exports.prototype['input'] = undefined;\n /**\n * The value which In \\\"milliseconds\\\" the maximum amount of time the child is allowed to run. (not idle time of stdout / stderr stream) if undefined, server sets default timeout value 5 min to synchronous execution requests. If request specifies async execution and sets this value to falsy, server should not kill the child process until 1) The process exists by self 2) cancel operation is invoked by api request 3) The workspace executing the process is removed by api request 4) Server Stops Terminiating any \\\"too-long-lived\\\" child process are not graceful, as cancel() is. \n * @member {Integer} timeout\n */\n exports.prototype['timeout'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Execution.js\n ** module id = 9\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.ExecutionResult = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The ExecutionResult model module.\n * @module model/ExecutionResult\n * @version 0.3.0\n */\n\n /**\n * Constructs a new ExecutionResult.\n * execution response\n * @alias module:model/ExecutionResult\n * @class\n * @param exitCode {Integer} exit code of child process.\n * @param stdout {String} standard out of child process.\n * @param stderr {String} standard error of child process.\n */\n var exports = function(exitCode, stdout, stderr) {\n var _this = this;\n\n _this['exitCode'] = exitCode;\n _this['stdout'] = stdout;\n _this['stderr'] = stderr;\n };\n\n /**\n * Constructs a ExecutionResult from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/ExecutionResult} obj Optional instance to populate.\n * @return {module:model/ExecutionResult} The populated ExecutionResult instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('exitCode')) {\n obj['exitCode'] = ApiClient.convertToType(data['exitCode'], 'Integer');\n }\n if (data.hasOwnProperty('stdout')) {\n obj['stdout'] = ApiClient.convertToType(data['stdout'], 'String');\n }\n if (data.hasOwnProperty('stderr')) {\n obj['stderr'] = ApiClient.convertToType(data['stderr'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * exit code of child process.\n * @member {Integer} exitCode\n */\n exports.prototype['exitCode'] = undefined;\n /**\n * standard out of child process.\n * @member {String} stdout\n */\n exports.prototype['stdout'] = undefined;\n /**\n * standard error of child process.\n * @member {String} stderr\n */\n exports.prototype['stderr'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/ExecutionResult.js\n ** module id = 10\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RemoteAccess = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The RemoteAccess model module.\n * @module model/RemoteAccess\n * @version 0.3.0\n */\n\n /**\n * Constructs a new RemoteAccess.\n * Access information of remote workspace in remote server\n * @alias module:model/RemoteAccess\n * @class\n * @param name {String} display text of remote workspace. can be different from original name. \n * @param serverUrl {String} the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n * @param workspaceId {String} the id of remote workspace, read from remote server\n * @param masterToken {String} master token to access service, issued from remote server\n */\n var exports = function(name, serverUrl, workspaceId, masterToken) {\n var _this = this;\n\n _this['name'] = name;\n _this['serverUrl'] = serverUrl;\n _this['workspaceId'] = workspaceId;\n\n _this['masterToken'] = masterToken;\n };\n\n /**\n * Constructs a RemoteAccess from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/RemoteAccess} obj Optional instance to populate.\n * @return {module:model/RemoteAccess} The populated RemoteAccess instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('serverUrl')) {\n obj['serverUrl'] = ApiClient.convertToType(data['serverUrl'], 'String');\n }\n if (data.hasOwnProperty('workspaceId')) {\n obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n }\n if (data.hasOwnProperty('workspacePath')) {\n obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n }\n if (data.hasOwnProperty('masterToken')) {\n obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * display text of remote workspace. can be different from original name. \n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n * @member {String} serverUrl\n */\n exports.prototype['serverUrl'] = undefined;\n /**\n * the id of remote workspace, read from remote server\n * @member {String} workspaceId\n */\n exports.prototype['workspaceId'] = undefined;\n /**\n * Full path of remote workspace, read from remote server. this property will be removed when clients are able to work without \\\"named root directory\\\" in workspace fs tree. \n * @member {String} workspacePath\n */\n exports.prototype['workspacePath'] = undefined;\n /**\n * master token to access service, issued from remote server\n * @member {String} masterToken\n */\n exports.prototype['masterToken'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/RemoteAccess.js\n ** module id = 11\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Session = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Session model module.\n * @module model/Session\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Session.\n * an application session per ide instance. bound to access token\n * @alias module:model/Session\n * @class\n * @param id {String} the id of a session. usually same to socket id.\n * @param name {String} human readable name, usually derived from workspace name.\n * @param state {module:model/Session.StateEnum} state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n * @param clientAddress {String} the peer address of session connection. not always\n * @param connectedAt {Date} the time when socket connection is established\n * @param disconnectedAt {Date} the time when socket is closed.\n */\n var exports = function(id, name, state, clientAddress, connectedAt, disconnectedAt) {\n var _this = this;\n\n _this['id'] = id;\n _this['name'] = name;\n _this['state'] = state;\n\n _this['clientAddress'] = clientAddress;\n _this['connectedAt'] = connectedAt;\n _this['disconnectedAt'] = disconnectedAt;\n\n\n };\n\n /**\n * Constructs a Session from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Session} obj Optional instance to populate.\n * @return {module:model/Session} The populated Session instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('state')) {\n obj['state'] = ApiClient.convertToType(data['state'], 'String');\n }\n if (data.hasOwnProperty('workspaceId')) {\n obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n }\n if (data.hasOwnProperty('clientAddress')) {\n obj['clientAddress'] = ApiClient.convertToType(data['clientAddress'], 'String');\n }\n if (data.hasOwnProperty('connectedAt')) {\n obj['connectedAt'] = ApiClient.convertToType(data['connectedAt'], 'Date');\n }\n if (data.hasOwnProperty('disconnectedAt')) {\n obj['disconnectedAt'] = ApiClient.convertToType(data['disconnectedAt'], 'Date');\n }\n if (data.hasOwnProperty('willCloseAt')) {\n obj['willCloseAt'] = ApiClient.convertToType(data['willCloseAt'], 'Date');\n }\n if (data.hasOwnProperty('willLoseAt')) {\n obj['willLoseAt'] = ApiClient.convertToType(data['willLoseAt'], 'Date');\n }\n }\n return obj;\n }\n\n /**\n * the id of a session. usually same to socket id.\n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * human readable name, usually derived from workspace name.\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n * @member {module:model/Session.StateEnum} state\n */\n exports.prototype['state'] = undefined;\n /**\n * the id of workspace that this sessions is working on. If falsy, then this session is not belonged to any workpsace. Usually, dashboard / monitoring app will create a session without workspace id. \n * @member {String} workspaceId\n */\n exports.prototype['workspaceId'] = undefined;\n /**\n * the peer address of session connection. not always\n * @member {String} clientAddress\n */\n exports.prototype['clientAddress'] = undefined;\n /**\n * the time when socket connection is established\n * @member {Date} connectedAt\n */\n exports.prototype['connectedAt'] = undefined;\n /**\n * the time when socket is closed.\n * @member {Date} disconnectedAt\n */\n exports.prototype['disconnectedAt'] = undefined;\n /**\n * when state becomes CLOSING, actual closing time will be updated by server.\n * @member {Date} willCloseAt\n */\n exports.prototype['willCloseAt'] = undefined;\n /**\n * when state becomes LOSING, server will not wait for reconnection after this time.\n * @member {Date} willLoseAt\n */\n exports.prototype['willLoseAt'] = undefined;\n\n\n /**\n * Allowed values for the state property.\n * @enum {String}\n * @readonly\n */\n exports.StateEnum = {\n /**\n * value: \"NORMAL\"\n * @const\n */\n \"NORMAL\": \"NORMAL\",\n /**\n * value: \"LOSING\"\n * @const\n */\n \"LOSING\": \"LOSING\",\n /**\n * value: \"CLOSING\"\n * @const\n */\n \"CLOSING\": \"CLOSING\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Session.js\n ** module id = 12\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Token = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Token model module.\n * @module model/Token\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Token.\n * a json webtoken and accessible data\n * @alias module:model/Token\n * @class\n * @param text {String} actual token text that should be shipped in header or query\n * @param tokenType {module:model/Token.TokenTypeEnum} MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n * @param expiresAt {Date} \n * @param issuedAt {Date} \n */\n var exports = function(text, tokenType, expiresAt, issuedAt) {\n var _this = this;\n\n _this['text'] = text;\n _this['tokenType'] = tokenType;\n _this['expiresAt'] = expiresAt;\n _this['issuedAt'] = issuedAt;\n\n\n };\n\n /**\n * Constructs a Token from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Token} obj Optional instance to populate.\n * @return {module:model/Token} The populated Token instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('text')) {\n obj['text'] = ApiClient.convertToType(data['text'], 'String');\n }\n if (data.hasOwnProperty('tokenType')) {\n obj['tokenType'] = ApiClient.convertToType(data['tokenType'], 'String');\n }\n if (data.hasOwnProperty('expiresAt')) {\n obj['expiresAt'] = ApiClient.convertToType(data['expiresAt'], 'Date');\n }\n if (data.hasOwnProperty('issuedAt')) {\n obj['issuedAt'] = ApiClient.convertToType(data['issuedAt'], 'Date');\n }\n if (data.hasOwnProperty('sessionId')) {\n obj['sessionId'] = ApiClient.convertToType(data['sessionId'], 'String');\n }\n if (data.hasOwnProperty('workspaceId')) {\n obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * actual token text that should be shipped in header or query\n * @member {String} text\n */\n exports.prototype['text'] = undefined;\n /**\n * MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n * @member {module:model/Token.TokenTypeEnum} tokenType\n */\n exports.prototype['tokenType'] = undefined;\n /**\n * @member {Date} expiresAt\n */\n exports.prototype['expiresAt'] = undefined;\n /**\n * @member {Date} issuedAt\n */\n exports.prototype['issuedAt'] = undefined;\n /**\n * mandatory for ACCESS token, identifying client instance\n * @member {String} sessionId\n */\n exports.prototype['sessionId'] = undefined;\n /**\n * If truthy, access rights are restricted to specified workspace only.\n * @member {String} workspaceId\n */\n exports.prototype['workspaceId'] = undefined;\n\n\n /**\n * Allowed values for the tokenType property.\n * @enum {String}\n * @readonly\n */\n exports.TokenTypeEnum = {\n /**\n * value: \"MASTER\"\n * @const\n */\n \"MASTER\": \"MASTER\",\n /**\n * value: \"ACCESS\"\n * @const\n */\n \"ACCESS\": \"ACCESS\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Token.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.User = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The User model module.\n * @module model/User\n * @version 0.3.0\n */\n\n /**\n * Constructs a new User.\n * Any services/products should define some admin apis to manage users in the system and expose what should be exposed to client app. So, no properties are mandatory. Currently, the properties are defined for compatiblity with legacy clients. \n * @alias module:model/User\n * @class\n */\n var exports = function() {\n var _this = this;\n\n\n\n\n };\n\n /**\n * Constructs a User from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/User} obj Optional instance to populate.\n * @return {module:model/User} The populated User instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('email')) {\n obj['email'] = ApiClient.convertToType(data['email'], 'String');\n }\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * unique id per user (email is also unique)\n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * @member {String} email\n */\n exports.prototype['email'] = undefined;\n /**\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/User.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Workspace = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Workspace model module.\n * @module model/Workspace\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Workspace.\n * A workspace in server\n * @alias module:model/Workspace\n * @class\n * @param id {String} the id of a workspace. usually same to file system id\n * @param name {String} display text of this workspace for UI\n * @param description {String} human readable description on this workspace\n * @param createdAt {Date} the time when this workspace is created (registered from local file system)\n * @param workspacePath {String} absolute path of this workspace in server.\n * @param excludedPaths {Array.} glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n * @param offlineCachePaths {Array.} any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n */\n var exports = function(id, name, description, createdAt, workspacePath, excludedPaths, offlineCachePaths) {\n var _this = this;\n\n _this['id'] = id;\n _this['name'] = name;\n _this['description'] = description;\n _this['createdAt'] = createdAt;\n\n _this['workspacePath'] = workspacePath;\n _this['excludedPaths'] = excludedPaths;\n _this['offlineCachePaths'] = offlineCachePaths;\n };\n\n /**\n * Constructs a Workspace from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Workspace} obj Optional instance to populate.\n * @return {module:model/Workspace} The populated Workspace instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('description')) {\n obj['description'] = ApiClient.convertToType(data['description'], 'String');\n }\n if (data.hasOwnProperty('createdAt')) {\n obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'Date');\n }\n if (data.hasOwnProperty('accessedAt')) {\n obj['accessedAt'] = ApiClient.convertToType(data['accessedAt'], 'Date');\n }\n if (data.hasOwnProperty('workspacePath')) {\n obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n }\n if (data.hasOwnProperty('excludedPaths')) {\n obj['excludedPaths'] = ApiClient.convertToType(data['excludedPaths'], ['String']);\n }\n if (data.hasOwnProperty('offlineCachePaths')) {\n obj['offlineCachePaths'] = ApiClient.convertToType(data['offlineCachePaths'], ['String']);\n }\n }\n return obj;\n }\n\n /**\n * the id of a workspace. usually same to file system id\n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * display text of this workspace for UI\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * human readable description on this workspace\n * @member {String} description\n */\n exports.prototype['description'] = undefined;\n /**\n * the time when this workspace is created (registered from local file system)\n * @member {Date} createdAt\n */\n exports.prototype['createdAt'] = undefined;\n /**\n * the time when the last session on this workspace was made. (optional)\n * @member {Date} accessedAt\n */\n exports.prototype['accessedAt'] = undefined;\n /**\n * absolute path of this workspace in server.\n * @member {String} workspacePath\n */\n exports.prototype['workspacePath'] = undefined;\n /**\n * glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n * @member {Array.} excludedPaths\n */\n exports.prototype['excludedPaths'] = undefined;\n /**\n * any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n * @member {Array.} offlineCachePaths\n */\n exports.prototype['offlineCachePaths'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Workspace.js\n ** module id = 15\n ** module chunks = 0\n **/","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.superagent = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= 200 && res.status < 300) {\n return self.callback(err, res);\n }\n\n var new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n new_err.original = err;\n new_err.response = res;\n new_err.status = res.status;\n\n self.callback(new_err, res);\n } catch(e) {\n self.callback(e); // #985 touching res may cause INVALID_STATE_ERR on old Android\n }\n });\n}\n\n/**\n * Mixin `Emitter` and `requestBase`.\n */\n\nEmitter(Request.prototype);\nfor (var key in requestBase) {\n Request.prototype[key] = requestBase[key];\n}\n\n/**\n * Set Content-Type to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.xml = 'application/xml';\n *\n * request.post('/')\n * .type('xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * request.post('/')\n * .type('application/xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * @param {String} type\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.type = function(type){\n this.set('Content-Type', request.types[type] || type);\n return this;\n};\n\n/**\n * Set responseType to `val`. Presently valid responseTypes are 'blob' and\n * 'arraybuffer'.\n *\n * Examples:\n *\n * req.get('/')\n * .responseType('blob')\n * .end(callback);\n *\n * @param {String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.responseType = function(val){\n this._responseType = val;\n return this;\n};\n\n/**\n * Set Accept to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.json = 'application/json';\n *\n * request.get('/agent')\n * .accept('json')\n * .end(callback);\n *\n * request.get('/agent')\n * .accept('application/json')\n * .end(callback);\n *\n * @param {String} accept\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.accept = function(type){\n this.set('Accept', request.types[type] || type);\n return this;\n};\n\n/**\n * Set Authorization field value with `user` and `pass`.\n *\n * @param {String} user\n * @param {String} pass\n * @param {Object} options with 'type' property 'auto' or 'basic' (default 'basic')\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.auth = function(user, pass, options){\n if (!options) {\n options = {\n type: 'basic'\n }\n }\n\n switch (options.type) {\n case 'basic':\n var str = btoa(user + ':' + pass);\n this.set('Authorization', 'Basic ' + str);\n break;\n\n case 'auto':\n this.username = user;\n this.password = pass;\n break;\n }\n return this;\n};\n\n/**\n* Add query-string `val`.\n*\n* Examples:\n*\n* request.get('/shoes')\n* .query('size=10')\n* .query({ color: 'blue' })\n*\n* @param {Object|String} val\n* @return {Request} for chaining\n* @api public\n*/\n\nRequest.prototype.query = function(val){\n if ('string' != typeof val) val = serialize(val);\n if (val) this._query.push(val);\n return this;\n};\n\n/**\n * Queue the given `file` as an attachment to the specified `field`,\n * with optional `filename`.\n *\n * ``` js\n * request.post('/upload')\n * .attach('content', new Blob(['hey!'], { type: \"text/html\"}))\n * .end(callback);\n * ```\n *\n * @param {String} field\n * @param {Blob|File} file\n * @param {String} filename\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.attach = function(field, file, filename){\n this._getFormData().append(field, file, filename || file.name);\n return this;\n};\n\nRequest.prototype._getFormData = function(){\n if (!this._formData) {\n this._formData = new root.FormData();\n }\n return this._formData;\n};\n\n/**\n * Invoke the callback with `err` and `res`\n * and handle arity check.\n *\n * @param {Error} err\n * @param {Response} res\n * @api private\n */\n\nRequest.prototype.callback = function(err, res){\n var fn = this._callback;\n this.clearTimeout();\n fn(err, res);\n};\n\n/**\n * Invoke callback with x-domain error.\n *\n * @api private\n */\n\nRequest.prototype.crossDomainError = function(){\n var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n err.crossDomain = true;\n\n err.status = this.status;\n err.method = this.method;\n err.url = this.url;\n\n this.callback(err);\n};\n\n/**\n * Invoke callback with timeout error.\n *\n * @api private\n */\n\nRequest.prototype._timeoutError = function(){\n var timeout = this._timeout;\n var err = new Error('timeout of ' + timeout + 'ms exceeded');\n err.timeout = timeout;\n this.callback(err);\n};\n\n/**\n * Compose querystring to append to req.url\n *\n * @api private\n */\n\nRequest.prototype._appendQueryString = function(){\n var query = this._query.join('&');\n if (query) {\n this.url += ~this.url.indexOf('?')\n ? '&' + query\n : '?' + query;\n }\n};\n\n/**\n * Initiate request, invoking callback `fn(res)`\n * with an instanceof `Response`.\n *\n * @param {Function} fn\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.end = function(fn){\n var self = this;\n var xhr = this.xhr = request.getXHR();\n var timeout = this._timeout;\n var data = this._formData || this._data;\n\n // store callback\n this._callback = fn || noop;\n\n // state change\n xhr.onreadystatechange = function(){\n if (4 != xhr.readyState) return;\n\n // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n // result in the error \"Could not complete the operation due to error c00c023f\"\n var status;\n try { status = xhr.status } catch(e) { status = 0; }\n\n if (0 == status) {\n if (self.timedout) return self._timeoutError();\n if (self._aborted) return;\n return self.crossDomainError();\n }\n self.emit('end');\n };\n\n // progress\n var handleProgress = function(e){\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n e.direction = 'download';\n self.emit('progress', e);\n };\n if (this.hasListeners('progress')) {\n xhr.onprogress = handleProgress;\n }\n try {\n if (xhr.upload && this.hasListeners('progress')) {\n xhr.upload.onprogress = handleProgress;\n }\n } catch(e) {\n // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n // Reported here:\n // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n }\n\n // timeout\n if (timeout && !this._timer) {\n this._timer = setTimeout(function(){\n self.timedout = true;\n self.abort();\n }, timeout);\n }\n\n // querystring\n this._appendQueryString();\n\n // initiate request\n if (this.username && this.password) {\n xhr.open(this.method, this.url, true, this.username, this.password);\n } else {\n xhr.open(this.method, this.url, true);\n }\n\n // CORS\n if (this._withCredentials) xhr.withCredentials = true;\n\n // body\n if ('GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n // serialize stuff\n var contentType = this._header['content-type'];\n var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n if (!serialize && isJSON(contentType)) serialize = request.serialize['application/json'];\n if (serialize) data = serialize(data);\n }\n\n // set header fields\n for (var field in this.header) {\n if (null == this.header[field]) continue;\n xhr.setRequestHeader(field, this.header[field]);\n }\n\n if (this._responseType) {\n xhr.responseType = this._responseType;\n }\n\n // send stuff\n this.emit('request', this);\n\n // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n // We need null here if data is undefined\n xhr.send(typeof data !== 'undefined' ? data : null);\n return this;\n};\n\n\n/**\n * Expose `Request`.\n */\n\nrequest.Request = Request;\n\n/**\n * GET `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.get = function(url, data, fn){\n var req = request('GET', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.query(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * HEAD `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.head = function(url, data, fn){\n var req = request('HEAD', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * OPTIONS query to `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.options = function(url, data, fn){\n var req = request('OPTIONS', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * DELETE `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nfunction del(url, fn){\n var req = request('DELETE', url);\n if (fn) req.end(fn);\n return req;\n};\n\nrequest['del'] = del;\nrequest['delete'] = del;\n\n/**\n * PATCH `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} data\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.patch = function(url, data, fn){\n var req = request('PATCH', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * POST `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} data\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.post = function(url, data, fn){\n var req = request('POST', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * PUT `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.put = function(url, data, fn){\n var req = request('PUT', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n},{\"./is-object\":1,\"./request\":3,\"./request-base\":2,\"emitter\":4,\"reduce\":5}]},{},[6])(6)\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/superagent/superagent.js\n ** module id = 16\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/User', 'model/RestError', 'model/Token', 'model/Credential'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/User'), require('../model/RestError'), require('../model/Token'), require('../model/Credential'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.AuthApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.User, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Token, root.WebidaRestfulApi.Credential);\n }\n}(this, function(ApiClient, User, RestError, Token, Credential) {\n 'use strict';\n\n /**\n * Auth service.\n * @module api/AuthApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new AuthApi. \n * @alias module:api/AuthApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the getInfo operation.\n * @callback module:api/AuthApi~getInfoCallback\n * @param {String} error Error message, if any.\n * @param {module:model/User} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Gets user information of that can be identified with current access token. Implementations should provide a more restful api based on domain data model, not extending this operation. (e.g. GET,PUT and DELETE on /Users/{userId} to read, update and delete user) \n * @param {module:api/AuthApi~getInfoCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/User}\n */\n this.getInfo = function(callback) {\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = User;\n\n return this.apiClient.callApi(\n '/auth/info', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the issueToken operation.\n * @callback module:api/AuthApi~issueTokenCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Token} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates new token from current access token, inheriting workspace id & session id. The duration of generated token is (and should not be) parameterizable. Server should set proper duration, respecting \\"reconnect\\" period of socket.io clients. Remember that most of socket.io client implementations (including official js client) do not provide any ways to change connection parameters (header or query) while reconnecting to server. Like login API, this endpoint does not provide any encryption. Server should not set any data to harm security in the token & should provide some signinig/encryption mechanism to protect token. Simple JSON Web Token with HMAC-SHA will do. \n * @param {module:model/String} type \n * @param {Object} opts Optional parameters\n * @param {String} opts.workspaceId recommended to issue a MASTER type token to restrict remote access\n * @param {module:api/AuthApi~issueTokenCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Token}\n */\n this.issueToken = function(type, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'type' is set\n if (type == undefined || type == null) {\n throw \"Missing the required parameter 'type' when calling issueToken\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n 'type': type,\n 'workspaceId': opts['workspaceId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Token;\n\n return this.apiClient.callApi(\n '/auth/token', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the login operation.\n * @callback module:api/AuthApi~loginCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Token} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * A \\"VERY\\" basic authentication, required to use webida-simple-auth security scheme. Service / Product implementations who need better security, should override this operation or add their own login api or some other specs like OAuth2. Simple auth is not suitable for large-sacle, multi-tennant service, for the scheme assumes a single, trusted user only. Logging-in with master token, the generated access token inherits all restriction from it. On the other hand, normal log-in with login id & password creates an unrestricted access token, with reasonably short expiration time. Every client should spawn another access token with issueToken API before current access token expires, inheriting session id from current token. To save remote access info, client should create a (restricted but long-ttl) master token to start IDE from remote. The remote client should not use the unrestricted acccess token from login to use any other perpose than finding available workspaces, and should not refresh the token. (Let user log-in again) Login API does not force any encryption. Server should provide secure transport channel, usually https, to provide remote access, always. \n * @param {module:model/Credential} body \n * @param {module:api/AuthApi~loginCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Token}\n */\n this.login = function(body, callback) {\n var postBody = body;\n\n // verify the required parameter 'body' is set\n if (body == undefined || body == null) {\n throw \"Missing the required parameter 'body' when calling login\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = [];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Token;\n\n return this.apiClient.callApi(\n '/auth/login', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/AuthApi.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.OpsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError);\n }\n}(this, function(ApiClient, RestOK, RestError) {\n 'use strict';\n\n /**\n * Ops service.\n * @module api/OpsApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new OpsApi. \n * @alias module:api/OpsApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the replace operation.\n * @callback module:api/OpsApi~replaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * replace file contents with regex matching\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {Array.} wfsPathList array of wfsPath, with heading / (collection format may be changed by implementation)\n * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n * @param {String} replaceTo string to replace with\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n * @param {module:api/OpsApi~replaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.replace = function(wfsId, wfsPathList, pattern, replaceTo, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling replace\";\n }\n\n // verify the required parameter 'wfsPathList' is set\n if (wfsPathList == undefined || wfsPathList == null) {\n throw \"Missing the required parameter 'wfsPathList' when calling replace\";\n }\n\n // verify the required parameter 'pattern' is set\n if (pattern == undefined || pattern == null) {\n throw \"Missing the required parameter 'pattern' when calling replace\";\n }\n\n // verify the required parameter 'replaceTo' is set\n if (replaceTo == undefined || replaceTo == null) {\n throw \"Missing the required parameter 'replaceTo' when calling replace\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId\n };\n var queryParams = {\n 'wfsPathList': this.apiClient.buildCollectionParam(wfsPathList, 'multi'),\n 'pattern': pattern,\n 'replaceTo': replaceTo,\n 'ignoreCase': opts['ignoreCase']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/ops/replace', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the search operation.\n * @callback module:api/OpsApi~searchCallback\n * @param {String} error Error message, if any.\n * @param {Object.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * search files in some path, with given pattern\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n * @param {module:api/OpsApi~searchCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Object.}\n */\n this.search = function(wfsId, wfsPath, pattern, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling search\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling search\";\n }\n\n // verify the required parameter 'pattern' is set\n if (pattern == undefined || pattern == null) {\n throw \"Missing the required parameter 'pattern' when calling search\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'pattern': pattern,\n 'ignoreCase': opts['ignoreCase']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = {'String': [Match]};\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/ops/search/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/OpsApi.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestError', 'model/RemoteAccess', 'model/RestOK'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestError'), require('../model/RemoteAccess'), require('../model/RestOK'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RemotesApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.RemoteAccess, root.WebidaRestfulApi.RestOK);\n }\n}(this, function(ApiClient, RestError, RemoteAccess, RestOK) {\n 'use strict';\n\n /**\n * Remotes service.\n * @module api/RemotesApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new RemotesApi. \n * @alias module:api/RemotesApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the findRemoteAccesses operation.\n * @callback module:api/RemotesApi~findRemoteAccessesCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Get all access informations See RemoteWorkspaceAccess definition for details (no fancy find / search feature yet) \n * @param {module:api/RemotesApi~findRemoteAccessesCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findRemoteAccesses = function(callback) {\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [RemoteAccess];\n\n return this.apiClient.callApi(\n '/remotes', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the putRemoteAccess operation.\n * @callback module:api/RemotesApi~putRemoteAccessCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * create or update a remote workspace access information\n * @param {module:model/RemoteAccess} body \n * @param {module:api/RemotesApi~putRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.putRemoteAccess = function(body, callback) {\n var postBody = body;\n\n // verify the required parameter 'body' is set\n if (body == undefined || body == null) {\n throw \"Missing the required parameter 'body' when calling putRemoteAccess\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/remotes', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the removeRemoteAccess operation.\n * @callback module:api/RemotesApi~removeRemoteAccessCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RemoteAccess} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * delete a remote workspace\n * @param {String} workspaceId workspace Id of remote workspace\n * @param {module:api/RemotesApi~removeRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RemoteAccess}\n */\n this.removeRemoteAccess = function(workspaceId, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling removeRemoteAccess\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n 'workspaceId': workspaceId\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RemoteAccess;\n\n return this.apiClient.callApi(\n '/remotes', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/RemotesApi.js\n ** module id = 19\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError', 'model/Session'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Session'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.SessionApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Session);\n }\n}(this, function(ApiClient, RestOK, RestError, Session) {\n 'use strict';\n\n /**\n * Session service.\n * @module api/SessionApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new SessionApi. \n * @alias module:api/SessionApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the closeSession operation.\n * @callback module:api/SessionApi~closeSessionCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * close session with timeout\n * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n * @param {Integer} closeAfter waiting time before actual closing, to let client save files and prevent reconnect \n * @param {module:api/SessionApi~closeSessionCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.closeSession = function(sessionId, closeAfter, callback) {\n var postBody = null;\n\n // verify the required parameter 'sessionId' is set\n if (sessionId == undefined || sessionId == null) {\n throw \"Missing the required parameter 'sessionId' when calling closeSession\";\n }\n\n // verify the required parameter 'closeAfter' is set\n if (closeAfter == undefined || closeAfter == null) {\n throw \"Missing the required parameter 'closeAfter' when calling closeSession\";\n }\n\n\n var pathParams = {\n 'sessionId': sessionId\n };\n var queryParams = {\n 'closeAfter': closeAfter\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/sessions/{sessionId}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the findSessions operation.\n * @callback module:api/SessionApi~findSessionsCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get all / some webida sessions established to server\n * @param {Object} opts Optional parameters\n * @param {String} opts.workspaceId find only sessions working on some given workspace\n * @param {module:api/SessionApi~findSessionsCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findSessions = function(opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n 'workspaceId': opts['workspaceId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [Session];\n\n return this.apiClient.callApi(\n '/sessions', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the getSession operation.\n * @callback module:api/SessionApi~getSessionCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Session} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get a session object by id\n * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n * @param {module:api/SessionApi~getSessionCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Session}\n */\n this.getSession = function(sessionId, callback) {\n var postBody = null;\n\n // verify the required parameter 'sessionId' is set\n if (sessionId == undefined || sessionId == null) {\n throw \"Missing the required parameter 'sessionId' when calling getSession\";\n }\n\n\n var pathParams = {\n 'sessionId': sessionId\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Session;\n\n return this.apiClient.callApi(\n '/sessions/{sessionId}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/SessionApi.js\n ** module id = 20\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError', 'model/DirEntry', 'model/Stats'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/DirEntry'), require('../model/Stats'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.WfsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n }\n}(this, function(ApiClient, RestOK, RestError, DirEntry, Stats) {\n 'use strict';\n\n /**\n * Wfs service.\n * @module api/WfsApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new WfsApi. \n * @alias module:api/WfsApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the copy operation.\n * @callback module:api/WfsApi~copyCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates a copy of source to given path. Unlike cp command, wfsPath always denotes an exact path of the resource to be created. So, copying a file to directory always returns error and vice versa. this operation creates the parents dir of destination path always, and does not roll-back the creation when operation failed. So, clients should roll-back if needed. When destination path exists already, 1) copying file to file : follows noOverwrite flag. (does not return error) 2) copying file to dir : returns 409 error 3) copying dir to file : returns 409 error 4) copying dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {String} srcPath source data path of some operations, with have heading /\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n * @param {Boolean} opts.followSymbolicLinks dereference symlinks in source. (default to false)\n * @param {Boolean} opts.preserveTimestamps keep mtime/atime of source file(s) in destination. (default to false)\n * @param {module:api/WfsApi~copyCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.copy = function(wfsId, wfsPath, srcPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling copy\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling copy\";\n }\n\n // verify the required parameter 'srcPath' is set\n if (srcPath == undefined || srcPath == null) {\n throw \"Missing the required parameter 'srcPath' when calling copy\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'srcPath': srcPath,\n 'noOverwrite': opts['noOverwrite'],\n 'followSymbolicLinks': opts['followSymbolicLinks'],\n 'preserveTimestamps': opts['preserveTimestamps']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the createDir operation.\n * @callback module:api/WfsApi~createDirCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * create a directory at the path. returns error when wfsPath exists and not empty this API always creates parent directories if needed. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {module:api/WfsApi~createDirCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.createDir = function(wfsId, wfsPath, callback) {\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling createDir\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling createDir\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/dir/{wfsPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the dirTree operation.\n * @callback module:api/WfsApi~dirTreeCallback\n * @param {String} error Error message, if any.\n * @param {module:model/DirEntry} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * returns a directory tree of given path, for listing dir and managing file system errors while building sub-tree will be ignored and will not be included in result. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {Integer} maxDepth Maximum depth of tree. -1 to build a full tree, 0 to stat, 1 to plain list.\n * @param {module:api/WfsApi~dirTreeCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/DirEntry}\n */\n this.dirTree = function(wfsId, wfsPath, maxDepth, callback) {\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling dirTree\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling dirTree\";\n }\n\n // verify the required parameter 'maxDepth' is set\n if (maxDepth == undefined || maxDepth == null) {\n throw \"Missing the required parameter 'maxDepth' when calling dirTree\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'maxDepth': maxDepth\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = DirEntry;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/dir/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the move operation.\n * @callback module:api/WfsApi~moveCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Moves source resource to given path. Unlike mv command, wfsPath always denotes an exact path of the resource to be created. So, moving a file to existing directory always returns error and vice versa. (So, This API works like 'rename' rather than 'mv' command) Like copy(), this operation creates parent path of destination, and does not roll-back when operation failes. When destination path exists already, 1) moving file to file : follows noOverwrite flag. 2) moving file to dir : returns 409 error 3) moving dir to file : returns 409 error 4) moving dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {String} srcPath source data path of some operations, with have heading /\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n * @param {module:api/WfsApi~moveCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.move = function(wfsId, wfsPath, srcPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling move\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling move\";\n }\n\n // verify the required parameter 'srcPath' is set\n if (srcPath == undefined || srcPath == null) {\n throw \"Missing the required parameter 'srcPath' when calling move\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'srcPath': srcPath,\n 'noOverwrite': opts['noOverwrite']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the readFile operation.\n * @callback module:api/WfsApi~readFileCallback\n * @param {String} error Error message, if any.\n * @param {File} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * read file data on path\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {module:api/WfsApi~readFileCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {File}\n */\n this.readFile = function(wfsId, wfsPath, callback) {\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling readFile\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling readFile\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = File;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/file/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the remove operation.\n * @callback module:api/WfsApi~removeCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * delete file or directory\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.noRecursive if set, deleting non-empty directory will return 409 error. (default to false)\n * @param {module:api/WfsApi~removeCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.remove = function(wfsId, wfsPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling remove\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling remove\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'noRecursive': opts['noRecursive']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the stat operation.\n * @callback module:api/WfsApi~statCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Stats} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Get stats of given path. (stat() returns \\"stats\\" object in node and POSIX system) Since we've no ctime/atime in Stats class, some file system changing events will send 'exactly same' stats object. This API should be called only when stats of some file system path is stale for unknown reason (e.g. losting change events). Use dirTree operation and session events to detect stats, if possible. This API can be used to check a path is valid, existing one, but it's not recommended to check existence of individual paths by API. Clients should use dirTree and session events to synchorize some in-app file system with webida file system. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ignoreError flag to ignore stat errors to check existence only. If this flag is true, server will returns 'DUMMY' type stats object instead of 404 error when given path does not exists. (invalid wfsId will produce 400 error, not 404) (default to false)\n * @param {module:api/WfsApi~statCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Stats}\n */\n this.stat = function(wfsId, wfsPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling stat\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling stat\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'ignoreError': opts['ignoreError']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Stats;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the writeFile operation.\n * @callback module:api/WfsApi~writeFileCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates / updates file with body data. Server should write the file in 'atomic' manner, and should not write down request body into final destination path directly. In other words, wheather writeFile() succeeds or not, the contents of the file should not be corrupted nor half-written. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {File} data file contents to write.\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ensureParents A flag to create all parent directories to create file or dir, like mkdir -p. This parameter does not create entire path, but creates to 'parent directory' of the path. (default to false)\n * @param {module:api/WfsApi~writeFileCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.writeFile = function(wfsId, wfsPath, data, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling writeFile\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling writeFile\";\n }\n\n // verify the required parameter 'data' is set\n if (data == undefined || data == null) {\n throw \"Missing the required parameter 'data' when calling writeFile\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'ensureParents': opts['ensureParents']\n };\n var headerParams = {\n };\n var formParams = {\n 'data': data\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['multipart/form-data'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/file/{wfsPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/WfsApi.js\n ** module id = 21\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError', 'model/Workspace', 'model/ChildProcess', 'model/Execution', 'model/ExecutionResult'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Workspace'), require('../model/ChildProcess'), require('../model/Execution'), require('../model/ExecutionResult'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.WorkspaceApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Workspace, root.WebidaRestfulApi.ChildProcess, root.WebidaRestfulApi.Execution, root.WebidaRestfulApi.ExecutionResult);\n }\n}(this, function(ApiClient, RestOK, RestError, Workspace, ChildProcess, Execution, ExecutionResult) {\n 'use strict';\n\n /**\n * Workspace service.\n * @module api/WorkspaceApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new WorkspaceApi. \n * @alias module:api/WorkspaceApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the cancel operation.\n * @callback module:api/WorkspaceApi~cancelCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * cancels an execution, if possible. Killing process may not be graceful.\n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {Object} opts Optional parameters\n * @param {String} opts.execId the id of execution (different from pid!)\n * @param {module:api/WorkspaceApi~cancelCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.cancel = function(workspaceId, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling cancel\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'execId': opts['execId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/exec', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the createWorkspace operation.\n * @callback module:api/WorkspaceApi~createWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates a new workspace with given local path. Requires an unrestricted access token. \n * @param {String} localPath a real, local path of the system (not unixified)\n * @param {String} name workspace name property\n * @param {String} description workspace name property\n * @param {module:api/WorkspaceApi~createWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.createWorkspace = function(localPath, name, description, callback) {\n var postBody = null;\n\n // verify the required parameter 'localPath' is set\n if (localPath == undefined || localPath == null) {\n throw \"Missing the required parameter 'localPath' when calling createWorkspace\";\n }\n\n // verify the required parameter 'name' is set\n if (name == undefined || name == null) {\n throw \"Missing the required parameter 'name' when calling createWorkspace\";\n }\n\n // verify the required parameter 'description' is set\n if (description == undefined || description == null) {\n throw \"Missing the required parameter 'description' when calling createWorkspace\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n 'localPath': localPath,\n 'name': name,\n 'description': description\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the exec operation.\n * @callback module:api/WorkspaceApi~execCallback\n * @param {String} error Error message, if any.\n * @param {module:model/ExecutionResult} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * execute a shell command on this workspace\n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {module:model/Execution} body \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.async Spawn a child process for given command and returns a child process info only. , Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/asyn-{Execution#id} (default to false)\n * @param {module:api/WorkspaceApi~execCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/ExecutionResult}\n */\n this.exec = function(workspaceId, body, opts, callback) {\n opts = opts || {};\n var postBody = body;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling exec\";\n }\n\n // verify the required parameter 'body' is set\n if (body == undefined || body == null) {\n throw \"Missing the required parameter 'body' when calling exec\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'async': opts['async']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = ExecutionResult;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/exec', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the findWorkspaces operation.\n * @callback module:api/WorkspaceApi~findWorkspacesCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Finds workspaces (no find/search parameters yet). Requires an unrestricted access token. \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.disposable include disposable workspaces or not (default to false)\n * @param {module:api/WorkspaceApi~findWorkspacesCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findWorkspaces = function(opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n 'disposable': opts['disposable']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [Workspace];\n\n return this.apiClient.callApi(\n '/workspaces', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the getChildProcs operation.\n * @callback module:api/WorkspaceApi~getChildProcsCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get all spawned process info, created by exec api, on given workspace. set workspace id to \\"*\\" to all processes info. This operation requires proper access rights (unrestricted or matching workspace id in access token with parameter) \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.includeExec include processes created by synchronous exec request (default to false)\n * @param {module:api/WorkspaceApi~getChildProcsCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.getChildProcs = function(workspaceId, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling getChildProcs\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'includeExec': opts['includeExec']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = [];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [ChildProcess];\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/exec', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the getWorkspace operation.\n * @callback module:api/WorkspaceApi~getWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get a workspace object by id\n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {module:api/WorkspaceApi~getWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.getWorkspace = function(workspaceId, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling getWorkspace\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the readMetadata operation.\n * @callback module:api/WorkspaceApi~readMetadataCallback\n * @param {String} error Error message, if any.\n * @param {File} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * read a metadata file from a workspace.\n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {String} objectPath the path (filename without .json) of metadata, without heading /\n * @param {module:api/WorkspaceApi~readMetadataCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {File}\n */\n this.readMetadata = function(workspaceId, objectPath, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling readMetadata\";\n }\n\n // verify the required parameter 'objectPath' is set\n if (objectPath == undefined || objectPath == null) {\n throw \"Missing the required parameter 'objectPath' when calling readMetadata\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId,\n 'objectPath': objectPath\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = [];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = File;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/metadata/{objectPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the removeMetadata operation.\n * @callback module:api/WorkspaceApi~removeMetadataCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * delete metadata of given path\n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {String} objectPath the path (filename without .json) of metadata, without heading /\n * @param {module:api/WorkspaceApi~removeMetadataCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.removeMetadata = function(workspaceId, objectPath, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling removeMetadata\";\n }\n\n // verify the required parameter 'objectPath' is set\n if (objectPath == undefined || objectPath == null) {\n throw \"Missing the required parameter 'objectPath' when calling removeMetadata\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId,\n 'objectPath': objectPath\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/metadata/{objectPath}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the removeWorkspace operation.\n * @callback module:api/WorkspaceApi~removeWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * This operation will remove the requested workspace when 1) all sessions are closed for request (will be notified by server) 2) excedded time limit value in closeAfter parameter 3) server goes down after accepting remove request \\"willBeRemovedAt\\" property can be set \\"only\\" by this api. This API requires \\"unrestricted\\" access token. Even an access token has matching workspace id, removing an workspace is rejected. \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {Object} opts Optional parameters\n * @param {Integer} opts.closeAfter Time in seconds to wait for all sessions save & close their data. (default to 0)\n * @param {module:api/WorkspaceApi~removeWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.removeWorkspace = function(workspaceId, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling removeWorkspace\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'closeAfter': opts['closeAfter']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the updateWorkspace operation.\n * @callback module:api/WorkspaceApi~updateWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Updates workspace. Some protected properties will not be changed by this api. Requires proper access rights in access token. \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {module:api/WorkspaceApi~updateWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.updateWorkspace = function(workspaceId, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling updateWorkspace\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the writeMetadata operation.\n * @callback module:api/WorkspaceApi~writeMetadataCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * write a metadata file at given path. missing parents will be created.\n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {String} objectPath the path (filename without .json) of metadata, without heading /\n * @param {File} data file contents to write.\n * @param {module:api/WorkspaceApi~writeMetadataCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.writeMetadata = function(workspaceId, objectPath, data, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling writeMetadata\";\n }\n\n // verify the required parameter 'objectPath' is set\n if (objectPath == undefined || objectPath == null) {\n throw \"Missing the required parameter 'objectPath' when calling writeMetadata\";\n }\n\n // verify the required parameter 'data' is set\n if (data == undefined || data == null) {\n throw \"Missing the required parameter 'data' when calling writeMetadata\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId,\n 'objectPath': objectPath\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n 'data': data\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/metadata/{objectPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/WorkspaceApi.js\n ** module id = 22\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Match = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Match model module.\n * @module model/Match\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Match.\n * search result for a file\n * @alias module:model/Match\n * @class\n * @param line {Integer} \n * @param text {String} \n */\n var exports = function(line, text) {\n var _this = this;\n\n _this['line'] = line;\n _this['text'] = text;\n };\n\n /**\n * Constructs a Match from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Match} obj Optional instance to populate.\n * @return {module:model/Match} The populated Match instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('line')) {\n obj['line'] = ApiClient.convertToType(data['line'], 'Integer');\n }\n if (data.hasOwnProperty('text')) {\n obj['text'] = ApiClient.convertToType(data['text'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {Integer} line\n */\n exports.prototype['line'] = undefined;\n /**\n * @member {String} text\n */\n exports.prototype['text'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Match.js\n ** module id = 23\n ** module chunks = 0\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///api-bundle.js","webpack:///webpack/bootstrap 4ac3f1a16c3336305f5f","webpack:///./src/index.js","webpack:///./src/ApiClient.js","webpack:///./src/model/RestError.js","webpack:///./src/model/RestOK.js","webpack:///./src/model/DirEntry.js","webpack:///./src/model/Stats.js","webpack:///./src/model/ChildProcess.js","webpack:///./src/model/Credential.js","webpack:///./src/model/Execution.js","webpack:///./src/model/ExecutionResult.js","webpack:///./src/model/RemoteAccess.js","webpack:///./src/model/Session.js","webpack:///./src/model/Token.js","webpack:///./src/model/User.js","webpack:///./src/model/Workspace.js","webpack:///./~/superagent/superagent.js","webpack:///./src/api/AuthApi.js","webpack:///./src/api/OpsApi.js","webpack:///./src/api/RemotesApi.js","webpack:///./src/api/SessionApi.js","webpack:///./src/api/WfsApi.js","webpack:///./src/api/WorkspaceApi.js","webpack:///./src/model/Match.js"],"names":["define","modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","apply","undefined","ApiClient","ChildProcess","Credential","DirEntry","Execution","ExecutionResult","Match","RemoteAccess","RestError","RestOK","Session","Stats","Token","User","Workspace","AuthApi","OpsApi","RemotesApi","SessionApi","WfsApi","WorkspaceApi","root","this","superagent","basePath","replace","authentications","webida-simple-auth","type","in","name","defaultHeaders","timeout","prototype","paramToString","param","Date","toJSON","toString","buildUrl","path","pathParams","match","url","_this","fullMatch","key","value","hasOwnProperty","encodeURIComponent","isJsonMime","contentType","Boolean","jsonPreferredMime","contentTypes","i","length","isFileParam","window","ReadStream","Buffer","Blob","File","normalizeParams","params","newParams","Array","isArray","CollectionFormatEnum","CSV","SSV","TSV","PIPES","MULTI","buildCollectionParam","collectionFormat","map","join","Error","applyAuthToRequest","request","authNames","forEach","authName","auth","username","password","apiKey","data","apiKeyPrefix","set","query","accessToken","Authorization","deserialize","response","returnType","body","text","convertToType","callApi","httpMethod","queryParams","headerParams","formParams","bodyParam","accepts","callback","header","send","_formParams","attach","field","accept","end","error","parseDate","str","parseInt","parseFloat","String","Object","constructFromObject","itemType","item","keyType","valueType","k","result","obj","instance","message","stats","children","birthtime","mtime","mode","size","nlink","TypeEnum","FILE","DIRECTORY","BLOCK_DEVICE","CHARACTER_DEVICE","LINK","FIFO","SOCKET","DUMMY","pid","command","args","execId","state","startedAt","StateEnum","CREATED","WORKING","KILLING","EXITED","loginId","loginPassword","stdout","stderr","serverUrl","workspaceId","masterToken","clientAddress","connectedAt","disconnectedAt","NORMAL","LOSING","CLOSING","tokenType","expiresAt","issuedAt","TokenTypeEnum","MASTER","ACCESS","description","createdAt","workspacePath","excludedPaths","offlineCachePaths","f","amd","g","global","self","e","t","n","r","s","o","u","a","require","code","l","1","isObject","2","clearTimeout","_timeout","_timer","parse","fn","_parser","serialize","_serializer","ms","then","resolve","reject","_fullfilledPromise","Promise","innerResolve","innerReject","err","res","use","get","_header","toLowerCase","getHeader","val","unset","_getFormData","append","abort","_aborted","xhr","req","emit","withCredentials","_withCredentials","redirects","_maxRedirects","method","_data","_isHost","./is-object","3","RequestConstructor","arguments","4","Emitter","mixin","on","addEventListener","event","_callbacks","push","once","off","removeListener","removeAllListeners","removeEventListener","callbacks","cb","splice","slice","len","listeners","hasListeners","5","arr","initial","idx","curr","6","noop","pairs","pushEncodedKeyValuePair","v","subkey","parseString","pair","pos","split","indexOf","decodeURIComponent","parseHeader","index","line","lines","fields","pop","trim","isJSON","mime","test","shift","reduce","parts","Response","options","responseType","responseText","statusText","_setStatusProperties","status","headers","getAllResponseHeaders","getResponseHeader","_setHeaderProperties","_parseBody","Request","_query","original","rawResponse","statusCode","new_err","del","requestBase","bind","getXHR","XMLHttpRequest","location","protocol","ActiveXObject","serializeObject","types","html","json","xml","urlencoded","form","form-data","application/x-www-form-urlencoded","application/json","JSON","stringify","ct","statusType","info","ok","clientError","serverError","toError","accepted","noContent","badRequest","unauthorized","notAcceptable","notFound","forbidden","msg","_responseType","user","pass","btoa","file","filename","_formData","FormData","_callback","crossDomainError","crossDomain","_timeoutError","_appendQueryString","onreadystatechange","readyState","timedout","handleProgress","total","percent","direction","onprogress","upload","setTimeout","open","setRequestHeader","head","patch","post","put","./request","./request-base","emitter","apiClient","getInfo","postBody","issueToken","opts","login","wfsId","wfsPathList","pattern","replaceTo","ignoreCase","search","wfsPath","findRemoteAccesses","putRemoteAccess","removeRemoteAccess","closeSession","sessionId","closeAfter","findSessions","getSession","copy","srcPath","noOverwrite","followSymbolicLinks","preserveTimestamps","createDir","dirTree","maxDepth","move","readFile","remove","noRecursive","stat","ignoreError","writeFile","ensureParents","cancel","createWorkspace","localPath","exec","async","findProcs","findWorkspaces","disposable","getWorkspace","removeWorkspace","updateWorkspace"],"mappings":"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","file":"api-bundle.js","sourcesContent":["define(function() { return /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(7), __webpack_require__(8), __webpack_require__(4), __webpack_require__(9), __webpack_require__(10), __webpack_require__(23), __webpack_require__(11), __webpack_require__(2), __webpack_require__(3), __webpack_require__(12), __webpack_require__(5), __webpack_require__(13), __webpack_require__(14), __webpack_require__(15), __webpack_require__(17), __webpack_require__(18), __webpack_require__(19), __webpack_require__(20), __webpack_require__(21), __webpack_require__(22)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('./ApiClient'), require('./model/ChildProcess'), require('./model/Credential'), require('./model/DirEntry'), require('./model/Execution'), require('./model/ExecutionResult'), require('./model/Match'), require('./model/RemoteAccess'), require('./model/RestError'), require('./model/RestOK'), require('./model/Session'), require('./model/Stats'), require('./model/Token'), require('./model/User'), require('./model/Workspace'), require('./api/AuthApi'), require('./api/OpsApi'), require('./api/RemotesApi'), require('./api/SessionApi'), require('./api/WfsApi'), require('./api/WorkspaceApi'));\n\t }\n\t}(function(ApiClient, ChildProcess, Credential, DirEntry, Execution, ExecutionResult, Match, RemoteAccess, RestError, RestOK, Session, Stats, Token, User, Workspace, AuthApi, OpsApi, RemotesApi, SessionApi, WfsApi, WorkspaceApi) {\n\t 'use strict';\n\t\n\t /**\n\t * Restful_API_for_Webida_clients_to_use_servers_data__features.
\n\t * The index module provides access to constructors for all the classes which comprise the public API.\n\t *

\n\t * An AMD (recommended!) or CommonJS application will generally do something equivalent to the following:\n\t *

\n\t   * var WebidaRestfulApi = require('index'); // See note below*.\n\t   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n\t   * var yyyModel = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n\t   * yyyModel.someProperty = 'someValue';\n\t   * ...\n\t   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n\t   * ...\n\t   * 
\n\t * *NOTE: For a top-level AMD script, use require(['index'], function(){...})\n\t * and put the application logic within the callback function.\n\t *

\n\t *

\n\t * A non-AMD browser application (discouraged) might do something like this:\n\t *

\n\t   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n\t   * var yyy = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n\t   * yyyModel.someProperty = 'someValue';\n\t   * ...\n\t   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n\t   * ...\n\t   * 
\n\t *

\n\t * @module index\n\t * @version 0.3.0\n\t */\n\t var exports = {\n\t /**\n\t * The ApiClient constructor.\n\t * @property {module:ApiClient}\n\t */\n\t ApiClient: ApiClient,\n\t /**\n\t * The ChildProcess model constructor.\n\t * @property {module:model/ChildProcess}\n\t */\n\t ChildProcess: ChildProcess,\n\t /**\n\t * The Credential model constructor.\n\t * @property {module:model/Credential}\n\t */\n\t Credential: Credential,\n\t /**\n\t * The DirEntry model constructor.\n\t * @property {module:model/DirEntry}\n\t */\n\t DirEntry: DirEntry,\n\t /**\n\t * The Execution model constructor.\n\t * @property {module:model/Execution}\n\t */\n\t Execution: Execution,\n\t /**\n\t * The ExecutionResult model constructor.\n\t * @property {module:model/ExecutionResult}\n\t */\n\t ExecutionResult: ExecutionResult,\n\t /**\n\t * The Match model constructor.\n\t * @property {module:model/Match}\n\t */\n\t Match: Match,\n\t /**\n\t * The RemoteAccess model constructor.\n\t * @property {module:model/RemoteAccess}\n\t */\n\t RemoteAccess: RemoteAccess,\n\t /**\n\t * The RestError model constructor.\n\t * @property {module:model/RestError}\n\t */\n\t RestError: RestError,\n\t /**\n\t * The RestOK model constructor.\n\t * @property {module:model/RestOK}\n\t */\n\t RestOK: RestOK,\n\t /**\n\t * The Session model constructor.\n\t * @property {module:model/Session}\n\t */\n\t Session: Session,\n\t /**\n\t * The Stats model constructor.\n\t * @property {module:model/Stats}\n\t */\n\t Stats: Stats,\n\t /**\n\t * The Token model constructor.\n\t * @property {module:model/Token}\n\t */\n\t Token: Token,\n\t /**\n\t * The User model constructor.\n\t * @property {module:model/User}\n\t */\n\t User: User,\n\t /**\n\t * The Workspace model constructor.\n\t * @property {module:model/Workspace}\n\t */\n\t Workspace: Workspace,\n\t /**\n\t * The AuthApi service constructor.\n\t * @property {module:api/AuthApi}\n\t */\n\t AuthApi: AuthApi,\n\t /**\n\t * The OpsApi service constructor.\n\t * @property {module:api/OpsApi}\n\t */\n\t OpsApi: OpsApi,\n\t /**\n\t * The RemotesApi service constructor.\n\t * @property {module:api/RemotesApi}\n\t */\n\t RemotesApi: RemotesApi,\n\t /**\n\t * The SessionApi service constructor.\n\t * @property {module:api/SessionApi}\n\t */\n\t SessionApi: SessionApi,\n\t /**\n\t * The WfsApi service constructor.\n\t * @property {module:api/WfsApi}\n\t */\n\t WfsApi: WfsApi,\n\t /**\n\t * The WorkspaceApi service constructor.\n\t * @property {module:api/WorkspaceApi}\n\t */\n\t WorkspaceApi: WorkspaceApi\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(16)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('superagent'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.ApiClient = factory(root.superagent);\n\t }\n\t}(this, function(superagent) {\n\t 'use strict';\n\t\n\t /**\n\t * @module ApiClient\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Manages low level client-server communications, parameter marshalling, etc. There should not be any need for an\n\t * application to use this class directly - the *Api and model classes provide the public API for the service. The\n\t * contents of this file should be regarded as internal but are documented for completeness.\n\t * @alias module:ApiClient\n\t * @class\n\t */\n\t var exports = function() {\n\t /**\n\t * The base URL against which to resolve every API call's (relative) path.\n\t * @type {String}\n\t * @default https://localhost/api\n\t */\n\t this.basePath = 'https://localhost/api'.replace(/\\/+$/, '');\n\t\n\t /**\n\t * The authentication methods to be included for all API calls.\n\t * @type {Array.}\n\t */\n\t this.authentications = {\n\t 'webida-simple-auth': {type: 'apiKey', 'in': 'header', name: 'Authorization'}\n\t };\n\t /**\n\t * The default HTTP headers to be included for all API calls.\n\t * @type {Array.}\n\t * @default {}\n\t */\n\t this.defaultHeaders = {};\n\t\n\t /**\n\t * The default HTTP timeout for all API calls.\n\t * @type {Number}\n\t * @default 60000\n\t */\n\t this.timeout = 60000;\n\t };\n\t\n\t /**\n\t * Returns a string representation for an actual parameter.\n\t * @param param The actual parameter.\n\t * @returns {String} The string representation of param.\n\t */\n\t exports.prototype.paramToString = function(param) {\n\t if (param == undefined || param == null) {\n\t return '';\n\t }\n\t if (param instanceof Date) {\n\t return param.toJSON();\n\t }\n\t return param.toString();\n\t };\n\t\n\t /**\n\t * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders with parameter values.\n\t * NOTE: query parameters are not handled here.\n\t * @param {String} path The path to append to the base URL.\n\t * @param {Object} pathParams The parameter values to append.\n\t * @returns {String} The encoded path with parameter values substituted.\n\t */\n\t exports.prototype.buildUrl = function(path, pathParams) {\n\t if (!path.match(/^\\//)) {\n\t path = '/' + path;\n\t }\n\t var url = this.basePath + path;\n\t var _this = this;\n\t url = url.replace(/\\{([\\w-]+)\\}/g, function(fullMatch, key) {\n\t var value;\n\t if (pathParams.hasOwnProperty(key)) {\n\t value = _this.paramToString(pathParams[key]);\n\t } else {\n\t value = fullMatch;\n\t }\n\t return encodeURIComponent(value);\n\t });\n\t return url;\n\t };\n\t\n\t /**\n\t * Checks whether the given content type represents JSON.
\n\t * JSON content type examples:
\n\t *
    \n\t *
  • application/json
  • \n\t *
  • application/json; charset=UTF8
  • \n\t *
  • APPLICATION/JSON
  • \n\t *
\n\t * @param {String} contentType The MIME content type to check.\n\t * @returns {Boolean} true if contentType represents JSON, otherwise false.\n\t */\n\t exports.prototype.isJsonMime = function(contentType) {\n\t return Boolean(contentType != null && contentType.match(/^application\\/json(;.*)?$/i));\n\t };\n\t\n\t /**\n\t * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first.\n\t * @param {Array.} contentTypes\n\t * @returns {String} The chosen content type, preferring JSON.\n\t */\n\t exports.prototype.jsonPreferredMime = function(contentTypes) {\n\t for (var i = 0; i < contentTypes.length; i++) {\n\t if (this.isJsonMime(contentTypes[i])) {\n\t return contentTypes[i];\n\t }\n\t }\n\t return contentTypes[0];\n\t };\n\t\n\t /**\n\t * Checks whether the given parameter value represents file-like content.\n\t * @param param The parameter to check.\n\t * @returns {Boolean} true if param represents a file. \n\t */\n\t exports.prototype.isFileParam = function(param) {\n\t // fs.ReadStream in Node.js (but not in runtime like browserify)\n\t if (typeof window === 'undefined' &&\n\t \"function\" === 'function' &&\n\t __webpack_require__(6) &&\n\t param instanceof __webpack_require__(6).ReadStream) {\n\t return true;\n\t }\n\t // Buffer in Node.js\n\t if (typeof Buffer === 'function' && param instanceof Buffer) {\n\t return true;\n\t }\n\t // Blob in browser\n\t if (typeof Blob === 'function' && param instanceof Blob) {\n\t return true;\n\t }\n\t // File in browser (it seems File object is also instance of Blob, but keep this for safe)\n\t if (typeof File === 'function' && param instanceof File) {\n\t return true;\n\t }\n\t return false;\n\t };\n\t\n\t /**\n\t * Normalizes parameter values:\n\t *
    \n\t *
  • remove nils
  • \n\t *
  • keep files and arrays
  • \n\t *
  • format to string with `paramToString` for other cases
  • \n\t *
\n\t * @param {Object.} params The parameters as object properties.\n\t * @returns {Object.} normalized parameters.\n\t */\n\t exports.prototype.normalizeParams = function(params) {\n\t var newParams = {};\n\t for (var key in params) {\n\t if (params.hasOwnProperty(key) && params[key] != undefined && params[key] != null) {\n\t var value = params[key];\n\t if (this.isFileParam(value) || Array.isArray(value)) {\n\t newParams[key] = value;\n\t } else {\n\t newParams[key] = this.paramToString(value);\n\t }\n\t }\n\t }\n\t return newParams;\n\t };\n\t\n\t /**\n\t * Enumeration of collection format separator strategies.\n\t * @enum {String} \n\t * @readonly\n\t */\n\t exports.CollectionFormatEnum = {\n\t /**\n\t * Comma-separated values. Value: csv\n\t * @const\n\t */\n\t CSV: ',',\n\t /**\n\t * Space-separated values. Value: ssv\n\t * @const\n\t */\n\t SSV: ' ',\n\t /**\n\t * Tab-separated values. Value: tsv\n\t * @const\n\t */\n\t TSV: '\\t',\n\t /**\n\t * Pipe(|)-separated values. Value: pipes\n\t * @const\n\t */\n\t PIPES: '|',\n\t /**\n\t * Native array. Value: multi\n\t * @const\n\t */\n\t MULTI: 'multi'\n\t };\n\t\n\t /**\n\t * Builds a string representation of an array-type actual parameter, according to the given collection format.\n\t * @param {Array} param An array parameter.\n\t * @param {module:ApiClient.CollectionFormatEnum} collectionFormat The array element separator strategy.\n\t * @returns {String|Array} A string representation of the supplied collection, using the specified delimiter. Returns\n\t * param as is if collectionFormat is multi.\n\t */\n\t exports.prototype.buildCollectionParam = function buildCollectionParam(param, collectionFormat) {\n\t if (param == null) {\n\t return null;\n\t }\n\t switch (collectionFormat) {\n\t case 'csv':\n\t return param.map(this.paramToString).join(',');\n\t case 'ssv':\n\t return param.map(this.paramToString).join(' ');\n\t case 'tsv':\n\t return param.map(this.paramToString).join('\\t');\n\t case 'pipes':\n\t return param.map(this.paramToString).join('|');\n\t case 'multi':\n\t // return the array directly as SuperAgent will handle it as expected\n\t return param.map(this.paramToString);\n\t default:\n\t throw new Error('Unknown collection format: ' + collectionFormat);\n\t }\n\t };\n\t\n\t /**\n\t * Applies authentication headers to the request.\n\t * @param {Object} request The request object created by a superagent() call.\n\t * @param {Array.} authNames An array of authentication method names.\n\t */\n\t exports.prototype.applyAuthToRequest = function(request, authNames) {\n\t var _this = this;\n\t authNames.forEach(function(authName) {\n\t var auth = _this.authentications[authName];\n\t switch (auth.type) {\n\t case 'basic':\n\t if (auth.username || auth.password) {\n\t request.auth(auth.username || '', auth.password || '');\n\t }\n\t break;\n\t case 'apiKey':\n\t if (auth.apiKey) {\n\t var data = {};\n\t if (auth.apiKeyPrefix) {\n\t data[auth.name] = auth.apiKeyPrefix + ' ' + auth.apiKey;\n\t } else {\n\t data[auth.name] = auth.apiKey;\n\t }\n\t if (auth['in'] === 'header') {\n\t request.set(data);\n\t } else {\n\t request.query(data);\n\t }\n\t }\n\t break;\n\t case 'oauth2':\n\t if (auth.accessToken) {\n\t request.set({'Authorization': 'Bearer ' + auth.accessToken});\n\t }\n\t break;\n\t default:\n\t throw new Error('Unknown authentication type: ' + auth.type);\n\t }\n\t });\n\t };\n\t\n\t /**\n\t * Deserializes an HTTP response body into a value of the specified type.\n\t * @param {Object} response A SuperAgent response object.\n\t * @param {(String|Array.|Object.|Function)} returnType The type to return. Pass a string for simple types\n\t * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n\t * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n\t * all properties on data will be converted to this type.\n\t * @returns A value of the specified type.\n\t */\n\t exports.prototype.deserialize = function deserialize(response, returnType) {\n\t if (response == null || returnType == null) {\n\t return null;\n\t }\n\t // Rely on SuperAgent for parsing response body.\n\t // See http://visionmedia.github.io/superagent/#parsing-response-bodies\n\t var data = response.body;\n\t if (data == null) {\n\t // SuperAgent does not always produce a body; use the unparsed response as a fallback\n\t data = response.text;\n\t }\n\t return exports.convertToType(data, returnType);\n\t };\n\t\n\t /**\n\t * Callback function to receive the result of the operation.\n\t * @callback module:ApiClient~callApiCallback\n\t * @param {String} error Error message, if any.\n\t * @param data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Invokes the REST service using the supplied settings and parameters.\n\t * @param {String} path The base URL to invoke.\n\t * @param {String} httpMethod The HTTP method to use.\n\t * @param {Object.} pathParams A map of path parameters and their values.\n\t * @param {Object.} queryParams A map of query parameters and their values.\n\t * @param {Object.} headerParams A map of header parameters and their values.\n\t * @param {Object.} formParams A map of form parameters and their values.\n\t * @param {Object} bodyParam The value to pass as the request body.\n\t * @param {Array.} authNames An array of authentication type names.\n\t * @param {Array.} contentTypes An array of request MIME types.\n\t * @param {Array.} accepts An array of acceptable response MIME types.\n\t * @param {(String|Array|ObjectFunction)} returnType The required type to return; can be a string for simple types or the\n\t * constructor for a complex type.\n\t * @param {module:ApiClient~callApiCallback} callback The callback function.\n\t * @returns {Object} The SuperAgent request object.\n\t */\n\t exports.prototype.callApi = function callApi(path, httpMethod, pathParams,\n\t queryParams, headerParams, formParams, bodyParam, authNames, contentTypes, accepts,\n\t returnType, callback) {\n\t\n\t var _this = this;\n\t var url = this.buildUrl(path, pathParams);\n\t var request = superagent(httpMethod, url);\n\t\n\t // apply authentications\n\t this.applyAuthToRequest(request, authNames);\n\t\n\t // set query parameters\n\t request.query(this.normalizeParams(queryParams));\n\t\n\t // set header parameters\n\t request.set(this.defaultHeaders).set(this.normalizeParams(headerParams));\n\t\n\t // set request timeout\n\t request.timeout(this.timeout);\n\t\n\t var contentType = this.jsonPreferredMime(contentTypes);\n\t if (contentType !== 'multipart/form-data') {\n\t if (contentType) {\n\t request.type(contentType);\n\t } else if (!request.header['Content-Type']) {\n\t request.type('application/json');\n\t }\n\t }\n\t\n\t if (contentType === 'application/x-www-form-urlencoded') {\n\t request.send(this.normalizeParams(formParams));\n\t } else if (contentType == 'multipart/form-data') {\n\t var _formParams = this.normalizeParams(formParams);\n\t for (var key in _formParams) {\n\t if (_formParams.hasOwnProperty(key)) {\n\t if (this.isFileParam(_formParams[key])) {\n\t // file field\n\t request.attach(key, _formParams[key]);\n\t } else {\n\t request.field(key, _formParams[key]);\n\t }\n\t }\n\t }\n\t } else if (bodyParam) {\n\t request.send(bodyParam);\n\t }\n\t\n\t var accept = this.jsonPreferredMime(accepts);\n\t if (accept) {\n\t request.accept(accept);\n\t }\n\t\n\t\n\t request.end(function(error, response) {\n\t if (callback) {\n\t var data = null;\n\t if (!error) {\n\t data = _this.deserialize(response, returnType);\n\t }\n\t callback(error, data, response);\n\t }\n\t });\n\t\n\t return request;\n\t };\n\t\n\t /**\n\t * Parses an ISO-8601 string representation of a date value.\n\t * @param {String} str The date value as a string.\n\t * @returns {Date} The parsed date object.\n\t */\n\t exports.parseDate = function(str) {\n\t return new Date(str.replace(/T/i, ' '));\n\t };\n\t\n\t /**\n\t * Converts a value to the specified type.\n\t * @param {(String|Object)} data The data to convert, as a string or object.\n\t * @param {(String|Array.|Object.|Function)} type The type to return. Pass a string for simple types\n\t * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n\t * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n\t * all properties on data will be converted to this type.\n\t * @returns An instance of the specified type.\n\t */\n\t exports.convertToType = function(data, type) {\n\t switch (type) {\n\t case 'Boolean':\n\t return Boolean(data);\n\t case 'Integer':\n\t return parseInt(data, 10);\n\t case 'Number':\n\t return parseFloat(data);\n\t case 'String':\n\t return String(data);\n\t case 'Date':\n\t return this.parseDate(String(data));\n\t default:\n\t if (type === Object || type === File) {\n\t // generic object or Blob - return directly\n\t return data;\n\t } else if (typeof type === 'function') {\n\t if (typeof type.constructFromObject !== 'function') {\n\t // some manually written models might have no factory function\n\t return data;\n\t } else {\n\t // for model type like: User\n\t return type.constructFromObject(data);\n\t }\n\t } else if (Array.isArray(type)) {\n\t // for array type like: ['String']\n\t var itemType = type[0];\n\t return data.map(function(item) {\n\t return exports.convertToType(item, itemType);\n\t });\n\t } else if (typeof type === 'object') {\n\t // for plain object type like: {'String': 'Integer'}\n\t var keyType, valueType;\n\t for (var k in type) {\n\t if (type.hasOwnProperty(k)) {\n\t keyType = k;\n\t valueType = type[k];\n\t break;\n\t }\n\t }\n\t var result = {};\n\t for (var k in data) {\n\t if (data.hasOwnProperty(k)) {\n\t var key = exports.convertToType(k, keyType);\n\t var value = exports.convertToType(data[k], valueType);\n\t result[key] = value;\n\t }\n\t }\n\t return result;\n\t } else {\n\t // for unknown type, return the data directly\n\t return data;\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * Constructs a new map or array model from REST data.\n\t * @param data {Object|Array} The REST data.\n\t * @param obj {Object|Array} The target object or array.\n\t */\n\t exports.constructFromObject = function(data, obj, itemType) {\n\t if (Array.isArray(data)) {\n\t for (var i = 0; i < data.length; i++) {\n\t if (data.hasOwnProperty(i))\n\t obj[i] = exports.convertToType(data[i], itemType);\n\t }\n\t } else {\n\t for (var k in data) {\n\t if (data.hasOwnProperty(k))\n\t obj[k] = exports.convertToType(data[k], itemType);\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * The default API client implementation.\n\t * @type {module:ApiClient}\n\t */\n\t exports.instance = new exports();\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RestError = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The RestError model module.\n\t * @module model/RestError\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new RestError.\n\t * Error object with code and message. code is bound to status code, but not always same to standard HTTP status text. For example, some 409 error may have code \\"Invalid Argument\\" instead of \\"Conflic\\". So, Client should read message property to know what happend exactly when an error is returned from server. And, some 500 errors can have system errno instead of useless \\"internal\\". Like other errors, details are hidden in message. \n\t * @alias module:model/RestError\n\t * @class\n\t * @param message {String} \n\t */\n\t var exports = function(message) {\n\t var _this = this;\n\t\n\t\n\t _this['message'] = message;\n\t };\n\t\n\t /**\n\t * Constructs a RestError from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/RestError} obj Optional instance to populate.\n\t * @return {module:model/RestError} The populated RestError instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('code')) {\n\t obj['code'] = ApiClient.convertToType(data['code'], 'String');\n\t }\n\t if (data.hasOwnProperty('message')) {\n\t obj['message'] = ApiClient.convertToType(data['message'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} code\n\t */\n\t exports.prototype['code'] = undefined;\n\t /**\n\t * @member {String} message\n\t */\n\t exports.prototype['message'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RestOK = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The RestOK model module.\n\t * @module model/RestOK\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new RestOK.\n\t * @alias module:model/RestOK\n\t * @class\n\t */\n\t var exports = function() {\n\t var _this = this;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a RestOK from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/RestOK} obj Optional instance to populate.\n\t * @return {module:model/RestOK} The populated RestOK instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('message')) {\n\t obj['message'] = ApiClient.convertToType(data['message'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} message\n\t */\n\t exports.prototype['message'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(4), __webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('./DirEntry'), require('./Stats'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.DirEntry = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n\t }\n\t}(this, function(ApiClient, DirEntry, Stats) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The DirEntry model module.\n\t * @module model/DirEntry\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new DirEntry.\n\t * a directory entry (file or directory) with children that represents a (sub) tree\n\t * @alias module:model/DirEntry\n\t * @class\n\t * @param name {String} \n\t * @param stats {module:model/Stats} \n\t * @param children {Array.} \n\t */\n\t var exports = function(name, stats, children) {\n\t var _this = this;\n\t\n\t _this['name'] = name;\n\t _this['stats'] = stats;\n\t _this['children'] = children;\n\t };\n\t\n\t /**\n\t * Constructs a DirEntry from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/DirEntry} obj Optional instance to populate.\n\t * @return {module:model/DirEntry} The populated DirEntry instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('stats')) {\n\t obj['stats'] = Stats.constructFromObject(data['stats']);\n\t }\n\t if (data.hasOwnProperty('children')) {\n\t obj['children'] = ApiClient.convertToType(data['children'], [DirEntry]);\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * @member {module:model/Stats} stats\n\t */\n\t exports.prototype['stats'] = undefined;\n\t /**\n\t * @member {Array.} children\n\t */\n\t exports.prototype['children'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Stats = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Stats model module.\n\t * @module model/Stats\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Stats.\n\t * simplified/augmented fs.Stats class - see node.js doc for all properties\n\t * @alias module:model/Stats\n\t * @class\n\t * @param type {module:model/Stats.TypeEnum} All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n\t * @param birthtime {Date} \n\t * @param mtime {Date} \n\t * @param mode {String} \n\t * @param size {Integer} \n\t * @param nlink {Integer} \n\t */\n\t var exports = function(type, birthtime, mtime, mode, size, nlink) {\n\t var _this = this;\n\t\n\t _this['type'] = type;\n\t _this['birthtime'] = birthtime;\n\t _this['mtime'] = mtime;\n\t _this['mode'] = mode;\n\t _this['size'] = size;\n\t _this['nlink'] = nlink;\n\t };\n\t\n\t /**\n\t * Constructs a Stats from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Stats} obj Optional instance to populate.\n\t * @return {module:model/Stats} The populated Stats instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('type')) {\n\t obj['type'] = ApiClient.convertToType(data['type'], 'String');\n\t }\n\t if (data.hasOwnProperty('birthtime')) {\n\t obj['birthtime'] = ApiClient.convertToType(data['birthtime'], 'Date');\n\t }\n\t if (data.hasOwnProperty('mtime')) {\n\t obj['mtime'] = ApiClient.convertToType(data['mtime'], 'Date');\n\t }\n\t if (data.hasOwnProperty('mode')) {\n\t obj['mode'] = ApiClient.convertToType(data['mode'], 'String');\n\t }\n\t if (data.hasOwnProperty('size')) {\n\t obj['size'] = ApiClient.convertToType(data['size'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('nlink')) {\n\t obj['nlink'] = ApiClient.convertToType(data['nlink'], 'Integer');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n\t * @member {module:model/Stats.TypeEnum} type\n\t */\n\t exports.prototype['type'] = undefined;\n\t /**\n\t * @member {Date} birthtime\n\t */\n\t exports.prototype['birthtime'] = undefined;\n\t /**\n\t * @member {Date} mtime\n\t */\n\t exports.prototype['mtime'] = undefined;\n\t /**\n\t * @member {String} mode\n\t */\n\t exports.prototype['mode'] = undefined;\n\t /**\n\t * @member {Integer} size\n\t */\n\t exports.prototype['size'] = undefined;\n\t /**\n\t * @member {Integer} nlink\n\t */\n\t exports.prototype['nlink'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the type property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.TypeEnum = {\n\t /**\n\t * value: \"FILE\"\n\t * @const\n\t */\n\t \"FILE\": \"FILE\",\n\t /**\n\t * value: \"DIRECTORY\"\n\t * @const\n\t */\n\t \"DIRECTORY\": \"DIRECTORY\",\n\t /**\n\t * value: \"BLOCK_DEVICE\"\n\t * @const\n\t */\n\t \"BLOCK_DEVICE\": \"BLOCK_DEVICE\",\n\t /**\n\t * value: \"CHARACTER_DEVICE\"\n\t * @const\n\t */\n\t \"CHARACTER_DEVICE\": \"CHARACTER_DEVICE\",\n\t /**\n\t * value: \"LINK\"\n\t * @const\n\t */\n\t \"LINK\": \"LINK\",\n\t /**\n\t * value: \"FIFO\"\n\t * @const\n\t */\n\t \"FIFO\": \"FIFO\",\n\t /**\n\t * value: \"SOCKET\"\n\t * @const\n\t */\n\t \"SOCKET\": \"SOCKET\",\n\t /**\n\t * value: \"DUMMY\"\n\t * @const\n\t */\n\t \"DUMMY\": \"DUMMY\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.ChildProcess = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The ChildProcess model module.\n\t * @module model/ChildProcess\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new ChildProcess.\n\t * a process in execution, spawned by async exec or other mean\n\t * @alias module:model/ChildProcess\n\t * @class\n\t * @param pid {Integer} child process pid\n\t * @param command {String} execution command in execution request\n\t * @param args {Array.} arguments of command in execution request\n\t * @param execId {String} execution id from execution request\n\t * @param state {module:model/ChildProcess.StateEnum} state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. \n\t * @param startedAt {Date} the time when this process is spawned\n\t */\n\t var exports = function(pid, command, args, execId, state, startedAt) {\n\t var _this = this;\n\t\n\t _this['pid'] = pid;\n\t _this['command'] = command;\n\t _this['args'] = args;\n\t _this['execId'] = execId;\n\t _this['state'] = state;\n\t _this['startedAt'] = startedAt;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a ChildProcess from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/ChildProcess} obj Optional instance to populate.\n\t * @return {module:model/ChildProcess} The populated ChildProcess instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('pid')) {\n\t obj['pid'] = ApiClient.convertToType(data['pid'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('command')) {\n\t obj['command'] = ApiClient.convertToType(data['command'], 'String');\n\t }\n\t if (data.hasOwnProperty('args')) {\n\t obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n\t }\n\t if (data.hasOwnProperty('execId')) {\n\t obj['execId'] = ApiClient.convertToType(data['execId'], 'String');\n\t }\n\t if (data.hasOwnProperty('state')) {\n\t obj['state'] = ApiClient.convertToType(data['state'], 'String');\n\t }\n\t if (data.hasOwnProperty('startedAt')) {\n\t obj['startedAt'] = ApiClient.convertToType(data['startedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('exitCode')) {\n\t obj['exitCode'] = ApiClient.convertToType(data['exitCode'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('exitSignal')) {\n\t obj['exitSignal'] = ApiClient.convertToType(data['exitSignal'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * child process pid\n\t * @member {Integer} pid\n\t */\n\t exports.prototype['pid'] = undefined;\n\t /**\n\t * execution command in execution request\n\t * @member {String} command\n\t */\n\t exports.prototype['command'] = undefined;\n\t /**\n\t * arguments of command in execution request\n\t * @member {Array.} args\n\t */\n\t exports.prototype['args'] = undefined;\n\t /**\n\t * execution id from execution request\n\t * @member {String} execId\n\t */\n\t exports.prototype['execId'] = undefined;\n\t /**\n\t * state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. \n\t * @member {module:model/ChildProcess.StateEnum} state\n\t */\n\t exports.prototype['state'] = undefined;\n\t /**\n\t * the time when this process is spawned\n\t * @member {Date} startedAt\n\t */\n\t exports.prototype['startedAt'] = undefined;\n\t /**\n\t * the exit code of child process. available with EXITED procs only.\n\t * @member {Integer} exitCode\n\t */\n\t exports.prototype['exitCode'] = undefined;\n\t /**\n\t * the signal that killed this child process.(not always available)\n\t * @member {String} exitSignal\n\t */\n\t exports.prototype['exitSignal'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the state property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.StateEnum = {\n\t /**\n\t * value: \"CREATED\"\n\t * @const\n\t */\n\t \"CREATED\": \"CREATED\",\n\t /**\n\t * value: \"WORKING\"\n\t * @const\n\t */\n\t \"WORKING\": \"WORKING\",\n\t /**\n\t * value: \"KILLING\"\n\t * @const\n\t */\n\t \"KILLING\": \"KILLING\",\n\t /**\n\t * value: \"EXITED\"\n\t * @const\n\t */\n\t \"EXITED\": \"EXITED\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Credential = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Credential model module.\n\t * @module model/Credential\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Credential.\n\t * user credential to login. Use https to protect credential.\n\t * @alias module:model/Credential\n\t * @class\n\t * @param loginId {String} \n\t * @param loginPassword {String} \n\t */\n\t var exports = function(loginId, loginPassword) {\n\t var _this = this;\n\t\n\t _this['loginId'] = loginId;\n\t _this['loginPassword'] = loginPassword;\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Credential from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Credential} obj Optional instance to populate.\n\t * @return {module:model/Credential} The populated Credential instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('loginId')) {\n\t obj['loginId'] = ApiClient.convertToType(data['loginId'], 'String');\n\t }\n\t if (data.hasOwnProperty('loginPassword')) {\n\t obj['loginPassword'] = ApiClient.convertToType(data['loginPassword'], 'String');\n\t }\n\t if (data.hasOwnProperty('masterToken')) {\n\t obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} loginId\n\t */\n\t exports.prototype['loginId'] = undefined;\n\t /**\n\t * @member {String} loginPassword\n\t */\n\t exports.prototype['loginPassword'] = undefined;\n\t /**\n\t * a master token is issued when user wants to access webida api without id/password from remote or local desktop app. When masterToken is set, client should put some bogus id/password, non-empty. (The values can be used to identify client type) \n\t * @member {String} masterToken\n\t */\n\t exports.prototype['masterToken'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Execution = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Execution model module.\n\t * @module model/Execution\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Execution.\n\t * execution request, simlilar to node.js exec()/spawn(). see node.js documentation for details of each properties. some properties are not configurable for portability - encoding : fixed to utf-8 - shell : fixed to system defaults. (so, cmd.exe will be invoked in Windows OS, not sh or bash in git-for-windows even they are available.) - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or invoke taskkill, to ensure chlid process is killed. - uid & gid : will not be set for security - stdio : all streams are handled by server. no options are avaliable to client. - detached : always false \n\t * @alias module:model/Execution\n\t * @class\n\t * @param command {String} The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. \n\t * @param args {Array.} the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\\\Program Files\\\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. \n\t */\n\t var exports = function(command, args) {\n\t var _this = this;\n\t\n\t\n\t _this['command'] = command;\n\t _this['args'] = args;\n\t\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Execution from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Execution} obj Optional instance to populate.\n\t * @return {module:model/Execution} The populated Execution instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('command')) {\n\t obj['command'] = ApiClient.convertToType(data['command'], 'String');\n\t }\n\t if (data.hasOwnProperty('args')) {\n\t obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n\t }\n\t if (data.hasOwnProperty('cwd')) {\n\t obj['cwd'] = ApiClient.convertToType(data['cwd'], 'String');\n\t }\n\t if (data.hasOwnProperty('timeout')) {\n\t obj['timeout'] = ApiClient.convertToType(data['timeout'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('maxBuffer')) {\n\t obj['maxBuffer'] = ApiClient.convertToType(data['maxBuffer'], 'Integer');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * unique identifier of execution, to demux response stream or cancel request. Server should reject an async exec request without id. \n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. \n\t * @member {String} command\n\t */\n\t exports.prototype['command'] = undefined;\n\t /**\n\t * the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\\\Program Files\\\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. \n\t * @member {Array.} args\n\t */\n\t exports.prototype['args'] = undefined;\n\t /**\n\t * Current working directory of spawned process, relative to workspace root. If abscent, cwd will be the workspace directory. Does not accept any evaluatable form like $HOME, %USERPROFILE%. path should be unixified. Server may reject an 'absolute' property. \n\t * @member {String} cwd\n\t */\n\t exports.prototype['cwd'] = undefined;\n\t /**\n\t * The value which In 'miliseconds' the maximum amount of time the child is allowed to run. (not idle time of stdout / stderr stream) for sync exec. Server should not apply default value for async exec, when omitted. The child process spawned by async execution should be killed when 1) server goes down 2) process exits by self 3) cancel operation is invoked \n\t * @member {Integer} timeout\n\t */\n\t exports.prototype['timeout'] = undefined;\n\t /**\n\t * Largest amount of data (in bytes) allowed on stdout or stderr for sync exec. Server should not apply this limit to async execution. In sync exec, server may kill a child process that has exceeded limit. default value is 512KB, large enough. \n\t * @member {Integer} maxBuffer\n\t */\n\t exports.prototype['maxBuffer'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.ExecutionResult = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The ExecutionResult model module.\n\t * @module model/ExecutionResult\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new ExecutionResult.\n\t * execution response\n\t * @alias module:model/ExecutionResult\n\t * @class\n\t * @param stdout {String} standard out of child process.\n\t * @param stderr {String} standard error of child process.\n\t */\n\t var exports = function(stdout, stderr) {\n\t var _this = this;\n\t\n\t\n\t _this['stdout'] = stdout;\n\t _this['stderr'] = stderr;\n\t };\n\t\n\t /**\n\t * Constructs a ExecutionResult from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/ExecutionResult} obj Optional instance to populate.\n\t * @return {module:model/ExecutionResult} The populated ExecutionResult instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('error')) {\n\t obj['error'] = ApiClient.convertToType(data['error'], 'String');\n\t }\n\t if (data.hasOwnProperty('stdout')) {\n\t obj['stdout'] = ApiClient.convertToType(data['stdout'], 'String');\n\t }\n\t if (data.hasOwnProperty('stderr')) {\n\t obj['stderr'] = ApiClient.convertToType(data['stderr'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * error message when execution failed.\n\t * @member {String} error\n\t */\n\t exports.prototype['error'] = undefined;\n\t /**\n\t * standard out of child process.\n\t * @member {String} stdout\n\t */\n\t exports.prototype['stdout'] = undefined;\n\t /**\n\t * standard error of child process.\n\t * @member {String} stderr\n\t */\n\t exports.prototype['stderr'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RemoteAccess = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The RemoteAccess model module.\n\t * @module model/RemoteAccess\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new RemoteAccess.\n\t * Access information of remote workspace in remote server\n\t * @alias module:model/RemoteAccess\n\t * @class\n\t * @param name {String} display text of remote workspace. can be different from original name. \n\t * @param serverUrl {String} the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n\t * @param workspaceId {String} the id of remote workspace, read from remote server\n\t * @param masterToken {String} master token to access service, issued from remote server\n\t */\n\t var exports = function(name, serverUrl, workspaceId, masterToken) {\n\t var _this = this;\n\t\n\t _this['name'] = name;\n\t _this['serverUrl'] = serverUrl;\n\t _this['workspaceId'] = workspaceId;\n\t\n\t _this['masterToken'] = masterToken;\n\t };\n\t\n\t /**\n\t * Constructs a RemoteAccess from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/RemoteAccess} obj Optional instance to populate.\n\t * @return {module:model/RemoteAccess} The populated RemoteAccess instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('serverUrl')) {\n\t obj['serverUrl'] = ApiClient.convertToType(data['serverUrl'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspaceId')) {\n\t obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspacePath')) {\n\t obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n\t }\n\t if (data.hasOwnProperty('masterToken')) {\n\t obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * display text of remote workspace. can be different from original name. \n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n\t * @member {String} serverUrl\n\t */\n\t exports.prototype['serverUrl'] = undefined;\n\t /**\n\t * the id of remote workspace, read from remote server\n\t * @member {String} workspaceId\n\t */\n\t exports.prototype['workspaceId'] = undefined;\n\t /**\n\t * Full path of remote workspace, read from remote server. this property will be removed when clients are able to work without \\\"named root directory\\\" in workspace fs tree. \n\t * @member {String} workspacePath\n\t */\n\t exports.prototype['workspacePath'] = undefined;\n\t /**\n\t * master token to access service, issued from remote server\n\t * @member {String} masterToken\n\t */\n\t exports.prototype['masterToken'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Session = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Session model module.\n\t * @module model/Session\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Session.\n\t * an application session per ide instance. bound to access token\n\t * @alias module:model/Session\n\t * @class\n\t * @param id {String} the id of a session. usually same to socket id.\n\t * @param name {String} human readable name, usually derived from workspace name.\n\t * @param state {module:model/Session.StateEnum} state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n\t * @param clientAddress {String} the peer address of session connection. not always\n\t * @param connectedAt {Date} the time when socket connection is established\n\t * @param disconnectedAt {Date} the time when socket is closed.\n\t */\n\t var exports = function(id, name, state, clientAddress, connectedAt, disconnectedAt) {\n\t var _this = this;\n\t\n\t _this['id'] = id;\n\t _this['name'] = name;\n\t _this['state'] = state;\n\t\n\t _this['clientAddress'] = clientAddress;\n\t _this['connectedAt'] = connectedAt;\n\t _this['disconnectedAt'] = disconnectedAt;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Session from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Session} obj Optional instance to populate.\n\t * @return {module:model/Session} The populated Session instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('state')) {\n\t obj['state'] = ApiClient.convertToType(data['state'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspaceId')) {\n\t obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n\t }\n\t if (data.hasOwnProperty('clientAddress')) {\n\t obj['clientAddress'] = ApiClient.convertToType(data['clientAddress'], 'String');\n\t }\n\t if (data.hasOwnProperty('connectedAt')) {\n\t obj['connectedAt'] = ApiClient.convertToType(data['connectedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('disconnectedAt')) {\n\t obj['disconnectedAt'] = ApiClient.convertToType(data['disconnectedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('willCloseAt')) {\n\t obj['willCloseAt'] = ApiClient.convertToType(data['willCloseAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('willLoseAt')) {\n\t obj['willLoseAt'] = ApiClient.convertToType(data['willLoseAt'], 'Date');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * the id of a session. usually same to socket id.\n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * human readable name, usually derived from workspace name.\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n\t * @member {module:model/Session.StateEnum} state\n\t */\n\t exports.prototype['state'] = undefined;\n\t /**\n\t * the id of workspace that this sessions is working on. If falsy, then this session is not belonged to any workpsace. Usually, dashboard / monitoring app will create a session without workspace id. \n\t * @member {String} workspaceId\n\t */\n\t exports.prototype['workspaceId'] = undefined;\n\t /**\n\t * the peer address of session connection. not always\n\t * @member {String} clientAddress\n\t */\n\t exports.prototype['clientAddress'] = undefined;\n\t /**\n\t * the time when socket connection is established\n\t * @member {Date} connectedAt\n\t */\n\t exports.prototype['connectedAt'] = undefined;\n\t /**\n\t * the time when socket is closed.\n\t * @member {Date} disconnectedAt\n\t */\n\t exports.prototype['disconnectedAt'] = undefined;\n\t /**\n\t * when state becomes CLOSING, actual closing time will be updated by server.\n\t * @member {Date} willCloseAt\n\t */\n\t exports.prototype['willCloseAt'] = undefined;\n\t /**\n\t * when state becomes LOSING, server will not wait for reconnection after this time.\n\t * @member {Date} willLoseAt\n\t */\n\t exports.prototype['willLoseAt'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the state property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.StateEnum = {\n\t /**\n\t * value: \"NORMAL\"\n\t * @const\n\t */\n\t \"NORMAL\": \"NORMAL\",\n\t /**\n\t * value: \"LOSING\"\n\t * @const\n\t */\n\t \"LOSING\": \"LOSING\",\n\t /**\n\t * value: \"CLOSING\"\n\t * @const\n\t */\n\t \"CLOSING\": \"CLOSING\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Token = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Token model module.\n\t * @module model/Token\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Token.\n\t * a json webtoken and accessible data\n\t * @alias module:model/Token\n\t * @class\n\t * @param text {String} actual token text that should be shipped in header or query\n\t * @param tokenType {module:model/Token.TokenTypeEnum} MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n\t * @param expiresAt {Date} \n\t * @param issuedAt {Date} \n\t */\n\t var exports = function(text, tokenType, expiresAt, issuedAt) {\n\t var _this = this;\n\t\n\t _this['text'] = text;\n\t _this['tokenType'] = tokenType;\n\t _this['expiresAt'] = expiresAt;\n\t _this['issuedAt'] = issuedAt;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Token from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Token} obj Optional instance to populate.\n\t * @return {module:model/Token} The populated Token instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('text')) {\n\t obj['text'] = ApiClient.convertToType(data['text'], 'String');\n\t }\n\t if (data.hasOwnProperty('tokenType')) {\n\t obj['tokenType'] = ApiClient.convertToType(data['tokenType'], 'String');\n\t }\n\t if (data.hasOwnProperty('expiresAt')) {\n\t obj['expiresAt'] = ApiClient.convertToType(data['expiresAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('issuedAt')) {\n\t obj['issuedAt'] = ApiClient.convertToType(data['issuedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('sessionId')) {\n\t obj['sessionId'] = ApiClient.convertToType(data['sessionId'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspaceId')) {\n\t obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * actual token text that should be shipped in header or query\n\t * @member {String} text\n\t */\n\t exports.prototype['text'] = undefined;\n\t /**\n\t * MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n\t * @member {module:model/Token.TokenTypeEnum} tokenType\n\t */\n\t exports.prototype['tokenType'] = undefined;\n\t /**\n\t * @member {Date} expiresAt\n\t */\n\t exports.prototype['expiresAt'] = undefined;\n\t /**\n\t * @member {Date} issuedAt\n\t */\n\t exports.prototype['issuedAt'] = undefined;\n\t /**\n\t * mandatory for ACCESS token, identifying client instance\n\t * @member {String} sessionId\n\t */\n\t exports.prototype['sessionId'] = undefined;\n\t /**\n\t * If truthy, access rights are restricted to specified workspace only.\n\t * @member {String} workspaceId\n\t */\n\t exports.prototype['workspaceId'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the tokenType property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.TokenTypeEnum = {\n\t /**\n\t * value: \"MASTER\"\n\t * @const\n\t */\n\t \"MASTER\": \"MASTER\",\n\t /**\n\t * value: \"ACCESS\"\n\t * @const\n\t */\n\t \"ACCESS\": \"ACCESS\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.User = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The User model module.\n\t * @module model/User\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new User.\n\t * Any services/products should define some admin apis to manage users in the system and expose what should be exposed to client app. So, no properties are mandatory. Currently, the properties are defined for compatiblity with legacy clients. \n\t * @alias module:model/User\n\t * @class\n\t */\n\t var exports = function() {\n\t var _this = this;\n\t\n\t\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a User from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/User} obj Optional instance to populate.\n\t * @return {module:model/User} The populated User instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('email')) {\n\t obj['email'] = ApiClient.convertToType(data['email'], 'String');\n\t }\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * unique id per user (email is also unique)\n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * @member {String} email\n\t */\n\t exports.prototype['email'] = undefined;\n\t /**\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Workspace = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Workspace model module.\n\t * @module model/Workspace\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Workspace.\n\t * A workspace in server\n\t * @alias module:model/Workspace\n\t * @class\n\t * @param id {String} the id of a workspace. usually same to file system id\n\t * @param name {String} display text of this workspace for UI\n\t * @param description {String} human readable description on this workspace\n\t * @param createdAt {Date} the time when this workspace is created (registered from local file system)\n\t * @param workspacePath {String} absolute path of this workspace in server.\n\t * @param excludedPaths {Array.} glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n\t * @param offlineCachePaths {Array.} any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n\t */\n\t var exports = function(id, name, description, createdAt, workspacePath, excludedPaths, offlineCachePaths) {\n\t var _this = this;\n\t\n\t _this['id'] = id;\n\t _this['name'] = name;\n\t _this['description'] = description;\n\t _this['createdAt'] = createdAt;\n\t\n\t _this['workspacePath'] = workspacePath;\n\t _this['excludedPaths'] = excludedPaths;\n\t _this['offlineCachePaths'] = offlineCachePaths;\n\t };\n\t\n\t /**\n\t * Constructs a Workspace from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Workspace} obj Optional instance to populate.\n\t * @return {module:model/Workspace} The populated Workspace instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('description')) {\n\t obj['description'] = ApiClient.convertToType(data['description'], 'String');\n\t }\n\t if (data.hasOwnProperty('createdAt')) {\n\t obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('accessedAt')) {\n\t obj['accessedAt'] = ApiClient.convertToType(data['accessedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('workspacePath')) {\n\t obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n\t }\n\t if (data.hasOwnProperty('excludedPaths')) {\n\t obj['excludedPaths'] = ApiClient.convertToType(data['excludedPaths'], ['String']);\n\t }\n\t if (data.hasOwnProperty('offlineCachePaths')) {\n\t obj['offlineCachePaths'] = ApiClient.convertToType(data['offlineCachePaths'], ['String']);\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * the id of a workspace. usually same to file system id\n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * display text of this workspace for UI\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * human readable description on this workspace\n\t * @member {String} description\n\t */\n\t exports.prototype['description'] = undefined;\n\t /**\n\t * the time when this workspace is created (registered from local file system)\n\t * @member {Date} createdAt\n\t */\n\t exports.prototype['createdAt'] = undefined;\n\t /**\n\t * the time when the last session on this workspace was made. (optional)\n\t * @member {Date} accessedAt\n\t */\n\t exports.prototype['accessedAt'] = undefined;\n\t /**\n\t * absolute path of this workspace in server.\n\t * @member {String} workspacePath\n\t */\n\t exports.prototype['workspacePath'] = undefined;\n\t /**\n\t * glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n\t * @member {Array.} excludedPaths\n\t */\n\t exports.prototype['excludedPaths'] = undefined;\n\t /**\n\t * any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n\t * @member {Array.} offlineCachePaths\n\t */\n\t exports.prototype['offlineCachePaths'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\t(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.superagent = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= 200 && res.status < 300) {\n\t return self.callback(err, res);\n\t }\n\t\n\t var new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n\t new_err.original = err;\n\t new_err.response = res;\n\t new_err.status = res.status;\n\t\n\t self.callback(new_err, res);\n\t } catch(e) {\n\t self.callback(e); // #985 touching res may cause INVALID_STATE_ERR on old Android\n\t }\n\t });\n\t}\n\t\n\t/**\n\t * Mixin `Emitter` and `requestBase`.\n\t */\n\t\n\tEmitter(Request.prototype);\n\tfor (var key in requestBase) {\n\t Request.prototype[key] = requestBase[key];\n\t}\n\t\n\t/**\n\t * Set Content-Type to `type`, mapping values from `request.types`.\n\t *\n\t * Examples:\n\t *\n\t * superagent.types.xml = 'application/xml';\n\t *\n\t * request.post('/')\n\t * .type('xml')\n\t * .send(xmlstring)\n\t * .end(callback);\n\t *\n\t * request.post('/')\n\t * .type('application/xml')\n\t * .send(xmlstring)\n\t * .end(callback);\n\t *\n\t * @param {String} type\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.type = function(type){\n\t this.set('Content-Type', request.types[type] || type);\n\t return this;\n\t};\n\t\n\t/**\n\t * Set responseType to `val`. Presently valid responseTypes are 'blob' and\n\t * 'arraybuffer'.\n\t *\n\t * Examples:\n\t *\n\t * req.get('/')\n\t * .responseType('blob')\n\t * .end(callback);\n\t *\n\t * @param {String} val\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.responseType = function(val){\n\t this._responseType = val;\n\t return this;\n\t};\n\t\n\t/**\n\t * Set Accept to `type`, mapping values from `request.types`.\n\t *\n\t * Examples:\n\t *\n\t * superagent.types.json = 'application/json';\n\t *\n\t * request.get('/agent')\n\t * .accept('json')\n\t * .end(callback);\n\t *\n\t * request.get('/agent')\n\t * .accept('application/json')\n\t * .end(callback);\n\t *\n\t * @param {String} accept\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.accept = function(type){\n\t this.set('Accept', request.types[type] || type);\n\t return this;\n\t};\n\t\n\t/**\n\t * Set Authorization field value with `user` and `pass`.\n\t *\n\t * @param {String} user\n\t * @param {String} pass\n\t * @param {Object} options with 'type' property 'auto' or 'basic' (default 'basic')\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.auth = function(user, pass, options){\n\t if (!options) {\n\t options = {\n\t type: 'basic'\n\t }\n\t }\n\t\n\t switch (options.type) {\n\t case 'basic':\n\t var str = btoa(user + ':' + pass);\n\t this.set('Authorization', 'Basic ' + str);\n\t break;\n\t\n\t case 'auto':\n\t this.username = user;\n\t this.password = pass;\n\t break;\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t* Add query-string `val`.\n\t*\n\t* Examples:\n\t*\n\t* request.get('/shoes')\n\t* .query('size=10')\n\t* .query({ color: 'blue' })\n\t*\n\t* @param {Object|String} val\n\t* @return {Request} for chaining\n\t* @api public\n\t*/\n\t\n\tRequest.prototype.query = function(val){\n\t if ('string' != typeof val) val = serialize(val);\n\t if (val) this._query.push(val);\n\t return this;\n\t};\n\t\n\t/**\n\t * Queue the given `file` as an attachment to the specified `field`,\n\t * with optional `filename`.\n\t *\n\t * ``` js\n\t * request.post('/upload')\n\t * .attach('content', new Blob(['hey!'], { type: \"text/html\"}))\n\t * .end(callback);\n\t * ```\n\t *\n\t * @param {String} field\n\t * @param {Blob|File} file\n\t * @param {String} filename\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.attach = function(field, file, filename){\n\t this._getFormData().append(field, file, filename || file.name);\n\t return this;\n\t};\n\t\n\tRequest.prototype._getFormData = function(){\n\t if (!this._formData) {\n\t this._formData = new root.FormData();\n\t }\n\t return this._formData;\n\t};\n\t\n\t/**\n\t * Invoke the callback with `err` and `res`\n\t * and handle arity check.\n\t *\n\t * @param {Error} err\n\t * @param {Response} res\n\t * @api private\n\t */\n\t\n\tRequest.prototype.callback = function(err, res){\n\t var fn = this._callback;\n\t this.clearTimeout();\n\t fn(err, res);\n\t};\n\t\n\t/**\n\t * Invoke callback with x-domain error.\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype.crossDomainError = function(){\n\t var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n\t err.crossDomain = true;\n\t\n\t err.status = this.status;\n\t err.method = this.method;\n\t err.url = this.url;\n\t\n\t this.callback(err);\n\t};\n\t\n\t/**\n\t * Invoke callback with timeout error.\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype._timeoutError = function(){\n\t var timeout = this._timeout;\n\t var err = new Error('timeout of ' + timeout + 'ms exceeded');\n\t err.timeout = timeout;\n\t this.callback(err);\n\t};\n\t\n\t/**\n\t * Compose querystring to append to req.url\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype._appendQueryString = function(){\n\t var query = this._query.join('&');\n\t if (query) {\n\t this.url += ~this.url.indexOf('?')\n\t ? '&' + query\n\t : '?' + query;\n\t }\n\t};\n\t\n\t/**\n\t * Initiate request, invoking callback `fn(res)`\n\t * with an instanceof `Response`.\n\t *\n\t * @param {Function} fn\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.end = function(fn){\n\t var self = this;\n\t var xhr = this.xhr = request.getXHR();\n\t var timeout = this._timeout;\n\t var data = this._formData || this._data;\n\t\n\t // store callback\n\t this._callback = fn || noop;\n\t\n\t // state change\n\t xhr.onreadystatechange = function(){\n\t if (4 != xhr.readyState) return;\n\t\n\t // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n\t // result in the error \"Could not complete the operation due to error c00c023f\"\n\t var status;\n\t try { status = xhr.status } catch(e) { status = 0; }\n\t\n\t if (0 == status) {\n\t if (self.timedout) return self._timeoutError();\n\t if (self._aborted) return;\n\t return self.crossDomainError();\n\t }\n\t self.emit('end');\n\t };\n\t\n\t // progress\n\t var handleProgress = function(e){\n\t if (e.total > 0) {\n\t e.percent = e.loaded / e.total * 100;\n\t }\n\t e.direction = 'download';\n\t self.emit('progress', e);\n\t };\n\t if (this.hasListeners('progress')) {\n\t xhr.onprogress = handleProgress;\n\t }\n\t try {\n\t if (xhr.upload && this.hasListeners('progress')) {\n\t xhr.upload.onprogress = handleProgress;\n\t }\n\t } catch(e) {\n\t // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n\t // Reported here:\n\t // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n\t }\n\t\n\t // timeout\n\t if (timeout && !this._timer) {\n\t this._timer = setTimeout(function(){\n\t self.timedout = true;\n\t self.abort();\n\t }, timeout);\n\t }\n\t\n\t // querystring\n\t this._appendQueryString();\n\t\n\t // initiate request\n\t if (this.username && this.password) {\n\t xhr.open(this.method, this.url, true, this.username, this.password);\n\t } else {\n\t xhr.open(this.method, this.url, true);\n\t }\n\t\n\t // CORS\n\t if (this._withCredentials) xhr.withCredentials = true;\n\t\n\t // body\n\t if ('GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n\t // serialize stuff\n\t var contentType = this._header['content-type'];\n\t var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n\t if (!serialize && isJSON(contentType)) serialize = request.serialize['application/json'];\n\t if (serialize) data = serialize(data);\n\t }\n\t\n\t // set header fields\n\t for (var field in this.header) {\n\t if (null == this.header[field]) continue;\n\t xhr.setRequestHeader(field, this.header[field]);\n\t }\n\t\n\t if (this._responseType) {\n\t xhr.responseType = this._responseType;\n\t }\n\t\n\t // send stuff\n\t this.emit('request', this);\n\t\n\t // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n\t // We need null here if data is undefined\n\t xhr.send(typeof data !== 'undefined' ? data : null);\n\t return this;\n\t};\n\t\n\t\n\t/**\n\t * Expose `Request`.\n\t */\n\t\n\trequest.Request = Request;\n\t\n\t/**\n\t * GET `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.get = function(url, data, fn){\n\t var req = request('GET', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.query(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * HEAD `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.head = function(url, data, fn){\n\t var req = request('HEAD', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * OPTIONS query to `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.options = function(url, data, fn){\n\t var req = request('OPTIONS', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * DELETE `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\tfunction del(url, fn){\n\t var req = request('DELETE', url);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\trequest['del'] = del;\n\trequest['delete'] = del;\n\t\n\t/**\n\t * PATCH `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed} data\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.patch = function(url, data, fn){\n\t var req = request('PATCH', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * POST `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed} data\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.post = function(url, data, fn){\n\t var req = request('POST', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * PUT `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.put = function(url, data, fn){\n\t var req = request('PUT', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t},{\"./is-object\":1,\"./request\":3,\"./request-base\":2,\"emitter\":4,\"reduce\":5}]},{},[6])(6)\n\t});\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(14), __webpack_require__(2), __webpack_require__(13), __webpack_require__(8)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/User'), require('../model/RestError'), require('../model/Token'), require('../model/Credential'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.AuthApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.User, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Token, root.WebidaRestfulApi.Credential);\n\t }\n\t}(this, function(ApiClient, User, RestError, Token, Credential) {\n\t 'use strict';\n\t\n\t /**\n\t * Auth service.\n\t * @module api/AuthApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new AuthApi. \n\t * @alias module:api/AuthApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the getInfo operation.\n\t * @callback module:api/AuthApi~getInfoCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/User} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Gets user information of that can be identified with current access token. Implementations should provide a more restful api based on domain data model, not extending this operation. (e.g. GET,PUT and DELETE on /Users/{userId} to read, update and delete user) \n\t * @param {module:api/AuthApi~getInfoCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/User}\n\t */\n\t this.getInfo = function(callback) {\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = User;\n\t\n\t return this.apiClient.callApi(\n\t '/auth/info', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the issueToken operation.\n\t * @callback module:api/AuthApi~issueTokenCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Token} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates new token from current access token, inheriting workspace id & session id. The duration of generated token is (and should not be) parameterizable. Server should set proper duration, respecting \\"reconnect\\" period of socket.io clients. Remember that most of socket.io client implementations (including official js client) do not provide any ways to change connection parameters (header or query) while reconnecting to server. Like login API, this endpoint does not provide any encryption. Server should not set any data to harm security in the token & should provide some signinig/encryption mechanism to protect token. Simple JSON Web Token with HMAC-SHA will do. \n\t * @param {module:model/String} type \n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.workspaceId recommended to issue a MASTER type token to restrict remote access\n\t * @param {module:api/AuthApi~issueTokenCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Token}\n\t */\n\t this.issueToken = function(type, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'type' is set\n\t if (type == undefined || type == null) {\n\t throw \"Missing the required parameter 'type' when calling issueToken\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'type': type,\n\t 'workspaceId': opts['workspaceId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Token;\n\t\n\t return this.apiClient.callApi(\n\t '/auth/token', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the login operation.\n\t * @callback module:api/AuthApi~loginCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Token} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * A \\"VERY\\" basic authentication, required to use webida-simple-auth security scheme. Service / Product implementations who need better security, should override this operation or add their own login api or some other specs like OAuth2. Simple auth is not suitable for large-sacle, multi-tennant service, for the scheme assumes a single, trusted user only. Logging-in with master token, the generated access token inherits all restriction from it. On the other hand, normal log-in with login id & password creates an unrestricted access token, with reasonably short expiration time. Every client should spawn another access token with issueToken API before current access token expires, inheriting session id from current token. To save remote access info, client should create a (restricted but long-ttl) master token to start IDE from remote. The remote client should not use the unrestricted acccess token from login to use any other perpose than finding available workspaces, and should not refresh the token. (Let user log-in again) Login API does not force any encryption. Server should provide secure transport channel, usually https, to provide remote access, always. \n\t * @param {module:model/Credential} body \n\t * @param {module:api/AuthApi~loginCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Token}\n\t */\n\t this.login = function(body, callback) {\n\t var postBody = body;\n\t\n\t // verify the required parameter 'body' is set\n\t if (body == undefined || body == null) {\n\t throw \"Missing the required parameter 'body' when calling login\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = [];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Token;\n\t\n\t return this.apiClient.callApi(\n\t '/auth/login', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.OpsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError) {\n\t 'use strict';\n\t\n\t /**\n\t * Ops service.\n\t * @module api/OpsApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new OpsApi. \n\t * @alias module:api/OpsApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the replace operation.\n\t * @callback module:api/OpsApi~replaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * replace file contents with regex matching\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {Array.} wfsPathList array of wfsPath, with heading / (collection format may be changed by implementation)\n\t * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n\t * @param {String} replaceTo string to replace with\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n\t * @param {module:api/OpsApi~replaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.replace = function(wfsId, wfsPathList, pattern, replaceTo, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling replace\";\n\t }\n\t\n\t // verify the required parameter 'wfsPathList' is set\n\t if (wfsPathList == undefined || wfsPathList == null) {\n\t throw \"Missing the required parameter 'wfsPathList' when calling replace\";\n\t }\n\t\n\t // verify the required parameter 'pattern' is set\n\t if (pattern == undefined || pattern == null) {\n\t throw \"Missing the required parameter 'pattern' when calling replace\";\n\t }\n\t\n\t // verify the required parameter 'replaceTo' is set\n\t if (replaceTo == undefined || replaceTo == null) {\n\t throw \"Missing the required parameter 'replaceTo' when calling replace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId\n\t };\n\t var queryParams = {\n\t 'wfsPathList': this.apiClient.buildCollectionParam(wfsPathList, 'multi'),\n\t 'pattern': pattern,\n\t 'replaceTo': replaceTo,\n\t 'ignoreCase': opts['ignoreCase']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/ops/replace', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the search operation.\n\t * @callback module:api/OpsApi~searchCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Object.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * search files in some path, with given pattern\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n\t * @param {module:api/OpsApi~searchCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Object.}\n\t */\n\t this.search = function(wfsId, wfsPath, pattern, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling search\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling search\";\n\t }\n\t\n\t // verify the required parameter 'pattern' is set\n\t if (pattern == undefined || pattern == null) {\n\t throw \"Missing the required parameter 'pattern' when calling search\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'pattern': pattern,\n\t 'ignoreCase': opts['ignoreCase']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = {'String': [Match]};\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/ops/search/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(2), __webpack_require__(11), __webpack_require__(3)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestError'), require('../model/RemoteAccess'), require('../model/RestOK'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RemotesApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.RemoteAccess, root.WebidaRestfulApi.RestOK);\n\t }\n\t}(this, function(ApiClient, RestError, RemoteAccess, RestOK) {\n\t 'use strict';\n\t\n\t /**\n\t * Remotes service.\n\t * @module api/RemotesApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new RemotesApi. \n\t * @alias module:api/RemotesApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the findRemoteAccesses operation.\n\t * @callback module:api/RemotesApi~findRemoteAccessesCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Get all access informations See RemoteWorkspaceAccess definition for details (no fancy find / search feature yet) \n\t * @param {module:api/RemotesApi~findRemoteAccessesCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findRemoteAccesses = function(callback) {\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [RemoteAccess];\n\t\n\t return this.apiClient.callApi(\n\t '/remotes', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the putRemoteAccess operation.\n\t * @callback module:api/RemotesApi~putRemoteAccessCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * create or update a remote workspace access information\n\t * @param {module:model/RemoteAccess} body \n\t * @param {module:api/RemotesApi~putRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.putRemoteAccess = function(body, callback) {\n\t var postBody = body;\n\t\n\t // verify the required parameter 'body' is set\n\t if (body == undefined || body == null) {\n\t throw \"Missing the required parameter 'body' when calling putRemoteAccess\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/remotes', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the removeRemoteAccess operation.\n\t * @callback module:api/RemotesApi~removeRemoteAccessCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RemoteAccess} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * delete a remote workspace\n\t * @param {String} workspaceId workspace Id of remote workspace\n\t * @param {module:api/RemotesApi~removeRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RemoteAccess}\n\t */\n\t this.removeRemoteAccess = function(workspaceId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling removeRemoteAccess\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RemoteAccess;\n\t\n\t return this.apiClient.callApi(\n\t '/remotes', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2), __webpack_require__(12)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Session'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.SessionApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Session);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError, Session) {\n\t 'use strict';\n\t\n\t /**\n\t * Session service.\n\t * @module api/SessionApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new SessionApi. \n\t * @alias module:api/SessionApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the closeSession operation.\n\t * @callback module:api/SessionApi~closeSessionCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * close session with timeout\n\t * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n\t * @param {Integer} closeAfter waiting time before actual closing, to let client save files and prevent reconnect \n\t * @param {module:api/SessionApi~closeSessionCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.closeSession = function(sessionId, closeAfter, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'sessionId' is set\n\t if (sessionId == undefined || sessionId == null) {\n\t throw \"Missing the required parameter 'sessionId' when calling closeSession\";\n\t }\n\t\n\t // verify the required parameter 'closeAfter' is set\n\t if (closeAfter == undefined || closeAfter == null) {\n\t throw \"Missing the required parameter 'closeAfter' when calling closeSession\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'sessionId': sessionId\n\t };\n\t var queryParams = {\n\t 'closeAfter': closeAfter\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/sessions/{sessionId}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the findSessions operation.\n\t * @callback module:api/SessionApi~findSessionsCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get all / some webida sessions established to server\n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.workspaceId find only sessions working on some given workspace\n\t * @param {module:api/SessionApi~findSessionsCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findSessions = function(opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'workspaceId': opts['workspaceId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [Session];\n\t\n\t return this.apiClient.callApi(\n\t '/sessions', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the getSession operation.\n\t * @callback module:api/SessionApi~getSessionCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Session} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get a session object by id\n\t * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n\t * @param {module:api/SessionApi~getSessionCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Session}\n\t */\n\t this.getSession = function(sessionId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'sessionId' is set\n\t if (sessionId == undefined || sessionId == null) {\n\t throw \"Missing the required parameter 'sessionId' when calling getSession\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'sessionId': sessionId\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Session;\n\t\n\t return this.apiClient.callApi(\n\t '/sessions/{sessionId}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2), __webpack_require__(4), __webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/DirEntry'), require('../model/Stats'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.WfsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError, DirEntry, Stats) {\n\t 'use strict';\n\t\n\t /**\n\t * Wfs service.\n\t * @module api/WfsApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new WfsApi. \n\t * @alias module:api/WfsApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the copy operation.\n\t * @callback module:api/WfsApi~copyCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates a copy of source to given path. Unlike cp command, wfsPath always denotes an exact path of the resource to be created. So, copying a file to directory always returns error and vice versa. this operation creates the parents dir of destination path always, and does not roll-back the creation when operation failed. So, clients should roll-back if needed. When destination path exists already, 1) copying file to file : follows noOverwrite flag. (does not return error) 2) copying file to dir : returns 409 error 3) copying dir to file : returns 409 error 4) copying dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {String} srcPath source data path of some operations, with have heading /\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n\t * @param {Boolean} opts.followSymbolicLinks dereference symlinks in source. (default to false)\n\t * @param {Boolean} opts.preserveTimestamps keep mtime/atime of source file(s) in destination. (default to false)\n\t * @param {module:api/WfsApi~copyCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.copy = function(wfsId, wfsPath, srcPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling copy\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling copy\";\n\t }\n\t\n\t // verify the required parameter 'srcPath' is set\n\t if (srcPath == undefined || srcPath == null) {\n\t throw \"Missing the required parameter 'srcPath' when calling copy\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'srcPath': srcPath,\n\t 'noOverwrite': opts['noOverwrite'],\n\t 'followSymbolicLinks': opts['followSymbolicLinks'],\n\t 'preserveTimestamps': opts['preserveTimestamps']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the createDir operation.\n\t * @callback module:api/WfsApi~createDirCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * create a directory at the path. returns error when wfsPath exists and not empty this API always creates parent directories if needed. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {module:api/WfsApi~createDirCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.createDir = function(wfsId, wfsPath, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling createDir\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling createDir\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/dir/{wfsPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the dirTree operation.\n\t * @callback module:api/WfsApi~dirTreeCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/DirEntry} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * returns a directory tree of given path, for listing dir and managing file system errors while building sub-tree will be ignored and will not be included in result. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {Integer} maxDepth Maximum depth of tree. -1 to build a full tree, 0 to stat, 1 to plain list.\n\t * @param {module:api/WfsApi~dirTreeCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/DirEntry}\n\t */\n\t this.dirTree = function(wfsId, wfsPath, maxDepth, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling dirTree\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling dirTree\";\n\t }\n\t\n\t // verify the required parameter 'maxDepth' is set\n\t if (maxDepth == undefined || maxDepth == null) {\n\t throw \"Missing the required parameter 'maxDepth' when calling dirTree\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'maxDepth': maxDepth\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = DirEntry;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/dir/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the move operation.\n\t * @callback module:api/WfsApi~moveCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Moves source resource to given path. Unlike mv command, wfsPath always denotes an exact path of the resource to be created. So, moving a file to existing directory always returns error and vice versa. (So, This API works like 'rename' rather than 'mv' command) Like copy(), this operation creates parent path of destination, and does not roll-back when operation failes. When destination path exists already, 1) moving file to file : follows noOverwrite flag. 2) moving file to dir : returns 409 error 3) moving dir to file : returns 409 error 4) moving dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {String} srcPath source data path of some operations, with have heading /\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n\t * @param {module:api/WfsApi~moveCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.move = function(wfsId, wfsPath, srcPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling move\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling move\";\n\t }\n\t\n\t // verify the required parameter 'srcPath' is set\n\t if (srcPath == undefined || srcPath == null) {\n\t throw \"Missing the required parameter 'srcPath' when calling move\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'srcPath': srcPath,\n\t 'noOverwrite': opts['noOverwrite']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the readFile operation.\n\t * @callback module:api/WfsApi~readFileCallback\n\t * @param {String} error Error message, if any.\n\t * @param {File} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * read file data on path\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {module:api/WfsApi~readFileCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {File}\n\t */\n\t this.readFile = function(wfsId, wfsPath, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling readFile\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling readFile\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = File;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/file/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the remove operation.\n\t * @callback module:api/WfsApi~removeCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * delete file or directory\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.noRecursive if set, deleting non-empty directory will return 409 error. (default to false)\n\t * @param {module:api/WfsApi~removeCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.remove = function(wfsId, wfsPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling remove\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling remove\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'noRecursive': opts['noRecursive']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the stat operation.\n\t * @callback module:api/WfsApi~statCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Stats} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Get stats of given path. (stat() returns \\"stats\\" object in node and POSIX system) Since we've no ctime/atime in Stats class, some file system changing events will send 'exactly same' stats object. This API should be called only when stats of some file system path is stale for unknown reason (e.g. losting change events). Use dirTree operation and session events to detect stats, if possible. This API can be used to check a path is valid, existing one, but it's not recommended to check existence of individual paths by API. Clients should use dirTree and session events to synchorize some in-app file system with webida file system. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ignoreError flag to ignore stat errors to check existence only. If this flag is true, server will returns 'DUMMY' type stats object instead of 404 error when given path does not exists. (invalid wfsId will produce 400 error, not 404) (default to false)\n\t * @param {module:api/WfsApi~statCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Stats}\n\t */\n\t this.stat = function(wfsId, wfsPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling stat\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling stat\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'ignoreError': opts['ignoreError']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Stats;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the writeFile operation.\n\t * @callback module:api/WfsApi~writeFileCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates / updates file with body data. Server should write the file in 'atomic' manner, and should not write down request body into final destination path directly. In other words, wheather writeFile() succeeds or not, the contents of the file should not be corrupted nor half-written. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {File} data file contents to write.\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ensureParents A flag to create all parent directories to create file or dir, like mkdir -p. This parameter does not create entire path, but creates to 'parent directory' of the path. (default to false)\n\t * @param {module:api/WfsApi~writeFileCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.writeFile = function(wfsId, wfsPath, data, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling writeFile\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling writeFile\";\n\t }\n\t\n\t // verify the required parameter 'data' is set\n\t if (data == undefined || data == null) {\n\t throw \"Missing the required parameter 'data' when calling writeFile\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'ensureParents': opts['ensureParents']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t 'data': data\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['multipart/form-data'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/file/{wfsPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2), __webpack_require__(15), __webpack_require__(7), __webpack_require__(9), __webpack_require__(10)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Workspace'), require('../model/ChildProcess'), require('../model/Execution'), require('../model/ExecutionResult'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.WorkspaceApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Workspace, root.WebidaRestfulApi.ChildProcess, root.WebidaRestfulApi.Execution, root.WebidaRestfulApi.ExecutionResult);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError, Workspace, ChildProcess, Execution, ExecutionResult) {\n\t 'use strict';\n\t\n\t /**\n\t * Workspace service.\n\t * @module api/WorkspaceApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new WorkspaceApi. \n\t * @alias module:api/WorkspaceApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the cancel operation.\n\t * @callback module:api/WorkspaceApi~cancelCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * cancels an execution, if possible. Killing process may not be graceful. requires proper access rights. if execId is not specified, this api does nothing. \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.execId the id of execution request(different from pid!)\n\t * @param {module:api/WorkspaceApi~cancelCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.cancel = function(workspaceId, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling cancel\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'execId': opts['execId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/exec', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the createWorkspace operation.\n\t * @callback module:api/WorkspaceApi~createWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates a new workspace with given local path. Requires an unrestricted access token. \n\t * @param {String} localPath a real, local path of the system (not unixified)\n\t * @param {String} name workspace name property\n\t * @param {String} description workspace name property\n\t * @param {module:api/WorkspaceApi~createWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.createWorkspace = function(localPath, name, description, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'localPath' is set\n\t if (localPath == undefined || localPath == null) {\n\t throw \"Missing the required parameter 'localPath' when calling createWorkspace\";\n\t }\n\t\n\t // verify the required parameter 'name' is set\n\t if (name == undefined || name == null) {\n\t throw \"Missing the required parameter 'name' when calling createWorkspace\";\n\t }\n\t\n\t // verify the required parameter 'description' is set\n\t if (description == undefined || description == null) {\n\t throw \"Missing the required parameter 'description' when calling createWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'localPath': localPath,\n\t 'name': name,\n\t 'description': description\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the exec operation.\n\t * @callback module:api/WorkspaceApi~execCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/ExecutionResult} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * execute a shell command on this workspace. requires proper access rights.\n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {module:model/Execution} body \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.async Spawn a child process for given command and returns the created child proc info. Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/async-{execId} (default to false)\n\t * @param {module:api/WorkspaceApi~execCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/ExecutionResult}\n\t */\n\t this.exec = function(workspaceId, body, opts, callback) {\n\t opts = opts || {};\n\t var postBody = body;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling exec\";\n\t }\n\t\n\t // verify the required parameter 'body' is set\n\t if (body == undefined || body == null) {\n\t throw \"Missing the required parameter 'body' when calling exec\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'async': opts['async']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = ExecutionResult;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/exec', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the findProcs operation.\n\t * @callback module:api/WorkspaceApi~findProcsCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Gets process info, created by async exec request, on this workspace. If execId is set, this op finds a spawned process whose id is matching. If not, all spawned procs will be found. This op does not returns error when no procs found but empty result array. This operation requires proper access rights. (unrestricted or matching workspace id in access token with parameter) \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.execId the id of execution request(different from pid!)\n\t * @param {module:api/WorkspaceApi~findProcsCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findProcs = function(workspaceId, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling findProcs\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'execId': opts['execId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = [];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [ChildProcess];\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/exec', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the findWorkspaces operation.\n\t * @callback module:api/WorkspaceApi~findWorkspacesCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Finds workspaces (no find/search parameters yet). Requires an unrestricted access token. \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.disposable include disposable workspaces or not (default to false)\n\t * @param {module:api/WorkspaceApi~findWorkspacesCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findWorkspaces = function(opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'disposable': opts['disposable']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [Workspace];\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the getWorkspace operation.\n\t * @callback module:api/WorkspaceApi~getWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get a workspace object by id\n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {module:api/WorkspaceApi~getWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.getWorkspace = function(workspaceId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling getWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the removeWorkspace operation.\n\t * @callback module:api/WorkspaceApi~removeWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * This operation will remove the requested workspace when 1) all sessions are closed for request (will be notified by server) 2) excedded time limit value in closeAfter parameter 3) server goes down after accepting remove request \\"willBeRemovedAt\\" property can be set \\"only\\" by this api. This API requires \\"unrestricted\\" access token. Even an access token has matching workspace id, removing an workspace is rejected. \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {Object} opts Optional parameters\n\t * @param {Integer} opts.closeAfter Time in seconds to wait for all sessions save & close their data. (default to 0)\n\t * @param {module:api/WorkspaceApi~removeWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.removeWorkspace = function(workspaceId, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling removeWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'closeAfter': opts['closeAfter']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the updateWorkspace operation.\n\t * @callback module:api/WorkspaceApi~updateWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Updates workspace. Some protected properties will not be changed by this api. Requires proper access rights in access token. \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {module:api/WorkspaceApi~updateWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.updateWorkspace = function(workspaceId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling updateWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Match = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Match model module.\n\t * @module model/Match\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Match.\n\t * search result for a file\n\t * @alias module:model/Match\n\t * @class\n\t * @param line {Integer} \n\t * @param text {String} \n\t */\n\t var exports = function(line, text) {\n\t var _this = this;\n\t\n\t _this['line'] = line;\n\t _this['text'] = text;\n\t };\n\t\n\t /**\n\t * Constructs a Match from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Match} obj Optional instance to populate.\n\t * @return {module:model/Match} The populated Match instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('line')) {\n\t obj['line'] = ApiClient.convertToType(data['line'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('text')) {\n\t obj['text'] = ApiClient.convertToType(data['text'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {Integer} line\n\t */\n\t exports.prototype['line'] = undefined;\n\t /**\n\t * @member {String} text\n\t */\n\t exports.prototype['text'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ }\n/******/ ])});;\n\n\n/** WEBPACK FOOTER **\n ** api-bundle.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 4ac3f1a16c3336305f5f\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/ChildProcess', 'model/Credential', 'model/DirEntry', 'model/Execution', 'model/ExecutionResult', 'model/Match', 'model/RemoteAccess', 'model/RestError', 'model/RestOK', 'model/Session', 'model/Stats', 'model/Token', 'model/User', 'model/Workspace', 'api/AuthApi', 'api/OpsApi', 'api/RemotesApi', 'api/SessionApi', 'api/WfsApi', 'api/WorkspaceApi'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('./ApiClient'), require('./model/ChildProcess'), require('./model/Credential'), require('./model/DirEntry'), require('./model/Execution'), require('./model/ExecutionResult'), require('./model/Match'), require('./model/RemoteAccess'), require('./model/RestError'), require('./model/RestOK'), require('./model/Session'), require('./model/Stats'), require('./model/Token'), require('./model/User'), require('./model/Workspace'), require('./api/AuthApi'), require('./api/OpsApi'), require('./api/RemotesApi'), require('./api/SessionApi'), require('./api/WfsApi'), require('./api/WorkspaceApi'));\n }\n}(function(ApiClient, ChildProcess, Credential, DirEntry, Execution, ExecutionResult, Match, RemoteAccess, RestError, RestOK, Session, Stats, Token, User, Workspace, AuthApi, OpsApi, RemotesApi, SessionApi, WfsApi, WorkspaceApi) {\n 'use strict';\n\n /**\n * Restful_API_for_Webida_clients_to_use_servers_data__features.
\n * The index module provides access to constructors for all the classes which comprise the public API.\n *

\n * An AMD (recommended!) or CommonJS application will generally do something equivalent to the following:\n *

\n   * var WebidaRestfulApi = require('index'); // See note below*.\n   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n   * var yyyModel = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n   * yyyModel.someProperty = 'someValue';\n   * ...\n   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n   * ...\n   * 
\n * *NOTE: For a top-level AMD script, use require(['index'], function(){...})\n * and put the application logic within the callback function.\n *

\n *

\n * A non-AMD browser application (discouraged) might do something like this:\n *

\n   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n   * var yyy = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n   * yyyModel.someProperty = 'someValue';\n   * ...\n   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n   * ...\n   * 
\n *

\n * @module index\n * @version 0.3.0\n */\n var exports = {\n /**\n * The ApiClient constructor.\n * @property {module:ApiClient}\n */\n ApiClient: ApiClient,\n /**\n * The ChildProcess model constructor.\n * @property {module:model/ChildProcess}\n */\n ChildProcess: ChildProcess,\n /**\n * The Credential model constructor.\n * @property {module:model/Credential}\n */\n Credential: Credential,\n /**\n * The DirEntry model constructor.\n * @property {module:model/DirEntry}\n */\n DirEntry: DirEntry,\n /**\n * The Execution model constructor.\n * @property {module:model/Execution}\n */\n Execution: Execution,\n /**\n * The ExecutionResult model constructor.\n * @property {module:model/ExecutionResult}\n */\n ExecutionResult: ExecutionResult,\n /**\n * The Match model constructor.\n * @property {module:model/Match}\n */\n Match: Match,\n /**\n * The RemoteAccess model constructor.\n * @property {module:model/RemoteAccess}\n */\n RemoteAccess: RemoteAccess,\n /**\n * The RestError model constructor.\n * @property {module:model/RestError}\n */\n RestError: RestError,\n /**\n * The RestOK model constructor.\n * @property {module:model/RestOK}\n */\n RestOK: RestOK,\n /**\n * The Session model constructor.\n * @property {module:model/Session}\n */\n Session: Session,\n /**\n * The Stats model constructor.\n * @property {module:model/Stats}\n */\n Stats: Stats,\n /**\n * The Token model constructor.\n * @property {module:model/Token}\n */\n Token: Token,\n /**\n * The User model constructor.\n * @property {module:model/User}\n */\n User: User,\n /**\n * The Workspace model constructor.\n * @property {module:model/Workspace}\n */\n Workspace: Workspace,\n /**\n * The AuthApi service constructor.\n * @property {module:api/AuthApi}\n */\n AuthApi: AuthApi,\n /**\n * The OpsApi service constructor.\n * @property {module:api/OpsApi}\n */\n OpsApi: OpsApi,\n /**\n * The RemotesApi service constructor.\n * @property {module:api/RemotesApi}\n */\n RemotesApi: RemotesApi,\n /**\n * The SessionApi service constructor.\n * @property {module:api/SessionApi}\n */\n SessionApi: SessionApi,\n /**\n * The WfsApi service constructor.\n * @property {module:api/WfsApi}\n */\n WfsApi: WfsApi,\n /**\n * The WorkspaceApi service constructor.\n * @property {module:api/WorkspaceApi}\n */\n WorkspaceApi: WorkspaceApi\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/index.js\n ** module id = 0\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['superagent'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('superagent'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.ApiClient = factory(root.superagent);\n }\n}(this, function(superagent) {\n 'use strict';\n\n /**\n * @module ApiClient\n * @version 0.3.0\n */\n\n /**\n * Manages low level client-server communications, parameter marshalling, etc. There should not be any need for an\n * application to use this class directly - the *Api and model classes provide the public API for the service. The\n * contents of this file should be regarded as internal but are documented for completeness.\n * @alias module:ApiClient\n * @class\n */\n var exports = function() {\n /**\n * The base URL against which to resolve every API call's (relative) path.\n * @type {String}\n * @default https://localhost/api\n */\n this.basePath = 'https://localhost/api'.replace(/\\/+$/, '');\n\n /**\n * The authentication methods to be included for all API calls.\n * @type {Array.}\n */\n this.authentications = {\n 'webida-simple-auth': {type: 'apiKey', 'in': 'header', name: 'Authorization'}\n };\n /**\n * The default HTTP headers to be included for all API calls.\n * @type {Array.}\n * @default {}\n */\n this.defaultHeaders = {};\n\n /**\n * The default HTTP timeout for all API calls.\n * @type {Number}\n * @default 60000\n */\n this.timeout = 60000;\n };\n\n /**\n * Returns a string representation for an actual parameter.\n * @param param The actual parameter.\n * @returns {String} The string representation of param.\n */\n exports.prototype.paramToString = function(param) {\n if (param == undefined || param == null) {\n return '';\n }\n if (param instanceof Date) {\n return param.toJSON();\n }\n return param.toString();\n };\n\n /**\n * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders with parameter values.\n * NOTE: query parameters are not handled here.\n * @param {String} path The path to append to the base URL.\n * @param {Object} pathParams The parameter values to append.\n * @returns {String} The encoded path with parameter values substituted.\n */\n exports.prototype.buildUrl = function(path, pathParams) {\n if (!path.match(/^\\//)) {\n path = '/' + path;\n }\n var url = this.basePath + path;\n var _this = this;\n url = url.replace(/\\{([\\w-]+)\\}/g, function(fullMatch, key) {\n var value;\n if (pathParams.hasOwnProperty(key)) {\n value = _this.paramToString(pathParams[key]);\n } else {\n value = fullMatch;\n }\n return encodeURIComponent(value);\n });\n return url;\n };\n\n /**\n * Checks whether the given content type represents JSON.
\n * JSON content type examples:
\n *
    \n *
  • application/json
  • \n *
  • application/json; charset=UTF8
  • \n *
  • APPLICATION/JSON
  • \n *
\n * @param {String} contentType The MIME content type to check.\n * @returns {Boolean} true if contentType represents JSON, otherwise false.\n */\n exports.prototype.isJsonMime = function(contentType) {\n return Boolean(contentType != null && contentType.match(/^application\\/json(;.*)?$/i));\n };\n\n /**\n * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first.\n * @param {Array.} contentTypes\n * @returns {String} The chosen content type, preferring JSON.\n */\n exports.prototype.jsonPreferredMime = function(contentTypes) {\n for (var i = 0; i < contentTypes.length; i++) {\n if (this.isJsonMime(contentTypes[i])) {\n return contentTypes[i];\n }\n }\n return contentTypes[0];\n };\n\n /**\n * Checks whether the given parameter value represents file-like content.\n * @param param The parameter to check.\n * @returns {Boolean} true if param represents a file. \n */\n exports.prototype.isFileParam = function(param) {\n // fs.ReadStream in Node.js (but not in runtime like browserify)\n if (typeof window === 'undefined' &&\n typeof require === 'function' &&\n require('fs') &&\n param instanceof require('fs').ReadStream) {\n return true;\n }\n // Buffer in Node.js\n if (typeof Buffer === 'function' && param instanceof Buffer) {\n return true;\n }\n // Blob in browser\n if (typeof Blob === 'function' && param instanceof Blob) {\n return true;\n }\n // File in browser (it seems File object is also instance of Blob, but keep this for safe)\n if (typeof File === 'function' && param instanceof File) {\n return true;\n }\n return false;\n };\n\n /**\n * Normalizes parameter values:\n *
    \n *
  • remove nils
  • \n *
  • keep files and arrays
  • \n *
  • format to string with `paramToString` for other cases
  • \n *
\n * @param {Object.} params The parameters as object properties.\n * @returns {Object.} normalized parameters.\n */\n exports.prototype.normalizeParams = function(params) {\n var newParams = {};\n for (var key in params) {\n if (params.hasOwnProperty(key) && params[key] != undefined && params[key] != null) {\n var value = params[key];\n if (this.isFileParam(value) || Array.isArray(value)) {\n newParams[key] = value;\n } else {\n newParams[key] = this.paramToString(value);\n }\n }\n }\n return newParams;\n };\n\n /**\n * Enumeration of collection format separator strategies.\n * @enum {String} \n * @readonly\n */\n exports.CollectionFormatEnum = {\n /**\n * Comma-separated values. Value: csv\n * @const\n */\n CSV: ',',\n /**\n * Space-separated values. Value: ssv\n * @const\n */\n SSV: ' ',\n /**\n * Tab-separated values. Value: tsv\n * @const\n */\n TSV: '\\t',\n /**\n * Pipe(|)-separated values. Value: pipes\n * @const\n */\n PIPES: '|',\n /**\n * Native array. Value: multi\n * @const\n */\n MULTI: 'multi'\n };\n\n /**\n * Builds a string representation of an array-type actual parameter, according to the given collection format.\n * @param {Array} param An array parameter.\n * @param {module:ApiClient.CollectionFormatEnum} collectionFormat The array element separator strategy.\n * @returns {String|Array} A string representation of the supplied collection, using the specified delimiter. Returns\n * param as is if collectionFormat is multi.\n */\n exports.prototype.buildCollectionParam = function buildCollectionParam(param, collectionFormat) {\n if (param == null) {\n return null;\n }\n switch (collectionFormat) {\n case 'csv':\n return param.map(this.paramToString).join(',');\n case 'ssv':\n return param.map(this.paramToString).join(' ');\n case 'tsv':\n return param.map(this.paramToString).join('\\t');\n case 'pipes':\n return param.map(this.paramToString).join('|');\n case 'multi':\n // return the array directly as SuperAgent will handle it as expected\n return param.map(this.paramToString);\n default:\n throw new Error('Unknown collection format: ' + collectionFormat);\n }\n };\n\n /**\n * Applies authentication headers to the request.\n * @param {Object} request The request object created by a superagent() call.\n * @param {Array.} authNames An array of authentication method names.\n */\n exports.prototype.applyAuthToRequest = function(request, authNames) {\n var _this = this;\n authNames.forEach(function(authName) {\n var auth = _this.authentications[authName];\n switch (auth.type) {\n case 'basic':\n if (auth.username || auth.password) {\n request.auth(auth.username || '', auth.password || '');\n }\n break;\n case 'apiKey':\n if (auth.apiKey) {\n var data = {};\n if (auth.apiKeyPrefix) {\n data[auth.name] = auth.apiKeyPrefix + ' ' + auth.apiKey;\n } else {\n data[auth.name] = auth.apiKey;\n }\n if (auth['in'] === 'header') {\n request.set(data);\n } else {\n request.query(data);\n }\n }\n break;\n case 'oauth2':\n if (auth.accessToken) {\n request.set({'Authorization': 'Bearer ' + auth.accessToken});\n }\n break;\n default:\n throw new Error('Unknown authentication type: ' + auth.type);\n }\n });\n };\n\n /**\n * Deserializes an HTTP response body into a value of the specified type.\n * @param {Object} response A SuperAgent response object.\n * @param {(String|Array.|Object.|Function)} returnType The type to return. Pass a string for simple types\n * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n * all properties on data will be converted to this type.\n * @returns A value of the specified type.\n */\n exports.prototype.deserialize = function deserialize(response, returnType) {\n if (response == null || returnType == null) {\n return null;\n }\n // Rely on SuperAgent for parsing response body.\n // See http://visionmedia.github.io/superagent/#parsing-response-bodies\n var data = response.body;\n if (data == null) {\n // SuperAgent does not always produce a body; use the unparsed response as a fallback\n data = response.text;\n }\n return exports.convertToType(data, returnType);\n };\n\n /**\n * Callback function to receive the result of the operation.\n * @callback module:ApiClient~callApiCallback\n * @param {String} error Error message, if any.\n * @param data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Invokes the REST service using the supplied settings and parameters.\n * @param {String} path The base URL to invoke.\n * @param {String} httpMethod The HTTP method to use.\n * @param {Object.} pathParams A map of path parameters and their values.\n * @param {Object.} queryParams A map of query parameters and their values.\n * @param {Object.} headerParams A map of header parameters and their values.\n * @param {Object.} formParams A map of form parameters and their values.\n * @param {Object} bodyParam The value to pass as the request body.\n * @param {Array.} authNames An array of authentication type names.\n * @param {Array.} contentTypes An array of request MIME types.\n * @param {Array.} accepts An array of acceptable response MIME types.\n * @param {(String|Array|ObjectFunction)} returnType The required type to return; can be a string for simple types or the\n * constructor for a complex type.\n * @param {module:ApiClient~callApiCallback} callback The callback function.\n * @returns {Object} The SuperAgent request object.\n */\n exports.prototype.callApi = function callApi(path, httpMethod, pathParams,\n queryParams, headerParams, formParams, bodyParam, authNames, contentTypes, accepts,\n returnType, callback) {\n\n var _this = this;\n var url = this.buildUrl(path, pathParams);\n var request = superagent(httpMethod, url);\n\n // apply authentications\n this.applyAuthToRequest(request, authNames);\n\n // set query parameters\n request.query(this.normalizeParams(queryParams));\n\n // set header parameters\n request.set(this.defaultHeaders).set(this.normalizeParams(headerParams));\n\n // set request timeout\n request.timeout(this.timeout);\n\n var contentType = this.jsonPreferredMime(contentTypes);\n if (contentType !== 'multipart/form-data') {\n if (contentType) {\n request.type(contentType);\n } else if (!request.header['Content-Type']) {\n request.type('application/json');\n }\n }\n\n if (contentType === 'application/x-www-form-urlencoded') {\n request.send(this.normalizeParams(formParams));\n } else if (contentType == 'multipart/form-data') {\n var _formParams = this.normalizeParams(formParams);\n for (var key in _formParams) {\n if (_formParams.hasOwnProperty(key)) {\n if (this.isFileParam(_formParams[key])) {\n // file field\n request.attach(key, _formParams[key]);\n } else {\n request.field(key, _formParams[key]);\n }\n }\n }\n } else if (bodyParam) {\n request.send(bodyParam);\n }\n\n var accept = this.jsonPreferredMime(accepts);\n if (accept) {\n request.accept(accept);\n }\n\n\n request.end(function(error, response) {\n if (callback) {\n var data = null;\n if (!error) {\n data = _this.deserialize(response, returnType);\n }\n callback(error, data, response);\n }\n });\n\n return request;\n };\n\n /**\n * Parses an ISO-8601 string representation of a date value.\n * @param {String} str The date value as a string.\n * @returns {Date} The parsed date object.\n */\n exports.parseDate = function(str) {\n return new Date(str.replace(/T/i, ' '));\n };\n\n /**\n * Converts a value to the specified type.\n * @param {(String|Object)} data The data to convert, as a string or object.\n * @param {(String|Array.|Object.|Function)} type The type to return. Pass a string for simple types\n * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n * all properties on data will be converted to this type.\n * @returns An instance of the specified type.\n */\n exports.convertToType = function(data, type) {\n switch (type) {\n case 'Boolean':\n return Boolean(data);\n case 'Integer':\n return parseInt(data, 10);\n case 'Number':\n return parseFloat(data);\n case 'String':\n return String(data);\n case 'Date':\n return this.parseDate(String(data));\n default:\n if (type === Object || type === File) {\n // generic object or Blob - return directly\n return data;\n } else if (typeof type === 'function') {\n if (typeof type.constructFromObject !== 'function') {\n // some manually written models might have no factory function\n return data;\n } else {\n // for model type like: User\n return type.constructFromObject(data);\n }\n } else if (Array.isArray(type)) {\n // for array type like: ['String']\n var itemType = type[0];\n return data.map(function(item) {\n return exports.convertToType(item, itemType);\n });\n } else if (typeof type === 'object') {\n // for plain object type like: {'String': 'Integer'}\n var keyType, valueType;\n for (var k in type) {\n if (type.hasOwnProperty(k)) {\n keyType = k;\n valueType = type[k];\n break;\n }\n }\n var result = {};\n for (var k in data) {\n if (data.hasOwnProperty(k)) {\n var key = exports.convertToType(k, keyType);\n var value = exports.convertToType(data[k], valueType);\n result[key] = value;\n }\n }\n return result;\n } else {\n // for unknown type, return the data directly\n return data;\n }\n }\n };\n\n /**\n * Constructs a new map or array model from REST data.\n * @param data {Object|Array} The REST data.\n * @param obj {Object|Array} The target object or array.\n */\n exports.constructFromObject = function(data, obj, itemType) {\n if (Array.isArray(data)) {\n for (var i = 0; i < data.length; i++) {\n if (data.hasOwnProperty(i))\n obj[i] = exports.convertToType(data[i], itemType);\n }\n } else {\n for (var k in data) {\n if (data.hasOwnProperty(k))\n obj[k] = exports.convertToType(data[k], itemType);\n }\n }\n };\n\n /**\n * The default API client implementation.\n * @type {module:ApiClient}\n */\n exports.instance = new exports();\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/ApiClient.js\n ** module id = 1\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RestError = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The RestError model module.\n * @module model/RestError\n * @version 0.3.0\n */\n\n /**\n * Constructs a new RestError.\n * Error object with code and message. code is bound to status code, but not always same to standard HTTP status text. For example, some 409 error may have code \\"Invalid Argument\\" instead of \\"Conflic\\". So, Client should read message property to know what happend exactly when an error is returned from server. And, some 500 errors can have system errno instead of useless \\"internal\\". Like other errors, details are hidden in message. \n * @alias module:model/RestError\n * @class\n * @param message {String} \n */\n var exports = function(message) {\n var _this = this;\n\n\n _this['message'] = message;\n };\n\n /**\n * Constructs a RestError from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/RestError} obj Optional instance to populate.\n * @return {module:model/RestError} The populated RestError instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('code')) {\n obj['code'] = ApiClient.convertToType(data['code'], 'String');\n }\n if (data.hasOwnProperty('message')) {\n obj['message'] = ApiClient.convertToType(data['message'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {String} code\n */\n exports.prototype['code'] = undefined;\n /**\n * @member {String} message\n */\n exports.prototype['message'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/RestError.js\n ** module id = 2\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RestOK = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The RestOK model module.\n * @module model/RestOK\n * @version 0.3.0\n */\n\n /**\n * Constructs a new RestOK.\n * @alias module:model/RestOK\n * @class\n */\n var exports = function() {\n var _this = this;\n\n\n };\n\n /**\n * Constructs a RestOK from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/RestOK} obj Optional instance to populate.\n * @return {module:model/RestOK} The populated RestOK instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('message')) {\n obj['message'] = ApiClient.convertToType(data['message'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {String} message\n */\n exports.prototype['message'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/RestOK.js\n ** module id = 3\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/DirEntry', 'model/Stats'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('./DirEntry'), require('./Stats'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.DirEntry = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n }\n}(this, function(ApiClient, DirEntry, Stats) {\n 'use strict';\n\n\n\n\n /**\n * The DirEntry model module.\n * @module model/DirEntry\n * @version 0.3.0\n */\n\n /**\n * Constructs a new DirEntry.\n * a directory entry (file or directory) with children that represents a (sub) tree\n * @alias module:model/DirEntry\n * @class\n * @param name {String} \n * @param stats {module:model/Stats} \n * @param children {Array.} \n */\n var exports = function(name, stats, children) {\n var _this = this;\n\n _this['name'] = name;\n _this['stats'] = stats;\n _this['children'] = children;\n };\n\n /**\n * Constructs a DirEntry from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/DirEntry} obj Optional instance to populate.\n * @return {module:model/DirEntry} The populated DirEntry instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('stats')) {\n obj['stats'] = Stats.constructFromObject(data['stats']);\n }\n if (data.hasOwnProperty('children')) {\n obj['children'] = ApiClient.convertToType(data['children'], [DirEntry]);\n }\n }\n return obj;\n }\n\n /**\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * @member {module:model/Stats} stats\n */\n exports.prototype['stats'] = undefined;\n /**\n * @member {Array.} children\n */\n exports.prototype['children'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/DirEntry.js\n ** module id = 4\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Stats = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Stats model module.\n * @module model/Stats\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Stats.\n * simplified/augmented fs.Stats class - see node.js doc for all properties\n * @alias module:model/Stats\n * @class\n * @param type {module:model/Stats.TypeEnum} All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n * @param birthtime {Date} \n * @param mtime {Date} \n * @param mode {String} \n * @param size {Integer} \n * @param nlink {Integer} \n */\n var exports = function(type, birthtime, mtime, mode, size, nlink) {\n var _this = this;\n\n _this['type'] = type;\n _this['birthtime'] = birthtime;\n _this['mtime'] = mtime;\n _this['mode'] = mode;\n _this['size'] = size;\n _this['nlink'] = nlink;\n };\n\n /**\n * Constructs a Stats from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Stats} obj Optional instance to populate.\n * @return {module:model/Stats} The populated Stats instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('type')) {\n obj['type'] = ApiClient.convertToType(data['type'], 'String');\n }\n if (data.hasOwnProperty('birthtime')) {\n obj['birthtime'] = ApiClient.convertToType(data['birthtime'], 'Date');\n }\n if (data.hasOwnProperty('mtime')) {\n obj['mtime'] = ApiClient.convertToType(data['mtime'], 'Date');\n }\n if (data.hasOwnProperty('mode')) {\n obj['mode'] = ApiClient.convertToType(data['mode'], 'String');\n }\n if (data.hasOwnProperty('size')) {\n obj['size'] = ApiClient.convertToType(data['size'], 'Integer');\n }\n if (data.hasOwnProperty('nlink')) {\n obj['nlink'] = ApiClient.convertToType(data['nlink'], 'Integer');\n }\n }\n return obj;\n }\n\n /**\n * All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n * @member {module:model/Stats.TypeEnum} type\n */\n exports.prototype['type'] = undefined;\n /**\n * @member {Date} birthtime\n */\n exports.prototype['birthtime'] = undefined;\n /**\n * @member {Date} mtime\n */\n exports.prototype['mtime'] = undefined;\n /**\n * @member {String} mode\n */\n exports.prototype['mode'] = undefined;\n /**\n * @member {Integer} size\n */\n exports.prototype['size'] = undefined;\n /**\n * @member {Integer} nlink\n */\n exports.prototype['nlink'] = undefined;\n\n\n /**\n * Allowed values for the type property.\n * @enum {String}\n * @readonly\n */\n exports.TypeEnum = {\n /**\n * value: \"FILE\"\n * @const\n */\n \"FILE\": \"FILE\",\n /**\n * value: \"DIRECTORY\"\n * @const\n */\n \"DIRECTORY\": \"DIRECTORY\",\n /**\n * value: \"BLOCK_DEVICE\"\n * @const\n */\n \"BLOCK_DEVICE\": \"BLOCK_DEVICE\",\n /**\n * value: \"CHARACTER_DEVICE\"\n * @const\n */\n \"CHARACTER_DEVICE\": \"CHARACTER_DEVICE\",\n /**\n * value: \"LINK\"\n * @const\n */\n \"LINK\": \"LINK\",\n /**\n * value: \"FIFO\"\n * @const\n */\n \"FIFO\": \"FIFO\",\n /**\n * value: \"SOCKET\"\n * @const\n */\n \"SOCKET\": \"SOCKET\",\n /**\n * value: \"DUMMY\"\n * @const\n */\n \"DUMMY\": \"DUMMY\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Stats.js\n ** module id = 5\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.ChildProcess = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The ChildProcess model module.\n * @module model/ChildProcess\n * @version 0.3.0\n */\n\n /**\n * Constructs a new ChildProcess.\n * a process in execution, spawned by async exec or other mean\n * @alias module:model/ChildProcess\n * @class\n * @param pid {Integer} child process pid\n * @param command {String} execution command in execution request\n * @param args {Array.} arguments of command in execution request\n * @param execId {String} execution id from execution request\n * @param state {module:model/ChildProcess.StateEnum} state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. \n * @param startedAt {Date} the time when this process is spawned\n */\n var exports = function(pid, command, args, execId, state, startedAt) {\n var _this = this;\n\n _this['pid'] = pid;\n _this['command'] = command;\n _this['args'] = args;\n _this['execId'] = execId;\n _this['state'] = state;\n _this['startedAt'] = startedAt;\n\n\n };\n\n /**\n * Constructs a ChildProcess from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/ChildProcess} obj Optional instance to populate.\n * @return {module:model/ChildProcess} The populated ChildProcess instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('pid')) {\n obj['pid'] = ApiClient.convertToType(data['pid'], 'Integer');\n }\n if (data.hasOwnProperty('command')) {\n obj['command'] = ApiClient.convertToType(data['command'], 'String');\n }\n if (data.hasOwnProperty('args')) {\n obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n }\n if (data.hasOwnProperty('execId')) {\n obj['execId'] = ApiClient.convertToType(data['execId'], 'String');\n }\n if (data.hasOwnProperty('state')) {\n obj['state'] = ApiClient.convertToType(data['state'], 'String');\n }\n if (data.hasOwnProperty('startedAt')) {\n obj['startedAt'] = ApiClient.convertToType(data['startedAt'], 'Date');\n }\n if (data.hasOwnProperty('exitCode')) {\n obj['exitCode'] = ApiClient.convertToType(data['exitCode'], 'Integer');\n }\n if (data.hasOwnProperty('exitSignal')) {\n obj['exitSignal'] = ApiClient.convertToType(data['exitSignal'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * child process pid\n * @member {Integer} pid\n */\n exports.prototype['pid'] = undefined;\n /**\n * execution command in execution request\n * @member {String} command\n */\n exports.prototype['command'] = undefined;\n /**\n * arguments of command in execution request\n * @member {Array.} args\n */\n exports.prototype['args'] = undefined;\n /**\n * execution id from execution request\n * @member {String} execId\n */\n exports.prototype['execId'] = undefined;\n /**\n * state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. \n * @member {module:model/ChildProcess.StateEnum} state\n */\n exports.prototype['state'] = undefined;\n /**\n * the time when this process is spawned\n * @member {Date} startedAt\n */\n exports.prototype['startedAt'] = undefined;\n /**\n * the exit code of child process. available with EXITED procs only.\n * @member {Integer} exitCode\n */\n exports.prototype['exitCode'] = undefined;\n /**\n * the signal that killed this child process.(not always available)\n * @member {String} exitSignal\n */\n exports.prototype['exitSignal'] = undefined;\n\n\n /**\n * Allowed values for the state property.\n * @enum {String}\n * @readonly\n */\n exports.StateEnum = {\n /**\n * value: \"CREATED\"\n * @const\n */\n \"CREATED\": \"CREATED\",\n /**\n * value: \"WORKING\"\n * @const\n */\n \"WORKING\": \"WORKING\",\n /**\n * value: \"KILLING\"\n * @const\n */\n \"KILLING\": \"KILLING\",\n /**\n * value: \"EXITED\"\n * @const\n */\n \"EXITED\": \"EXITED\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/ChildProcess.js\n ** module id = 7\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Credential = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Credential model module.\n * @module model/Credential\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Credential.\n * user credential to login. Use https to protect credential.\n * @alias module:model/Credential\n * @class\n * @param loginId {String} \n * @param loginPassword {String} \n */\n var exports = function(loginId, loginPassword) {\n var _this = this;\n\n _this['loginId'] = loginId;\n _this['loginPassword'] = loginPassword;\n\n };\n\n /**\n * Constructs a Credential from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Credential} obj Optional instance to populate.\n * @return {module:model/Credential} The populated Credential instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('loginId')) {\n obj['loginId'] = ApiClient.convertToType(data['loginId'], 'String');\n }\n if (data.hasOwnProperty('loginPassword')) {\n obj['loginPassword'] = ApiClient.convertToType(data['loginPassword'], 'String');\n }\n if (data.hasOwnProperty('masterToken')) {\n obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {String} loginId\n */\n exports.prototype['loginId'] = undefined;\n /**\n * @member {String} loginPassword\n */\n exports.prototype['loginPassword'] = undefined;\n /**\n * a master token is issued when user wants to access webida api without id/password from remote or local desktop app. When masterToken is set, client should put some bogus id/password, non-empty. (The values can be used to identify client type) \n * @member {String} masterToken\n */\n exports.prototype['masterToken'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Credential.js\n ** module id = 8\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Execution = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Execution model module.\n * @module model/Execution\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Execution.\n * execution request, simlilar to node.js exec()/spawn(). see node.js documentation for details of each properties. some properties are not configurable for portability - encoding : fixed to utf-8 - shell : fixed to system defaults. (so, cmd.exe will be invoked in Windows OS, not sh or bash in git-for-windows even they are available.) - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or invoke taskkill, to ensure chlid process is killed. - uid & gid : will not be set for security - stdio : all streams are handled by server. no options are avaliable to client. - detached : always false \n * @alias module:model/Execution\n * @class\n * @param command {String} The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. \n * @param args {Array.} the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\\\Program Files\\\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. \n */\n var exports = function(command, args) {\n var _this = this;\n\n\n _this['command'] = command;\n _this['args'] = args;\n\n\n\n };\n\n /**\n * Constructs a Execution from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Execution} obj Optional instance to populate.\n * @return {module:model/Execution} The populated Execution instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('command')) {\n obj['command'] = ApiClient.convertToType(data['command'], 'String');\n }\n if (data.hasOwnProperty('args')) {\n obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n }\n if (data.hasOwnProperty('cwd')) {\n obj['cwd'] = ApiClient.convertToType(data['cwd'], 'String');\n }\n if (data.hasOwnProperty('timeout')) {\n obj['timeout'] = ApiClient.convertToType(data['timeout'], 'Integer');\n }\n if (data.hasOwnProperty('maxBuffer')) {\n obj['maxBuffer'] = ApiClient.convertToType(data['maxBuffer'], 'Integer');\n }\n }\n return obj;\n }\n\n /**\n * unique identifier of execution, to demux response stream or cancel request. Server should reject an async exec request without id. \n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. \n * @member {String} command\n */\n exports.prototype['command'] = undefined;\n /**\n * the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\\\Program Files\\\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. \n * @member {Array.} args\n */\n exports.prototype['args'] = undefined;\n /**\n * Current working directory of spawned process, relative to workspace root. If abscent, cwd will be the workspace directory. Does not accept any evaluatable form like $HOME, %USERPROFILE%. path should be unixified. Server may reject an 'absolute' property. \n * @member {String} cwd\n */\n exports.prototype['cwd'] = undefined;\n /**\n * The value which In 'miliseconds' the maximum amount of time the child is allowed to run. (not idle time of stdout / stderr stream) for sync exec. Server should not apply default value for async exec, when omitted. The child process spawned by async execution should be killed when 1) server goes down 2) process exits by self 3) cancel operation is invoked \n * @member {Integer} timeout\n */\n exports.prototype['timeout'] = undefined;\n /**\n * Largest amount of data (in bytes) allowed on stdout or stderr for sync exec. Server should not apply this limit to async execution. In sync exec, server may kill a child process that has exceeded limit. default value is 512KB, large enough. \n * @member {Integer} maxBuffer\n */\n exports.prototype['maxBuffer'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Execution.js\n ** module id = 9\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.ExecutionResult = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The ExecutionResult model module.\n * @module model/ExecutionResult\n * @version 0.3.0\n */\n\n /**\n * Constructs a new ExecutionResult.\n * execution response\n * @alias module:model/ExecutionResult\n * @class\n * @param stdout {String} standard out of child process.\n * @param stderr {String} standard error of child process.\n */\n var exports = function(stdout, stderr) {\n var _this = this;\n\n\n _this['stdout'] = stdout;\n _this['stderr'] = stderr;\n };\n\n /**\n * Constructs a ExecutionResult from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/ExecutionResult} obj Optional instance to populate.\n * @return {module:model/ExecutionResult} The populated ExecutionResult instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('error')) {\n obj['error'] = ApiClient.convertToType(data['error'], 'String');\n }\n if (data.hasOwnProperty('stdout')) {\n obj['stdout'] = ApiClient.convertToType(data['stdout'], 'String');\n }\n if (data.hasOwnProperty('stderr')) {\n obj['stderr'] = ApiClient.convertToType(data['stderr'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * error message when execution failed.\n * @member {String} error\n */\n exports.prototype['error'] = undefined;\n /**\n * standard out of child process.\n * @member {String} stdout\n */\n exports.prototype['stdout'] = undefined;\n /**\n * standard error of child process.\n * @member {String} stderr\n */\n exports.prototype['stderr'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/ExecutionResult.js\n ** module id = 10\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RemoteAccess = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The RemoteAccess model module.\n * @module model/RemoteAccess\n * @version 0.3.0\n */\n\n /**\n * Constructs a new RemoteAccess.\n * Access information of remote workspace in remote server\n * @alias module:model/RemoteAccess\n * @class\n * @param name {String} display text of remote workspace. can be different from original name. \n * @param serverUrl {String} the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n * @param workspaceId {String} the id of remote workspace, read from remote server\n * @param masterToken {String} master token to access service, issued from remote server\n */\n var exports = function(name, serverUrl, workspaceId, masterToken) {\n var _this = this;\n\n _this['name'] = name;\n _this['serverUrl'] = serverUrl;\n _this['workspaceId'] = workspaceId;\n\n _this['masterToken'] = masterToken;\n };\n\n /**\n * Constructs a RemoteAccess from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/RemoteAccess} obj Optional instance to populate.\n * @return {module:model/RemoteAccess} The populated RemoteAccess instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('serverUrl')) {\n obj['serverUrl'] = ApiClient.convertToType(data['serverUrl'], 'String');\n }\n if (data.hasOwnProperty('workspaceId')) {\n obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n }\n if (data.hasOwnProperty('workspacePath')) {\n obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n }\n if (data.hasOwnProperty('masterToken')) {\n obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * display text of remote workspace. can be different from original name. \n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n * @member {String} serverUrl\n */\n exports.prototype['serverUrl'] = undefined;\n /**\n * the id of remote workspace, read from remote server\n * @member {String} workspaceId\n */\n exports.prototype['workspaceId'] = undefined;\n /**\n * Full path of remote workspace, read from remote server. this property will be removed when clients are able to work without \\\"named root directory\\\" in workspace fs tree. \n * @member {String} workspacePath\n */\n exports.prototype['workspacePath'] = undefined;\n /**\n * master token to access service, issued from remote server\n * @member {String} masterToken\n */\n exports.prototype['masterToken'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/RemoteAccess.js\n ** module id = 11\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Session = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Session model module.\n * @module model/Session\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Session.\n * an application session per ide instance. bound to access token\n * @alias module:model/Session\n * @class\n * @param id {String} the id of a session. usually same to socket id.\n * @param name {String} human readable name, usually derived from workspace name.\n * @param state {module:model/Session.StateEnum} state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n * @param clientAddress {String} the peer address of session connection. not always\n * @param connectedAt {Date} the time when socket connection is established\n * @param disconnectedAt {Date} the time when socket is closed.\n */\n var exports = function(id, name, state, clientAddress, connectedAt, disconnectedAt) {\n var _this = this;\n\n _this['id'] = id;\n _this['name'] = name;\n _this['state'] = state;\n\n _this['clientAddress'] = clientAddress;\n _this['connectedAt'] = connectedAt;\n _this['disconnectedAt'] = disconnectedAt;\n\n\n };\n\n /**\n * Constructs a Session from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Session} obj Optional instance to populate.\n * @return {module:model/Session} The populated Session instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('state')) {\n obj['state'] = ApiClient.convertToType(data['state'], 'String');\n }\n if (data.hasOwnProperty('workspaceId')) {\n obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n }\n if (data.hasOwnProperty('clientAddress')) {\n obj['clientAddress'] = ApiClient.convertToType(data['clientAddress'], 'String');\n }\n if (data.hasOwnProperty('connectedAt')) {\n obj['connectedAt'] = ApiClient.convertToType(data['connectedAt'], 'Date');\n }\n if (data.hasOwnProperty('disconnectedAt')) {\n obj['disconnectedAt'] = ApiClient.convertToType(data['disconnectedAt'], 'Date');\n }\n if (data.hasOwnProperty('willCloseAt')) {\n obj['willCloseAt'] = ApiClient.convertToType(data['willCloseAt'], 'Date');\n }\n if (data.hasOwnProperty('willLoseAt')) {\n obj['willLoseAt'] = ApiClient.convertToType(data['willLoseAt'], 'Date');\n }\n }\n return obj;\n }\n\n /**\n * the id of a session. usually same to socket id.\n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * human readable name, usually derived from workspace name.\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n * @member {module:model/Session.StateEnum} state\n */\n exports.prototype['state'] = undefined;\n /**\n * the id of workspace that this sessions is working on. If falsy, then this session is not belonged to any workpsace. Usually, dashboard / monitoring app will create a session without workspace id. \n * @member {String} workspaceId\n */\n exports.prototype['workspaceId'] = undefined;\n /**\n * the peer address of session connection. not always\n * @member {String} clientAddress\n */\n exports.prototype['clientAddress'] = undefined;\n /**\n * the time when socket connection is established\n * @member {Date} connectedAt\n */\n exports.prototype['connectedAt'] = undefined;\n /**\n * the time when socket is closed.\n * @member {Date} disconnectedAt\n */\n exports.prototype['disconnectedAt'] = undefined;\n /**\n * when state becomes CLOSING, actual closing time will be updated by server.\n * @member {Date} willCloseAt\n */\n exports.prototype['willCloseAt'] = undefined;\n /**\n * when state becomes LOSING, server will not wait for reconnection after this time.\n * @member {Date} willLoseAt\n */\n exports.prototype['willLoseAt'] = undefined;\n\n\n /**\n * Allowed values for the state property.\n * @enum {String}\n * @readonly\n */\n exports.StateEnum = {\n /**\n * value: \"NORMAL\"\n * @const\n */\n \"NORMAL\": \"NORMAL\",\n /**\n * value: \"LOSING\"\n * @const\n */\n \"LOSING\": \"LOSING\",\n /**\n * value: \"CLOSING\"\n * @const\n */\n \"CLOSING\": \"CLOSING\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Session.js\n ** module id = 12\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Token = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Token model module.\n * @module model/Token\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Token.\n * a json webtoken and accessible data\n * @alias module:model/Token\n * @class\n * @param text {String} actual token text that should be shipped in header or query\n * @param tokenType {module:model/Token.TokenTypeEnum} MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n * @param expiresAt {Date} \n * @param issuedAt {Date} \n */\n var exports = function(text, tokenType, expiresAt, issuedAt) {\n var _this = this;\n\n _this['text'] = text;\n _this['tokenType'] = tokenType;\n _this['expiresAt'] = expiresAt;\n _this['issuedAt'] = issuedAt;\n\n\n };\n\n /**\n * Constructs a Token from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Token} obj Optional instance to populate.\n * @return {module:model/Token} The populated Token instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('text')) {\n obj['text'] = ApiClient.convertToType(data['text'], 'String');\n }\n if (data.hasOwnProperty('tokenType')) {\n obj['tokenType'] = ApiClient.convertToType(data['tokenType'], 'String');\n }\n if (data.hasOwnProperty('expiresAt')) {\n obj['expiresAt'] = ApiClient.convertToType(data['expiresAt'], 'Date');\n }\n if (data.hasOwnProperty('issuedAt')) {\n obj['issuedAt'] = ApiClient.convertToType(data['issuedAt'], 'Date');\n }\n if (data.hasOwnProperty('sessionId')) {\n obj['sessionId'] = ApiClient.convertToType(data['sessionId'], 'String');\n }\n if (data.hasOwnProperty('workspaceId')) {\n obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * actual token text that should be shipped in header or query\n * @member {String} text\n */\n exports.prototype['text'] = undefined;\n /**\n * MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n * @member {module:model/Token.TokenTypeEnum} tokenType\n */\n exports.prototype['tokenType'] = undefined;\n /**\n * @member {Date} expiresAt\n */\n exports.prototype['expiresAt'] = undefined;\n /**\n * @member {Date} issuedAt\n */\n exports.prototype['issuedAt'] = undefined;\n /**\n * mandatory for ACCESS token, identifying client instance\n * @member {String} sessionId\n */\n exports.prototype['sessionId'] = undefined;\n /**\n * If truthy, access rights are restricted to specified workspace only.\n * @member {String} workspaceId\n */\n exports.prototype['workspaceId'] = undefined;\n\n\n /**\n * Allowed values for the tokenType property.\n * @enum {String}\n * @readonly\n */\n exports.TokenTypeEnum = {\n /**\n * value: \"MASTER\"\n * @const\n */\n \"MASTER\": \"MASTER\",\n /**\n * value: \"ACCESS\"\n * @const\n */\n \"ACCESS\": \"ACCESS\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Token.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.User = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The User model module.\n * @module model/User\n * @version 0.3.0\n */\n\n /**\n * Constructs a new User.\n * Any services/products should define some admin apis to manage users in the system and expose what should be exposed to client app. So, no properties are mandatory. Currently, the properties are defined for compatiblity with legacy clients. \n * @alias module:model/User\n * @class\n */\n var exports = function() {\n var _this = this;\n\n\n\n\n };\n\n /**\n * Constructs a User from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/User} obj Optional instance to populate.\n * @return {module:model/User} The populated User instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('email')) {\n obj['email'] = ApiClient.convertToType(data['email'], 'String');\n }\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * unique id per user (email is also unique)\n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * @member {String} email\n */\n exports.prototype['email'] = undefined;\n /**\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/User.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Workspace = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Workspace model module.\n * @module model/Workspace\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Workspace.\n * A workspace in server\n * @alias module:model/Workspace\n * @class\n * @param id {String} the id of a workspace. usually same to file system id\n * @param name {String} display text of this workspace for UI\n * @param description {String} human readable description on this workspace\n * @param createdAt {Date} the time when this workspace is created (registered from local file system)\n * @param workspacePath {String} absolute path of this workspace in server.\n * @param excludedPaths {Array.} glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n * @param offlineCachePaths {Array.} any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n */\n var exports = function(id, name, description, createdAt, workspacePath, excludedPaths, offlineCachePaths) {\n var _this = this;\n\n _this['id'] = id;\n _this['name'] = name;\n _this['description'] = description;\n _this['createdAt'] = createdAt;\n\n _this['workspacePath'] = workspacePath;\n _this['excludedPaths'] = excludedPaths;\n _this['offlineCachePaths'] = offlineCachePaths;\n };\n\n /**\n * Constructs a Workspace from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Workspace} obj Optional instance to populate.\n * @return {module:model/Workspace} The populated Workspace instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('description')) {\n obj['description'] = ApiClient.convertToType(data['description'], 'String');\n }\n if (data.hasOwnProperty('createdAt')) {\n obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'Date');\n }\n if (data.hasOwnProperty('accessedAt')) {\n obj['accessedAt'] = ApiClient.convertToType(data['accessedAt'], 'Date');\n }\n if (data.hasOwnProperty('workspacePath')) {\n obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n }\n if (data.hasOwnProperty('excludedPaths')) {\n obj['excludedPaths'] = ApiClient.convertToType(data['excludedPaths'], ['String']);\n }\n if (data.hasOwnProperty('offlineCachePaths')) {\n obj['offlineCachePaths'] = ApiClient.convertToType(data['offlineCachePaths'], ['String']);\n }\n }\n return obj;\n }\n\n /**\n * the id of a workspace. usually same to file system id\n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * display text of this workspace for UI\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * human readable description on this workspace\n * @member {String} description\n */\n exports.prototype['description'] = undefined;\n /**\n * the time when this workspace is created (registered from local file system)\n * @member {Date} createdAt\n */\n exports.prototype['createdAt'] = undefined;\n /**\n * the time when the last session on this workspace was made. (optional)\n * @member {Date} accessedAt\n */\n exports.prototype['accessedAt'] = undefined;\n /**\n * absolute path of this workspace in server.\n * @member {String} workspacePath\n */\n exports.prototype['workspacePath'] = undefined;\n /**\n * glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n * @member {Array.} excludedPaths\n */\n exports.prototype['excludedPaths'] = undefined;\n /**\n * any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n * @member {Array.} offlineCachePaths\n */\n exports.prototype['offlineCachePaths'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Workspace.js\n ** module id = 15\n ** module chunks = 0\n **/","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.superagent = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= 200 && res.status < 300) {\n return self.callback(err, res);\n }\n\n var new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n new_err.original = err;\n new_err.response = res;\n new_err.status = res.status;\n\n self.callback(new_err, res);\n } catch(e) {\n self.callback(e); // #985 touching res may cause INVALID_STATE_ERR on old Android\n }\n });\n}\n\n/**\n * Mixin `Emitter` and `requestBase`.\n */\n\nEmitter(Request.prototype);\nfor (var key in requestBase) {\n Request.prototype[key] = requestBase[key];\n}\n\n/**\n * Set Content-Type to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.xml = 'application/xml';\n *\n * request.post('/')\n * .type('xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * request.post('/')\n * .type('application/xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * @param {String} type\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.type = function(type){\n this.set('Content-Type', request.types[type] || type);\n return this;\n};\n\n/**\n * Set responseType to `val`. Presently valid responseTypes are 'blob' and\n * 'arraybuffer'.\n *\n * Examples:\n *\n * req.get('/')\n * .responseType('blob')\n * .end(callback);\n *\n * @param {String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.responseType = function(val){\n this._responseType = val;\n return this;\n};\n\n/**\n * Set Accept to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.json = 'application/json';\n *\n * request.get('/agent')\n * .accept('json')\n * .end(callback);\n *\n * request.get('/agent')\n * .accept('application/json')\n * .end(callback);\n *\n * @param {String} accept\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.accept = function(type){\n this.set('Accept', request.types[type] || type);\n return this;\n};\n\n/**\n * Set Authorization field value with `user` and `pass`.\n *\n * @param {String} user\n * @param {String} pass\n * @param {Object} options with 'type' property 'auto' or 'basic' (default 'basic')\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.auth = function(user, pass, options){\n if (!options) {\n options = {\n type: 'basic'\n }\n }\n\n switch (options.type) {\n case 'basic':\n var str = btoa(user + ':' + pass);\n this.set('Authorization', 'Basic ' + str);\n break;\n\n case 'auto':\n this.username = user;\n this.password = pass;\n break;\n }\n return this;\n};\n\n/**\n* Add query-string `val`.\n*\n* Examples:\n*\n* request.get('/shoes')\n* .query('size=10')\n* .query({ color: 'blue' })\n*\n* @param {Object|String} val\n* @return {Request} for chaining\n* @api public\n*/\n\nRequest.prototype.query = function(val){\n if ('string' != typeof val) val = serialize(val);\n if (val) this._query.push(val);\n return this;\n};\n\n/**\n * Queue the given `file` as an attachment to the specified `field`,\n * with optional `filename`.\n *\n * ``` js\n * request.post('/upload')\n * .attach('content', new Blob(['hey!'], { type: \"text/html\"}))\n * .end(callback);\n * ```\n *\n * @param {String} field\n * @param {Blob|File} file\n * @param {String} filename\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.attach = function(field, file, filename){\n this._getFormData().append(field, file, filename || file.name);\n return this;\n};\n\nRequest.prototype._getFormData = function(){\n if (!this._formData) {\n this._formData = new root.FormData();\n }\n return this._formData;\n};\n\n/**\n * Invoke the callback with `err` and `res`\n * and handle arity check.\n *\n * @param {Error} err\n * @param {Response} res\n * @api private\n */\n\nRequest.prototype.callback = function(err, res){\n var fn = this._callback;\n this.clearTimeout();\n fn(err, res);\n};\n\n/**\n * Invoke callback with x-domain error.\n *\n * @api private\n */\n\nRequest.prototype.crossDomainError = function(){\n var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n err.crossDomain = true;\n\n err.status = this.status;\n err.method = this.method;\n err.url = this.url;\n\n this.callback(err);\n};\n\n/**\n * Invoke callback with timeout error.\n *\n * @api private\n */\n\nRequest.prototype._timeoutError = function(){\n var timeout = this._timeout;\n var err = new Error('timeout of ' + timeout + 'ms exceeded');\n err.timeout = timeout;\n this.callback(err);\n};\n\n/**\n * Compose querystring to append to req.url\n *\n * @api private\n */\n\nRequest.prototype._appendQueryString = function(){\n var query = this._query.join('&');\n if (query) {\n this.url += ~this.url.indexOf('?')\n ? '&' + query\n : '?' + query;\n }\n};\n\n/**\n * Initiate request, invoking callback `fn(res)`\n * with an instanceof `Response`.\n *\n * @param {Function} fn\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.end = function(fn){\n var self = this;\n var xhr = this.xhr = request.getXHR();\n var timeout = this._timeout;\n var data = this._formData || this._data;\n\n // store callback\n this._callback = fn || noop;\n\n // state change\n xhr.onreadystatechange = function(){\n if (4 != xhr.readyState) return;\n\n // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n // result in the error \"Could not complete the operation due to error c00c023f\"\n var status;\n try { status = xhr.status } catch(e) { status = 0; }\n\n if (0 == status) {\n if (self.timedout) return self._timeoutError();\n if (self._aborted) return;\n return self.crossDomainError();\n }\n self.emit('end');\n };\n\n // progress\n var handleProgress = function(e){\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n e.direction = 'download';\n self.emit('progress', e);\n };\n if (this.hasListeners('progress')) {\n xhr.onprogress = handleProgress;\n }\n try {\n if (xhr.upload && this.hasListeners('progress')) {\n xhr.upload.onprogress = handleProgress;\n }\n } catch(e) {\n // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n // Reported here:\n // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n }\n\n // timeout\n if (timeout && !this._timer) {\n this._timer = setTimeout(function(){\n self.timedout = true;\n self.abort();\n }, timeout);\n }\n\n // querystring\n this._appendQueryString();\n\n // initiate request\n if (this.username && this.password) {\n xhr.open(this.method, this.url, true, this.username, this.password);\n } else {\n xhr.open(this.method, this.url, true);\n }\n\n // CORS\n if (this._withCredentials) xhr.withCredentials = true;\n\n // body\n if ('GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n // serialize stuff\n var contentType = this._header['content-type'];\n var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n if (!serialize && isJSON(contentType)) serialize = request.serialize['application/json'];\n if (serialize) data = serialize(data);\n }\n\n // set header fields\n for (var field in this.header) {\n if (null == this.header[field]) continue;\n xhr.setRequestHeader(field, this.header[field]);\n }\n\n if (this._responseType) {\n xhr.responseType = this._responseType;\n }\n\n // send stuff\n this.emit('request', this);\n\n // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n // We need null here if data is undefined\n xhr.send(typeof data !== 'undefined' ? data : null);\n return this;\n};\n\n\n/**\n * Expose `Request`.\n */\n\nrequest.Request = Request;\n\n/**\n * GET `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.get = function(url, data, fn){\n var req = request('GET', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.query(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * HEAD `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.head = function(url, data, fn){\n var req = request('HEAD', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * OPTIONS query to `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.options = function(url, data, fn){\n var req = request('OPTIONS', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * DELETE `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nfunction del(url, fn){\n var req = request('DELETE', url);\n if (fn) req.end(fn);\n return req;\n};\n\nrequest['del'] = del;\nrequest['delete'] = del;\n\n/**\n * PATCH `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} data\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.patch = function(url, data, fn){\n var req = request('PATCH', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * POST `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} data\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.post = function(url, data, fn){\n var req = request('POST', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * PUT `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.put = function(url, data, fn){\n var req = request('PUT', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n},{\"./is-object\":1,\"./request\":3,\"./request-base\":2,\"emitter\":4,\"reduce\":5}]},{},[6])(6)\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/superagent/superagent.js\n ** module id = 16\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/User', 'model/RestError', 'model/Token', 'model/Credential'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/User'), require('../model/RestError'), require('../model/Token'), require('../model/Credential'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.AuthApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.User, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Token, root.WebidaRestfulApi.Credential);\n }\n}(this, function(ApiClient, User, RestError, Token, Credential) {\n 'use strict';\n\n /**\n * Auth service.\n * @module api/AuthApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new AuthApi. \n * @alias module:api/AuthApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the getInfo operation.\n * @callback module:api/AuthApi~getInfoCallback\n * @param {String} error Error message, if any.\n * @param {module:model/User} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Gets user information of that can be identified with current access token. Implementations should provide a more restful api based on domain data model, not extending this operation. (e.g. GET,PUT and DELETE on /Users/{userId} to read, update and delete user) \n * @param {module:api/AuthApi~getInfoCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/User}\n */\n this.getInfo = function(callback) {\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = User;\n\n return this.apiClient.callApi(\n '/auth/info', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the issueToken operation.\n * @callback module:api/AuthApi~issueTokenCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Token} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates new token from current access token, inheriting workspace id & session id. The duration of generated token is (and should not be) parameterizable. Server should set proper duration, respecting \\"reconnect\\" period of socket.io clients. Remember that most of socket.io client implementations (including official js client) do not provide any ways to change connection parameters (header or query) while reconnecting to server. Like login API, this endpoint does not provide any encryption. Server should not set any data to harm security in the token & should provide some signinig/encryption mechanism to protect token. Simple JSON Web Token with HMAC-SHA will do. \n * @param {module:model/String} type \n * @param {Object} opts Optional parameters\n * @param {String} opts.workspaceId recommended to issue a MASTER type token to restrict remote access\n * @param {module:api/AuthApi~issueTokenCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Token}\n */\n this.issueToken = function(type, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'type' is set\n if (type == undefined || type == null) {\n throw \"Missing the required parameter 'type' when calling issueToken\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n 'type': type,\n 'workspaceId': opts['workspaceId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Token;\n\n return this.apiClient.callApi(\n '/auth/token', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the login operation.\n * @callback module:api/AuthApi~loginCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Token} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * A \\"VERY\\" basic authentication, required to use webida-simple-auth security scheme. Service / Product implementations who need better security, should override this operation or add their own login api or some other specs like OAuth2. Simple auth is not suitable for large-sacle, multi-tennant service, for the scheme assumes a single, trusted user only. Logging-in with master token, the generated access token inherits all restriction from it. On the other hand, normal log-in with login id & password creates an unrestricted access token, with reasonably short expiration time. Every client should spawn another access token with issueToken API before current access token expires, inheriting session id from current token. To save remote access info, client should create a (restricted but long-ttl) master token to start IDE from remote. The remote client should not use the unrestricted acccess token from login to use any other perpose than finding available workspaces, and should not refresh the token. (Let user log-in again) Login API does not force any encryption. Server should provide secure transport channel, usually https, to provide remote access, always. \n * @param {module:model/Credential} body \n * @param {module:api/AuthApi~loginCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Token}\n */\n this.login = function(body, callback) {\n var postBody = body;\n\n // verify the required parameter 'body' is set\n if (body == undefined || body == null) {\n throw \"Missing the required parameter 'body' when calling login\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = [];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Token;\n\n return this.apiClient.callApi(\n '/auth/login', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/AuthApi.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.OpsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError);\n }\n}(this, function(ApiClient, RestOK, RestError) {\n 'use strict';\n\n /**\n * Ops service.\n * @module api/OpsApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new OpsApi. \n * @alias module:api/OpsApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the replace operation.\n * @callback module:api/OpsApi~replaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * replace file contents with regex matching\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {Array.} wfsPathList array of wfsPath, with heading / (collection format may be changed by implementation)\n * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n * @param {String} replaceTo string to replace with\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n * @param {module:api/OpsApi~replaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.replace = function(wfsId, wfsPathList, pattern, replaceTo, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling replace\";\n }\n\n // verify the required parameter 'wfsPathList' is set\n if (wfsPathList == undefined || wfsPathList == null) {\n throw \"Missing the required parameter 'wfsPathList' when calling replace\";\n }\n\n // verify the required parameter 'pattern' is set\n if (pattern == undefined || pattern == null) {\n throw \"Missing the required parameter 'pattern' when calling replace\";\n }\n\n // verify the required parameter 'replaceTo' is set\n if (replaceTo == undefined || replaceTo == null) {\n throw \"Missing the required parameter 'replaceTo' when calling replace\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId\n };\n var queryParams = {\n 'wfsPathList': this.apiClient.buildCollectionParam(wfsPathList, 'multi'),\n 'pattern': pattern,\n 'replaceTo': replaceTo,\n 'ignoreCase': opts['ignoreCase']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/ops/replace', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the search operation.\n * @callback module:api/OpsApi~searchCallback\n * @param {String} error Error message, if any.\n * @param {Object.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * search files in some path, with given pattern\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n * @param {module:api/OpsApi~searchCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Object.}\n */\n this.search = function(wfsId, wfsPath, pattern, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling search\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling search\";\n }\n\n // verify the required parameter 'pattern' is set\n if (pattern == undefined || pattern == null) {\n throw \"Missing the required parameter 'pattern' when calling search\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'pattern': pattern,\n 'ignoreCase': opts['ignoreCase']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = {'String': [Match]};\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/ops/search/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/OpsApi.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestError', 'model/RemoteAccess', 'model/RestOK'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestError'), require('../model/RemoteAccess'), require('../model/RestOK'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RemotesApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.RemoteAccess, root.WebidaRestfulApi.RestOK);\n }\n}(this, function(ApiClient, RestError, RemoteAccess, RestOK) {\n 'use strict';\n\n /**\n * Remotes service.\n * @module api/RemotesApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new RemotesApi. \n * @alias module:api/RemotesApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the findRemoteAccesses operation.\n * @callback module:api/RemotesApi~findRemoteAccessesCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Get all access informations See RemoteWorkspaceAccess definition for details (no fancy find / search feature yet) \n * @param {module:api/RemotesApi~findRemoteAccessesCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findRemoteAccesses = function(callback) {\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [RemoteAccess];\n\n return this.apiClient.callApi(\n '/remotes', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the putRemoteAccess operation.\n * @callback module:api/RemotesApi~putRemoteAccessCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * create or update a remote workspace access information\n * @param {module:model/RemoteAccess} body \n * @param {module:api/RemotesApi~putRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.putRemoteAccess = function(body, callback) {\n var postBody = body;\n\n // verify the required parameter 'body' is set\n if (body == undefined || body == null) {\n throw \"Missing the required parameter 'body' when calling putRemoteAccess\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/remotes', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the removeRemoteAccess operation.\n * @callback module:api/RemotesApi~removeRemoteAccessCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RemoteAccess} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * delete a remote workspace\n * @param {String} workspaceId workspace Id of remote workspace\n * @param {module:api/RemotesApi~removeRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RemoteAccess}\n */\n this.removeRemoteAccess = function(workspaceId, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling removeRemoteAccess\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n 'workspaceId': workspaceId\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RemoteAccess;\n\n return this.apiClient.callApi(\n '/remotes', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/RemotesApi.js\n ** module id = 19\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError', 'model/Session'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Session'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.SessionApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Session);\n }\n}(this, function(ApiClient, RestOK, RestError, Session) {\n 'use strict';\n\n /**\n * Session service.\n * @module api/SessionApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new SessionApi. \n * @alias module:api/SessionApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the closeSession operation.\n * @callback module:api/SessionApi~closeSessionCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * close session with timeout\n * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n * @param {Integer} closeAfter waiting time before actual closing, to let client save files and prevent reconnect \n * @param {module:api/SessionApi~closeSessionCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.closeSession = function(sessionId, closeAfter, callback) {\n var postBody = null;\n\n // verify the required parameter 'sessionId' is set\n if (sessionId == undefined || sessionId == null) {\n throw \"Missing the required parameter 'sessionId' when calling closeSession\";\n }\n\n // verify the required parameter 'closeAfter' is set\n if (closeAfter == undefined || closeAfter == null) {\n throw \"Missing the required parameter 'closeAfter' when calling closeSession\";\n }\n\n\n var pathParams = {\n 'sessionId': sessionId\n };\n var queryParams = {\n 'closeAfter': closeAfter\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/sessions/{sessionId}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the findSessions operation.\n * @callback module:api/SessionApi~findSessionsCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get all / some webida sessions established to server\n * @param {Object} opts Optional parameters\n * @param {String} opts.workspaceId find only sessions working on some given workspace\n * @param {module:api/SessionApi~findSessionsCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findSessions = function(opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n 'workspaceId': opts['workspaceId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [Session];\n\n return this.apiClient.callApi(\n '/sessions', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the getSession operation.\n * @callback module:api/SessionApi~getSessionCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Session} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get a session object by id\n * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n * @param {module:api/SessionApi~getSessionCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Session}\n */\n this.getSession = function(sessionId, callback) {\n var postBody = null;\n\n // verify the required parameter 'sessionId' is set\n if (sessionId == undefined || sessionId == null) {\n throw \"Missing the required parameter 'sessionId' when calling getSession\";\n }\n\n\n var pathParams = {\n 'sessionId': sessionId\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Session;\n\n return this.apiClient.callApi(\n '/sessions/{sessionId}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/SessionApi.js\n ** module id = 20\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError', 'model/DirEntry', 'model/Stats'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/DirEntry'), require('../model/Stats'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.WfsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n }\n}(this, function(ApiClient, RestOK, RestError, DirEntry, Stats) {\n 'use strict';\n\n /**\n * Wfs service.\n * @module api/WfsApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new WfsApi. \n * @alias module:api/WfsApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the copy operation.\n * @callback module:api/WfsApi~copyCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates a copy of source to given path. Unlike cp command, wfsPath always denotes an exact path of the resource to be created. So, copying a file to directory always returns error and vice versa. this operation creates the parents dir of destination path always, and does not roll-back the creation when operation failed. So, clients should roll-back if needed. When destination path exists already, 1) copying file to file : follows noOverwrite flag. (does not return error) 2) copying file to dir : returns 409 error 3) copying dir to file : returns 409 error 4) copying dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {String} srcPath source data path of some operations, with have heading /\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n * @param {Boolean} opts.followSymbolicLinks dereference symlinks in source. (default to false)\n * @param {Boolean} opts.preserveTimestamps keep mtime/atime of source file(s) in destination. (default to false)\n * @param {module:api/WfsApi~copyCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.copy = function(wfsId, wfsPath, srcPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling copy\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling copy\";\n }\n\n // verify the required parameter 'srcPath' is set\n if (srcPath == undefined || srcPath == null) {\n throw \"Missing the required parameter 'srcPath' when calling copy\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'srcPath': srcPath,\n 'noOverwrite': opts['noOverwrite'],\n 'followSymbolicLinks': opts['followSymbolicLinks'],\n 'preserveTimestamps': opts['preserveTimestamps']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the createDir operation.\n * @callback module:api/WfsApi~createDirCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * create a directory at the path. returns error when wfsPath exists and not empty this API always creates parent directories if needed. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {module:api/WfsApi~createDirCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.createDir = function(wfsId, wfsPath, callback) {\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling createDir\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling createDir\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/dir/{wfsPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the dirTree operation.\n * @callback module:api/WfsApi~dirTreeCallback\n * @param {String} error Error message, if any.\n * @param {module:model/DirEntry} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * returns a directory tree of given path, for listing dir and managing file system errors while building sub-tree will be ignored and will not be included in result. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {Integer} maxDepth Maximum depth of tree. -1 to build a full tree, 0 to stat, 1 to plain list.\n * @param {module:api/WfsApi~dirTreeCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/DirEntry}\n */\n this.dirTree = function(wfsId, wfsPath, maxDepth, callback) {\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling dirTree\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling dirTree\";\n }\n\n // verify the required parameter 'maxDepth' is set\n if (maxDepth == undefined || maxDepth == null) {\n throw \"Missing the required parameter 'maxDepth' when calling dirTree\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'maxDepth': maxDepth\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = DirEntry;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/dir/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the move operation.\n * @callback module:api/WfsApi~moveCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Moves source resource to given path. Unlike mv command, wfsPath always denotes an exact path of the resource to be created. So, moving a file to existing directory always returns error and vice versa. (So, This API works like 'rename' rather than 'mv' command) Like copy(), this operation creates parent path of destination, and does not roll-back when operation failes. When destination path exists already, 1) moving file to file : follows noOverwrite flag. 2) moving file to dir : returns 409 error 3) moving dir to file : returns 409 error 4) moving dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {String} srcPath source data path of some operations, with have heading /\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n * @param {module:api/WfsApi~moveCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.move = function(wfsId, wfsPath, srcPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling move\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling move\";\n }\n\n // verify the required parameter 'srcPath' is set\n if (srcPath == undefined || srcPath == null) {\n throw \"Missing the required parameter 'srcPath' when calling move\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'srcPath': srcPath,\n 'noOverwrite': opts['noOverwrite']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the readFile operation.\n * @callback module:api/WfsApi~readFileCallback\n * @param {String} error Error message, if any.\n * @param {File} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * read file data on path\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {module:api/WfsApi~readFileCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {File}\n */\n this.readFile = function(wfsId, wfsPath, callback) {\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling readFile\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling readFile\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = File;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/file/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the remove operation.\n * @callback module:api/WfsApi~removeCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * delete file or directory\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.noRecursive if set, deleting non-empty directory will return 409 error. (default to false)\n * @param {module:api/WfsApi~removeCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.remove = function(wfsId, wfsPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling remove\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling remove\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'noRecursive': opts['noRecursive']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the stat operation.\n * @callback module:api/WfsApi~statCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Stats} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Get stats of given path. (stat() returns \\"stats\\" object in node and POSIX system) Since we've no ctime/atime in Stats class, some file system changing events will send 'exactly same' stats object. This API should be called only when stats of some file system path is stale for unknown reason (e.g. losting change events). Use dirTree operation and session events to detect stats, if possible. This API can be used to check a path is valid, existing one, but it's not recommended to check existence of individual paths by API. Clients should use dirTree and session events to synchorize some in-app file system with webida file system. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ignoreError flag to ignore stat errors to check existence only. If this flag is true, server will returns 'DUMMY' type stats object instead of 404 error when given path does not exists. (invalid wfsId will produce 400 error, not 404) (default to false)\n * @param {module:api/WfsApi~statCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Stats}\n */\n this.stat = function(wfsId, wfsPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling stat\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling stat\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'ignoreError': opts['ignoreError']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Stats;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the writeFile operation.\n * @callback module:api/WfsApi~writeFileCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates / updates file with body data. Server should write the file in 'atomic' manner, and should not write down request body into final destination path directly. In other words, wheather writeFile() succeeds or not, the contents of the file should not be corrupted nor half-written. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {File} data file contents to write.\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ensureParents A flag to create all parent directories to create file or dir, like mkdir -p. This parameter does not create entire path, but creates to 'parent directory' of the path. (default to false)\n * @param {module:api/WfsApi~writeFileCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.writeFile = function(wfsId, wfsPath, data, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling writeFile\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling writeFile\";\n }\n\n // verify the required parameter 'data' is set\n if (data == undefined || data == null) {\n throw \"Missing the required parameter 'data' when calling writeFile\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'ensureParents': opts['ensureParents']\n };\n var headerParams = {\n };\n var formParams = {\n 'data': data\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['multipart/form-data'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/file/{wfsPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/WfsApi.js\n ** module id = 21\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError', 'model/Workspace', 'model/ChildProcess', 'model/Execution', 'model/ExecutionResult'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Workspace'), require('../model/ChildProcess'), require('../model/Execution'), require('../model/ExecutionResult'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.WorkspaceApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Workspace, root.WebidaRestfulApi.ChildProcess, root.WebidaRestfulApi.Execution, root.WebidaRestfulApi.ExecutionResult);\n }\n}(this, function(ApiClient, RestOK, RestError, Workspace, ChildProcess, Execution, ExecutionResult) {\n 'use strict';\n\n /**\n * Workspace service.\n * @module api/WorkspaceApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new WorkspaceApi. \n * @alias module:api/WorkspaceApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the cancel operation.\n * @callback module:api/WorkspaceApi~cancelCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * cancels an execution, if possible. Killing process may not be graceful. requires proper access rights. if execId is not specified, this api does nothing. \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {Object} opts Optional parameters\n * @param {String} opts.execId the id of execution request(different from pid!)\n * @param {module:api/WorkspaceApi~cancelCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.cancel = function(workspaceId, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling cancel\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'execId': opts['execId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/exec', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the createWorkspace operation.\n * @callback module:api/WorkspaceApi~createWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates a new workspace with given local path. Requires an unrestricted access token. \n * @param {String} localPath a real, local path of the system (not unixified)\n * @param {String} name workspace name property\n * @param {String} description workspace name property\n * @param {module:api/WorkspaceApi~createWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.createWorkspace = function(localPath, name, description, callback) {\n var postBody = null;\n\n // verify the required parameter 'localPath' is set\n if (localPath == undefined || localPath == null) {\n throw \"Missing the required parameter 'localPath' when calling createWorkspace\";\n }\n\n // verify the required parameter 'name' is set\n if (name == undefined || name == null) {\n throw \"Missing the required parameter 'name' when calling createWorkspace\";\n }\n\n // verify the required parameter 'description' is set\n if (description == undefined || description == null) {\n throw \"Missing the required parameter 'description' when calling createWorkspace\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n 'localPath': localPath,\n 'name': name,\n 'description': description\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the exec operation.\n * @callback module:api/WorkspaceApi~execCallback\n * @param {String} error Error message, if any.\n * @param {module:model/ExecutionResult} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * execute a shell command on this workspace. requires proper access rights.\n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {module:model/Execution} body \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.async Spawn a child process for given command and returns the created child proc info. Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/async-{execId} (default to false)\n * @param {module:api/WorkspaceApi~execCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/ExecutionResult}\n */\n this.exec = function(workspaceId, body, opts, callback) {\n opts = opts || {};\n var postBody = body;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling exec\";\n }\n\n // verify the required parameter 'body' is set\n if (body == undefined || body == null) {\n throw \"Missing the required parameter 'body' when calling exec\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'async': opts['async']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = ExecutionResult;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/exec', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the findProcs operation.\n * @callback module:api/WorkspaceApi~findProcsCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Gets process info, created by async exec request, on this workspace. If execId is set, this op finds a spawned process whose id is matching. If not, all spawned procs will be found. This op does not returns error when no procs found but empty result array. This operation requires proper access rights. (unrestricted or matching workspace id in access token with parameter) \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {Object} opts Optional parameters\n * @param {String} opts.execId the id of execution request(different from pid!)\n * @param {module:api/WorkspaceApi~findProcsCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findProcs = function(workspaceId, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling findProcs\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'execId': opts['execId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = [];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [ChildProcess];\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/exec', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the findWorkspaces operation.\n * @callback module:api/WorkspaceApi~findWorkspacesCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Finds workspaces (no find/search parameters yet). Requires an unrestricted access token. \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.disposable include disposable workspaces or not (default to false)\n * @param {module:api/WorkspaceApi~findWorkspacesCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findWorkspaces = function(opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n 'disposable': opts['disposable']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [Workspace];\n\n return this.apiClient.callApi(\n '/workspaces', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the getWorkspace operation.\n * @callback module:api/WorkspaceApi~getWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get a workspace object by id\n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {module:api/WorkspaceApi~getWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.getWorkspace = function(workspaceId, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling getWorkspace\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the removeWorkspace operation.\n * @callback module:api/WorkspaceApi~removeWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * This operation will remove the requested workspace when 1) all sessions are closed for request (will be notified by server) 2) excedded time limit value in closeAfter parameter 3) server goes down after accepting remove request \\"willBeRemovedAt\\" property can be set \\"only\\" by this api. This API requires \\"unrestricted\\" access token. Even an access token has matching workspace id, removing an workspace is rejected. \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {Object} opts Optional parameters\n * @param {Integer} opts.closeAfter Time in seconds to wait for all sessions save & close their data. (default to 0)\n * @param {module:api/WorkspaceApi~removeWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.removeWorkspace = function(workspaceId, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling removeWorkspace\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'closeAfter': opts['closeAfter']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the updateWorkspace operation.\n * @callback module:api/WorkspaceApi~updateWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Updates workspace. Some protected properties will not be changed by this api. Requires proper access rights in access token. \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {module:api/WorkspaceApi~updateWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.updateWorkspace = function(workspaceId, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling updateWorkspace\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/WorkspaceApi.js\n ** module id = 22\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Match = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Match model module.\n * @module model/Match\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Match.\n * search result for a file\n * @alias module:model/Match\n * @class\n * @param line {Integer} \n * @param text {String} \n */\n var exports = function(line, text) {\n var _this = this;\n\n _this['line'] = line;\n _this['text'] = text;\n };\n\n /**\n * Constructs a Match from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Match} obj Optional instance to populate.\n * @return {module:model/Match} The populated Match instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('line')) {\n obj['line'] = ApiClient.convertToType(data['line'], 'Integer');\n }\n if (data.hasOwnProperty('text')) {\n obj['text'] = ApiClient.convertToType(data['text'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {Integer} line\n */\n exports.prototype['line'] = undefined;\n /**\n * @member {String} text\n */\n exports.prototype['text'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Match.js\n ** module id = 23\n ** module chunks = 0\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/api-spec/swagger.json b/api-spec/swagger.json index 86707c5..3223389 100644 --- a/api-spec/swagger.json +++ b/api-spec/swagger.json @@ -979,8 +979,8 @@ "/workspaces/{workspaceId}/exec" : { "get" : { "tags" : [ "workspace" ], - "description" : "get all spawned process info, created by exec api, on given workspace. set workspace id to\n\"*\" to all processes info. This operation requires proper access rights (unrestricted or\nmatching workspace id in access token with parameter)\n", - "operationId" : "getChildProcs", + "description" : "Gets process info, created by async exec request, on this workspace. If execId is set,\nthis op finds a spawned process whose id is matching. If not, all spawned procs will be\nfound. This op does not returns error when no procs found but empty result array.\n\nThis operation requires proper access rights. (unrestricted or matching workspace id in\naccess token with parameter)\n", + "operationId" : "findProcs", "parameters" : [ { "name" : "workspaceId", "in" : "path", @@ -988,16 +988,15 @@ "required" : true, "type" : "string" }, { - "name" : "includeExec", + "name" : "execId", "in" : "query", - "description" : "include processes created by synchronous exec request", + "description" : "the id of execution request(different from pid!)", "required" : false, - "type" : "boolean", - "default" : false + "type" : "string" } ], "responses" : { "200" : { - "description" : "execution result with all captured standard ouput and error", + "description" : "the child processes found. result does not include 'exited' procs.", "schema" : { "type" : "array", "items" : { @@ -1012,11 +1011,11 @@ } } }, - "x-handler" : "handlers/workspace/getChildProcs.js" + "x-handler" : "handlers/workspace/findProcs.js" }, "post" : { "tags" : [ "workspace" ], - "description" : "execute a shell command on this workspace", + "description" : "execute a shell command on this workspace. requires proper access rights.", "operationId" : "exec", "parameters" : [ { "name" : "workspaceId", @@ -1027,7 +1026,7 @@ }, { "name" : "async", "in" : "query", - "description" : "Spawn a child process for given command and returns a child process info only. ,\nActual output (stream of message) will be delivered to web socket channel, with\nroom id /sessions/asyn-{Execution#id}\n", + "description" : "Spawn a child process for given command and returns the created child proc info.\nActual output (stream of message) will be delivered to web socket channel, with\nroom id /sessions/async-{execId}\n", "required" : false, "type" : "boolean", "default" : false @@ -1041,13 +1040,13 @@ } ], "responses" : { "200" : { - "description" : "execution result with all captured standard ouput and error", + "description" : "Execution result with all captured standard ouput and error. If execution is completed\nwithout error, cancelesponse#error should be a falsy value. If some error has happened,\nthen ExecutionResult#error (and #stderr, optionally) should be set. For other cases\n(e.g. insufficient/invalid arguments), normal RestError should be returned with 4xx\nor 5xx error code. client-side callback should distinguish from execution error from\nplain RestError.\n", "schema" : { "$ref" : "#/definitions/ExecutionResult" } }, "201" : { - "description" : "spawned process infomation created by async execution", + "description" : "spawned process infomation created by async execution. If server could not create\na child process, error event will be sent to client via socket channel but RestError\nwill not be ruturned from this operation. When a client has got 'error' event from\nthe socket channel, the client should close the channel wheather it receives subsequent\nexit event or not (with some proper timeout if needed). Server should not send the\nerrors related to 'killing' child processes\n", "schema" : { "$ref" : "#/definitions/ChildProcess" } @@ -1066,7 +1065,7 @@ }, "delete" : { "tags" : [ "workspace" ], - "description" : "cancels an execution, if possible. Killing process may not be graceful.", + "description" : "cancels an execution, if possible. Killing process may not be graceful. requires proper\naccess rights. if execId is not specified, this api does nothing.\n", "operationId" : "cancel", "parameters" : [ { "name" : "workspaceId", @@ -1077,7 +1076,7 @@ }, { "name" : "execId", "in" : "query", - "description" : "the id of execution (different from pid!)", + "description" : "the id of execution request(different from pid!)", "required" : false, "type" : "string" } ], @@ -1099,118 +1098,6 @@ "webida-simple-auth" : [ ] } ] } - }, - "/workspaces/{workspaceId}/metadata/{objectPath}" : { - "get" : { - "tags" : [ "workspace" ], - "description" : "read a metadata file from a workspace.", - "operationId" : "readMetadata", - "parameters" : [ { - "name" : "workspaceId", - "in" : "path", - "description" : "webida workspace id (usually same to file system id, wfsId)", - "required" : true, - "type" : "string" - }, { - "name" : "objectPath", - "in" : "path", - "description" : "the path (filename without .json) of metadata, without heading /", - "required" : true, - "type" : "string" - } ], - "responses" : { - "200" : { - "description" : "the metadata file contents at given path", - "schema" : { - "type" : "file" - } - }, - "default" : { - "description" : "Error", - "schema" : { - "$ref" : "#/definitions/RestError" - } - } - }, - "x-handler" : "handlers/workspace/readMetadata.js" - }, - "put" : { - "tags" : [ "workspace" ], - "description" : "write a metadata file at given path. missing parents will be created.", - "operationId" : "writeMetadata", - "parameters" : [ { - "name" : "workspaceId", - "in" : "path", - "description" : "webida workspace id (usually same to file system id, wfsId)", - "required" : true, - "type" : "string" - }, { - "name" : "objectPath", - "in" : "path", - "description" : "the path (filename without .json) of metadata, without heading /", - "required" : true, - "type" : "string" - }, { - "name" : "data", - "in" : "formData", - "description" : "file contents to write.", - "required" : true, - "type" : "file" - } ], - "responses" : { - "200" : { - "description" : "OK. saved.", - "schema" : { - "$ref" : "#/definitions/RestOK" - } - }, - "default" : { - "description" : "Error", - "schema" : { - "$ref" : "#/definitions/RestError" - } - } - }, - "security" : [ { - "webida-simple-auth" : [ ] - } ], - "x-handler" : "handlers/workspace/writeMetadata.js" - }, - "delete" : { - "tags" : [ "workspace" ], - "description" : "delete metadata of given path", - "operationId" : "removeMetadata", - "parameters" : [ { - "name" : "workspaceId", - "in" : "path", - "description" : "webida workspace id (usually same to file system id, wfsId)", - "required" : true, - "type" : "string" - }, { - "name" : "objectPath", - "in" : "path", - "description" : "the path (filename without .json) of metadata, without heading /", - "required" : true, - "type" : "string" - } ], - "responses" : { - "200" : { - "description" : "OK. removed", - "schema" : { - "$ref" : "#/definitions/RestOK" - } - }, - "default" : { - "description" : "Error", - "schema" : { - "$ref" : "#/definitions/RestError" - } - } - }, - "security" : [ { - "webida-simple-auth" : [ ] - } ] - } } }, "securityDefinitions" : { @@ -1457,7 +1344,7 @@ }, "state" : { "type" : "string", - "description" : "state of this session\n\nNORMAL = connected, normally working\n\nLOSING = disconnected, waiting reconnection. still accessible with api\n\nCLOSING = socket connection will close connection by server (clinet will be notified)\n\nthere\"s no \"CLOSED\" / \"LOST\" state, for server will remove session object in registry\nwhen the server closes connection or stops waiting for reconnection for timeout.\n", + "description" : "state of this session\nNORMAL = connected, normally working\nLOSING = disconnected, waiting reconnection. still accessible with api\nCLOSING = socket connection will close connection by server (clinet will be notified)\nthere\"s no \"CLOSED\" / \"LOST\" state, for server will remove session object in registry\nwhen the server closes connection or stops waiting for reconnection for timeout.\n", "enum" : [ "NORMAL", "LOSING", "CLOSING" ] }, "workspaceId" : { @@ -1497,41 +1384,41 @@ "properties" : { "id" : { "type" : "string", - "description" : "unique identifier of execution, to demux response stream or cancel request.\nasync exec request should have id, always. For synchronous execution, missing\nid will be generated by server with random string & timestamp.\n" + "description" : "unique identifier of execution, to demux response stream or cancel request.\nServer should reject an async exec request without id.\n" }, "command" : { "type" : "string", - "description" : "command to run. should not contain any arguments, pipes, redirections\n" + "description" : "The command to run. Server may not support pipe, redirection nor shell variables in\ncommand. Client should not assume any 'specific shell' in server and should not\nusing the shell features for portability.\n\nIn windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually\na shell script in PATH may work as command but probably allocates console window while\nrunning the command. Implementations (both of server & client) should avoid allocating\nadditional console device while running service for costs and UX, and should provide\na portable way to invoke commands. Shortly, when a service/product embeds some\n'.sh' file to run, it must provide '.cmd' file doing same thing, always.\n" }, "args" : { "type" : "array", - "description" : "the arguments array", + "description" : "the arguments array. Server can join this args to command with proper white-space char,\nwhen underlying platform api (e.g. child_process#exec() in node.js) does not support\nadditional arguments vector. It's recommended to use args vector than making a long\ncommand, to find & see child processes easily with this Rest API. So, args should be\nalways provided, even empty array.\n\nWhen some arguments has a white space (e.g. C:\\Program Files\\webida), usually invoking\ncommand understands escaping or quotation, but not always. Client should add proper\nescaping or quotation chars to args vector manually. server should not change any\ncommand or arguments.\n", "items" : { "type" : "string" } }, "cwd" : { "type" : "string", - "description" : "Current working directory of spawned process, relative to workspace root. If abscent,\ncwd will be the workspace root directory. Does not accept any evaluatable form like\n$HOME, %USERPROFILE%. As wfs operations, path should be unixified. But, unlikely,\nwhile the wfs operations cut heading \"/\" in path with URI normlization, this operation\ndoes not convert path to relateive and returns error for the argument.\n" - }, - "input" : { - "type" : "string", - "description" : "input string for child process. if falsy, no input will be available to child.\n(interactive execution via websocket is not supported for most of such processes\n requires tty, not standard i/o)\n" + "description" : "Current working directory of spawned process, relative to workspace root. If abscent,\ncwd will be the workspace directory. Does not accept any evaluatable form like\n$HOME, %USERPROFILE%. path should be unixified. Server may reject an 'absolute'\nproperty.\n" }, "timeout" : { "type" : "integer", - "description" : "The value which In \"milliseconds\" the maximum amount of time the child is allowed\nto run. (not idle time of stdout / stderr stream) if undefined, server sets default\ntimeout value 5 min to synchronous execution requests. If request specifies async\nexecution and sets this value to falsy, server should not kill the child process until\n 1) The process exists by self\n 2) cancel operation is invoked by api request\n 3) The workspace executing the process is removed by api request\n 4) Server Stops\nTerminiating any \"too-long-lived\" child process are not graceful, as cancel() is.\n" + "description" : "The value which In 'miliseconds' the maximum amount of time the child is allowed\nto run. (not idle time of stdout / stderr stream) for sync exec. Server should not\napply default value for async exec, when omitted. The child process spawned by async\nexecution should be killed when\n 1) server goes down\n 2) process exits by self\n 3) cancel operation is invoked\n" + }, + "maxBuffer" : { + "type" : "integer", + "description" : "Largest amount of data (in bytes) allowed on stdout or stderr for sync exec. Server\nshould not apply this limit to async execution. In sync exec, server may kill a\nchild process that has exceeded limit. default value is 512KB, large enough.\n" } }, - "description" : "execution request, simlilar to node.js spawn(). see node.js documentation for\ndetails of each properties. some properties are not configurable for portability\n - encoding : fixed to utf-8\n - shell : fixed to system default. Using shell variables in command may not work.\n - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or\n invoke taskkill to ensure chlid process is killed.\n - uid & gid : will not be set for security\n - stdio : all streams are handled by server. no options are avaliable to client.\n - shell : always false.\n - detached : always false\n" + "description" : "execution request, simlilar to node.js exec()/spawn(). see node.js documentation for\ndetails of each properties. some properties are not configurable for portability\n - encoding : fixed to utf-8\n - shell : fixed to system defaults. (so, cmd.exe will be invoked in Windows OS, not sh\n or bash in git-for-windows even they are available.)\n - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or\n invoke taskkill, to ensure chlid process is killed.\n - uid & gid : will not be set for security\n - stdio : all streams are handled by server. no options are avaliable to client.\n - detached : always false\n" }, "ExecutionResult" : { "type" : "object", - "required" : [ "exitCode", "stderr", "stdout" ], + "required" : [ "stderr", "stdout" ], "properties" : { - "exitCode" : { - "type" : "integer", - "description" : "exit code of child process." + "error" : { + "type" : "string", + "description" : "error message when execution failed." }, "stdout" : { "type" : "string", @@ -1546,7 +1433,7 @@ }, "ChildProcess" : { "type" : "object", - "required" : [ "args", "background", "command", "executionId", "pid", "startedAt" ], + "required" : [ "args", "command", "execId", "pid", "startedAt", "state" ], "properties" : { "pid" : { "type" : "integer", @@ -1554,33 +1441,39 @@ }, "command" : { "type" : "string", - "description" : "the execution command in Execution request" + "description" : "execution command in execution request" }, "args" : { "type" : "array", - "description" : "arguments of the command in Execution request", + "description" : "arguments of command in execution request", "items" : { "type" : "string" } }, - "executionId" : { + "execId" : { "type" : "string", - "description" : "execution id from Execution request" + "description" : "execution id from execution request" + }, + "state" : { + "type" : "string", + "description" : "state of process. Where\n CREATED - process is just created. no event has arrived yet\n WORKING - some output on stdout/stderr is arrived\n KILLING - sent kill signal, by cancel operation or error event from the process\n EXITED - process has exited.\n", + "enum" : [ "CREATED", "WORKING", "KILLING", "EXITED" ] }, "startedAt" : { "type" : "string", "format" : "date-time", "description" : "the time when this process is spawned" }, - "background" : { - "type" : "array", - "description" : "true when this process is spawned by asynchronous exec request or some other ways to\nspawn processes in server. fasle when this process is spawened with plain, synchronous\nexecution request.\n", - "items" : { - "type" : "string" - } + "exitCode" : { + "type" : "integer", + "description" : "the exit code of child process. available with EXITED procs only." + }, + "exitSignal" : { + "type" : "string", + "description" : "the signal that killed this child process.(not always available)" } }, - "description" : "a process in execution" + "description" : "a process in execution, spawned by async exec or other mean" } }, "parameters" : { @@ -1655,11 +1548,11 @@ "required" : true, "type" : "string" }, - "objectPath" : { - "name" : "objectPath", - "in" : "path", - "description" : "the path (filename without .json) of metadata, without heading /", - "required" : true, + "execId" : { + "name" : "execId", + "in" : "query", + "description" : "the id of execution request(different from pid!)", + "required" : false, "type" : "string" }, "sessionId" : { diff --git a/api-spec/swagger.yaml b/api-spec/swagger.yaml index 7d2e9df..d9063d0 100644 --- a/api-spec/swagger.yaml +++ b/api-spec/swagger.yaml @@ -642,24 +642,22 @@ paths: #getChildProcs get: - x-handler: handlers/workspace/getChildProcs.js + x-handler: handlers/workspace/findProcs.js tags: ["workspace"] description: | - get all spawned process info, created by exec api, on given workspace. set workspace id to - "*" to all processes info. This operation requires proper access rights (unrestricted or - matching workspace id in access token with parameter) - operationId: getChildProcs + Gets process info, created by async exec request, on this workspace. If execId is set, + this op finds a spawned process whose id is matching. If not, all spawned procs will be + found. This op does not returns error when no procs found but empty result array. + + This operation requires proper access rights. (unrestricted or matching workspace id in + access token with parameter) + operationId: findProcs parameters: - $ref: "#/parameters/workspaceId" - - name: includeExec - in: query - description: include processes created by synchronous exec request - type: boolean - required: false - default: false + - $ref: "#/parameters/execId" responses: "200": - description: execution result with all captured standard ouput and error + description: the child processes found. result does not include 'exited' procs. schema: type: array items: @@ -673,7 +671,7 @@ paths: post: x-handler: handlers/workspace/exec.js tags: ["workspace"] - description: execute a shell command on this workspace + description: execute a shell command on this workspace. requires proper access rights. operationId: exec security: - webida-simple-auth: [] @@ -682,9 +680,9 @@ paths: - name: async in: query description: | - Spawn a child process for given command and returns a child process info only. , + Spawn a child process for given command and returns the created child proc info. Actual output (stream of message) will be delivered to web socket channel, with - room id /sessions/asyn-{Execution#id} + room id /sessions/async-{execId} type: boolean required: false default: false @@ -695,13 +693,25 @@ paths: $ref: "#/definitions/Execution" responses: "200": - description: execution result with all captured standard ouput and error + description: | + Execution result with all captured standard ouput and error. If execution is completed + without error, cancelesponse#error should be a falsy value. If some error has happened, + then ExecutionResult#error (and #stderr, optionally) should be set. For other cases + (e.g. insufficient/invalid arguments), normal RestError should be returned with 4xx + or 5xx error code. client-side callback should distinguish from execution error from + plain RestError. schema: $ref: "#/definitions/ExecutionResult" "201": - description: spawned process infomation created by async execution - schema: - $ref: "#/definitions/ChildProcess" + description: | + spawned process infomation created by async execution. If server could not create + a child process, error event will be sent to client via socket channel but RestError + will not be ruturned from this operation. When a client has got 'error' event from + the socket channel, the client should close the channel wheather it receives subsequent + exit event or not (with some proper timeout if needed). Server should not send the + errors related to 'killing' child processes + schema: + $ref: '#/definitions/ChildProcess' default: description: Error schema: @@ -710,17 +720,15 @@ paths: #cancel delete: tags: ["workspace"] - description: cancels an execution, if possible. Killing process may not be graceful. + description: | + cancels an execution, if possible. Killing process may not be graceful. requires proper + access rights. if execId is not specified, this api does nothing. operationId: cancel security: - webida-simple-auth: [] parameters: - $ref: "#/parameters/workspaceId" - - name: execId - in: query - description: the id of execution (different from pid!) - type: string - required: false + - $ref: "#/parameters/execId" responses: "200": description: OK @@ -731,72 +739,6 @@ paths: schema: $ref: "#/definitions/RestError" - /workspaces/{workspaceId}/metadata/{objectPath}: - #readMetadata - get: - x-handler: handlers/workspace/readMetadata.js - tags: ["workspace"] - description: read a metadata file from a workspace. - operationId: readMetadata - parameters: - - $ref: "#/parameters/workspaceId" - - $ref: "#/parameters/objectPath" - responses: - "200": - description: the metadata file contents at given path - schema: - type: file - default: - description: Error - schema: - $ref: "#/definitions/RestError" - - #putMetadata - put: - x-handler: handlers/workspace/writeMetadata.js - tags: ["workspace"] - description: write a metadata file at given path. missing parents will be created. - operationId: writeMetadata - security: - - webida-simple-auth: [] - parameters: - - $ref: "#/parameters/workspaceId" - - $ref: "#/parameters/objectPath" - - name: data - in: formData - required: true - description: file contents to write. - type: file - responses: - "200": - description: OK. saved. - schema: - $ref: "#/definitions/RestOK" - default: - description: Error - schema: - $ref: "#/definitions/RestError" - - #removeMetadata - delete: - tags: ["workspace"] - description: delete metadata of given path - operationId: removeMetadata - security: - - webida-simple-auth: [] - parameters: - - $ref: "#/parameters/workspaceId" - - $ref: "#/parameters/objectPath" - responses: - "200": - description: OK. removed - schema: - $ref: "#/definitions/RestOK" - default: - description: Error - schema: - $ref: "#/definitions/RestError" - # # remote-access # GET : get all remote workspaces" access info, registered to local server @@ -898,9 +840,9 @@ paths: schema: $ref: "#/definitions/RestError" - # We dont define method POST here, for all sessions are made from web socket connections. - # And, we should separate ws connection end-point from API, for some servers will - # not host web socket in api implementation + # We dont define method POST here, for all sessions are made from web socket connections. + # And, we should separate ws connection end-point from API, for some servers may not be + # able to host web socket in api implementation. /sessions/{sessionId}: get: @@ -1033,12 +975,12 @@ parameters: required: true type: string - objectPath: - name: objectPath - in: path - description: the path (filename without .json) of metadata, without heading / - required: true + execId: + name: execId + in: query + description: the id of execution request(different from pid!) type: string + required: false sessionId: name: sessionId @@ -1047,7 +989,6 @@ parameters: required: true type: string - definitions: RestOK: @@ -1339,13 +1280,9 @@ definitions: state: description: | state of this session - NORMAL = connected, normally working - LOSING = disconnected, waiting reconnection. still accessible with api - CLOSING = socket connection will close connection by server (clinet will be notified) - there"s no "CLOSED" / "LOST" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. type: string @@ -1389,69 +1326,87 @@ definitions: Execution: type: object description: | - execution request, simlilar to node.js spawn(). see node.js documentation for + execution request, simlilar to node.js exec()/spawn(). see node.js documentation for details of each properties. some properties are not configurable for portability - encoding : fixed to utf-8 - - shell : fixed to system default. Using shell variables in command may not work. + - shell : fixed to system defaults. (so, cmd.exe will be invoked in Windows OS, not sh + or bash in git-for-windows even they are available.) - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or - invoke taskkill to ensure chlid process is killed. + invoke taskkill, to ensure chlid process is killed. - uid & gid : will not be set for security - stdio : all streams are handled by server. no options are avaliable to client. - - shell : always false. - detached : always false properties: id: description: | unique identifier of execution, to demux response stream or cancel request. - async exec request should have id, always. For synchronous execution, missing - id will be generated by server with random string & timestamp. + Server should reject an async exec request without id. type: string command: description: | - command to run. should not contain any arguments, pipes, redirections + The command to run. Server may not support pipe, redirection nor shell variables in + command. Client should not assume any 'specific shell' in server and should not + using the shell features for portability. + + In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually + a shell script in PATH may work as command but probably allocates console window while + running the command. Implementations (both of server & client) should avoid allocating + additional console device while running service for costs and UX, and should provide + a portable way to invoke commands. Shortly, when a service/product embeds some + '.sh' file to run, it must provide '.cmd' file doing same thing, always. type: string args: - description: the arguments array + description: | + the arguments array. Server can join this args to command with proper white-space char, + when underlying platform api (e.g. child_process#exec() in node.js) does not support + additional arguments vector. It's recommended to use args vector than making a long + command, to find & see child processes easily with this Rest API. So, args should be + always provided, even empty array. + + When some arguments has a white space (e.g. C:\Program Files\webida), usually invoking + command understands escaping or quotation, but not always. Client should add proper + escaping or quotation chars to args vector manually. server should not change any + command or arguments. type: array items: type: string cwd: description: | Current working directory of spawned process, relative to workspace root. If abscent, - cwd will be the workspace root directory. Does not accept any evaluatable form like - $HOME, %USERPROFILE%. As wfs operations, path should be unixified. But, unlikely, - while the wfs operations cut heading "/" in path with URI normlization, this operation - does not convert path to relateive and returns error for the argument. - type: string - input: - description: | - input string for child process. if falsy, no input will be available to child. - (interactive execution via websocket is not supported for most of such processes - requires tty, not standard i/o) + cwd will be the workspace directory. Does not accept any evaluatable form like + $HOME, %USERPROFILE%. path should be unixified. Server may reject an 'absolute' + property. type: string timeout: description: | - The value which In "milliseconds" the maximum amount of time the child is allowed - to run. (not idle time of stdout / stderr stream) if undefined, server sets default - timeout value 5 min to synchronous execution requests. If request specifies async - execution and sets this value to falsy, server should not kill the child process until - 1) The process exists by self - 2) cancel operation is invoked by api request - 3) The workspace executing the process is removed by api request - 4) Server Stops - Terminiating any "too-long-lived" child process are not graceful, as cancel() is. + The value which In 'miliseconds' the maximum amount of time the child is allowed + to run. (not idle time of stdout / stderr stream) for sync exec. Server should not + apply default value for async exec, when omitted. The child process spawned by async + execution should be killed when + 1) server goes down + 2) process exits by self + 3) cancel operation is invoked + type: integer + default: 60000 + maxBuffer: + description: | + Largest amount of data (in bytes) allowed on stdout or stderr for sync exec. Server + should not apply this limit to async execution. In sync exec, server may kill a + child process that has exceeded limit. default value is 512KB, large enough. type: integer + default: 524288 required: - command - args + ExecutionResult: type: object description: execution response properties: - exitCode: - description: exit code of child process. - type: integer + error: + description: error message when execution failed. + type: string stdout: description: standard out of child process. type: string @@ -1459,58 +1414,54 @@ definitions: description: standard error of child process. type: string required: - - exitCode - stdout - stderr ChildProcess: type: object - description: a process in execution + description: a process in execution, spawned by async exec or other mean properties: pid: description: child process pid type: integer command: - description: the execution command in Execution request + description: execution command in execution request type: string args: - description: arguments of the command in Execution request + description: arguments of command in execution request type: array items: type: string - executionId: - description: execution id from Execution request + execId: + description: execution id from execution request + type: string + state: + description: | + state of process. Where + CREATED - process is just created. no event has arrived yet + WORKING - some output on stdout/stderr is arrived + KILLING - sent kill signal, by cancel operation or error event from the process + EXITED - process has exited. type: string + enum: + - CREATED + - WORKING + - KILLING + - EXITED startedAt: description: the time when this process is spawned type: string format: date-time - background: - description: | - true when this process is spawned by asynchronous exec request or some other ways to - spawn processes in server. fasle when this process is spawened with plain, synchronous - execution request. - type: array - items: - type: string + exitCode: + description: the exit code of child process. available with EXITED procs only. + type: integer + exitSignal: + description: the signal that killed this child process.(not always available) + type: string required: - pid - command - args - - executionId - - startedAt - - background - - # BulkOperationResponse: (pending for next release, 1.1) - # type: object - # description: | - # A map of errors from input list value when some of them failed. Ususally, - # If all of inputs succeeds, then the op. response will have status 200 - # If any of inputs succeeds, then the op. response will have status 207 - # If none of inputs succeeds, then the op. response will have status 207, too. - # This object does not contains any entries that is completed without error. - # In other words, map contains only errors. When status code is 200, result map will be empty. - # So, any "single" operation contained in bulk operatino should have 200 - RESTOK - # for successful result. no other complex data types are allowed. - # additionalProperties: - # type: object + - execId + - state + - startedAt \ No newline at end of file diff --git a/builder/templates/package.mustache b/builder/templates/package.mustache index 51a4c27..6f86d65 100644 --- a/builder/templates/package.mustache +++ b/builder/templates/package.mustache @@ -1,6 +1,6 @@ { "name": "webida-restful-api", - "version": "0.4.1", + "version": "0.5.0", "description": "Webida Restful API Spec & generated clients", "license": "Apache-2.0", "main": "{{sourceFolder}}{{#invokerPackage}}/{{invokerPackage}}{{/invokerPackage}}/index.js", diff --git a/docs/ChildProcess.md b/docs/ChildProcess.md index a950cf8..58e090e 100644 --- a/docs/ChildProcess.md +++ b/docs/ChildProcess.md @@ -4,10 +4,27 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **pid** | **Integer** | child process pid | -**command** | **String** | the execution command in Execution request | -**args** | **[String]** | arguments of the command in Execution request | -**executionId** | **String** | execution id from Execution request | +**command** | **String** | execution command in execution request | +**args** | **[String]** | arguments of command in execution request | +**execId** | **String** | execution id from execution request | +**state** | **String** | state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. | **startedAt** | **Date** | the time when this process is spawned | -**background** | **[String]** | true when this process is spawned by asynchronous exec request or some other ways to spawn processes in server. fasle when this process is spawened with plain, synchronous execution request. | +**exitCode** | **Integer** | the exit code of child process. available with EXITED procs only. | [optional] +**exitSignal** | **String** | the signal that killed this child process.(not always available) | [optional] + + + +## Enum: StateEnum + + +* `CREATED` (value: `"CREATED"`) + +* `WORKING` (value: `"WORKING"`) + +* `KILLING` (value: `"KILLING"`) + +* `EXITED` (value: `"EXITED"`) + + diff --git a/docs/Execution.md b/docs/Execution.md index 133f13d..849999d 100644 --- a/docs/Execution.md +++ b/docs/Execution.md @@ -3,11 +3,11 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**id** | **String** | unique identifier of execution, to demux response stream or cancel request. async exec request should have id, always. For synchronous execution, missing id will be generated by server with random string & timestamp. | [optional] -**command** | **String** | command to run. should not contain any arguments, pipes, redirections | -**args** | **[String]** | the arguments array | -**cwd** | **String** | Current working directory of spawned process, relative to workspace root. If abscent, cwd will be the workspace root directory. Does not accept any evaluatable form like $HOME, %USERPROFILE%. As wfs operations, path should be unixified. But, unlikely, while the wfs operations cut heading \"/\" in path with URI normlization, this operation does not convert path to relateive and returns error for the argument. | [optional] -**input** | **String** | input string for child process. if falsy, no input will be available to child. (interactive execution via websocket is not supported for most of such processes requires tty, not standard i/o) | [optional] -**timeout** | **Integer** | The value which In \"milliseconds\" the maximum amount of time the child is allowed to run. (not idle time of stdout / stderr stream) if undefined, server sets default timeout value 5 min to synchronous execution requests. If request specifies async execution and sets this value to falsy, server should not kill the child process until 1) The process exists by self 2) cancel operation is invoked by api request 3) The workspace executing the process is removed by api request 4) Server Stops Terminiating any \"too-long-lived\" child process are not graceful, as cancel() is. | [optional] +**id** | **String** | unique identifier of execution, to demux response stream or cancel request. Server should reject an async exec request without id. | [optional] +**command** | **String** | The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. | +**args** | **[String]** | the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\Program Files\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. | +**cwd** | **String** | Current working directory of spawned process, relative to workspace root. If abscent, cwd will be the workspace directory. Does not accept any evaluatable form like $HOME, %USERPROFILE%. path should be unixified. Server may reject an 'absolute' property. | [optional] +**timeout** | **Integer** | The value which In 'miliseconds' the maximum amount of time the child is allowed to run. (not idle time of stdout / stderr stream) for sync exec. Server should not apply default value for async exec, when omitted. The child process spawned by async execution should be killed when 1) server goes down 2) process exits by self 3) cancel operation is invoked | [optional] +**maxBuffer** | **Integer** | Largest amount of data (in bytes) allowed on stdout or stderr for sync exec. Server should not apply this limit to async execution. In sync exec, server may kill a child process that has exceeded limit. default value is 512KB, large enough. | [optional] diff --git a/docs/ExecutionResult.md b/docs/ExecutionResult.md index 4a6ba96..6114bd7 100644 --- a/docs/ExecutionResult.md +++ b/docs/ExecutionResult.md @@ -3,7 +3,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**exitCode** | **Integer** | exit code of child process. | +**error** | **String** | error message when execution failed. | [optional] **stdout** | **String** | standard out of child process. | **stderr** | **String** | standard error of child process. | diff --git a/docs/Session.md b/docs/Session.md index 02e8bda..e6029ba 100644 --- a/docs/Session.md +++ b/docs/Session.md @@ -5,7 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **String** | the id of a session. usually same to socket id. | **name** | **String** | human readable name, usually derived from workspace name. | -**state** | **String** | state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\"s no \"CLOSED\" / \"LOST\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. | +**state** | **String** | state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\"s no \"CLOSED\" / \"LOST\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. | **workspaceId** | **String** | the id of workspace that this sessions is working on. If falsy, then this session is not belonged to any workpsace. Usually, dashboard / monitoring app will create a session without workspace id. | [optional] **clientAddress** | **String** | the peer address of session connection. not always | **connectedAt** | **Date** | the time when socket connection is established | diff --git a/docs/WorkspaceApi.md b/docs/WorkspaceApi.md index 34932c6..d1c7dfa 100644 --- a/docs/WorkspaceApi.md +++ b/docs/WorkspaceApi.md @@ -7,23 +7,20 @@ Method | HTTP request | Description [**cancel**](WorkspaceApi.md#cancel) | **DELETE** /workspaces/{workspaceId}/exec | [**createWorkspace**](WorkspaceApi.md#createWorkspace) | **POST** /workspaces | [**exec**](WorkspaceApi.md#exec) | **POST** /workspaces/{workspaceId}/exec | +[**findProcs**](WorkspaceApi.md#findProcs) | **GET** /workspaces/{workspaceId}/exec | [**findWorkspaces**](WorkspaceApi.md#findWorkspaces) | **GET** /workspaces | -[**getChildProcs**](WorkspaceApi.md#getChildProcs) | **GET** /workspaces/{workspaceId}/exec | [**getWorkspace**](WorkspaceApi.md#getWorkspace) | **GET** /workspaces/{workspaceId} | -[**readMetadata**](WorkspaceApi.md#readMetadata) | **GET** /workspaces/{workspaceId}/metadata/{objectPath} | -[**removeMetadata**](WorkspaceApi.md#removeMetadata) | **DELETE** /workspaces/{workspaceId}/metadata/{objectPath} | [**removeWorkspace**](WorkspaceApi.md#removeWorkspace) | **DELETE** /workspaces/{workspaceId} | [**updateWorkspace**](WorkspaceApi.md#updateWorkspace) | **PUT** /workspaces/{workspaceId} | -[**writeMetadata**](WorkspaceApi.md#writeMetadata) | **PUT** /workspaces/{workspaceId}/metadata/{objectPath} | # **cancel** -> RestOK cancel(workspaceId, , opts) +> RestOK cancel(workspaceId, opts) -cancels an execution, if possible. Killing process may not be graceful. +cancels an execution, if possible. Killing process may not be graceful. requires proper access rights. if execId is not specified, this api does nothing. ### Example ```javascript @@ -41,7 +38,7 @@ var apiInstance = new WebidaRestfulApi.WorkspaceApi(); var workspaceId = "workspaceId_example"; // String | webida workspace id (usually same to file system id, wfsId) var opts = { - 'execId': "execId_example" // String | the id of execution (different from pid!) + 'execId': "execId_example" // String | the id of execution request(different from pid!) }; var callback = function(error, data, response) { @@ -51,7 +48,7 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -apiInstance.cancel(workspaceId, , opts, callback); +apiInstance.cancel(workspaceId, opts, callback); ``` ### Parameters @@ -59,7 +56,7 @@ apiInstance.cancel(workspaceId, , opts, callback); Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspaceId** | **String**| webida workspace id (usually same to file system id, wfsId) | - **execId** | **String**| the id of execution (different from pid!) | [optional] + **execId** | **String**| the id of execution request(different from pid!) | [optional] ### Return type @@ -135,11 +132,11 @@ Name | Type | Description | Notes # **exec** -> ExecutionResult exec(workspaceId, body, opts) +> ExecutionResult exec(workspaceIdbody, opts) -execute a shell command on this workspace +execute a shell command on this workspace. requires proper access rights. ### Example ```javascript @@ -159,7 +156,7 @@ var workspaceId = "workspaceId_example"; // String | webida workspace id (usuall var body = new WebidaRestfulApi.Execution(); // Execution | var opts = { - 'async': false // Boolean | Spawn a child process for given command and returns a child process info only. , Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/asyn-{Execution#id} + 'async': false // Boolean | Spawn a child process for given command and returns the created child proc info. Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/async-{execId} }; var callback = function(error, data, response) { @@ -169,7 +166,7 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -apiInstance.exec(workspaceId, body, opts, callback); +apiInstance.exec(workspaceIdbody, opts, callback); ``` ### Parameters @@ -178,7 +175,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspaceId** | **String**| webida workspace id (usually same to file system id, wfsId) | **body** | [**Execution**](Execution.md)| | - **async** | **Boolean**| Spawn a child process for given command and returns a child process info only. , Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/asyn-{Execution#id} | [optional] [default to false] + **async** | **Boolean**| Spawn a child process for given command and returns the created child proc info. Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/async-{execId} | [optional] [default to false] ### Return type @@ -193,67 +190,13 @@ Name | Type | Description | Notes - **Content-Type**: application/json - **Accept**: application/json, application/octet-stream - -# **findWorkspaces** -> [Workspace] findWorkspaces(opts) - - - -Finds workspaces (no find/search parameters yet). Requires an unrestricted access token. - -### Example -```javascript -var WebidaRestfulApi = require('webida_restful_api'); -var defaultClient = WebidaRestfulApi.ApiClient.default; - -// Configure API key authorization: webida-simple-auth -var webida-simple-auth = defaultClient.authentications['webida-simple-auth']; -webida-simple-auth.apiKey = 'YOUR API KEY'; -// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) -//webida-simple-auth.apiKeyPrefix = 'Token'; - -var apiInstance = new WebidaRestfulApi.WorkspaceApi(); - -var opts = { - 'disposable': false // Boolean | include disposable workspaces or not -}; - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.findWorkspaces(opts, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **disposable** | **Boolean**| include disposable workspaces or not | [optional] [default to false] - -### Return type + +# **findProcs** +> [ChildProcess] findProcs(workspaceId, opts) -[**[Workspace]**](Workspace.md) - -### Authorization - -[webida-simple-auth](../README.md#webida-simple-auth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json, application/octet-stream - - -# **getChildProcs** -> [ChildProcess] getChildProcs(workspaceId, , opts) - -get all spawned process info, created by exec api, on given workspace. set workspace id to \"*\" to all processes info. This operation requires proper access rights (unrestricted or matching workspace id in access token with parameter) +Gets process info, created by async exec request, on this workspace. If execId is set, this op finds a spawned process whose id is matching. If not, all spawned procs will be found. This op does not returns error when no procs found but empty result array. This operation requires proper access rights. (unrestricted or matching workspace id in access token with parameter) ### Example ```javascript @@ -264,7 +207,7 @@ var apiInstance = new WebidaRestfulApi.WorkspaceApi(); var workspaceId = "workspaceId_example"; // String | webida workspace id (usually same to file system id, wfsId) var opts = { - 'includeExec': false // Boolean | include processes created by synchronous exec request + 'execId': "execId_example" // String | the id of execution request(different from pid!) }; var callback = function(error, data, response) { @@ -274,7 +217,7 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -apiInstance.getChildProcs(workspaceId, , opts, callback); +apiInstance.findProcs(workspaceId, opts, callback); ``` ### Parameters @@ -282,7 +225,7 @@ apiInstance.getChildProcs(workspaceId, , opts, callback); Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspaceId** | **String**| webida workspace id (usually same to file system id, wfsId) | - **includeExec** | **Boolean**| include processes created by synchronous exec request | [optional] [default to false] + **execId** | **String**| the id of execution request(different from pid!) | [optional] ### Return type @@ -297,13 +240,13 @@ No authorization required - **Content-Type**: application/json - **Accept**: application/json, application/octet-stream - -# **getWorkspace** -> Workspace getWorkspace(workspaceId, ) + +# **findWorkspaces** +> [Workspace] findWorkspaces(opts) -get a workspace object by id +Finds workspaces (no find/search parameters yet). Requires an unrestricted access token. ### Example ```javascript @@ -318,56 +261,9 @@ webida-simple-auth.apiKey = 'YOUR API KEY'; var apiInstance = new WebidaRestfulApi.WorkspaceApi(); -var workspaceId = "workspaceId_example"; // String | webida workspace id (usually same to file system id, wfsId) - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } +var opts = { + 'disposable': false // Boolean | include disposable workspaces or not }; -apiInstance.getWorkspace(workspaceId, , callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **workspaceId** | **String**| webida workspace id (usually same to file system id, wfsId) | - -### Return type - -[**Workspace**](Workspace.md) - -### Authorization - -[webida-simple-auth](../README.md#webida-simple-auth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json, application/octet-stream - - -# **readMetadata** -> File readMetadata(workspaceId, objectPath) - - - -read a metadata file from a workspace. - -### Example -```javascript -var WebidaRestfulApi = require('webida_restful_api'); - -var apiInstance = new WebidaRestfulApi.WorkspaceApi(); - -var workspaceId = "workspaceId_example"; // String | webida workspace id (usually same to file system id, wfsId) - -var objectPath = "objectPath_example"; // String | the path (filename without .json) of metadata, without heading / - var callback = function(error, data, response) { if (error) { @@ -376,36 +272,35 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -apiInstance.readMetadata(workspaceId, objectPath, callback); +apiInstance.findWorkspaces(opts, callback); ``` ### Parameters Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- - **workspaceId** | **String**| webida workspace id (usually same to file system id, wfsId) | - **objectPath** | **String**| the path (filename without .json) of metadata, without heading / | + **disposable** | **Boolean**| include disposable workspaces or not | [optional] [default to false] ### Return type -**File** +[**[Workspace]**](Workspace.md) ### Authorization -No authorization required +[webida-simple-auth](../README.md#webida-simple-auth) ### HTTP request headers - **Content-Type**: application/json - **Accept**: application/json, application/octet-stream - -# **removeMetadata** -> RestOK removeMetadata(workspaceId, objectPath) + +# **getWorkspace** +> Workspace getWorkspace(workspaceId) -delete metadata of given path +get a workspace object by id ### Example ```javascript @@ -422,8 +317,6 @@ var apiInstance = new WebidaRestfulApi.WorkspaceApi(); var workspaceId = "workspaceId_example"; // String | webida workspace id (usually same to file system id, wfsId) -var objectPath = "objectPath_example"; // String | the path (filename without .json) of metadata, without heading / - var callback = function(error, data, response) { if (error) { @@ -432,7 +325,7 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -apiInstance.removeMetadata(workspaceId, objectPath, callback); +apiInstance.getWorkspace(workspaceId, callback); ``` ### Parameters @@ -440,11 +333,10 @@ apiInstance.removeMetadata(workspaceId, objectPath, callback); Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **workspaceId** | **String**| webida workspace id (usually same to file system id, wfsId) | - **objectPath** | **String**| the path (filename without .json) of metadata, without heading / | ### Return type -[**RestOK**](RestOK.md) +[**Workspace**](Workspace.md) ### Authorization @@ -457,7 +349,7 @@ Name | Type | Description | Notes # **removeWorkspace** -> Workspace removeWorkspace(workspaceId, , opts) +> Workspace removeWorkspace(workspaceId, opts) @@ -489,7 +381,7 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -apiInstance.removeWorkspace(workspaceId, , opts, callback); +apiInstance.removeWorkspace(workspaceId, opts, callback); ``` ### Parameters @@ -514,7 +406,7 @@ Name | Type | Description | Notes # **updateWorkspace** -> Workspace updateWorkspace(workspaceId, ) +> Workspace updateWorkspace(workspaceId) @@ -543,7 +435,7 @@ var callback = function(error, data, response) { console.log('API called successfully. Returned data: ' + data); } }; -apiInstance.updateWorkspace(workspaceId, , callback); +apiInstance.updateWorkspace(workspaceId, callback); ``` ### Parameters @@ -565,62 +457,3 @@ Name | Type | Description | Notes - **Content-Type**: application/json - **Accept**: application/json, application/octet-stream - -# **writeMetadata** -> RestOK writeMetadata(workspaceId, objectPathdata) - - - -write a metadata file at given path. missing parents will be created. - -### Example -```javascript -var WebidaRestfulApi = require('webida_restful_api'); -var defaultClient = WebidaRestfulApi.ApiClient.default; - -// Configure API key authorization: webida-simple-auth -var webida-simple-auth = defaultClient.authentications['webida-simple-auth']; -webida-simple-auth.apiKey = 'YOUR API KEY'; -// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) -//webida-simple-auth.apiKeyPrefix = 'Token'; - -var apiInstance = new WebidaRestfulApi.WorkspaceApi(); - -var workspaceId = "workspaceId_example"; // String | webida workspace id (usually same to file system id, wfsId) - -var objectPath = "objectPath_example"; // String | the path (filename without .json) of metadata, without heading / - -var data = "/path/to/file.txt"; // File | file contents to write. - - -var callback = function(error, data, response) { - if (error) { - console.error(error); - } else { - console.log('API called successfully. Returned data: ' + data); - } -}; -apiInstance.writeMetadata(workspaceId, objectPathdata, callback); -``` - -### Parameters - -Name | Type | Description | Notes -------------- | ------------- | ------------- | ------------- - **workspaceId** | **String**| webida workspace id (usually same to file system id, wfsId) | - **objectPath** | **String**| the path (filename without .json) of metadata, without heading / | - **data** | **File**| file contents to write. | - -### Return type - -[**RestOK**](RestOK.md) - -### Authorization - -[webida-simple-auth](../README.md#webida-simple-auth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json, application/octet-stream - diff --git a/package.json b/package.json index eab20be..39fb4e5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "webida-restful-api", - "version": "0.4.1", + "version": "0.5.0", "description": "Webida Restful API Spec & generated clients", "license": "Apache-2.0", "main": "src/index.js", diff --git a/src/api/WorkspaceApi.js b/src/api/WorkspaceApi.js index 0c17ed3..ccb9e67 100644 --- a/src/api/WorkspaceApi.js +++ b/src/api/WorkspaceApi.js @@ -65,10 +65,10 @@ */ /** - * cancels an execution, if possible. Killing process may not be graceful. + * cancels an execution, if possible. Killing process may not be graceful. requires proper access rights. if execId is not specified, this api does nothing. * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId) * @param {Object} opts Optional parameters - * @param {String} opts.execId the id of execution (different from pid!) + * @param {String} opts.execId the id of execution request(different from pid!) * @param {module:api/WorkspaceApi~cancelCallback} callback The callback function, accepting three arguments: error, data, response * data is of type: {module:model/RestOK} */ @@ -173,11 +173,11 @@ */ /** - * execute a shell command on this workspace + * execute a shell command on this workspace. requires proper access rights. * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId) * @param {module:model/Execution} body * @param {Object} opts Optional parameters - * @param {Boolean} opts.async Spawn a child process for given command and returns a child process info only. , Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/asyn-{Execution#id} (default to false) + * @param {Boolean} opts.async Spawn a child process for given command and returns the created child proc info. Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/async-{execId} (default to false) * @param {module:api/WorkspaceApi~execCallback} callback The callback function, accepting three arguments: error, data, response * data is of type: {module:model/ExecutionResult} */ @@ -220,91 +220,91 @@ } /** - * Callback function to receive the result of the findWorkspaces operation. - * @callback module:api/WorkspaceApi~findWorkspacesCallback + * Callback function to receive the result of the findProcs operation. + * @callback module:api/WorkspaceApi~findProcsCallback * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. + * @param {Array.} data The data returned by the service call. * @param {String} response The complete HTTP response. */ /** - * Finds workspaces (no find/search parameters yet). Requires an unrestricted access token. + * Gets process info, created by async exec request, on this workspace. If execId is set, this op finds a spawned process whose id is matching. If not, all spawned procs will be found. This op does not returns error when no procs found but empty result array. This operation requires proper access rights. (unrestricted or matching workspace id in access token with parameter) + * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId) * @param {Object} opts Optional parameters - * @param {Boolean} opts.disposable include disposable workspaces or not (default to false) - * @param {module:api/WorkspaceApi~findWorkspacesCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {Array.} + * @param {String} opts.execId the id of execution request(different from pid!) + * @param {module:api/WorkspaceApi~findProcsCallback} callback The callback function, accepting three arguments: error, data, response + * data is of type: {Array.} */ - this.findWorkspaces = function(opts, callback) { + this.findProcs = function(workspaceId, opts, callback) { opts = opts || {}; var postBody = null; + // verify the required parameter 'workspaceId' is set + if (workspaceId == undefined || workspaceId == null) { + throw "Missing the required parameter 'workspaceId' when calling findProcs"; + } + var pathParams = { + 'workspaceId': workspaceId }; var queryParams = { - 'disposable': opts['disposable'] + 'execId': opts['execId'] }; var headerParams = { }; var formParams = { }; - var authNames = ['webida-simple-auth']; + var authNames = []; var contentTypes = ['application/json']; var accepts = ['application/json', 'application/octet-stream']; - var returnType = [Workspace]; + var returnType = [ChildProcess]; return this.apiClient.callApi( - '/workspaces', 'GET', + '/workspaces/{workspaceId}/exec', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType, callback ); } /** - * Callback function to receive the result of the getChildProcs operation. - * @callback module:api/WorkspaceApi~getChildProcsCallback + * Callback function to receive the result of the findWorkspaces operation. + * @callback module:api/WorkspaceApi~findWorkspacesCallback * @param {String} error Error message, if any. - * @param {Array.} data The data returned by the service call. + * @param {Array.} data The data returned by the service call. * @param {String} response The complete HTTP response. */ /** - * get all spawned process info, created by exec api, on given workspace. set workspace id to \"*\" to all processes info. This operation requires proper access rights (unrestricted or matching workspace id in access token with parameter) - * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId) + * Finds workspaces (no find/search parameters yet). Requires an unrestricted access token. * @param {Object} opts Optional parameters - * @param {Boolean} opts.includeExec include processes created by synchronous exec request (default to false) - * @param {module:api/WorkspaceApi~getChildProcsCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {Array.} + * @param {Boolean} opts.disposable include disposable workspaces or not (default to false) + * @param {module:api/WorkspaceApi~findWorkspacesCallback} callback The callback function, accepting three arguments: error, data, response + * data is of type: {Array.} */ - this.getChildProcs = function(workspaceId, opts, callback) { + this.findWorkspaces = function(opts, callback) { opts = opts || {}; var postBody = null; - // verify the required parameter 'workspaceId' is set - if (workspaceId == undefined || workspaceId == null) { - throw "Missing the required parameter 'workspaceId' when calling getChildProcs"; - } - var pathParams = { - 'workspaceId': workspaceId }; var queryParams = { - 'includeExec': opts['includeExec'] + 'disposable': opts['disposable'] }; var headerParams = { }; var formParams = { }; - var authNames = []; + var authNames = ['webida-simple-auth']; var contentTypes = ['application/json']; var accepts = ['application/json', 'application/octet-stream']; - var returnType = [ChildProcess]; + var returnType = [Workspace]; return this.apiClient.callApi( - '/workspaces/{workspaceId}/exec', 'GET', + '/workspaces', 'GET', pathParams, queryParams, headerParams, formParams, postBody, authNames, contentTypes, accepts, returnType, callback ); @@ -355,110 +355,6 @@ ); } - /** - * Callback function to receive the result of the readMetadata operation. - * @callback module:api/WorkspaceApi~readMetadataCallback - * @param {String} error Error message, if any. - * @param {File} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * read a metadata file from a workspace. - * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId) - * @param {String} objectPath the path (filename without .json) of metadata, without heading / - * @param {module:api/WorkspaceApi~readMetadataCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {File} - */ - this.readMetadata = function(workspaceId, objectPath, callback) { - var postBody = null; - - // verify the required parameter 'workspaceId' is set - if (workspaceId == undefined || workspaceId == null) { - throw "Missing the required parameter 'workspaceId' when calling readMetadata"; - } - - // verify the required parameter 'objectPath' is set - if (objectPath == undefined || objectPath == null) { - throw "Missing the required parameter 'objectPath' when calling readMetadata"; - } - - - var pathParams = { - 'workspaceId': workspaceId, - 'objectPath': objectPath - }; - var queryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = []; - var contentTypes = ['application/json']; - var accepts = ['application/json', 'application/octet-stream']; - var returnType = File; - - return this.apiClient.callApi( - '/workspaces/{workspaceId}/metadata/{objectPath}', 'GET', - pathParams, queryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - - /** - * Callback function to receive the result of the removeMetadata operation. - * @callback module:api/WorkspaceApi~removeMetadataCallback - * @param {String} error Error message, if any. - * @param {module:model/RestOK} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * delete metadata of given path - * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId) - * @param {String} objectPath the path (filename without .json) of metadata, without heading / - * @param {module:api/WorkspaceApi~removeMetadataCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {module:model/RestOK} - */ - this.removeMetadata = function(workspaceId, objectPath, callback) { - var postBody = null; - - // verify the required parameter 'workspaceId' is set - if (workspaceId == undefined || workspaceId == null) { - throw "Missing the required parameter 'workspaceId' when calling removeMetadata"; - } - - // verify the required parameter 'objectPath' is set - if (objectPath == undefined || objectPath == null) { - throw "Missing the required parameter 'objectPath' when calling removeMetadata"; - } - - - var pathParams = { - 'workspaceId': workspaceId, - 'objectPath': objectPath - }; - var queryParams = { - }; - var headerParams = { - }; - var formParams = { - }; - - var authNames = ['webida-simple-auth']; - var contentTypes = ['application/json']; - var accepts = ['application/json', 'application/octet-stream']; - var returnType = RestOK; - - return this.apiClient.callApi( - '/workspaces/{workspaceId}/metadata/{objectPath}', 'DELETE', - pathParams, queryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } - /** * Callback function to receive the result of the removeWorkspace operation. * @callback module:api/WorkspaceApi~removeWorkspaceCallback @@ -552,65 +448,6 @@ authNames, contentTypes, accepts, returnType, callback ); } - - /** - * Callback function to receive the result of the writeMetadata operation. - * @callback module:api/WorkspaceApi~writeMetadataCallback - * @param {String} error Error message, if any. - * @param {module:model/RestOK} data The data returned by the service call. - * @param {String} response The complete HTTP response. - */ - - /** - * write a metadata file at given path. missing parents will be created. - * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId) - * @param {String} objectPath the path (filename without .json) of metadata, without heading / - * @param {File} data file contents to write. - * @param {module:api/WorkspaceApi~writeMetadataCallback} callback The callback function, accepting three arguments: error, data, response - * data is of type: {module:model/RestOK} - */ - this.writeMetadata = function(workspaceId, objectPath, data, callback) { - var postBody = null; - - // verify the required parameter 'workspaceId' is set - if (workspaceId == undefined || workspaceId == null) { - throw "Missing the required parameter 'workspaceId' when calling writeMetadata"; - } - - // verify the required parameter 'objectPath' is set - if (objectPath == undefined || objectPath == null) { - throw "Missing the required parameter 'objectPath' when calling writeMetadata"; - } - - // verify the required parameter 'data' is set - if (data == undefined || data == null) { - throw "Missing the required parameter 'data' when calling writeMetadata"; - } - - - var pathParams = { - 'workspaceId': workspaceId, - 'objectPath': objectPath - }; - var queryParams = { - }; - var headerParams = { - }; - var formParams = { - 'data': data - }; - - var authNames = ['webida-simple-auth']; - var contentTypes = ['application/json']; - var accepts = ['application/json', 'application/octet-stream']; - var returnType = RestOK; - - return this.apiClient.callApi( - '/workspaces/{workspaceId}/metadata/{objectPath}', 'PUT', - pathParams, queryParams, headerParams, formParams, postBody, - authNames, contentTypes, accepts, returnType, callback - ); - } }; return exports; diff --git a/src/model/ChildProcess.js b/src/model/ChildProcess.js index c1b8889..c7a6796 100644 --- a/src/model/ChildProcess.js +++ b/src/model/ChildProcess.js @@ -50,25 +50,27 @@ /** * Constructs a new ChildProcess. - * a process in execution + * a process in execution, spawned by async exec or other mean * @alias module:model/ChildProcess * @class * @param pid {Integer} child process pid - * @param command {String} the execution command in Execution request - * @param args {Array.} arguments of the command in Execution request - * @param executionId {String} execution id from Execution request + * @param command {String} execution command in execution request + * @param args {Array.} arguments of command in execution request + * @param execId {String} execution id from execution request + * @param state {module:model/ChildProcess.StateEnum} state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. * @param startedAt {Date} the time when this process is spawned - * @param background {Array.} true when this process is spawned by asynchronous exec request or some other ways to spawn processes in server. fasle when this process is spawened with plain, synchronous execution request. */ - var exports = function(pid, command, args, executionId, startedAt, background) { + var exports = function(pid, command, args, execId, state, startedAt) { var _this = this; _this['pid'] = pid; _this['command'] = command; _this['args'] = args; - _this['executionId'] = executionId; + _this['execId'] = execId; + _this['state'] = state; _this['startedAt'] = startedAt; - _this['background'] = background; + + }; /** @@ -91,14 +93,20 @@ if (data.hasOwnProperty('args')) { obj['args'] = ApiClient.convertToType(data['args'], ['String']); } - if (data.hasOwnProperty('executionId')) { - obj['executionId'] = ApiClient.convertToType(data['executionId'], 'String'); + if (data.hasOwnProperty('execId')) { + obj['execId'] = ApiClient.convertToType(data['execId'], 'String'); + } + if (data.hasOwnProperty('state')) { + obj['state'] = ApiClient.convertToType(data['state'], 'String'); } if (data.hasOwnProperty('startedAt')) { obj['startedAt'] = ApiClient.convertToType(data['startedAt'], 'Date'); } - if (data.hasOwnProperty('background')) { - obj['background'] = ApiClient.convertToType(data['background'], ['String']); + if (data.hasOwnProperty('exitCode')) { + obj['exitCode'] = ApiClient.convertToType(data['exitCode'], 'Integer'); + } + if (data.hasOwnProperty('exitSignal')) { + obj['exitSignal'] = ApiClient.convertToType(data['exitSignal'], 'String'); } } return obj; @@ -110,31 +118,68 @@ */ exports.prototype['pid'] = undefined; /** - * the execution command in Execution request + * execution command in execution request * @member {String} command */ exports.prototype['command'] = undefined; /** - * arguments of the command in Execution request + * arguments of command in execution request * @member {Array.} args */ exports.prototype['args'] = undefined; /** - * execution id from Execution request - * @member {String} executionId + * execution id from execution request + * @member {String} execId + */ + exports.prototype['execId'] = undefined; + /** + * state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. + * @member {module:model/ChildProcess.StateEnum} state */ - exports.prototype['executionId'] = undefined; + exports.prototype['state'] = undefined; /** * the time when this process is spawned * @member {Date} startedAt */ exports.prototype['startedAt'] = undefined; /** - * true when this process is spawned by asynchronous exec request or some other ways to spawn processes in server. fasle when this process is spawened with plain, synchronous execution request. - * @member {Array.} background + * the exit code of child process. available with EXITED procs only. + * @member {Integer} exitCode */ - exports.prototype['background'] = undefined; + exports.prototype['exitCode'] = undefined; + /** + * the signal that killed this child process.(not always available) + * @member {String} exitSignal + */ + exports.prototype['exitSignal'] = undefined; + + /** + * Allowed values for the state property. + * @enum {String} + * @readonly + */ + exports.StateEnum = { + /** + * value: "CREATED" + * @const + */ + "CREATED": "CREATED", + /** + * value: "WORKING" + * @const + */ + "WORKING": "WORKING", + /** + * value: "KILLING" + * @const + */ + "KILLING": "KILLING", + /** + * value: "EXITED" + * @const + */ + "EXITED": "EXITED" }; return exports; diff --git a/src/model/Execution.js b/src/model/Execution.js index 2be4268..bd7d8f5 100644 --- a/src/model/Execution.js +++ b/src/model/Execution.js @@ -50,11 +50,11 @@ /** * Constructs a new Execution. - * execution request, simlilar to node.js spawn(). see node.js documentation for details of each properties. some properties are not configurable for portability - encoding : fixed to utf-8 - shell : fixed to system default. Using shell variables in command may not work. - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or invoke taskkill to ensure chlid process is killed. - uid & gid : will not be set for security - stdio : all streams are handled by server. no options are avaliable to client. - shell : always false. - detached : always false + * execution request, simlilar to node.js exec()/spawn(). see node.js documentation for details of each properties. some properties are not configurable for portability - encoding : fixed to utf-8 - shell : fixed to system defaults. (so, cmd.exe will be invoked in Windows OS, not sh or bash in git-for-windows even they are available.) - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or invoke taskkill, to ensure chlid process is killed. - uid & gid : will not be set for security - stdio : all streams are handled by server. no options are avaliable to client. - detached : always false * @alias module:model/Execution * @class - * @param command {String} command to run. should not contain any arguments, pipes, redirections - * @param args {Array.} the arguments array + * @param command {String} The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. + * @param args {Array.} the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\Program Files\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. */ var exports = function(command, args) { var _this = this; @@ -90,46 +90,46 @@ if (data.hasOwnProperty('cwd')) { obj['cwd'] = ApiClient.convertToType(data['cwd'], 'String'); } - if (data.hasOwnProperty('input')) { - obj['input'] = ApiClient.convertToType(data['input'], 'String'); - } if (data.hasOwnProperty('timeout')) { obj['timeout'] = ApiClient.convertToType(data['timeout'], 'Integer'); } + if (data.hasOwnProperty('maxBuffer')) { + obj['maxBuffer'] = ApiClient.convertToType(data['maxBuffer'], 'Integer'); + } } return obj; } /** - * unique identifier of execution, to demux response stream or cancel request. async exec request should have id, always. For synchronous execution, missing id will be generated by server with random string & timestamp. + * unique identifier of execution, to demux response stream or cancel request. Server should reject an async exec request without id. * @member {String} id */ exports.prototype['id'] = undefined; /** - * command to run. should not contain any arguments, pipes, redirections + * The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. * @member {String} command */ exports.prototype['command'] = undefined; /** - * the arguments array + * the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\Program Files\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. * @member {Array.} args */ exports.prototype['args'] = undefined; /** - * Current working directory of spawned process, relative to workspace root. If abscent, cwd will be the workspace root directory. Does not accept any evaluatable form like $HOME, %USERPROFILE%. As wfs operations, path should be unixified. But, unlikely, while the wfs operations cut heading \"/\" in path with URI normlization, this operation does not convert path to relateive and returns error for the argument. + * Current working directory of spawned process, relative to workspace root. If abscent, cwd will be the workspace directory. Does not accept any evaluatable form like $HOME, %USERPROFILE%. path should be unixified. Server may reject an 'absolute' property. * @member {String} cwd */ exports.prototype['cwd'] = undefined; /** - * input string for child process. if falsy, no input will be available to child. (interactive execution via websocket is not supported for most of such processes requires tty, not standard i/o) - * @member {String} input - */ - exports.prototype['input'] = undefined; - /** - * The value which In \"milliseconds\" the maximum amount of time the child is allowed to run. (not idle time of stdout / stderr stream) if undefined, server sets default timeout value 5 min to synchronous execution requests. If request specifies async execution and sets this value to falsy, server should not kill the child process until 1) The process exists by self 2) cancel operation is invoked by api request 3) The workspace executing the process is removed by api request 4) Server Stops Terminiating any \"too-long-lived\" child process are not graceful, as cancel() is. + * The value which In 'miliseconds' the maximum amount of time the child is allowed to run. (not idle time of stdout / stderr stream) for sync exec. Server should not apply default value for async exec, when omitted. The child process spawned by async execution should be killed when 1) server goes down 2) process exits by self 3) cancel operation is invoked * @member {Integer} timeout */ exports.prototype['timeout'] = undefined; + /** + * Largest amount of data (in bytes) allowed on stdout or stderr for sync exec. Server should not apply this limit to async execution. In sync exec, server may kill a child process that has exceeded limit. default value is 512KB, large enough. + * @member {Integer} maxBuffer + */ + exports.prototype['maxBuffer'] = undefined; diff --git a/src/model/ExecutionResult.js b/src/model/ExecutionResult.js index 2d76b2f..2557e04 100644 --- a/src/model/ExecutionResult.js +++ b/src/model/ExecutionResult.js @@ -53,14 +53,13 @@ * execution response * @alias module:model/ExecutionResult * @class - * @param exitCode {Integer} exit code of child process. * @param stdout {String} standard out of child process. * @param stderr {String} standard error of child process. */ - var exports = function(exitCode, stdout, stderr) { + var exports = function(stdout, stderr) { var _this = this; - _this['exitCode'] = exitCode; + _this['stdout'] = stdout; _this['stderr'] = stderr; }; @@ -76,8 +75,8 @@ if (data) { obj = obj || new exports(); - if (data.hasOwnProperty('exitCode')) { - obj['exitCode'] = ApiClient.convertToType(data['exitCode'], 'Integer'); + if (data.hasOwnProperty('error')) { + obj['error'] = ApiClient.convertToType(data['error'], 'String'); } if (data.hasOwnProperty('stdout')) { obj['stdout'] = ApiClient.convertToType(data['stdout'], 'String'); @@ -90,10 +89,10 @@ } /** - * exit code of child process. - * @member {Integer} exitCode + * error message when execution failed. + * @member {String} error */ - exports.prototype['exitCode'] = undefined; + exports.prototype['error'] = undefined; /** * standard out of child process. * @member {String} stdout diff --git a/src/model/Session.js b/src/model/Session.js index 7da7157..1b737fb 100644 --- a/src/model/Session.js +++ b/src/model/Session.js @@ -55,7 +55,7 @@ * @class * @param id {String} the id of a session. usually same to socket id. * @param name {String} human readable name, usually derived from workspace name. - * @param state {module:model/Session.StateEnum} state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\"s no \"CLOSED\" / \"LOST\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. + * @param state {module:model/Session.StateEnum} state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\"s no \"CLOSED\" / \"LOST\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. * @param clientAddress {String} the peer address of session connection. not always * @param connectedAt {Date} the time when socket connection is established * @param disconnectedAt {Date} the time when socket is closed. @@ -127,7 +127,7 @@ */ exports.prototype['name'] = undefined; /** - * state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\"s no \"CLOSED\" / \"LOST\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. + * state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\"s no \"CLOSED\" / \"LOST\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. * @member {module:model/Session.StateEnum} state */ exports.prototype['state'] = undefined; diff --git a/test/api/WorkspaceApi.spec.js b/test/api/WorkspaceApi.spec.js index b485b97..c864a43 100644 --- a/test/api/WorkspaceApi.spec.js +++ b/test/api/WorkspaceApi.spec.js @@ -89,20 +89,20 @@ done(); }); }); - describe('findWorkspaces', function() { - it('should call findWorkspaces successfully', function(done) { - //uncomment below and update the code to test findWorkspaces - //instance.findWorkspaces(pet, function(error) { + describe('findProcs', function() { + it('should call findProcs successfully', function(done) { + //uncomment below and update the code to test findProcs + //instance.findProcs(pet, function(error) { // if (error) throw error; //expect().to.be(); //}); done(); }); }); - describe('getChildProcs', function() { - it('should call getChildProcs successfully', function(done) { - //uncomment below and update the code to test getChildProcs - //instance.getChildProcs(pet, function(error) { + describe('findWorkspaces', function() { + it('should call findWorkspaces successfully', function(done) { + //uncomment below and update the code to test findWorkspaces + //instance.findWorkspaces(pet, function(error) { // if (error) throw error; //expect().to.be(); //}); @@ -119,26 +119,6 @@ done(); }); }); - describe('readMetadata', function() { - it('should call readMetadata successfully', function(done) { - //uncomment below and update the code to test readMetadata - //instance.readMetadata(pet, function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); - describe('removeMetadata', function() { - it('should call removeMetadata successfully', function(done) { - //uncomment below and update the code to test removeMetadata - //instance.removeMetadata(pet, function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); describe('removeWorkspace', function() { it('should call removeWorkspace successfully', function(done) { //uncomment below and update the code to test removeWorkspace @@ -159,16 +139,6 @@ done(); }); }); - describe('writeMetadata', function() { - it('should call writeMetadata successfully', function(done) { - //uncomment below and update the code to test writeMetadata - //instance.writeMetadata(pet, function(error) { - // if (error) throw error; - //expect().to.be(); - //}); - done(); - }); - }); }); })); diff --git a/test/model/ChildProcess.spec.js b/test/model/ChildProcess.spec.js index 329aa6c..13343b7 100644 --- a/test/model/ChildProcess.spec.js +++ b/test/model/ChildProcess.spec.js @@ -83,8 +83,14 @@ //expect(instance).to.be(); }); - it('should have the property executionId (base name: "executionId")', function() { - // uncomment below and update the code to test the property executionId + it('should have the property execId (base name: "execId")', function() { + // uncomment below and update the code to test the property execId + //var instane = new WebidaRestfulApi.ChildProcess(); + //expect(instance).to.be(); + }); + + it('should have the property state (base name: "state")', function() { + // uncomment below and update the code to test the property state //var instane = new WebidaRestfulApi.ChildProcess(); //expect(instance).to.be(); }); @@ -95,8 +101,14 @@ //expect(instance).to.be(); }); - it('should have the property background (base name: "background")', function() { - // uncomment below and update the code to test the property background + it('should have the property exitCode (base name: "exitCode")', function() { + // uncomment below and update the code to test the property exitCode + //var instane = new WebidaRestfulApi.ChildProcess(); + //expect(instance).to.be(); + }); + + it('should have the property exitSignal (base name: "exitSignal")', function() { + // uncomment below and update the code to test the property exitSignal //var instane = new WebidaRestfulApi.ChildProcess(); //expect(instance).to.be(); }); diff --git a/test/model/Execution.spec.js b/test/model/Execution.spec.js index 86c323a..4201f72 100644 --- a/test/model/Execution.spec.js +++ b/test/model/Execution.spec.js @@ -89,14 +89,14 @@ //expect(instance).to.be(); }); - it('should have the property input (base name: "input")', function() { - // uncomment below and update the code to test the property input + it('should have the property timeout (base name: "timeout")', function() { + // uncomment below and update the code to test the property timeout //var instane = new WebidaRestfulApi.Execution(); //expect(instance).to.be(); }); - it('should have the property timeout (base name: "timeout")', function() { - // uncomment below and update the code to test the property timeout + it('should have the property maxBuffer (base name: "maxBuffer")', function() { + // uncomment below and update the code to test the property maxBuffer //var instane = new WebidaRestfulApi.Execution(); //expect(instance).to.be(); }); diff --git a/test/model/ExecutionResult.spec.js b/test/model/ExecutionResult.spec.js index e617b43..58bb9ef 100644 --- a/test/model/ExecutionResult.spec.js +++ b/test/model/ExecutionResult.spec.js @@ -65,8 +65,8 @@ //expect(instance).to.be.a(WebidaRestfulApi.ExecutionResult); }); - it('should have the property exitCode (base name: "exitCode")', function() { - // uncomment below and update the code to test the property exitCode + it('should have the property error (base name: "error")', function() { + // uncomment below and update the code to test the property error //var instane = new WebidaRestfulApi.ExecutionResult(); //expect(instance).to.be(); }); From b669181163a8aa66c64778883038d98d80e92351 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EC=A4=91=ED=9B=88?= Date: Tue, 12 Jul 2016 01:03:12 +0900 Subject: [PATCH 2/2] bumped api version to 0.5.0 - aligned api version to package version --- README-API.md | 6 +++--- api-bundle.js.map | 2 +- api-spec/swagger.json | 2 +- api-spec/swagger.yaml | 2 +- src/ApiClient.js | 4 ++-- src/api/AuthApi.js | 4 ++-- src/api/OpsApi.js | 4 ++-- src/api/RemotesApi.js | 4 ++-- src/api/SessionApi.js | 4 ++-- src/api/WfsApi.js | 4 ++-- src/api/WorkspaceApi.js | 4 ++-- src/index.js | 4 ++-- src/model/ChildProcess.js | 4 ++-- src/model/Credential.js | 4 ++-- src/model/DirEntry.js | 4 ++-- src/model/Execution.js | 4 ++-- src/model/ExecutionResult.js | 4 ++-- src/model/Match.js | 4 ++-- src/model/RemoteAccess.js | 4 ++-- src/model/RestError.js | 4 ++-- src/model/RestOK.js | 4 ++-- src/model/Session.js | 4 ++-- src/model/Stats.js | 4 ++-- src/model/Token.js | 4 ++-- src/model/User.js | 4 ++-- src/model/Workspace.js | 4 ++-- test/api/AuthApi.spec.js | 2 +- test/api/OpsApi.spec.js | 2 +- test/api/RemotesApi.spec.js | 2 +- test/api/SessionApi.spec.js | 2 +- test/api/WfsApi.spec.js | 2 +- test/api/WorkspaceApi.spec.js | 2 +- test/model/ChildProcess.spec.js | 2 +- test/model/Credential.spec.js | 2 +- test/model/DirEntry.spec.js | 2 +- test/model/Execution.spec.js | 2 +- test/model/ExecutionResult.spec.js | 2 +- test/model/Match.spec.js | 2 +- test/model/RemoteAccess.spec.js | 2 +- test/model/RestError.spec.js | 2 +- test/model/RestOK.spec.js | 2 +- test/model/Session.spec.js | 2 +- test/model/Stats.spec.js | 2 +- test/model/Token.spec.js | 2 +- test/model/User.spec.js | 2 +- test/model/Workspace.spec.js | 2 +- 46 files changed, 70 insertions(+), 70 deletions(-) diff --git a/README-API.md b/README-API.md index 5801556..0c729fe 100644 --- a/README-API.md +++ b/README-API.md @@ -2,9 +2,9 @@ This SDK Contains automatically generated sources & documents with the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project: -- API version: 0.3.0 -- Package version: 0.3.0 -- Build date: 2016-07-12T00:44:58.051+09:00 +- API version: 0.5.0 +- Package version: 0.5.0 +- Build date: 2016-07-12T01:02:48.746+09:00 - Build package: class io.swagger.codegen.languages.JavascriptClientCodegen ## Getting Started diff --git a/api-bundle.js.map b/api-bundle.js.map index 7dab6e9..c7042da 100644 --- a/api-bundle.js.map +++ b/api-bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///api-bundle.js","webpack:///webpack/bootstrap 4ac3f1a16c3336305f5f","webpack:///./src/index.js","webpack:///./src/ApiClient.js","webpack:///./src/model/RestError.js","webpack:///./src/model/RestOK.js","webpack:///./src/model/DirEntry.js","webpack:///./src/model/Stats.js","webpack:///./src/model/ChildProcess.js","webpack:///./src/model/Credential.js","webpack:///./src/model/Execution.js","webpack:///./src/model/ExecutionResult.js","webpack:///./src/model/RemoteAccess.js","webpack:///./src/model/Session.js","webpack:///./src/model/Token.js","webpack:///./src/model/User.js","webpack:///./src/model/Workspace.js","webpack:///./~/superagent/superagent.js","webpack:///./src/api/AuthApi.js","webpack:///./src/api/OpsApi.js","webpack:///./src/api/RemotesApi.js","webpack:///./src/api/SessionApi.js","webpack:///./src/api/WfsApi.js","webpack:///./src/api/WorkspaceApi.js","webpack:///./src/model/Match.js"],"names":["define","modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","apply","undefined","ApiClient","ChildProcess","Credential","DirEntry","Execution","ExecutionResult","Match","RemoteAccess","RestError","RestOK","Session","Stats","Token","User","Workspace","AuthApi","OpsApi","RemotesApi","SessionApi","WfsApi","WorkspaceApi","root","this","superagent","basePath","replace","authentications","webida-simple-auth","type","in","name","defaultHeaders","timeout","prototype","paramToString","param","Date","toJSON","toString","buildUrl","path","pathParams","match","url","_this","fullMatch","key","value","hasOwnProperty","encodeURIComponent","isJsonMime","contentType","Boolean","jsonPreferredMime","contentTypes","i","length","isFileParam","window","ReadStream","Buffer","Blob","File","normalizeParams","params","newParams","Array","isArray","CollectionFormatEnum","CSV","SSV","TSV","PIPES","MULTI","buildCollectionParam","collectionFormat","map","join","Error","applyAuthToRequest","request","authNames","forEach","authName","auth","username","password","apiKey","data","apiKeyPrefix","set","query","accessToken","Authorization","deserialize","response","returnType","body","text","convertToType","callApi","httpMethod","queryParams","headerParams","formParams","bodyParam","accepts","callback","header","send","_formParams","attach","field","accept","end","error","parseDate","str","parseInt","parseFloat","String","Object","constructFromObject","itemType","item","keyType","valueType","k","result","obj","instance","message","stats","children","birthtime","mtime","mode","size","nlink","TypeEnum","FILE","DIRECTORY","BLOCK_DEVICE","CHARACTER_DEVICE","LINK","FIFO","SOCKET","DUMMY","pid","command","args","execId","state","startedAt","StateEnum","CREATED","WORKING","KILLING","EXITED","loginId","loginPassword","stdout","stderr","serverUrl","workspaceId","masterToken","clientAddress","connectedAt","disconnectedAt","NORMAL","LOSING","CLOSING","tokenType","expiresAt","issuedAt","TokenTypeEnum","MASTER","ACCESS","description","createdAt","workspacePath","excludedPaths","offlineCachePaths","f","amd","g","global","self","e","t","n","r","s","o","u","a","require","code","l","1","isObject","2","clearTimeout","_timeout","_timer","parse","fn","_parser","serialize","_serializer","ms","then","resolve","reject","_fullfilledPromise","Promise","innerResolve","innerReject","err","res","use","get","_header","toLowerCase","getHeader","val","unset","_getFormData","append","abort","_aborted","xhr","req","emit","withCredentials","_withCredentials","redirects","_maxRedirects","method","_data","_isHost","./is-object","3","RequestConstructor","arguments","4","Emitter","mixin","on","addEventListener","event","_callbacks","push","once","off","removeListener","removeAllListeners","removeEventListener","callbacks","cb","splice","slice","len","listeners","hasListeners","5","arr","initial","idx","curr","6","noop","pairs","pushEncodedKeyValuePair","v","subkey","parseString","pair","pos","split","indexOf","decodeURIComponent","parseHeader","index","line","lines","fields","pop","trim","isJSON","mime","test","shift","reduce","parts","Response","options","responseType","responseText","statusText","_setStatusProperties","status","headers","getAllResponseHeaders","getResponseHeader","_setHeaderProperties","_parseBody","Request","_query","original","rawResponse","statusCode","new_err","del","requestBase","bind","getXHR","XMLHttpRequest","location","protocol","ActiveXObject","serializeObject","types","html","json","xml","urlencoded","form","form-data","application/x-www-form-urlencoded","application/json","JSON","stringify","ct","statusType","info","ok","clientError","serverError","toError","accepted","noContent","badRequest","unauthorized","notAcceptable","notFound","forbidden","msg","_responseType","user","pass","btoa","file","filename","_formData","FormData","_callback","crossDomainError","crossDomain","_timeoutError","_appendQueryString","onreadystatechange","readyState","timedout","handleProgress","total","percent","direction","onprogress","upload","setTimeout","open","setRequestHeader","head","patch","post","put","./request","./request-base","emitter","apiClient","getInfo","postBody","issueToken","opts","login","wfsId","wfsPathList","pattern","replaceTo","ignoreCase","search","wfsPath","findRemoteAccesses","putRemoteAccess","removeRemoteAccess","closeSession","sessionId","closeAfter","findSessions","getSession","copy","srcPath","noOverwrite","followSymbolicLinks","preserveTimestamps","createDir","dirTree","maxDepth","move","readFile","remove","noRecursive","stat","ignoreError","writeFile","ensureParents","cancel","createWorkspace","localPath","exec","async","findProcs","findWorkspaces","disposable","getWorkspace","removeWorkspace","updateWorkspace"],"mappings":"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","file":"api-bundle.js","sourcesContent":["define(function() { return /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(7), __webpack_require__(8), __webpack_require__(4), __webpack_require__(9), __webpack_require__(10), __webpack_require__(23), __webpack_require__(11), __webpack_require__(2), __webpack_require__(3), __webpack_require__(12), __webpack_require__(5), __webpack_require__(13), __webpack_require__(14), __webpack_require__(15), __webpack_require__(17), __webpack_require__(18), __webpack_require__(19), __webpack_require__(20), __webpack_require__(21), __webpack_require__(22)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('./ApiClient'), require('./model/ChildProcess'), require('./model/Credential'), require('./model/DirEntry'), require('./model/Execution'), require('./model/ExecutionResult'), require('./model/Match'), require('./model/RemoteAccess'), require('./model/RestError'), require('./model/RestOK'), require('./model/Session'), require('./model/Stats'), require('./model/Token'), require('./model/User'), require('./model/Workspace'), require('./api/AuthApi'), require('./api/OpsApi'), require('./api/RemotesApi'), require('./api/SessionApi'), require('./api/WfsApi'), require('./api/WorkspaceApi'));\n\t }\n\t}(function(ApiClient, ChildProcess, Credential, DirEntry, Execution, ExecutionResult, Match, RemoteAccess, RestError, RestOK, Session, Stats, Token, User, Workspace, AuthApi, OpsApi, RemotesApi, SessionApi, WfsApi, WorkspaceApi) {\n\t 'use strict';\n\t\n\t /**\n\t * Restful_API_for_Webida_clients_to_use_servers_data__features.
\n\t * The index module provides access to constructors for all the classes which comprise the public API.\n\t *

\n\t * An AMD (recommended!) or CommonJS application will generally do something equivalent to the following:\n\t *

\n\t   * var WebidaRestfulApi = require('index'); // See note below*.\n\t   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n\t   * var yyyModel = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n\t   * yyyModel.someProperty = 'someValue';\n\t   * ...\n\t   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n\t   * ...\n\t   * 
\n\t * *NOTE: For a top-level AMD script, use require(['index'], function(){...})\n\t * and put the application logic within the callback function.\n\t *

\n\t *

\n\t * A non-AMD browser application (discouraged) might do something like this:\n\t *

\n\t   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n\t   * var yyy = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n\t   * yyyModel.someProperty = 'someValue';\n\t   * ...\n\t   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n\t   * ...\n\t   * 
\n\t *

\n\t * @module index\n\t * @version 0.3.0\n\t */\n\t var exports = {\n\t /**\n\t * The ApiClient constructor.\n\t * @property {module:ApiClient}\n\t */\n\t ApiClient: ApiClient,\n\t /**\n\t * The ChildProcess model constructor.\n\t * @property {module:model/ChildProcess}\n\t */\n\t ChildProcess: ChildProcess,\n\t /**\n\t * The Credential model constructor.\n\t * @property {module:model/Credential}\n\t */\n\t Credential: Credential,\n\t /**\n\t * The DirEntry model constructor.\n\t * @property {module:model/DirEntry}\n\t */\n\t DirEntry: DirEntry,\n\t /**\n\t * The Execution model constructor.\n\t * @property {module:model/Execution}\n\t */\n\t Execution: Execution,\n\t /**\n\t * The ExecutionResult model constructor.\n\t * @property {module:model/ExecutionResult}\n\t */\n\t ExecutionResult: ExecutionResult,\n\t /**\n\t * The Match model constructor.\n\t * @property {module:model/Match}\n\t */\n\t Match: Match,\n\t /**\n\t * The RemoteAccess model constructor.\n\t * @property {module:model/RemoteAccess}\n\t */\n\t RemoteAccess: RemoteAccess,\n\t /**\n\t * The RestError model constructor.\n\t * @property {module:model/RestError}\n\t */\n\t RestError: RestError,\n\t /**\n\t * The RestOK model constructor.\n\t * @property {module:model/RestOK}\n\t */\n\t RestOK: RestOK,\n\t /**\n\t * The Session model constructor.\n\t * @property {module:model/Session}\n\t */\n\t Session: Session,\n\t /**\n\t * The Stats model constructor.\n\t * @property {module:model/Stats}\n\t */\n\t Stats: Stats,\n\t /**\n\t * The Token model constructor.\n\t * @property {module:model/Token}\n\t */\n\t Token: Token,\n\t /**\n\t * The User model constructor.\n\t * @property {module:model/User}\n\t */\n\t User: User,\n\t /**\n\t * The Workspace model constructor.\n\t * @property {module:model/Workspace}\n\t */\n\t Workspace: Workspace,\n\t /**\n\t * The AuthApi service constructor.\n\t * @property {module:api/AuthApi}\n\t */\n\t AuthApi: AuthApi,\n\t /**\n\t * The OpsApi service constructor.\n\t * @property {module:api/OpsApi}\n\t */\n\t OpsApi: OpsApi,\n\t /**\n\t * The RemotesApi service constructor.\n\t * @property {module:api/RemotesApi}\n\t */\n\t RemotesApi: RemotesApi,\n\t /**\n\t * The SessionApi service constructor.\n\t * @property {module:api/SessionApi}\n\t */\n\t SessionApi: SessionApi,\n\t /**\n\t * The WfsApi service constructor.\n\t * @property {module:api/WfsApi}\n\t */\n\t WfsApi: WfsApi,\n\t /**\n\t * The WorkspaceApi service constructor.\n\t * @property {module:api/WorkspaceApi}\n\t */\n\t WorkspaceApi: WorkspaceApi\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(16)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('superagent'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.ApiClient = factory(root.superagent);\n\t }\n\t}(this, function(superagent) {\n\t 'use strict';\n\t\n\t /**\n\t * @module ApiClient\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Manages low level client-server communications, parameter marshalling, etc. There should not be any need for an\n\t * application to use this class directly - the *Api and model classes provide the public API for the service. The\n\t * contents of this file should be regarded as internal but are documented for completeness.\n\t * @alias module:ApiClient\n\t * @class\n\t */\n\t var exports = function() {\n\t /**\n\t * The base URL against which to resolve every API call's (relative) path.\n\t * @type {String}\n\t * @default https://localhost/api\n\t */\n\t this.basePath = 'https://localhost/api'.replace(/\\/+$/, '');\n\t\n\t /**\n\t * The authentication methods to be included for all API calls.\n\t * @type {Array.}\n\t */\n\t this.authentications = {\n\t 'webida-simple-auth': {type: 'apiKey', 'in': 'header', name: 'Authorization'}\n\t };\n\t /**\n\t * The default HTTP headers to be included for all API calls.\n\t * @type {Array.}\n\t * @default {}\n\t */\n\t this.defaultHeaders = {};\n\t\n\t /**\n\t * The default HTTP timeout for all API calls.\n\t * @type {Number}\n\t * @default 60000\n\t */\n\t this.timeout = 60000;\n\t };\n\t\n\t /**\n\t * Returns a string representation for an actual parameter.\n\t * @param param The actual parameter.\n\t * @returns {String} The string representation of param.\n\t */\n\t exports.prototype.paramToString = function(param) {\n\t if (param == undefined || param == null) {\n\t return '';\n\t }\n\t if (param instanceof Date) {\n\t return param.toJSON();\n\t }\n\t return param.toString();\n\t };\n\t\n\t /**\n\t * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders with parameter values.\n\t * NOTE: query parameters are not handled here.\n\t * @param {String} path The path to append to the base URL.\n\t * @param {Object} pathParams The parameter values to append.\n\t * @returns {String} The encoded path with parameter values substituted.\n\t */\n\t exports.prototype.buildUrl = function(path, pathParams) {\n\t if (!path.match(/^\\//)) {\n\t path = '/' + path;\n\t }\n\t var url = this.basePath + path;\n\t var _this = this;\n\t url = url.replace(/\\{([\\w-]+)\\}/g, function(fullMatch, key) {\n\t var value;\n\t if (pathParams.hasOwnProperty(key)) {\n\t value = _this.paramToString(pathParams[key]);\n\t } else {\n\t value = fullMatch;\n\t }\n\t return encodeURIComponent(value);\n\t });\n\t return url;\n\t };\n\t\n\t /**\n\t * Checks whether the given content type represents JSON.
\n\t * JSON content type examples:
\n\t *
    \n\t *
  • application/json
  • \n\t *
  • application/json; charset=UTF8
  • \n\t *
  • APPLICATION/JSON
  • \n\t *
\n\t * @param {String} contentType The MIME content type to check.\n\t * @returns {Boolean} true if contentType represents JSON, otherwise false.\n\t */\n\t exports.prototype.isJsonMime = function(contentType) {\n\t return Boolean(contentType != null && contentType.match(/^application\\/json(;.*)?$/i));\n\t };\n\t\n\t /**\n\t * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first.\n\t * @param {Array.} contentTypes\n\t * @returns {String} The chosen content type, preferring JSON.\n\t */\n\t exports.prototype.jsonPreferredMime = function(contentTypes) {\n\t for (var i = 0; i < contentTypes.length; i++) {\n\t if (this.isJsonMime(contentTypes[i])) {\n\t return contentTypes[i];\n\t }\n\t }\n\t return contentTypes[0];\n\t };\n\t\n\t /**\n\t * Checks whether the given parameter value represents file-like content.\n\t * @param param The parameter to check.\n\t * @returns {Boolean} true if param represents a file. \n\t */\n\t exports.prototype.isFileParam = function(param) {\n\t // fs.ReadStream in Node.js (but not in runtime like browserify)\n\t if (typeof window === 'undefined' &&\n\t \"function\" === 'function' &&\n\t __webpack_require__(6) &&\n\t param instanceof __webpack_require__(6).ReadStream) {\n\t return true;\n\t }\n\t // Buffer in Node.js\n\t if (typeof Buffer === 'function' && param instanceof Buffer) {\n\t return true;\n\t }\n\t // Blob in browser\n\t if (typeof Blob === 'function' && param instanceof Blob) {\n\t return true;\n\t }\n\t // File in browser (it seems File object is also instance of Blob, but keep this for safe)\n\t if (typeof File === 'function' && param instanceof File) {\n\t return true;\n\t }\n\t return false;\n\t };\n\t\n\t /**\n\t * Normalizes parameter values:\n\t *
    \n\t *
  • remove nils
  • \n\t *
  • keep files and arrays
  • \n\t *
  • format to string with `paramToString` for other cases
  • \n\t *
\n\t * @param {Object.} params The parameters as object properties.\n\t * @returns {Object.} normalized parameters.\n\t */\n\t exports.prototype.normalizeParams = function(params) {\n\t var newParams = {};\n\t for (var key in params) {\n\t if (params.hasOwnProperty(key) && params[key] != undefined && params[key] != null) {\n\t var value = params[key];\n\t if (this.isFileParam(value) || Array.isArray(value)) {\n\t newParams[key] = value;\n\t } else {\n\t newParams[key] = this.paramToString(value);\n\t }\n\t }\n\t }\n\t return newParams;\n\t };\n\t\n\t /**\n\t * Enumeration of collection format separator strategies.\n\t * @enum {String} \n\t * @readonly\n\t */\n\t exports.CollectionFormatEnum = {\n\t /**\n\t * Comma-separated values. Value: csv\n\t * @const\n\t */\n\t CSV: ',',\n\t /**\n\t * Space-separated values. Value: ssv\n\t * @const\n\t */\n\t SSV: ' ',\n\t /**\n\t * Tab-separated values. Value: tsv\n\t * @const\n\t */\n\t TSV: '\\t',\n\t /**\n\t * Pipe(|)-separated values. Value: pipes\n\t * @const\n\t */\n\t PIPES: '|',\n\t /**\n\t * Native array. Value: multi\n\t * @const\n\t */\n\t MULTI: 'multi'\n\t };\n\t\n\t /**\n\t * Builds a string representation of an array-type actual parameter, according to the given collection format.\n\t * @param {Array} param An array parameter.\n\t * @param {module:ApiClient.CollectionFormatEnum} collectionFormat The array element separator strategy.\n\t * @returns {String|Array} A string representation of the supplied collection, using the specified delimiter. Returns\n\t * param as is if collectionFormat is multi.\n\t */\n\t exports.prototype.buildCollectionParam = function buildCollectionParam(param, collectionFormat) {\n\t if (param == null) {\n\t return null;\n\t }\n\t switch (collectionFormat) {\n\t case 'csv':\n\t return param.map(this.paramToString).join(',');\n\t case 'ssv':\n\t return param.map(this.paramToString).join(' ');\n\t case 'tsv':\n\t return param.map(this.paramToString).join('\\t');\n\t case 'pipes':\n\t return param.map(this.paramToString).join('|');\n\t case 'multi':\n\t // return the array directly as SuperAgent will handle it as expected\n\t return param.map(this.paramToString);\n\t default:\n\t throw new Error('Unknown collection format: ' + collectionFormat);\n\t }\n\t };\n\t\n\t /**\n\t * Applies authentication headers to the request.\n\t * @param {Object} request The request object created by a superagent() call.\n\t * @param {Array.} authNames An array of authentication method names.\n\t */\n\t exports.prototype.applyAuthToRequest = function(request, authNames) {\n\t var _this = this;\n\t authNames.forEach(function(authName) {\n\t var auth = _this.authentications[authName];\n\t switch (auth.type) {\n\t case 'basic':\n\t if (auth.username || auth.password) {\n\t request.auth(auth.username || '', auth.password || '');\n\t }\n\t break;\n\t case 'apiKey':\n\t if (auth.apiKey) {\n\t var data = {};\n\t if (auth.apiKeyPrefix) {\n\t data[auth.name] = auth.apiKeyPrefix + ' ' + auth.apiKey;\n\t } else {\n\t data[auth.name] = auth.apiKey;\n\t }\n\t if (auth['in'] === 'header') {\n\t request.set(data);\n\t } else {\n\t request.query(data);\n\t }\n\t }\n\t break;\n\t case 'oauth2':\n\t if (auth.accessToken) {\n\t request.set({'Authorization': 'Bearer ' + auth.accessToken});\n\t }\n\t break;\n\t default:\n\t throw new Error('Unknown authentication type: ' + auth.type);\n\t }\n\t });\n\t };\n\t\n\t /**\n\t * Deserializes an HTTP response body into a value of the specified type.\n\t * @param {Object} response A SuperAgent response object.\n\t * @param {(String|Array.|Object.|Function)} returnType The type to return. Pass a string for simple types\n\t * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n\t * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n\t * all properties on data will be converted to this type.\n\t * @returns A value of the specified type.\n\t */\n\t exports.prototype.deserialize = function deserialize(response, returnType) {\n\t if (response == null || returnType == null) {\n\t return null;\n\t }\n\t // Rely on SuperAgent for parsing response body.\n\t // See http://visionmedia.github.io/superagent/#parsing-response-bodies\n\t var data = response.body;\n\t if (data == null) {\n\t // SuperAgent does not always produce a body; use the unparsed response as a fallback\n\t data = response.text;\n\t }\n\t return exports.convertToType(data, returnType);\n\t };\n\t\n\t /**\n\t * Callback function to receive the result of the operation.\n\t * @callback module:ApiClient~callApiCallback\n\t * @param {String} error Error message, if any.\n\t * @param data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Invokes the REST service using the supplied settings and parameters.\n\t * @param {String} path The base URL to invoke.\n\t * @param {String} httpMethod The HTTP method to use.\n\t * @param {Object.} pathParams A map of path parameters and their values.\n\t * @param {Object.} queryParams A map of query parameters and their values.\n\t * @param {Object.} headerParams A map of header parameters and their values.\n\t * @param {Object.} formParams A map of form parameters and their values.\n\t * @param {Object} bodyParam The value to pass as the request body.\n\t * @param {Array.} authNames An array of authentication type names.\n\t * @param {Array.} contentTypes An array of request MIME types.\n\t * @param {Array.} accepts An array of acceptable response MIME types.\n\t * @param {(String|Array|ObjectFunction)} returnType The required type to return; can be a string for simple types or the\n\t * constructor for a complex type.\n\t * @param {module:ApiClient~callApiCallback} callback The callback function.\n\t * @returns {Object} The SuperAgent request object.\n\t */\n\t exports.prototype.callApi = function callApi(path, httpMethod, pathParams,\n\t queryParams, headerParams, formParams, bodyParam, authNames, contentTypes, accepts,\n\t returnType, callback) {\n\t\n\t var _this = this;\n\t var url = this.buildUrl(path, pathParams);\n\t var request = superagent(httpMethod, url);\n\t\n\t // apply authentications\n\t this.applyAuthToRequest(request, authNames);\n\t\n\t // set query parameters\n\t request.query(this.normalizeParams(queryParams));\n\t\n\t // set header parameters\n\t request.set(this.defaultHeaders).set(this.normalizeParams(headerParams));\n\t\n\t // set request timeout\n\t request.timeout(this.timeout);\n\t\n\t var contentType = this.jsonPreferredMime(contentTypes);\n\t if (contentType !== 'multipart/form-data') {\n\t if (contentType) {\n\t request.type(contentType);\n\t } else if (!request.header['Content-Type']) {\n\t request.type('application/json');\n\t }\n\t }\n\t\n\t if (contentType === 'application/x-www-form-urlencoded') {\n\t request.send(this.normalizeParams(formParams));\n\t } else if (contentType == 'multipart/form-data') {\n\t var _formParams = this.normalizeParams(formParams);\n\t for (var key in _formParams) {\n\t if (_formParams.hasOwnProperty(key)) {\n\t if (this.isFileParam(_formParams[key])) {\n\t // file field\n\t request.attach(key, _formParams[key]);\n\t } else {\n\t request.field(key, _formParams[key]);\n\t }\n\t }\n\t }\n\t } else if (bodyParam) {\n\t request.send(bodyParam);\n\t }\n\t\n\t var accept = this.jsonPreferredMime(accepts);\n\t if (accept) {\n\t request.accept(accept);\n\t }\n\t\n\t\n\t request.end(function(error, response) {\n\t if (callback) {\n\t var data = null;\n\t if (!error) {\n\t data = _this.deserialize(response, returnType);\n\t }\n\t callback(error, data, response);\n\t }\n\t });\n\t\n\t return request;\n\t };\n\t\n\t /**\n\t * Parses an ISO-8601 string representation of a date value.\n\t * @param {String} str The date value as a string.\n\t * @returns {Date} The parsed date object.\n\t */\n\t exports.parseDate = function(str) {\n\t return new Date(str.replace(/T/i, ' '));\n\t };\n\t\n\t /**\n\t * Converts a value to the specified type.\n\t * @param {(String|Object)} data The data to convert, as a string or object.\n\t * @param {(String|Array.|Object.|Function)} type The type to return. Pass a string for simple types\n\t * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n\t * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n\t * all properties on data will be converted to this type.\n\t * @returns An instance of the specified type.\n\t */\n\t exports.convertToType = function(data, type) {\n\t switch (type) {\n\t case 'Boolean':\n\t return Boolean(data);\n\t case 'Integer':\n\t return parseInt(data, 10);\n\t case 'Number':\n\t return parseFloat(data);\n\t case 'String':\n\t return String(data);\n\t case 'Date':\n\t return this.parseDate(String(data));\n\t default:\n\t if (type === Object || type === File) {\n\t // generic object or Blob - return directly\n\t return data;\n\t } else if (typeof type === 'function') {\n\t if (typeof type.constructFromObject !== 'function') {\n\t // some manually written models might have no factory function\n\t return data;\n\t } else {\n\t // for model type like: User\n\t return type.constructFromObject(data);\n\t }\n\t } else if (Array.isArray(type)) {\n\t // for array type like: ['String']\n\t var itemType = type[0];\n\t return data.map(function(item) {\n\t return exports.convertToType(item, itemType);\n\t });\n\t } else if (typeof type === 'object') {\n\t // for plain object type like: {'String': 'Integer'}\n\t var keyType, valueType;\n\t for (var k in type) {\n\t if (type.hasOwnProperty(k)) {\n\t keyType = k;\n\t valueType = type[k];\n\t break;\n\t }\n\t }\n\t var result = {};\n\t for (var k in data) {\n\t if (data.hasOwnProperty(k)) {\n\t var key = exports.convertToType(k, keyType);\n\t var value = exports.convertToType(data[k], valueType);\n\t result[key] = value;\n\t }\n\t }\n\t return result;\n\t } else {\n\t // for unknown type, return the data directly\n\t return data;\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * Constructs a new map or array model from REST data.\n\t * @param data {Object|Array} The REST data.\n\t * @param obj {Object|Array} The target object or array.\n\t */\n\t exports.constructFromObject = function(data, obj, itemType) {\n\t if (Array.isArray(data)) {\n\t for (var i = 0; i < data.length; i++) {\n\t if (data.hasOwnProperty(i))\n\t obj[i] = exports.convertToType(data[i], itemType);\n\t }\n\t } else {\n\t for (var k in data) {\n\t if (data.hasOwnProperty(k))\n\t obj[k] = exports.convertToType(data[k], itemType);\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * The default API client implementation.\n\t * @type {module:ApiClient}\n\t */\n\t exports.instance = new exports();\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RestError = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The RestError model module.\n\t * @module model/RestError\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new RestError.\n\t * Error object with code and message. code is bound to status code, but not always same to standard HTTP status text. For example, some 409 error may have code \\"Invalid Argument\\" instead of \\"Conflic\\". So, Client should read message property to know what happend exactly when an error is returned from server. And, some 500 errors can have system errno instead of useless \\"internal\\". Like other errors, details are hidden in message. \n\t * @alias module:model/RestError\n\t * @class\n\t * @param message {String} \n\t */\n\t var exports = function(message) {\n\t var _this = this;\n\t\n\t\n\t _this['message'] = message;\n\t };\n\t\n\t /**\n\t * Constructs a RestError from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/RestError} obj Optional instance to populate.\n\t * @return {module:model/RestError} The populated RestError instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('code')) {\n\t obj['code'] = ApiClient.convertToType(data['code'], 'String');\n\t }\n\t if (data.hasOwnProperty('message')) {\n\t obj['message'] = ApiClient.convertToType(data['message'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} code\n\t */\n\t exports.prototype['code'] = undefined;\n\t /**\n\t * @member {String} message\n\t */\n\t exports.prototype['message'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RestOK = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The RestOK model module.\n\t * @module model/RestOK\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new RestOK.\n\t * @alias module:model/RestOK\n\t * @class\n\t */\n\t var exports = function() {\n\t var _this = this;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a RestOK from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/RestOK} obj Optional instance to populate.\n\t * @return {module:model/RestOK} The populated RestOK instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('message')) {\n\t obj['message'] = ApiClient.convertToType(data['message'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} message\n\t */\n\t exports.prototype['message'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(4), __webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('./DirEntry'), require('./Stats'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.DirEntry = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n\t }\n\t}(this, function(ApiClient, DirEntry, Stats) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The DirEntry model module.\n\t * @module model/DirEntry\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new DirEntry.\n\t * a directory entry (file or directory) with children that represents a (sub) tree\n\t * @alias module:model/DirEntry\n\t * @class\n\t * @param name {String} \n\t * @param stats {module:model/Stats} \n\t * @param children {Array.} \n\t */\n\t var exports = function(name, stats, children) {\n\t var _this = this;\n\t\n\t _this['name'] = name;\n\t _this['stats'] = stats;\n\t _this['children'] = children;\n\t };\n\t\n\t /**\n\t * Constructs a DirEntry from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/DirEntry} obj Optional instance to populate.\n\t * @return {module:model/DirEntry} The populated DirEntry instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('stats')) {\n\t obj['stats'] = Stats.constructFromObject(data['stats']);\n\t }\n\t if (data.hasOwnProperty('children')) {\n\t obj['children'] = ApiClient.convertToType(data['children'], [DirEntry]);\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * @member {module:model/Stats} stats\n\t */\n\t exports.prototype['stats'] = undefined;\n\t /**\n\t * @member {Array.} children\n\t */\n\t exports.prototype['children'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Stats = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Stats model module.\n\t * @module model/Stats\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Stats.\n\t * simplified/augmented fs.Stats class - see node.js doc for all properties\n\t * @alias module:model/Stats\n\t * @class\n\t * @param type {module:model/Stats.TypeEnum} All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n\t * @param birthtime {Date} \n\t * @param mtime {Date} \n\t * @param mode {String} \n\t * @param size {Integer} \n\t * @param nlink {Integer} \n\t */\n\t var exports = function(type, birthtime, mtime, mode, size, nlink) {\n\t var _this = this;\n\t\n\t _this['type'] = type;\n\t _this['birthtime'] = birthtime;\n\t _this['mtime'] = mtime;\n\t _this['mode'] = mode;\n\t _this['size'] = size;\n\t _this['nlink'] = nlink;\n\t };\n\t\n\t /**\n\t * Constructs a Stats from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Stats} obj Optional instance to populate.\n\t * @return {module:model/Stats} The populated Stats instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('type')) {\n\t obj['type'] = ApiClient.convertToType(data['type'], 'String');\n\t }\n\t if (data.hasOwnProperty('birthtime')) {\n\t obj['birthtime'] = ApiClient.convertToType(data['birthtime'], 'Date');\n\t }\n\t if (data.hasOwnProperty('mtime')) {\n\t obj['mtime'] = ApiClient.convertToType(data['mtime'], 'Date');\n\t }\n\t if (data.hasOwnProperty('mode')) {\n\t obj['mode'] = ApiClient.convertToType(data['mode'], 'String');\n\t }\n\t if (data.hasOwnProperty('size')) {\n\t obj['size'] = ApiClient.convertToType(data['size'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('nlink')) {\n\t obj['nlink'] = ApiClient.convertToType(data['nlink'], 'Integer');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n\t * @member {module:model/Stats.TypeEnum} type\n\t */\n\t exports.prototype['type'] = undefined;\n\t /**\n\t * @member {Date} birthtime\n\t */\n\t exports.prototype['birthtime'] = undefined;\n\t /**\n\t * @member {Date} mtime\n\t */\n\t exports.prototype['mtime'] = undefined;\n\t /**\n\t * @member {String} mode\n\t */\n\t exports.prototype['mode'] = undefined;\n\t /**\n\t * @member {Integer} size\n\t */\n\t exports.prototype['size'] = undefined;\n\t /**\n\t * @member {Integer} nlink\n\t */\n\t exports.prototype['nlink'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the type property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.TypeEnum = {\n\t /**\n\t * value: \"FILE\"\n\t * @const\n\t */\n\t \"FILE\": \"FILE\",\n\t /**\n\t * value: \"DIRECTORY\"\n\t * @const\n\t */\n\t \"DIRECTORY\": \"DIRECTORY\",\n\t /**\n\t * value: \"BLOCK_DEVICE\"\n\t * @const\n\t */\n\t \"BLOCK_DEVICE\": \"BLOCK_DEVICE\",\n\t /**\n\t * value: \"CHARACTER_DEVICE\"\n\t * @const\n\t */\n\t \"CHARACTER_DEVICE\": \"CHARACTER_DEVICE\",\n\t /**\n\t * value: \"LINK\"\n\t * @const\n\t */\n\t \"LINK\": \"LINK\",\n\t /**\n\t * value: \"FIFO\"\n\t * @const\n\t */\n\t \"FIFO\": \"FIFO\",\n\t /**\n\t * value: \"SOCKET\"\n\t * @const\n\t */\n\t \"SOCKET\": \"SOCKET\",\n\t /**\n\t * value: \"DUMMY\"\n\t * @const\n\t */\n\t \"DUMMY\": \"DUMMY\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.ChildProcess = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The ChildProcess model module.\n\t * @module model/ChildProcess\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new ChildProcess.\n\t * a process in execution, spawned by async exec or other mean\n\t * @alias module:model/ChildProcess\n\t * @class\n\t * @param pid {Integer} child process pid\n\t * @param command {String} execution command in execution request\n\t * @param args {Array.} arguments of command in execution request\n\t * @param execId {String} execution id from execution request\n\t * @param state {module:model/ChildProcess.StateEnum} state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. \n\t * @param startedAt {Date} the time when this process is spawned\n\t */\n\t var exports = function(pid, command, args, execId, state, startedAt) {\n\t var _this = this;\n\t\n\t _this['pid'] = pid;\n\t _this['command'] = command;\n\t _this['args'] = args;\n\t _this['execId'] = execId;\n\t _this['state'] = state;\n\t _this['startedAt'] = startedAt;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a ChildProcess from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/ChildProcess} obj Optional instance to populate.\n\t * @return {module:model/ChildProcess} The populated ChildProcess instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('pid')) {\n\t obj['pid'] = ApiClient.convertToType(data['pid'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('command')) {\n\t obj['command'] = ApiClient.convertToType(data['command'], 'String');\n\t }\n\t if (data.hasOwnProperty('args')) {\n\t obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n\t }\n\t if (data.hasOwnProperty('execId')) {\n\t obj['execId'] = ApiClient.convertToType(data['execId'], 'String');\n\t }\n\t if (data.hasOwnProperty('state')) {\n\t obj['state'] = ApiClient.convertToType(data['state'], 'String');\n\t }\n\t if (data.hasOwnProperty('startedAt')) {\n\t obj['startedAt'] = ApiClient.convertToType(data['startedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('exitCode')) {\n\t obj['exitCode'] = ApiClient.convertToType(data['exitCode'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('exitSignal')) {\n\t obj['exitSignal'] = ApiClient.convertToType(data['exitSignal'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * child process pid\n\t * @member {Integer} pid\n\t */\n\t exports.prototype['pid'] = undefined;\n\t /**\n\t * execution command in execution request\n\t * @member {String} command\n\t */\n\t exports.prototype['command'] = undefined;\n\t /**\n\t * arguments of command in execution request\n\t * @member {Array.} args\n\t */\n\t exports.prototype['args'] = undefined;\n\t /**\n\t * execution id from execution request\n\t * @member {String} execId\n\t */\n\t exports.prototype['execId'] = undefined;\n\t /**\n\t * state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. \n\t * @member {module:model/ChildProcess.StateEnum} state\n\t */\n\t exports.prototype['state'] = undefined;\n\t /**\n\t * the time when this process is spawned\n\t * @member {Date} startedAt\n\t */\n\t exports.prototype['startedAt'] = undefined;\n\t /**\n\t * the exit code of child process. available with EXITED procs only.\n\t * @member {Integer} exitCode\n\t */\n\t exports.prototype['exitCode'] = undefined;\n\t /**\n\t * the signal that killed this child process.(not always available)\n\t * @member {String} exitSignal\n\t */\n\t exports.prototype['exitSignal'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the state property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.StateEnum = {\n\t /**\n\t * value: \"CREATED\"\n\t * @const\n\t */\n\t \"CREATED\": \"CREATED\",\n\t /**\n\t * value: \"WORKING\"\n\t * @const\n\t */\n\t \"WORKING\": \"WORKING\",\n\t /**\n\t * value: \"KILLING\"\n\t * @const\n\t */\n\t \"KILLING\": \"KILLING\",\n\t /**\n\t * value: \"EXITED\"\n\t * @const\n\t */\n\t \"EXITED\": \"EXITED\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Credential = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Credential model module.\n\t * @module model/Credential\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Credential.\n\t * user credential to login. Use https to protect credential.\n\t * @alias module:model/Credential\n\t * @class\n\t * @param loginId {String} \n\t * @param loginPassword {String} \n\t */\n\t var exports = function(loginId, loginPassword) {\n\t var _this = this;\n\t\n\t _this['loginId'] = loginId;\n\t _this['loginPassword'] = loginPassword;\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Credential from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Credential} obj Optional instance to populate.\n\t * @return {module:model/Credential} The populated Credential instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('loginId')) {\n\t obj['loginId'] = ApiClient.convertToType(data['loginId'], 'String');\n\t }\n\t if (data.hasOwnProperty('loginPassword')) {\n\t obj['loginPassword'] = ApiClient.convertToType(data['loginPassword'], 'String');\n\t }\n\t if (data.hasOwnProperty('masterToken')) {\n\t obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} loginId\n\t */\n\t exports.prototype['loginId'] = undefined;\n\t /**\n\t * @member {String} loginPassword\n\t */\n\t exports.prototype['loginPassword'] = undefined;\n\t /**\n\t * a master token is issued when user wants to access webida api without id/password from remote or local desktop app. When masterToken is set, client should put some bogus id/password, non-empty. (The values can be used to identify client type) \n\t * @member {String} masterToken\n\t */\n\t exports.prototype['masterToken'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Execution = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Execution model module.\n\t * @module model/Execution\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Execution.\n\t * execution request, simlilar to node.js exec()/spawn(). see node.js documentation for details of each properties. some properties are not configurable for portability - encoding : fixed to utf-8 - shell : fixed to system defaults. (so, cmd.exe will be invoked in Windows OS, not sh or bash in git-for-windows even they are available.) - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or invoke taskkill, to ensure chlid process is killed. - uid & gid : will not be set for security - stdio : all streams are handled by server. no options are avaliable to client. - detached : always false \n\t * @alias module:model/Execution\n\t * @class\n\t * @param command {String} The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. \n\t * @param args {Array.} the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\\\Program Files\\\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. \n\t */\n\t var exports = function(command, args) {\n\t var _this = this;\n\t\n\t\n\t _this['command'] = command;\n\t _this['args'] = args;\n\t\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Execution from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Execution} obj Optional instance to populate.\n\t * @return {module:model/Execution} The populated Execution instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('command')) {\n\t obj['command'] = ApiClient.convertToType(data['command'], 'String');\n\t }\n\t if (data.hasOwnProperty('args')) {\n\t obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n\t }\n\t if (data.hasOwnProperty('cwd')) {\n\t obj['cwd'] = ApiClient.convertToType(data['cwd'], 'String');\n\t }\n\t if (data.hasOwnProperty('timeout')) {\n\t obj['timeout'] = ApiClient.convertToType(data['timeout'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('maxBuffer')) {\n\t obj['maxBuffer'] = ApiClient.convertToType(data['maxBuffer'], 'Integer');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * unique identifier of execution, to demux response stream or cancel request. Server should reject an async exec request without id. \n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. \n\t * @member {String} command\n\t */\n\t exports.prototype['command'] = undefined;\n\t /**\n\t * the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\\\Program Files\\\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. \n\t * @member {Array.} args\n\t */\n\t exports.prototype['args'] = undefined;\n\t /**\n\t * Current working directory of spawned process, relative to workspace root. If abscent, cwd will be the workspace directory. Does not accept any evaluatable form like $HOME, %USERPROFILE%. path should be unixified. Server may reject an 'absolute' property. \n\t * @member {String} cwd\n\t */\n\t exports.prototype['cwd'] = undefined;\n\t /**\n\t * The value which In 'miliseconds' the maximum amount of time the child is allowed to run. (not idle time of stdout / stderr stream) for sync exec. Server should not apply default value for async exec, when omitted. The child process spawned by async execution should be killed when 1) server goes down 2) process exits by self 3) cancel operation is invoked \n\t * @member {Integer} timeout\n\t */\n\t exports.prototype['timeout'] = undefined;\n\t /**\n\t * Largest amount of data (in bytes) allowed on stdout or stderr for sync exec. Server should not apply this limit to async execution. In sync exec, server may kill a child process that has exceeded limit. default value is 512KB, large enough. \n\t * @member {Integer} maxBuffer\n\t */\n\t exports.prototype['maxBuffer'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.ExecutionResult = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The ExecutionResult model module.\n\t * @module model/ExecutionResult\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new ExecutionResult.\n\t * execution response\n\t * @alias module:model/ExecutionResult\n\t * @class\n\t * @param stdout {String} standard out of child process.\n\t * @param stderr {String} standard error of child process.\n\t */\n\t var exports = function(stdout, stderr) {\n\t var _this = this;\n\t\n\t\n\t _this['stdout'] = stdout;\n\t _this['stderr'] = stderr;\n\t };\n\t\n\t /**\n\t * Constructs a ExecutionResult from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/ExecutionResult} obj Optional instance to populate.\n\t * @return {module:model/ExecutionResult} The populated ExecutionResult instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('error')) {\n\t obj['error'] = ApiClient.convertToType(data['error'], 'String');\n\t }\n\t if (data.hasOwnProperty('stdout')) {\n\t obj['stdout'] = ApiClient.convertToType(data['stdout'], 'String');\n\t }\n\t if (data.hasOwnProperty('stderr')) {\n\t obj['stderr'] = ApiClient.convertToType(data['stderr'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * error message when execution failed.\n\t * @member {String} error\n\t */\n\t exports.prototype['error'] = undefined;\n\t /**\n\t * standard out of child process.\n\t * @member {String} stdout\n\t */\n\t exports.prototype['stdout'] = undefined;\n\t /**\n\t * standard error of child process.\n\t * @member {String} stderr\n\t */\n\t exports.prototype['stderr'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RemoteAccess = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The RemoteAccess model module.\n\t * @module model/RemoteAccess\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new RemoteAccess.\n\t * Access information of remote workspace in remote server\n\t * @alias module:model/RemoteAccess\n\t * @class\n\t * @param name {String} display text of remote workspace. can be different from original name. \n\t * @param serverUrl {String} the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n\t * @param workspaceId {String} the id of remote workspace, read from remote server\n\t * @param masterToken {String} master token to access service, issued from remote server\n\t */\n\t var exports = function(name, serverUrl, workspaceId, masterToken) {\n\t var _this = this;\n\t\n\t _this['name'] = name;\n\t _this['serverUrl'] = serverUrl;\n\t _this['workspaceId'] = workspaceId;\n\t\n\t _this['masterToken'] = masterToken;\n\t };\n\t\n\t /**\n\t * Constructs a RemoteAccess from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/RemoteAccess} obj Optional instance to populate.\n\t * @return {module:model/RemoteAccess} The populated RemoteAccess instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('serverUrl')) {\n\t obj['serverUrl'] = ApiClient.convertToType(data['serverUrl'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspaceId')) {\n\t obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspacePath')) {\n\t obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n\t }\n\t if (data.hasOwnProperty('masterToken')) {\n\t obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * display text of remote workspace. can be different from original name. \n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n\t * @member {String} serverUrl\n\t */\n\t exports.prototype['serverUrl'] = undefined;\n\t /**\n\t * the id of remote workspace, read from remote server\n\t * @member {String} workspaceId\n\t */\n\t exports.prototype['workspaceId'] = undefined;\n\t /**\n\t * Full path of remote workspace, read from remote server. this property will be removed when clients are able to work without \\\"named root directory\\\" in workspace fs tree. \n\t * @member {String} workspacePath\n\t */\n\t exports.prototype['workspacePath'] = undefined;\n\t /**\n\t * master token to access service, issued from remote server\n\t * @member {String} masterToken\n\t */\n\t exports.prototype['masterToken'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Session = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Session model module.\n\t * @module model/Session\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Session.\n\t * an application session per ide instance. bound to access token\n\t * @alias module:model/Session\n\t * @class\n\t * @param id {String} the id of a session. usually same to socket id.\n\t * @param name {String} human readable name, usually derived from workspace name.\n\t * @param state {module:model/Session.StateEnum} state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n\t * @param clientAddress {String} the peer address of session connection. not always\n\t * @param connectedAt {Date} the time when socket connection is established\n\t * @param disconnectedAt {Date} the time when socket is closed.\n\t */\n\t var exports = function(id, name, state, clientAddress, connectedAt, disconnectedAt) {\n\t var _this = this;\n\t\n\t _this['id'] = id;\n\t _this['name'] = name;\n\t _this['state'] = state;\n\t\n\t _this['clientAddress'] = clientAddress;\n\t _this['connectedAt'] = connectedAt;\n\t _this['disconnectedAt'] = disconnectedAt;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Session from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Session} obj Optional instance to populate.\n\t * @return {module:model/Session} The populated Session instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('state')) {\n\t obj['state'] = ApiClient.convertToType(data['state'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspaceId')) {\n\t obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n\t }\n\t if (data.hasOwnProperty('clientAddress')) {\n\t obj['clientAddress'] = ApiClient.convertToType(data['clientAddress'], 'String');\n\t }\n\t if (data.hasOwnProperty('connectedAt')) {\n\t obj['connectedAt'] = ApiClient.convertToType(data['connectedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('disconnectedAt')) {\n\t obj['disconnectedAt'] = ApiClient.convertToType(data['disconnectedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('willCloseAt')) {\n\t obj['willCloseAt'] = ApiClient.convertToType(data['willCloseAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('willLoseAt')) {\n\t obj['willLoseAt'] = ApiClient.convertToType(data['willLoseAt'], 'Date');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * the id of a session. usually same to socket id.\n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * human readable name, usually derived from workspace name.\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n\t * @member {module:model/Session.StateEnum} state\n\t */\n\t exports.prototype['state'] = undefined;\n\t /**\n\t * the id of workspace that this sessions is working on. If falsy, then this session is not belonged to any workpsace. Usually, dashboard / monitoring app will create a session without workspace id. \n\t * @member {String} workspaceId\n\t */\n\t exports.prototype['workspaceId'] = undefined;\n\t /**\n\t * the peer address of session connection. not always\n\t * @member {String} clientAddress\n\t */\n\t exports.prototype['clientAddress'] = undefined;\n\t /**\n\t * the time when socket connection is established\n\t * @member {Date} connectedAt\n\t */\n\t exports.prototype['connectedAt'] = undefined;\n\t /**\n\t * the time when socket is closed.\n\t * @member {Date} disconnectedAt\n\t */\n\t exports.prototype['disconnectedAt'] = undefined;\n\t /**\n\t * when state becomes CLOSING, actual closing time will be updated by server.\n\t * @member {Date} willCloseAt\n\t */\n\t exports.prototype['willCloseAt'] = undefined;\n\t /**\n\t * when state becomes LOSING, server will not wait for reconnection after this time.\n\t * @member {Date} willLoseAt\n\t */\n\t exports.prototype['willLoseAt'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the state property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.StateEnum = {\n\t /**\n\t * value: \"NORMAL\"\n\t * @const\n\t */\n\t \"NORMAL\": \"NORMAL\",\n\t /**\n\t * value: \"LOSING\"\n\t * @const\n\t */\n\t \"LOSING\": \"LOSING\",\n\t /**\n\t * value: \"CLOSING\"\n\t * @const\n\t */\n\t \"CLOSING\": \"CLOSING\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Token = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Token model module.\n\t * @module model/Token\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Token.\n\t * a json webtoken and accessible data\n\t * @alias module:model/Token\n\t * @class\n\t * @param text {String} actual token text that should be shipped in header or query\n\t * @param tokenType {module:model/Token.TokenTypeEnum} MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n\t * @param expiresAt {Date} \n\t * @param issuedAt {Date} \n\t */\n\t var exports = function(text, tokenType, expiresAt, issuedAt) {\n\t var _this = this;\n\t\n\t _this['text'] = text;\n\t _this['tokenType'] = tokenType;\n\t _this['expiresAt'] = expiresAt;\n\t _this['issuedAt'] = issuedAt;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Token from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Token} obj Optional instance to populate.\n\t * @return {module:model/Token} The populated Token instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('text')) {\n\t obj['text'] = ApiClient.convertToType(data['text'], 'String');\n\t }\n\t if (data.hasOwnProperty('tokenType')) {\n\t obj['tokenType'] = ApiClient.convertToType(data['tokenType'], 'String');\n\t }\n\t if (data.hasOwnProperty('expiresAt')) {\n\t obj['expiresAt'] = ApiClient.convertToType(data['expiresAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('issuedAt')) {\n\t obj['issuedAt'] = ApiClient.convertToType(data['issuedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('sessionId')) {\n\t obj['sessionId'] = ApiClient.convertToType(data['sessionId'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspaceId')) {\n\t obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * actual token text that should be shipped in header or query\n\t * @member {String} text\n\t */\n\t exports.prototype['text'] = undefined;\n\t /**\n\t * MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n\t * @member {module:model/Token.TokenTypeEnum} tokenType\n\t */\n\t exports.prototype['tokenType'] = undefined;\n\t /**\n\t * @member {Date} expiresAt\n\t */\n\t exports.prototype['expiresAt'] = undefined;\n\t /**\n\t * @member {Date} issuedAt\n\t */\n\t exports.prototype['issuedAt'] = undefined;\n\t /**\n\t * mandatory for ACCESS token, identifying client instance\n\t * @member {String} sessionId\n\t */\n\t exports.prototype['sessionId'] = undefined;\n\t /**\n\t * If truthy, access rights are restricted to specified workspace only.\n\t * @member {String} workspaceId\n\t */\n\t exports.prototype['workspaceId'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the tokenType property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.TokenTypeEnum = {\n\t /**\n\t * value: \"MASTER\"\n\t * @const\n\t */\n\t \"MASTER\": \"MASTER\",\n\t /**\n\t * value: \"ACCESS\"\n\t * @const\n\t */\n\t \"ACCESS\": \"ACCESS\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.User = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The User model module.\n\t * @module model/User\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new User.\n\t * Any services/products should define some admin apis to manage users in the system and expose what should be exposed to client app. So, no properties are mandatory. Currently, the properties are defined for compatiblity with legacy clients. \n\t * @alias module:model/User\n\t * @class\n\t */\n\t var exports = function() {\n\t var _this = this;\n\t\n\t\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a User from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/User} obj Optional instance to populate.\n\t * @return {module:model/User} The populated User instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('email')) {\n\t obj['email'] = ApiClient.convertToType(data['email'], 'String');\n\t }\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * unique id per user (email is also unique)\n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * @member {String} email\n\t */\n\t exports.prototype['email'] = undefined;\n\t /**\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Workspace = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Workspace model module.\n\t * @module model/Workspace\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Workspace.\n\t * A workspace in server\n\t * @alias module:model/Workspace\n\t * @class\n\t * @param id {String} the id of a workspace. usually same to file system id\n\t * @param name {String} display text of this workspace for UI\n\t * @param description {String} human readable description on this workspace\n\t * @param createdAt {Date} the time when this workspace is created (registered from local file system)\n\t * @param workspacePath {String} absolute path of this workspace in server.\n\t * @param excludedPaths {Array.} glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n\t * @param offlineCachePaths {Array.} any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n\t */\n\t var exports = function(id, name, description, createdAt, workspacePath, excludedPaths, offlineCachePaths) {\n\t var _this = this;\n\t\n\t _this['id'] = id;\n\t _this['name'] = name;\n\t _this['description'] = description;\n\t _this['createdAt'] = createdAt;\n\t\n\t _this['workspacePath'] = workspacePath;\n\t _this['excludedPaths'] = excludedPaths;\n\t _this['offlineCachePaths'] = offlineCachePaths;\n\t };\n\t\n\t /**\n\t * Constructs a Workspace from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Workspace} obj Optional instance to populate.\n\t * @return {module:model/Workspace} The populated Workspace instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('description')) {\n\t obj['description'] = ApiClient.convertToType(data['description'], 'String');\n\t }\n\t if (data.hasOwnProperty('createdAt')) {\n\t obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('accessedAt')) {\n\t obj['accessedAt'] = ApiClient.convertToType(data['accessedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('workspacePath')) {\n\t obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n\t }\n\t if (data.hasOwnProperty('excludedPaths')) {\n\t obj['excludedPaths'] = ApiClient.convertToType(data['excludedPaths'], ['String']);\n\t }\n\t if (data.hasOwnProperty('offlineCachePaths')) {\n\t obj['offlineCachePaths'] = ApiClient.convertToType(data['offlineCachePaths'], ['String']);\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * the id of a workspace. usually same to file system id\n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * display text of this workspace for UI\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * human readable description on this workspace\n\t * @member {String} description\n\t */\n\t exports.prototype['description'] = undefined;\n\t /**\n\t * the time when this workspace is created (registered from local file system)\n\t * @member {Date} createdAt\n\t */\n\t exports.prototype['createdAt'] = undefined;\n\t /**\n\t * the time when the last session on this workspace was made. (optional)\n\t * @member {Date} accessedAt\n\t */\n\t exports.prototype['accessedAt'] = undefined;\n\t /**\n\t * absolute path of this workspace in server.\n\t * @member {String} workspacePath\n\t */\n\t exports.prototype['workspacePath'] = undefined;\n\t /**\n\t * glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n\t * @member {Array.} excludedPaths\n\t */\n\t exports.prototype['excludedPaths'] = undefined;\n\t /**\n\t * any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n\t * @member {Array.} offlineCachePaths\n\t */\n\t exports.prototype['offlineCachePaths'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\t(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.superagent = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= 200 && res.status < 300) {\n\t return self.callback(err, res);\n\t }\n\t\n\t var new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n\t new_err.original = err;\n\t new_err.response = res;\n\t new_err.status = res.status;\n\t\n\t self.callback(new_err, res);\n\t } catch(e) {\n\t self.callback(e); // #985 touching res may cause INVALID_STATE_ERR on old Android\n\t }\n\t });\n\t}\n\t\n\t/**\n\t * Mixin `Emitter` and `requestBase`.\n\t */\n\t\n\tEmitter(Request.prototype);\n\tfor (var key in requestBase) {\n\t Request.prototype[key] = requestBase[key];\n\t}\n\t\n\t/**\n\t * Set Content-Type to `type`, mapping values from `request.types`.\n\t *\n\t * Examples:\n\t *\n\t * superagent.types.xml = 'application/xml';\n\t *\n\t * request.post('/')\n\t * .type('xml')\n\t * .send(xmlstring)\n\t * .end(callback);\n\t *\n\t * request.post('/')\n\t * .type('application/xml')\n\t * .send(xmlstring)\n\t * .end(callback);\n\t *\n\t * @param {String} type\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.type = function(type){\n\t this.set('Content-Type', request.types[type] || type);\n\t return this;\n\t};\n\t\n\t/**\n\t * Set responseType to `val`. Presently valid responseTypes are 'blob' and\n\t * 'arraybuffer'.\n\t *\n\t * Examples:\n\t *\n\t * req.get('/')\n\t * .responseType('blob')\n\t * .end(callback);\n\t *\n\t * @param {String} val\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.responseType = function(val){\n\t this._responseType = val;\n\t return this;\n\t};\n\t\n\t/**\n\t * Set Accept to `type`, mapping values from `request.types`.\n\t *\n\t * Examples:\n\t *\n\t * superagent.types.json = 'application/json';\n\t *\n\t * request.get('/agent')\n\t * .accept('json')\n\t * .end(callback);\n\t *\n\t * request.get('/agent')\n\t * .accept('application/json')\n\t * .end(callback);\n\t *\n\t * @param {String} accept\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.accept = function(type){\n\t this.set('Accept', request.types[type] || type);\n\t return this;\n\t};\n\t\n\t/**\n\t * Set Authorization field value with `user` and `pass`.\n\t *\n\t * @param {String} user\n\t * @param {String} pass\n\t * @param {Object} options with 'type' property 'auto' or 'basic' (default 'basic')\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.auth = function(user, pass, options){\n\t if (!options) {\n\t options = {\n\t type: 'basic'\n\t }\n\t }\n\t\n\t switch (options.type) {\n\t case 'basic':\n\t var str = btoa(user + ':' + pass);\n\t this.set('Authorization', 'Basic ' + str);\n\t break;\n\t\n\t case 'auto':\n\t this.username = user;\n\t this.password = pass;\n\t break;\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t* Add query-string `val`.\n\t*\n\t* Examples:\n\t*\n\t* request.get('/shoes')\n\t* .query('size=10')\n\t* .query({ color: 'blue' })\n\t*\n\t* @param {Object|String} val\n\t* @return {Request} for chaining\n\t* @api public\n\t*/\n\t\n\tRequest.prototype.query = function(val){\n\t if ('string' != typeof val) val = serialize(val);\n\t if (val) this._query.push(val);\n\t return this;\n\t};\n\t\n\t/**\n\t * Queue the given `file` as an attachment to the specified `field`,\n\t * with optional `filename`.\n\t *\n\t * ``` js\n\t * request.post('/upload')\n\t * .attach('content', new Blob(['hey!'], { type: \"text/html\"}))\n\t * .end(callback);\n\t * ```\n\t *\n\t * @param {String} field\n\t * @param {Blob|File} file\n\t * @param {String} filename\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.attach = function(field, file, filename){\n\t this._getFormData().append(field, file, filename || file.name);\n\t return this;\n\t};\n\t\n\tRequest.prototype._getFormData = function(){\n\t if (!this._formData) {\n\t this._formData = new root.FormData();\n\t }\n\t return this._formData;\n\t};\n\t\n\t/**\n\t * Invoke the callback with `err` and `res`\n\t * and handle arity check.\n\t *\n\t * @param {Error} err\n\t * @param {Response} res\n\t * @api private\n\t */\n\t\n\tRequest.prototype.callback = function(err, res){\n\t var fn = this._callback;\n\t this.clearTimeout();\n\t fn(err, res);\n\t};\n\t\n\t/**\n\t * Invoke callback with x-domain error.\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype.crossDomainError = function(){\n\t var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n\t err.crossDomain = true;\n\t\n\t err.status = this.status;\n\t err.method = this.method;\n\t err.url = this.url;\n\t\n\t this.callback(err);\n\t};\n\t\n\t/**\n\t * Invoke callback with timeout error.\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype._timeoutError = function(){\n\t var timeout = this._timeout;\n\t var err = new Error('timeout of ' + timeout + 'ms exceeded');\n\t err.timeout = timeout;\n\t this.callback(err);\n\t};\n\t\n\t/**\n\t * Compose querystring to append to req.url\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype._appendQueryString = function(){\n\t var query = this._query.join('&');\n\t if (query) {\n\t this.url += ~this.url.indexOf('?')\n\t ? '&' + query\n\t : '?' + query;\n\t }\n\t};\n\t\n\t/**\n\t * Initiate request, invoking callback `fn(res)`\n\t * with an instanceof `Response`.\n\t *\n\t * @param {Function} fn\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.end = function(fn){\n\t var self = this;\n\t var xhr = this.xhr = request.getXHR();\n\t var timeout = this._timeout;\n\t var data = this._formData || this._data;\n\t\n\t // store callback\n\t this._callback = fn || noop;\n\t\n\t // state change\n\t xhr.onreadystatechange = function(){\n\t if (4 != xhr.readyState) return;\n\t\n\t // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n\t // result in the error \"Could not complete the operation due to error c00c023f\"\n\t var status;\n\t try { status = xhr.status } catch(e) { status = 0; }\n\t\n\t if (0 == status) {\n\t if (self.timedout) return self._timeoutError();\n\t if (self._aborted) return;\n\t return self.crossDomainError();\n\t }\n\t self.emit('end');\n\t };\n\t\n\t // progress\n\t var handleProgress = function(e){\n\t if (e.total > 0) {\n\t e.percent = e.loaded / e.total * 100;\n\t }\n\t e.direction = 'download';\n\t self.emit('progress', e);\n\t };\n\t if (this.hasListeners('progress')) {\n\t xhr.onprogress = handleProgress;\n\t }\n\t try {\n\t if (xhr.upload && this.hasListeners('progress')) {\n\t xhr.upload.onprogress = handleProgress;\n\t }\n\t } catch(e) {\n\t // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n\t // Reported here:\n\t // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n\t }\n\t\n\t // timeout\n\t if (timeout && !this._timer) {\n\t this._timer = setTimeout(function(){\n\t self.timedout = true;\n\t self.abort();\n\t }, timeout);\n\t }\n\t\n\t // querystring\n\t this._appendQueryString();\n\t\n\t // initiate request\n\t if (this.username && this.password) {\n\t xhr.open(this.method, this.url, true, this.username, this.password);\n\t } else {\n\t xhr.open(this.method, this.url, true);\n\t }\n\t\n\t // CORS\n\t if (this._withCredentials) xhr.withCredentials = true;\n\t\n\t // body\n\t if ('GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n\t // serialize stuff\n\t var contentType = this._header['content-type'];\n\t var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n\t if (!serialize && isJSON(contentType)) serialize = request.serialize['application/json'];\n\t if (serialize) data = serialize(data);\n\t }\n\t\n\t // set header fields\n\t for (var field in this.header) {\n\t if (null == this.header[field]) continue;\n\t xhr.setRequestHeader(field, this.header[field]);\n\t }\n\t\n\t if (this._responseType) {\n\t xhr.responseType = this._responseType;\n\t }\n\t\n\t // send stuff\n\t this.emit('request', this);\n\t\n\t // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n\t // We need null here if data is undefined\n\t xhr.send(typeof data !== 'undefined' ? data : null);\n\t return this;\n\t};\n\t\n\t\n\t/**\n\t * Expose `Request`.\n\t */\n\t\n\trequest.Request = Request;\n\t\n\t/**\n\t * GET `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.get = function(url, data, fn){\n\t var req = request('GET', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.query(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * HEAD `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.head = function(url, data, fn){\n\t var req = request('HEAD', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * OPTIONS query to `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.options = function(url, data, fn){\n\t var req = request('OPTIONS', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * DELETE `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\tfunction del(url, fn){\n\t var req = request('DELETE', url);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\trequest['del'] = del;\n\trequest['delete'] = del;\n\t\n\t/**\n\t * PATCH `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed} data\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.patch = function(url, data, fn){\n\t var req = request('PATCH', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * POST `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed} data\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.post = function(url, data, fn){\n\t var req = request('POST', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * PUT `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.put = function(url, data, fn){\n\t var req = request('PUT', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t},{\"./is-object\":1,\"./request\":3,\"./request-base\":2,\"emitter\":4,\"reduce\":5}]},{},[6])(6)\n\t});\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(14), __webpack_require__(2), __webpack_require__(13), __webpack_require__(8)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/User'), require('../model/RestError'), require('../model/Token'), require('../model/Credential'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.AuthApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.User, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Token, root.WebidaRestfulApi.Credential);\n\t }\n\t}(this, function(ApiClient, User, RestError, Token, Credential) {\n\t 'use strict';\n\t\n\t /**\n\t * Auth service.\n\t * @module api/AuthApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new AuthApi. \n\t * @alias module:api/AuthApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the getInfo operation.\n\t * @callback module:api/AuthApi~getInfoCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/User} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Gets user information of that can be identified with current access token. Implementations should provide a more restful api based on domain data model, not extending this operation. (e.g. GET,PUT and DELETE on /Users/{userId} to read, update and delete user) \n\t * @param {module:api/AuthApi~getInfoCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/User}\n\t */\n\t this.getInfo = function(callback) {\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = User;\n\t\n\t return this.apiClient.callApi(\n\t '/auth/info', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the issueToken operation.\n\t * @callback module:api/AuthApi~issueTokenCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Token} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates new token from current access token, inheriting workspace id & session id. The duration of generated token is (and should not be) parameterizable. Server should set proper duration, respecting \\"reconnect\\" period of socket.io clients. Remember that most of socket.io client implementations (including official js client) do not provide any ways to change connection parameters (header or query) while reconnecting to server. Like login API, this endpoint does not provide any encryption. Server should not set any data to harm security in the token & should provide some signinig/encryption mechanism to protect token. Simple JSON Web Token with HMAC-SHA will do. \n\t * @param {module:model/String} type \n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.workspaceId recommended to issue a MASTER type token to restrict remote access\n\t * @param {module:api/AuthApi~issueTokenCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Token}\n\t */\n\t this.issueToken = function(type, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'type' is set\n\t if (type == undefined || type == null) {\n\t throw \"Missing the required parameter 'type' when calling issueToken\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'type': type,\n\t 'workspaceId': opts['workspaceId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Token;\n\t\n\t return this.apiClient.callApi(\n\t '/auth/token', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the login operation.\n\t * @callback module:api/AuthApi~loginCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Token} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * A \\"VERY\\" basic authentication, required to use webida-simple-auth security scheme. Service / Product implementations who need better security, should override this operation or add their own login api or some other specs like OAuth2. Simple auth is not suitable for large-sacle, multi-tennant service, for the scheme assumes a single, trusted user only. Logging-in with master token, the generated access token inherits all restriction from it. On the other hand, normal log-in with login id & password creates an unrestricted access token, with reasonably short expiration time. Every client should spawn another access token with issueToken API before current access token expires, inheriting session id from current token. To save remote access info, client should create a (restricted but long-ttl) master token to start IDE from remote. The remote client should not use the unrestricted acccess token from login to use any other perpose than finding available workspaces, and should not refresh the token. (Let user log-in again) Login API does not force any encryption. Server should provide secure transport channel, usually https, to provide remote access, always. \n\t * @param {module:model/Credential} body \n\t * @param {module:api/AuthApi~loginCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Token}\n\t */\n\t this.login = function(body, callback) {\n\t var postBody = body;\n\t\n\t // verify the required parameter 'body' is set\n\t if (body == undefined || body == null) {\n\t throw \"Missing the required parameter 'body' when calling login\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = [];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Token;\n\t\n\t return this.apiClient.callApi(\n\t '/auth/login', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.OpsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError) {\n\t 'use strict';\n\t\n\t /**\n\t * Ops service.\n\t * @module api/OpsApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new OpsApi. \n\t * @alias module:api/OpsApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the replace operation.\n\t * @callback module:api/OpsApi~replaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * replace file contents with regex matching\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {Array.} wfsPathList array of wfsPath, with heading / (collection format may be changed by implementation)\n\t * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n\t * @param {String} replaceTo string to replace with\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n\t * @param {module:api/OpsApi~replaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.replace = function(wfsId, wfsPathList, pattern, replaceTo, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling replace\";\n\t }\n\t\n\t // verify the required parameter 'wfsPathList' is set\n\t if (wfsPathList == undefined || wfsPathList == null) {\n\t throw \"Missing the required parameter 'wfsPathList' when calling replace\";\n\t }\n\t\n\t // verify the required parameter 'pattern' is set\n\t if (pattern == undefined || pattern == null) {\n\t throw \"Missing the required parameter 'pattern' when calling replace\";\n\t }\n\t\n\t // verify the required parameter 'replaceTo' is set\n\t if (replaceTo == undefined || replaceTo == null) {\n\t throw \"Missing the required parameter 'replaceTo' when calling replace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId\n\t };\n\t var queryParams = {\n\t 'wfsPathList': this.apiClient.buildCollectionParam(wfsPathList, 'multi'),\n\t 'pattern': pattern,\n\t 'replaceTo': replaceTo,\n\t 'ignoreCase': opts['ignoreCase']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/ops/replace', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the search operation.\n\t * @callback module:api/OpsApi~searchCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Object.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * search files in some path, with given pattern\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n\t * @param {module:api/OpsApi~searchCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Object.}\n\t */\n\t this.search = function(wfsId, wfsPath, pattern, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling search\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling search\";\n\t }\n\t\n\t // verify the required parameter 'pattern' is set\n\t if (pattern == undefined || pattern == null) {\n\t throw \"Missing the required parameter 'pattern' when calling search\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'pattern': pattern,\n\t 'ignoreCase': opts['ignoreCase']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = {'String': [Match]};\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/ops/search/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(2), __webpack_require__(11), __webpack_require__(3)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestError'), require('../model/RemoteAccess'), require('../model/RestOK'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RemotesApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.RemoteAccess, root.WebidaRestfulApi.RestOK);\n\t }\n\t}(this, function(ApiClient, RestError, RemoteAccess, RestOK) {\n\t 'use strict';\n\t\n\t /**\n\t * Remotes service.\n\t * @module api/RemotesApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new RemotesApi. \n\t * @alias module:api/RemotesApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the findRemoteAccesses operation.\n\t * @callback module:api/RemotesApi~findRemoteAccessesCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Get all access informations See RemoteWorkspaceAccess definition for details (no fancy find / search feature yet) \n\t * @param {module:api/RemotesApi~findRemoteAccessesCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findRemoteAccesses = function(callback) {\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [RemoteAccess];\n\t\n\t return this.apiClient.callApi(\n\t '/remotes', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the putRemoteAccess operation.\n\t * @callback module:api/RemotesApi~putRemoteAccessCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * create or update a remote workspace access information\n\t * @param {module:model/RemoteAccess} body \n\t * @param {module:api/RemotesApi~putRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.putRemoteAccess = function(body, callback) {\n\t var postBody = body;\n\t\n\t // verify the required parameter 'body' is set\n\t if (body == undefined || body == null) {\n\t throw \"Missing the required parameter 'body' when calling putRemoteAccess\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/remotes', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the removeRemoteAccess operation.\n\t * @callback module:api/RemotesApi~removeRemoteAccessCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RemoteAccess} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * delete a remote workspace\n\t * @param {String} workspaceId workspace Id of remote workspace\n\t * @param {module:api/RemotesApi~removeRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RemoteAccess}\n\t */\n\t this.removeRemoteAccess = function(workspaceId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling removeRemoteAccess\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RemoteAccess;\n\t\n\t return this.apiClient.callApi(\n\t '/remotes', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2), __webpack_require__(12)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Session'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.SessionApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Session);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError, Session) {\n\t 'use strict';\n\t\n\t /**\n\t * Session service.\n\t * @module api/SessionApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new SessionApi. \n\t * @alias module:api/SessionApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the closeSession operation.\n\t * @callback module:api/SessionApi~closeSessionCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * close session with timeout\n\t * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n\t * @param {Integer} closeAfter waiting time before actual closing, to let client save files and prevent reconnect \n\t * @param {module:api/SessionApi~closeSessionCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.closeSession = function(sessionId, closeAfter, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'sessionId' is set\n\t if (sessionId == undefined || sessionId == null) {\n\t throw \"Missing the required parameter 'sessionId' when calling closeSession\";\n\t }\n\t\n\t // verify the required parameter 'closeAfter' is set\n\t if (closeAfter == undefined || closeAfter == null) {\n\t throw \"Missing the required parameter 'closeAfter' when calling closeSession\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'sessionId': sessionId\n\t };\n\t var queryParams = {\n\t 'closeAfter': closeAfter\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/sessions/{sessionId}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the findSessions operation.\n\t * @callback module:api/SessionApi~findSessionsCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get all / some webida sessions established to server\n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.workspaceId find only sessions working on some given workspace\n\t * @param {module:api/SessionApi~findSessionsCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findSessions = function(opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'workspaceId': opts['workspaceId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [Session];\n\t\n\t return this.apiClient.callApi(\n\t '/sessions', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the getSession operation.\n\t * @callback module:api/SessionApi~getSessionCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Session} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get a session object by id\n\t * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n\t * @param {module:api/SessionApi~getSessionCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Session}\n\t */\n\t this.getSession = function(sessionId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'sessionId' is set\n\t if (sessionId == undefined || sessionId == null) {\n\t throw \"Missing the required parameter 'sessionId' when calling getSession\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'sessionId': sessionId\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Session;\n\t\n\t return this.apiClient.callApi(\n\t '/sessions/{sessionId}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2), __webpack_require__(4), __webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/DirEntry'), require('../model/Stats'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.WfsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError, DirEntry, Stats) {\n\t 'use strict';\n\t\n\t /**\n\t * Wfs service.\n\t * @module api/WfsApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new WfsApi. \n\t * @alias module:api/WfsApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the copy operation.\n\t * @callback module:api/WfsApi~copyCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates a copy of source to given path. Unlike cp command, wfsPath always denotes an exact path of the resource to be created. So, copying a file to directory always returns error and vice versa. this operation creates the parents dir of destination path always, and does not roll-back the creation when operation failed. So, clients should roll-back if needed. When destination path exists already, 1) copying file to file : follows noOverwrite flag. (does not return error) 2) copying file to dir : returns 409 error 3) copying dir to file : returns 409 error 4) copying dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {String} srcPath source data path of some operations, with have heading /\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n\t * @param {Boolean} opts.followSymbolicLinks dereference symlinks in source. (default to false)\n\t * @param {Boolean} opts.preserveTimestamps keep mtime/atime of source file(s) in destination. (default to false)\n\t * @param {module:api/WfsApi~copyCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.copy = function(wfsId, wfsPath, srcPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling copy\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling copy\";\n\t }\n\t\n\t // verify the required parameter 'srcPath' is set\n\t if (srcPath == undefined || srcPath == null) {\n\t throw \"Missing the required parameter 'srcPath' when calling copy\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'srcPath': srcPath,\n\t 'noOverwrite': opts['noOverwrite'],\n\t 'followSymbolicLinks': opts['followSymbolicLinks'],\n\t 'preserveTimestamps': opts['preserveTimestamps']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the createDir operation.\n\t * @callback module:api/WfsApi~createDirCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * create a directory at the path. returns error when wfsPath exists and not empty this API always creates parent directories if needed. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {module:api/WfsApi~createDirCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.createDir = function(wfsId, wfsPath, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling createDir\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling createDir\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/dir/{wfsPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the dirTree operation.\n\t * @callback module:api/WfsApi~dirTreeCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/DirEntry} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * returns a directory tree of given path, for listing dir and managing file system errors while building sub-tree will be ignored and will not be included in result. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {Integer} maxDepth Maximum depth of tree. -1 to build a full tree, 0 to stat, 1 to plain list.\n\t * @param {module:api/WfsApi~dirTreeCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/DirEntry}\n\t */\n\t this.dirTree = function(wfsId, wfsPath, maxDepth, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling dirTree\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling dirTree\";\n\t }\n\t\n\t // verify the required parameter 'maxDepth' is set\n\t if (maxDepth == undefined || maxDepth == null) {\n\t throw \"Missing the required parameter 'maxDepth' when calling dirTree\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'maxDepth': maxDepth\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = DirEntry;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/dir/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the move operation.\n\t * @callback module:api/WfsApi~moveCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Moves source resource to given path. Unlike mv command, wfsPath always denotes an exact path of the resource to be created. So, moving a file to existing directory always returns error and vice versa. (So, This API works like 'rename' rather than 'mv' command) Like copy(), this operation creates parent path of destination, and does not roll-back when operation failes. When destination path exists already, 1) moving file to file : follows noOverwrite flag. 2) moving file to dir : returns 409 error 3) moving dir to file : returns 409 error 4) moving dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {String} srcPath source data path of some operations, with have heading /\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n\t * @param {module:api/WfsApi~moveCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.move = function(wfsId, wfsPath, srcPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling move\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling move\";\n\t }\n\t\n\t // verify the required parameter 'srcPath' is set\n\t if (srcPath == undefined || srcPath == null) {\n\t throw \"Missing the required parameter 'srcPath' when calling move\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'srcPath': srcPath,\n\t 'noOverwrite': opts['noOverwrite']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the readFile operation.\n\t * @callback module:api/WfsApi~readFileCallback\n\t * @param {String} error Error message, if any.\n\t * @param {File} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * read file data on path\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {module:api/WfsApi~readFileCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {File}\n\t */\n\t this.readFile = function(wfsId, wfsPath, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling readFile\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling readFile\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = File;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/file/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the remove operation.\n\t * @callback module:api/WfsApi~removeCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * delete file or directory\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.noRecursive if set, deleting non-empty directory will return 409 error. (default to false)\n\t * @param {module:api/WfsApi~removeCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.remove = function(wfsId, wfsPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling remove\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling remove\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'noRecursive': opts['noRecursive']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the stat operation.\n\t * @callback module:api/WfsApi~statCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Stats} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Get stats of given path. (stat() returns \\"stats\\" object in node and POSIX system) Since we've no ctime/atime in Stats class, some file system changing events will send 'exactly same' stats object. This API should be called only when stats of some file system path is stale for unknown reason (e.g. losting change events). Use dirTree operation and session events to detect stats, if possible. This API can be used to check a path is valid, existing one, but it's not recommended to check existence of individual paths by API. Clients should use dirTree and session events to synchorize some in-app file system with webida file system. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ignoreError flag to ignore stat errors to check existence only. If this flag is true, server will returns 'DUMMY' type stats object instead of 404 error when given path does not exists. (invalid wfsId will produce 400 error, not 404) (default to false)\n\t * @param {module:api/WfsApi~statCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Stats}\n\t */\n\t this.stat = function(wfsId, wfsPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling stat\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling stat\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'ignoreError': opts['ignoreError']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Stats;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the writeFile operation.\n\t * @callback module:api/WfsApi~writeFileCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates / updates file with body data. Server should write the file in 'atomic' manner, and should not write down request body into final destination path directly. In other words, wheather writeFile() succeeds or not, the contents of the file should not be corrupted nor half-written. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {File} data file contents to write.\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ensureParents A flag to create all parent directories to create file or dir, like mkdir -p. This parameter does not create entire path, but creates to 'parent directory' of the path. (default to false)\n\t * @param {module:api/WfsApi~writeFileCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.writeFile = function(wfsId, wfsPath, data, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling writeFile\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling writeFile\";\n\t }\n\t\n\t // verify the required parameter 'data' is set\n\t if (data == undefined || data == null) {\n\t throw \"Missing the required parameter 'data' when calling writeFile\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'ensureParents': opts['ensureParents']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t 'data': data\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['multipart/form-data'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/file/{wfsPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2), __webpack_require__(15), __webpack_require__(7), __webpack_require__(9), __webpack_require__(10)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Workspace'), require('../model/ChildProcess'), require('../model/Execution'), require('../model/ExecutionResult'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.WorkspaceApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Workspace, root.WebidaRestfulApi.ChildProcess, root.WebidaRestfulApi.Execution, root.WebidaRestfulApi.ExecutionResult);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError, Workspace, ChildProcess, Execution, ExecutionResult) {\n\t 'use strict';\n\t\n\t /**\n\t * Workspace service.\n\t * @module api/WorkspaceApi\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new WorkspaceApi. \n\t * @alias module:api/WorkspaceApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the cancel operation.\n\t * @callback module:api/WorkspaceApi~cancelCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * cancels an execution, if possible. Killing process may not be graceful. requires proper access rights. if execId is not specified, this api does nothing. \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.execId the id of execution request(different from pid!)\n\t * @param {module:api/WorkspaceApi~cancelCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.cancel = function(workspaceId, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling cancel\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'execId': opts['execId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/exec', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the createWorkspace operation.\n\t * @callback module:api/WorkspaceApi~createWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates a new workspace with given local path. Requires an unrestricted access token. \n\t * @param {String} localPath a real, local path of the system (not unixified)\n\t * @param {String} name workspace name property\n\t * @param {String} description workspace name property\n\t * @param {module:api/WorkspaceApi~createWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.createWorkspace = function(localPath, name, description, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'localPath' is set\n\t if (localPath == undefined || localPath == null) {\n\t throw \"Missing the required parameter 'localPath' when calling createWorkspace\";\n\t }\n\t\n\t // verify the required parameter 'name' is set\n\t if (name == undefined || name == null) {\n\t throw \"Missing the required parameter 'name' when calling createWorkspace\";\n\t }\n\t\n\t // verify the required parameter 'description' is set\n\t if (description == undefined || description == null) {\n\t throw \"Missing the required parameter 'description' when calling createWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'localPath': localPath,\n\t 'name': name,\n\t 'description': description\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the exec operation.\n\t * @callback module:api/WorkspaceApi~execCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/ExecutionResult} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * execute a shell command on this workspace. requires proper access rights.\n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {module:model/Execution} body \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.async Spawn a child process for given command and returns the created child proc info. Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/async-{execId} (default to false)\n\t * @param {module:api/WorkspaceApi~execCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/ExecutionResult}\n\t */\n\t this.exec = function(workspaceId, body, opts, callback) {\n\t opts = opts || {};\n\t var postBody = body;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling exec\";\n\t }\n\t\n\t // verify the required parameter 'body' is set\n\t if (body == undefined || body == null) {\n\t throw \"Missing the required parameter 'body' when calling exec\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'async': opts['async']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = ExecutionResult;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/exec', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the findProcs operation.\n\t * @callback module:api/WorkspaceApi~findProcsCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Gets process info, created by async exec request, on this workspace. If execId is set, this op finds a spawned process whose id is matching. If not, all spawned procs will be found. This op does not returns error when no procs found but empty result array. This operation requires proper access rights. (unrestricted or matching workspace id in access token with parameter) \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.execId the id of execution request(different from pid!)\n\t * @param {module:api/WorkspaceApi~findProcsCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findProcs = function(workspaceId, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling findProcs\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'execId': opts['execId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = [];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [ChildProcess];\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/exec', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the findWorkspaces operation.\n\t * @callback module:api/WorkspaceApi~findWorkspacesCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Finds workspaces (no find/search parameters yet). Requires an unrestricted access token. \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.disposable include disposable workspaces or not (default to false)\n\t * @param {module:api/WorkspaceApi~findWorkspacesCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findWorkspaces = function(opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'disposable': opts['disposable']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [Workspace];\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the getWorkspace operation.\n\t * @callback module:api/WorkspaceApi~getWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get a workspace object by id\n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {module:api/WorkspaceApi~getWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.getWorkspace = function(workspaceId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling getWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the removeWorkspace operation.\n\t * @callback module:api/WorkspaceApi~removeWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * This operation will remove the requested workspace when 1) all sessions are closed for request (will be notified by server) 2) excedded time limit value in closeAfter parameter 3) server goes down after accepting remove request \\"willBeRemovedAt\\" property can be set \\"only\\" by this api. This API requires \\"unrestricted\\" access token. Even an access token has matching workspace id, removing an workspace is rejected. \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {Object} opts Optional parameters\n\t * @param {Integer} opts.closeAfter Time in seconds to wait for all sessions save & close their data. (default to 0)\n\t * @param {module:api/WorkspaceApi~removeWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.removeWorkspace = function(workspaceId, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling removeWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'closeAfter': opts['closeAfter']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the updateWorkspace operation.\n\t * @callback module:api/WorkspaceApi~updateWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Updates workspace. Some protected properties will not be changed by this api. Requires proper access rights in access token. \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {module:api/WorkspaceApi~updateWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.updateWorkspace = function(workspaceId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling updateWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.3.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Match = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Match model module.\n\t * @module model/Match\n\t * @version 0.3.0\n\t */\n\t\n\t /**\n\t * Constructs a new Match.\n\t * search result for a file\n\t * @alias module:model/Match\n\t * @class\n\t * @param line {Integer} \n\t * @param text {String} \n\t */\n\t var exports = function(line, text) {\n\t var _this = this;\n\t\n\t _this['line'] = line;\n\t _this['text'] = text;\n\t };\n\t\n\t /**\n\t * Constructs a Match from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Match} obj Optional instance to populate.\n\t * @return {module:model/Match} The populated Match instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('line')) {\n\t obj['line'] = ApiClient.convertToType(data['line'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('text')) {\n\t obj['text'] = ApiClient.convertToType(data['text'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {Integer} line\n\t */\n\t exports.prototype['line'] = undefined;\n\t /**\n\t * @member {String} text\n\t */\n\t exports.prototype['text'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ }\n/******/ ])});;\n\n\n/** WEBPACK FOOTER **\n ** api-bundle.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 4ac3f1a16c3336305f5f\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/ChildProcess', 'model/Credential', 'model/DirEntry', 'model/Execution', 'model/ExecutionResult', 'model/Match', 'model/RemoteAccess', 'model/RestError', 'model/RestOK', 'model/Session', 'model/Stats', 'model/Token', 'model/User', 'model/Workspace', 'api/AuthApi', 'api/OpsApi', 'api/RemotesApi', 'api/SessionApi', 'api/WfsApi', 'api/WorkspaceApi'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('./ApiClient'), require('./model/ChildProcess'), require('./model/Credential'), require('./model/DirEntry'), require('./model/Execution'), require('./model/ExecutionResult'), require('./model/Match'), require('./model/RemoteAccess'), require('./model/RestError'), require('./model/RestOK'), require('./model/Session'), require('./model/Stats'), require('./model/Token'), require('./model/User'), require('./model/Workspace'), require('./api/AuthApi'), require('./api/OpsApi'), require('./api/RemotesApi'), require('./api/SessionApi'), require('./api/WfsApi'), require('./api/WorkspaceApi'));\n }\n}(function(ApiClient, ChildProcess, Credential, DirEntry, Execution, ExecutionResult, Match, RemoteAccess, RestError, RestOK, Session, Stats, Token, User, Workspace, AuthApi, OpsApi, RemotesApi, SessionApi, WfsApi, WorkspaceApi) {\n 'use strict';\n\n /**\n * Restful_API_for_Webida_clients_to_use_servers_data__features.
\n * The index module provides access to constructors for all the classes which comprise the public API.\n *

\n * An AMD (recommended!) or CommonJS application will generally do something equivalent to the following:\n *

\n   * var WebidaRestfulApi = require('index'); // See note below*.\n   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n   * var yyyModel = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n   * yyyModel.someProperty = 'someValue';\n   * ...\n   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n   * ...\n   * 
\n * *NOTE: For a top-level AMD script, use require(['index'], function(){...})\n * and put the application logic within the callback function.\n *

\n *

\n * A non-AMD browser application (discouraged) might do something like this:\n *

\n   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n   * var yyy = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n   * yyyModel.someProperty = 'someValue';\n   * ...\n   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n   * ...\n   * 
\n *

\n * @module index\n * @version 0.3.0\n */\n var exports = {\n /**\n * The ApiClient constructor.\n * @property {module:ApiClient}\n */\n ApiClient: ApiClient,\n /**\n * The ChildProcess model constructor.\n * @property {module:model/ChildProcess}\n */\n ChildProcess: ChildProcess,\n /**\n * The Credential model constructor.\n * @property {module:model/Credential}\n */\n Credential: Credential,\n /**\n * The DirEntry model constructor.\n * @property {module:model/DirEntry}\n */\n DirEntry: DirEntry,\n /**\n * The Execution model constructor.\n * @property {module:model/Execution}\n */\n Execution: Execution,\n /**\n * The ExecutionResult model constructor.\n * @property {module:model/ExecutionResult}\n */\n ExecutionResult: ExecutionResult,\n /**\n * The Match model constructor.\n * @property {module:model/Match}\n */\n Match: Match,\n /**\n * The RemoteAccess model constructor.\n * @property {module:model/RemoteAccess}\n */\n RemoteAccess: RemoteAccess,\n /**\n * The RestError model constructor.\n * @property {module:model/RestError}\n */\n RestError: RestError,\n /**\n * The RestOK model constructor.\n * @property {module:model/RestOK}\n */\n RestOK: RestOK,\n /**\n * The Session model constructor.\n * @property {module:model/Session}\n */\n Session: Session,\n /**\n * The Stats model constructor.\n * @property {module:model/Stats}\n */\n Stats: Stats,\n /**\n * The Token model constructor.\n * @property {module:model/Token}\n */\n Token: Token,\n /**\n * The User model constructor.\n * @property {module:model/User}\n */\n User: User,\n /**\n * The Workspace model constructor.\n * @property {module:model/Workspace}\n */\n Workspace: Workspace,\n /**\n * The AuthApi service constructor.\n * @property {module:api/AuthApi}\n */\n AuthApi: AuthApi,\n /**\n * The OpsApi service constructor.\n * @property {module:api/OpsApi}\n */\n OpsApi: OpsApi,\n /**\n * The RemotesApi service constructor.\n * @property {module:api/RemotesApi}\n */\n RemotesApi: RemotesApi,\n /**\n * The SessionApi service constructor.\n * @property {module:api/SessionApi}\n */\n SessionApi: SessionApi,\n /**\n * The WfsApi service constructor.\n * @property {module:api/WfsApi}\n */\n WfsApi: WfsApi,\n /**\n * The WorkspaceApi service constructor.\n * @property {module:api/WorkspaceApi}\n */\n WorkspaceApi: WorkspaceApi\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/index.js\n ** module id = 0\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['superagent'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('superagent'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.ApiClient = factory(root.superagent);\n }\n}(this, function(superagent) {\n 'use strict';\n\n /**\n * @module ApiClient\n * @version 0.3.0\n */\n\n /**\n * Manages low level client-server communications, parameter marshalling, etc. There should not be any need for an\n * application to use this class directly - the *Api and model classes provide the public API for the service. The\n * contents of this file should be regarded as internal but are documented for completeness.\n * @alias module:ApiClient\n * @class\n */\n var exports = function() {\n /**\n * The base URL against which to resolve every API call's (relative) path.\n * @type {String}\n * @default https://localhost/api\n */\n this.basePath = 'https://localhost/api'.replace(/\\/+$/, '');\n\n /**\n * The authentication methods to be included for all API calls.\n * @type {Array.}\n */\n this.authentications = {\n 'webida-simple-auth': {type: 'apiKey', 'in': 'header', name: 'Authorization'}\n };\n /**\n * The default HTTP headers to be included for all API calls.\n * @type {Array.}\n * @default {}\n */\n this.defaultHeaders = {};\n\n /**\n * The default HTTP timeout for all API calls.\n * @type {Number}\n * @default 60000\n */\n this.timeout = 60000;\n };\n\n /**\n * Returns a string representation for an actual parameter.\n * @param param The actual parameter.\n * @returns {String} The string representation of param.\n */\n exports.prototype.paramToString = function(param) {\n if (param == undefined || param == null) {\n return '';\n }\n if (param instanceof Date) {\n return param.toJSON();\n }\n return param.toString();\n };\n\n /**\n * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders with parameter values.\n * NOTE: query parameters are not handled here.\n * @param {String} path The path to append to the base URL.\n * @param {Object} pathParams The parameter values to append.\n * @returns {String} The encoded path with parameter values substituted.\n */\n exports.prototype.buildUrl = function(path, pathParams) {\n if (!path.match(/^\\//)) {\n path = '/' + path;\n }\n var url = this.basePath + path;\n var _this = this;\n url = url.replace(/\\{([\\w-]+)\\}/g, function(fullMatch, key) {\n var value;\n if (pathParams.hasOwnProperty(key)) {\n value = _this.paramToString(pathParams[key]);\n } else {\n value = fullMatch;\n }\n return encodeURIComponent(value);\n });\n return url;\n };\n\n /**\n * Checks whether the given content type represents JSON.
\n * JSON content type examples:
\n *
    \n *
  • application/json
  • \n *
  • application/json; charset=UTF8
  • \n *
  • APPLICATION/JSON
  • \n *
\n * @param {String} contentType The MIME content type to check.\n * @returns {Boolean} true if contentType represents JSON, otherwise false.\n */\n exports.prototype.isJsonMime = function(contentType) {\n return Boolean(contentType != null && contentType.match(/^application\\/json(;.*)?$/i));\n };\n\n /**\n * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first.\n * @param {Array.} contentTypes\n * @returns {String} The chosen content type, preferring JSON.\n */\n exports.prototype.jsonPreferredMime = function(contentTypes) {\n for (var i = 0; i < contentTypes.length; i++) {\n if (this.isJsonMime(contentTypes[i])) {\n return contentTypes[i];\n }\n }\n return contentTypes[0];\n };\n\n /**\n * Checks whether the given parameter value represents file-like content.\n * @param param The parameter to check.\n * @returns {Boolean} true if param represents a file. \n */\n exports.prototype.isFileParam = function(param) {\n // fs.ReadStream in Node.js (but not in runtime like browserify)\n if (typeof window === 'undefined' &&\n typeof require === 'function' &&\n require('fs') &&\n param instanceof require('fs').ReadStream) {\n return true;\n }\n // Buffer in Node.js\n if (typeof Buffer === 'function' && param instanceof Buffer) {\n return true;\n }\n // Blob in browser\n if (typeof Blob === 'function' && param instanceof Blob) {\n return true;\n }\n // File in browser (it seems File object is also instance of Blob, but keep this for safe)\n if (typeof File === 'function' && param instanceof File) {\n return true;\n }\n return false;\n };\n\n /**\n * Normalizes parameter values:\n *
    \n *
  • remove nils
  • \n *
  • keep files and arrays
  • \n *
  • format to string with `paramToString` for other cases
  • \n *
\n * @param {Object.} params The parameters as object properties.\n * @returns {Object.} normalized parameters.\n */\n exports.prototype.normalizeParams = function(params) {\n var newParams = {};\n for (var key in params) {\n if (params.hasOwnProperty(key) && params[key] != undefined && params[key] != null) {\n var value = params[key];\n if (this.isFileParam(value) || Array.isArray(value)) {\n newParams[key] = value;\n } else {\n newParams[key] = this.paramToString(value);\n }\n }\n }\n return newParams;\n };\n\n /**\n * Enumeration of collection format separator strategies.\n * @enum {String} \n * @readonly\n */\n exports.CollectionFormatEnum = {\n /**\n * Comma-separated values. Value: csv\n * @const\n */\n CSV: ',',\n /**\n * Space-separated values. Value: ssv\n * @const\n */\n SSV: ' ',\n /**\n * Tab-separated values. Value: tsv\n * @const\n */\n TSV: '\\t',\n /**\n * Pipe(|)-separated values. Value: pipes\n * @const\n */\n PIPES: '|',\n /**\n * Native array. Value: multi\n * @const\n */\n MULTI: 'multi'\n };\n\n /**\n * Builds a string representation of an array-type actual parameter, according to the given collection format.\n * @param {Array} param An array parameter.\n * @param {module:ApiClient.CollectionFormatEnum} collectionFormat The array element separator strategy.\n * @returns {String|Array} A string representation of the supplied collection, using the specified delimiter. Returns\n * param as is if collectionFormat is multi.\n */\n exports.prototype.buildCollectionParam = function buildCollectionParam(param, collectionFormat) {\n if (param == null) {\n return null;\n }\n switch (collectionFormat) {\n case 'csv':\n return param.map(this.paramToString).join(',');\n case 'ssv':\n return param.map(this.paramToString).join(' ');\n case 'tsv':\n return param.map(this.paramToString).join('\\t');\n case 'pipes':\n return param.map(this.paramToString).join('|');\n case 'multi':\n // return the array directly as SuperAgent will handle it as expected\n return param.map(this.paramToString);\n default:\n throw new Error('Unknown collection format: ' + collectionFormat);\n }\n };\n\n /**\n * Applies authentication headers to the request.\n * @param {Object} request The request object created by a superagent() call.\n * @param {Array.} authNames An array of authentication method names.\n */\n exports.prototype.applyAuthToRequest = function(request, authNames) {\n var _this = this;\n authNames.forEach(function(authName) {\n var auth = _this.authentications[authName];\n switch (auth.type) {\n case 'basic':\n if (auth.username || auth.password) {\n request.auth(auth.username || '', auth.password || '');\n }\n break;\n case 'apiKey':\n if (auth.apiKey) {\n var data = {};\n if (auth.apiKeyPrefix) {\n data[auth.name] = auth.apiKeyPrefix + ' ' + auth.apiKey;\n } else {\n data[auth.name] = auth.apiKey;\n }\n if (auth['in'] === 'header') {\n request.set(data);\n } else {\n request.query(data);\n }\n }\n break;\n case 'oauth2':\n if (auth.accessToken) {\n request.set({'Authorization': 'Bearer ' + auth.accessToken});\n }\n break;\n default:\n throw new Error('Unknown authentication type: ' + auth.type);\n }\n });\n };\n\n /**\n * Deserializes an HTTP response body into a value of the specified type.\n * @param {Object} response A SuperAgent response object.\n * @param {(String|Array.|Object.|Function)} returnType The type to return. Pass a string for simple types\n * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n * all properties on data will be converted to this type.\n * @returns A value of the specified type.\n */\n exports.prototype.deserialize = function deserialize(response, returnType) {\n if (response == null || returnType == null) {\n return null;\n }\n // Rely on SuperAgent for parsing response body.\n // See http://visionmedia.github.io/superagent/#parsing-response-bodies\n var data = response.body;\n if (data == null) {\n // SuperAgent does not always produce a body; use the unparsed response as a fallback\n data = response.text;\n }\n return exports.convertToType(data, returnType);\n };\n\n /**\n * Callback function to receive the result of the operation.\n * @callback module:ApiClient~callApiCallback\n * @param {String} error Error message, if any.\n * @param data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Invokes the REST service using the supplied settings and parameters.\n * @param {String} path The base URL to invoke.\n * @param {String} httpMethod The HTTP method to use.\n * @param {Object.} pathParams A map of path parameters and their values.\n * @param {Object.} queryParams A map of query parameters and their values.\n * @param {Object.} headerParams A map of header parameters and their values.\n * @param {Object.} formParams A map of form parameters and their values.\n * @param {Object} bodyParam The value to pass as the request body.\n * @param {Array.} authNames An array of authentication type names.\n * @param {Array.} contentTypes An array of request MIME types.\n * @param {Array.} accepts An array of acceptable response MIME types.\n * @param {(String|Array|ObjectFunction)} returnType The required type to return; can be a string for simple types or the\n * constructor for a complex type.\n * @param {module:ApiClient~callApiCallback} callback The callback function.\n * @returns {Object} The SuperAgent request object.\n */\n exports.prototype.callApi = function callApi(path, httpMethod, pathParams,\n queryParams, headerParams, formParams, bodyParam, authNames, contentTypes, accepts,\n returnType, callback) {\n\n var _this = this;\n var url = this.buildUrl(path, pathParams);\n var request = superagent(httpMethod, url);\n\n // apply authentications\n this.applyAuthToRequest(request, authNames);\n\n // set query parameters\n request.query(this.normalizeParams(queryParams));\n\n // set header parameters\n request.set(this.defaultHeaders).set(this.normalizeParams(headerParams));\n\n // set request timeout\n request.timeout(this.timeout);\n\n var contentType = this.jsonPreferredMime(contentTypes);\n if (contentType !== 'multipart/form-data') {\n if (contentType) {\n request.type(contentType);\n } else if (!request.header['Content-Type']) {\n request.type('application/json');\n }\n }\n\n if (contentType === 'application/x-www-form-urlencoded') {\n request.send(this.normalizeParams(formParams));\n } else if (contentType == 'multipart/form-data') {\n var _formParams = this.normalizeParams(formParams);\n for (var key in _formParams) {\n if (_formParams.hasOwnProperty(key)) {\n if (this.isFileParam(_formParams[key])) {\n // file field\n request.attach(key, _formParams[key]);\n } else {\n request.field(key, _formParams[key]);\n }\n }\n }\n } else if (bodyParam) {\n request.send(bodyParam);\n }\n\n var accept = this.jsonPreferredMime(accepts);\n if (accept) {\n request.accept(accept);\n }\n\n\n request.end(function(error, response) {\n if (callback) {\n var data = null;\n if (!error) {\n data = _this.deserialize(response, returnType);\n }\n callback(error, data, response);\n }\n });\n\n return request;\n };\n\n /**\n * Parses an ISO-8601 string representation of a date value.\n * @param {String} str The date value as a string.\n * @returns {Date} The parsed date object.\n */\n exports.parseDate = function(str) {\n return new Date(str.replace(/T/i, ' '));\n };\n\n /**\n * Converts a value to the specified type.\n * @param {(String|Object)} data The data to convert, as a string or object.\n * @param {(String|Array.|Object.|Function)} type The type to return. Pass a string for simple types\n * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n * all properties on data will be converted to this type.\n * @returns An instance of the specified type.\n */\n exports.convertToType = function(data, type) {\n switch (type) {\n case 'Boolean':\n return Boolean(data);\n case 'Integer':\n return parseInt(data, 10);\n case 'Number':\n return parseFloat(data);\n case 'String':\n return String(data);\n case 'Date':\n return this.parseDate(String(data));\n default:\n if (type === Object || type === File) {\n // generic object or Blob - return directly\n return data;\n } else if (typeof type === 'function') {\n if (typeof type.constructFromObject !== 'function') {\n // some manually written models might have no factory function\n return data;\n } else {\n // for model type like: User\n return type.constructFromObject(data);\n }\n } else if (Array.isArray(type)) {\n // for array type like: ['String']\n var itemType = type[0];\n return data.map(function(item) {\n return exports.convertToType(item, itemType);\n });\n } else if (typeof type === 'object') {\n // for plain object type like: {'String': 'Integer'}\n var keyType, valueType;\n for (var k in type) {\n if (type.hasOwnProperty(k)) {\n keyType = k;\n valueType = type[k];\n break;\n }\n }\n var result = {};\n for (var k in data) {\n if (data.hasOwnProperty(k)) {\n var key = exports.convertToType(k, keyType);\n var value = exports.convertToType(data[k], valueType);\n result[key] = value;\n }\n }\n return result;\n } else {\n // for unknown type, return the data directly\n return data;\n }\n }\n };\n\n /**\n * Constructs a new map or array model from REST data.\n * @param data {Object|Array} The REST data.\n * @param obj {Object|Array} The target object or array.\n */\n exports.constructFromObject = function(data, obj, itemType) {\n if (Array.isArray(data)) {\n for (var i = 0; i < data.length; i++) {\n if (data.hasOwnProperty(i))\n obj[i] = exports.convertToType(data[i], itemType);\n }\n } else {\n for (var k in data) {\n if (data.hasOwnProperty(k))\n obj[k] = exports.convertToType(data[k], itemType);\n }\n }\n };\n\n /**\n * The default API client implementation.\n * @type {module:ApiClient}\n */\n exports.instance = new exports();\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/ApiClient.js\n ** module id = 1\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RestError = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The RestError model module.\n * @module model/RestError\n * @version 0.3.0\n */\n\n /**\n * Constructs a new RestError.\n * Error object with code and message. code is bound to status code, but not always same to standard HTTP status text. For example, some 409 error may have code \\"Invalid Argument\\" instead of \\"Conflic\\". So, Client should read message property to know what happend exactly when an error is returned from server. And, some 500 errors can have system errno instead of useless \\"internal\\". Like other errors, details are hidden in message. \n * @alias module:model/RestError\n * @class\n * @param message {String} \n */\n var exports = function(message) {\n var _this = this;\n\n\n _this['message'] = message;\n };\n\n /**\n * Constructs a RestError from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/RestError} obj Optional instance to populate.\n * @return {module:model/RestError} The populated RestError instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('code')) {\n obj['code'] = ApiClient.convertToType(data['code'], 'String');\n }\n if (data.hasOwnProperty('message')) {\n obj['message'] = ApiClient.convertToType(data['message'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {String} code\n */\n exports.prototype['code'] = undefined;\n /**\n * @member {String} message\n */\n exports.prototype['message'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/RestError.js\n ** module id = 2\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RestOK = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The RestOK model module.\n * @module model/RestOK\n * @version 0.3.0\n */\n\n /**\n * Constructs a new RestOK.\n * @alias module:model/RestOK\n * @class\n */\n var exports = function() {\n var _this = this;\n\n\n };\n\n /**\n * Constructs a RestOK from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/RestOK} obj Optional instance to populate.\n * @return {module:model/RestOK} The populated RestOK instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('message')) {\n obj['message'] = ApiClient.convertToType(data['message'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {String} message\n */\n exports.prototype['message'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/RestOK.js\n ** module id = 3\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/DirEntry', 'model/Stats'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('./DirEntry'), require('./Stats'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.DirEntry = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n }\n}(this, function(ApiClient, DirEntry, Stats) {\n 'use strict';\n\n\n\n\n /**\n * The DirEntry model module.\n * @module model/DirEntry\n * @version 0.3.0\n */\n\n /**\n * Constructs a new DirEntry.\n * a directory entry (file or directory) with children that represents a (sub) tree\n * @alias module:model/DirEntry\n * @class\n * @param name {String} \n * @param stats {module:model/Stats} \n * @param children {Array.} \n */\n var exports = function(name, stats, children) {\n var _this = this;\n\n _this['name'] = name;\n _this['stats'] = stats;\n _this['children'] = children;\n };\n\n /**\n * Constructs a DirEntry from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/DirEntry} obj Optional instance to populate.\n * @return {module:model/DirEntry} The populated DirEntry instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('stats')) {\n obj['stats'] = Stats.constructFromObject(data['stats']);\n }\n if (data.hasOwnProperty('children')) {\n obj['children'] = ApiClient.convertToType(data['children'], [DirEntry]);\n }\n }\n return obj;\n }\n\n /**\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * @member {module:model/Stats} stats\n */\n exports.prototype['stats'] = undefined;\n /**\n * @member {Array.} children\n */\n exports.prototype['children'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/DirEntry.js\n ** module id = 4\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Stats = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Stats model module.\n * @module model/Stats\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Stats.\n * simplified/augmented fs.Stats class - see node.js doc for all properties\n * @alias module:model/Stats\n * @class\n * @param type {module:model/Stats.TypeEnum} All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n * @param birthtime {Date} \n * @param mtime {Date} \n * @param mode {String} \n * @param size {Integer} \n * @param nlink {Integer} \n */\n var exports = function(type, birthtime, mtime, mode, size, nlink) {\n var _this = this;\n\n _this['type'] = type;\n _this['birthtime'] = birthtime;\n _this['mtime'] = mtime;\n _this['mode'] = mode;\n _this['size'] = size;\n _this['nlink'] = nlink;\n };\n\n /**\n * Constructs a Stats from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Stats} obj Optional instance to populate.\n * @return {module:model/Stats} The populated Stats instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('type')) {\n obj['type'] = ApiClient.convertToType(data['type'], 'String');\n }\n if (data.hasOwnProperty('birthtime')) {\n obj['birthtime'] = ApiClient.convertToType(data['birthtime'], 'Date');\n }\n if (data.hasOwnProperty('mtime')) {\n obj['mtime'] = ApiClient.convertToType(data['mtime'], 'Date');\n }\n if (data.hasOwnProperty('mode')) {\n obj['mode'] = ApiClient.convertToType(data['mode'], 'String');\n }\n if (data.hasOwnProperty('size')) {\n obj['size'] = ApiClient.convertToType(data['size'], 'Integer');\n }\n if (data.hasOwnProperty('nlink')) {\n obj['nlink'] = ApiClient.convertToType(data['nlink'], 'Integer');\n }\n }\n return obj;\n }\n\n /**\n * All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n * @member {module:model/Stats.TypeEnum} type\n */\n exports.prototype['type'] = undefined;\n /**\n * @member {Date} birthtime\n */\n exports.prototype['birthtime'] = undefined;\n /**\n * @member {Date} mtime\n */\n exports.prototype['mtime'] = undefined;\n /**\n * @member {String} mode\n */\n exports.prototype['mode'] = undefined;\n /**\n * @member {Integer} size\n */\n exports.prototype['size'] = undefined;\n /**\n * @member {Integer} nlink\n */\n exports.prototype['nlink'] = undefined;\n\n\n /**\n * Allowed values for the type property.\n * @enum {String}\n * @readonly\n */\n exports.TypeEnum = {\n /**\n * value: \"FILE\"\n * @const\n */\n \"FILE\": \"FILE\",\n /**\n * value: \"DIRECTORY\"\n * @const\n */\n \"DIRECTORY\": \"DIRECTORY\",\n /**\n * value: \"BLOCK_DEVICE\"\n * @const\n */\n \"BLOCK_DEVICE\": \"BLOCK_DEVICE\",\n /**\n * value: \"CHARACTER_DEVICE\"\n * @const\n */\n \"CHARACTER_DEVICE\": \"CHARACTER_DEVICE\",\n /**\n * value: \"LINK\"\n * @const\n */\n \"LINK\": \"LINK\",\n /**\n * value: \"FIFO\"\n * @const\n */\n \"FIFO\": \"FIFO\",\n /**\n * value: \"SOCKET\"\n * @const\n */\n \"SOCKET\": \"SOCKET\",\n /**\n * value: \"DUMMY\"\n * @const\n */\n \"DUMMY\": \"DUMMY\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Stats.js\n ** module id = 5\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.ChildProcess = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The ChildProcess model module.\n * @module model/ChildProcess\n * @version 0.3.0\n */\n\n /**\n * Constructs a new ChildProcess.\n * a process in execution, spawned by async exec or other mean\n * @alias module:model/ChildProcess\n * @class\n * @param pid {Integer} child process pid\n * @param command {String} execution command in execution request\n * @param args {Array.} arguments of command in execution request\n * @param execId {String} execution id from execution request\n * @param state {module:model/ChildProcess.StateEnum} state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. \n * @param startedAt {Date} the time when this process is spawned\n */\n var exports = function(pid, command, args, execId, state, startedAt) {\n var _this = this;\n\n _this['pid'] = pid;\n _this['command'] = command;\n _this['args'] = args;\n _this['execId'] = execId;\n _this['state'] = state;\n _this['startedAt'] = startedAt;\n\n\n };\n\n /**\n * Constructs a ChildProcess from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/ChildProcess} obj Optional instance to populate.\n * @return {module:model/ChildProcess} The populated ChildProcess instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('pid')) {\n obj['pid'] = ApiClient.convertToType(data['pid'], 'Integer');\n }\n if (data.hasOwnProperty('command')) {\n obj['command'] = ApiClient.convertToType(data['command'], 'String');\n }\n if (data.hasOwnProperty('args')) {\n obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n }\n if (data.hasOwnProperty('execId')) {\n obj['execId'] = ApiClient.convertToType(data['execId'], 'String');\n }\n if (data.hasOwnProperty('state')) {\n obj['state'] = ApiClient.convertToType(data['state'], 'String');\n }\n if (data.hasOwnProperty('startedAt')) {\n obj['startedAt'] = ApiClient.convertToType(data['startedAt'], 'Date');\n }\n if (data.hasOwnProperty('exitCode')) {\n obj['exitCode'] = ApiClient.convertToType(data['exitCode'], 'Integer');\n }\n if (data.hasOwnProperty('exitSignal')) {\n obj['exitSignal'] = ApiClient.convertToType(data['exitSignal'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * child process pid\n * @member {Integer} pid\n */\n exports.prototype['pid'] = undefined;\n /**\n * execution command in execution request\n * @member {String} command\n */\n exports.prototype['command'] = undefined;\n /**\n * arguments of command in execution request\n * @member {Array.} args\n */\n exports.prototype['args'] = undefined;\n /**\n * execution id from execution request\n * @member {String} execId\n */\n exports.prototype['execId'] = undefined;\n /**\n * state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. \n * @member {module:model/ChildProcess.StateEnum} state\n */\n exports.prototype['state'] = undefined;\n /**\n * the time when this process is spawned\n * @member {Date} startedAt\n */\n exports.prototype['startedAt'] = undefined;\n /**\n * the exit code of child process. available with EXITED procs only.\n * @member {Integer} exitCode\n */\n exports.prototype['exitCode'] = undefined;\n /**\n * the signal that killed this child process.(not always available)\n * @member {String} exitSignal\n */\n exports.prototype['exitSignal'] = undefined;\n\n\n /**\n * Allowed values for the state property.\n * @enum {String}\n * @readonly\n */\n exports.StateEnum = {\n /**\n * value: \"CREATED\"\n * @const\n */\n \"CREATED\": \"CREATED\",\n /**\n * value: \"WORKING\"\n * @const\n */\n \"WORKING\": \"WORKING\",\n /**\n * value: \"KILLING\"\n * @const\n */\n \"KILLING\": \"KILLING\",\n /**\n * value: \"EXITED\"\n * @const\n */\n \"EXITED\": \"EXITED\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/ChildProcess.js\n ** module id = 7\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Credential = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Credential model module.\n * @module model/Credential\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Credential.\n * user credential to login. Use https to protect credential.\n * @alias module:model/Credential\n * @class\n * @param loginId {String} \n * @param loginPassword {String} \n */\n var exports = function(loginId, loginPassword) {\n var _this = this;\n\n _this['loginId'] = loginId;\n _this['loginPassword'] = loginPassword;\n\n };\n\n /**\n * Constructs a Credential from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Credential} obj Optional instance to populate.\n * @return {module:model/Credential} The populated Credential instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('loginId')) {\n obj['loginId'] = ApiClient.convertToType(data['loginId'], 'String');\n }\n if (data.hasOwnProperty('loginPassword')) {\n obj['loginPassword'] = ApiClient.convertToType(data['loginPassword'], 'String');\n }\n if (data.hasOwnProperty('masterToken')) {\n obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {String} loginId\n */\n exports.prototype['loginId'] = undefined;\n /**\n * @member {String} loginPassword\n */\n exports.prototype['loginPassword'] = undefined;\n /**\n * a master token is issued when user wants to access webida api without id/password from remote or local desktop app. When masterToken is set, client should put some bogus id/password, non-empty. (The values can be used to identify client type) \n * @member {String} masterToken\n */\n exports.prototype['masterToken'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Credential.js\n ** module id = 8\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Execution = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Execution model module.\n * @module model/Execution\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Execution.\n * execution request, simlilar to node.js exec()/spawn(). see node.js documentation for details of each properties. some properties are not configurable for portability - encoding : fixed to utf-8 - shell : fixed to system defaults. (so, cmd.exe will be invoked in Windows OS, not sh or bash in git-for-windows even they are available.) - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or invoke taskkill, to ensure chlid process is killed. - uid & gid : will not be set for security - stdio : all streams are handled by server. no options are avaliable to client. - detached : always false \n * @alias module:model/Execution\n * @class\n * @param command {String} The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. \n * @param args {Array.} the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\\\Program Files\\\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. \n */\n var exports = function(command, args) {\n var _this = this;\n\n\n _this['command'] = command;\n _this['args'] = args;\n\n\n\n };\n\n /**\n * Constructs a Execution from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Execution} obj Optional instance to populate.\n * @return {module:model/Execution} The populated Execution instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('command')) {\n obj['command'] = ApiClient.convertToType(data['command'], 'String');\n }\n if (data.hasOwnProperty('args')) {\n obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n }\n if (data.hasOwnProperty('cwd')) {\n obj['cwd'] = ApiClient.convertToType(data['cwd'], 'String');\n }\n if (data.hasOwnProperty('timeout')) {\n obj['timeout'] = ApiClient.convertToType(data['timeout'], 'Integer');\n }\n if (data.hasOwnProperty('maxBuffer')) {\n obj['maxBuffer'] = ApiClient.convertToType(data['maxBuffer'], 'Integer');\n }\n }\n return obj;\n }\n\n /**\n * unique identifier of execution, to demux response stream or cancel request. Server should reject an async exec request without id. \n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. \n * @member {String} command\n */\n exports.prototype['command'] = undefined;\n /**\n * the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\\\Program Files\\\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. \n * @member {Array.} args\n */\n exports.prototype['args'] = undefined;\n /**\n * Current working directory of spawned process, relative to workspace root. If abscent, cwd will be the workspace directory. Does not accept any evaluatable form like $HOME, %USERPROFILE%. path should be unixified. Server may reject an 'absolute' property. \n * @member {String} cwd\n */\n exports.prototype['cwd'] = undefined;\n /**\n * The value which In 'miliseconds' the maximum amount of time the child is allowed to run. (not idle time of stdout / stderr stream) for sync exec. Server should not apply default value for async exec, when omitted. The child process spawned by async execution should be killed when 1) server goes down 2) process exits by self 3) cancel operation is invoked \n * @member {Integer} timeout\n */\n exports.prototype['timeout'] = undefined;\n /**\n * Largest amount of data (in bytes) allowed on stdout or stderr for sync exec. Server should not apply this limit to async execution. In sync exec, server may kill a child process that has exceeded limit. default value is 512KB, large enough. \n * @member {Integer} maxBuffer\n */\n exports.prototype['maxBuffer'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Execution.js\n ** module id = 9\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.ExecutionResult = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The ExecutionResult model module.\n * @module model/ExecutionResult\n * @version 0.3.0\n */\n\n /**\n * Constructs a new ExecutionResult.\n * execution response\n * @alias module:model/ExecutionResult\n * @class\n * @param stdout {String} standard out of child process.\n * @param stderr {String} standard error of child process.\n */\n var exports = function(stdout, stderr) {\n var _this = this;\n\n\n _this['stdout'] = stdout;\n _this['stderr'] = stderr;\n };\n\n /**\n * Constructs a ExecutionResult from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/ExecutionResult} obj Optional instance to populate.\n * @return {module:model/ExecutionResult} The populated ExecutionResult instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('error')) {\n obj['error'] = ApiClient.convertToType(data['error'], 'String');\n }\n if (data.hasOwnProperty('stdout')) {\n obj['stdout'] = ApiClient.convertToType(data['stdout'], 'String');\n }\n if (data.hasOwnProperty('stderr')) {\n obj['stderr'] = ApiClient.convertToType(data['stderr'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * error message when execution failed.\n * @member {String} error\n */\n exports.prototype['error'] = undefined;\n /**\n * standard out of child process.\n * @member {String} stdout\n */\n exports.prototype['stdout'] = undefined;\n /**\n * standard error of child process.\n * @member {String} stderr\n */\n exports.prototype['stderr'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/ExecutionResult.js\n ** module id = 10\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RemoteAccess = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The RemoteAccess model module.\n * @module model/RemoteAccess\n * @version 0.3.0\n */\n\n /**\n * Constructs a new RemoteAccess.\n * Access information of remote workspace in remote server\n * @alias module:model/RemoteAccess\n * @class\n * @param name {String} display text of remote workspace. can be different from original name. \n * @param serverUrl {String} the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n * @param workspaceId {String} the id of remote workspace, read from remote server\n * @param masterToken {String} master token to access service, issued from remote server\n */\n var exports = function(name, serverUrl, workspaceId, masterToken) {\n var _this = this;\n\n _this['name'] = name;\n _this['serverUrl'] = serverUrl;\n _this['workspaceId'] = workspaceId;\n\n _this['masterToken'] = masterToken;\n };\n\n /**\n * Constructs a RemoteAccess from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/RemoteAccess} obj Optional instance to populate.\n * @return {module:model/RemoteAccess} The populated RemoteAccess instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('serverUrl')) {\n obj['serverUrl'] = ApiClient.convertToType(data['serverUrl'], 'String');\n }\n if (data.hasOwnProperty('workspaceId')) {\n obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n }\n if (data.hasOwnProperty('workspacePath')) {\n obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n }\n if (data.hasOwnProperty('masterToken')) {\n obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * display text of remote workspace. can be different from original name. \n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n * @member {String} serverUrl\n */\n exports.prototype['serverUrl'] = undefined;\n /**\n * the id of remote workspace, read from remote server\n * @member {String} workspaceId\n */\n exports.prototype['workspaceId'] = undefined;\n /**\n * Full path of remote workspace, read from remote server. this property will be removed when clients are able to work without \\\"named root directory\\\" in workspace fs tree. \n * @member {String} workspacePath\n */\n exports.prototype['workspacePath'] = undefined;\n /**\n * master token to access service, issued from remote server\n * @member {String} masterToken\n */\n exports.prototype['masterToken'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/RemoteAccess.js\n ** module id = 11\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Session = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Session model module.\n * @module model/Session\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Session.\n * an application session per ide instance. bound to access token\n * @alias module:model/Session\n * @class\n * @param id {String} the id of a session. usually same to socket id.\n * @param name {String} human readable name, usually derived from workspace name.\n * @param state {module:model/Session.StateEnum} state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n * @param clientAddress {String} the peer address of session connection. not always\n * @param connectedAt {Date} the time when socket connection is established\n * @param disconnectedAt {Date} the time when socket is closed.\n */\n var exports = function(id, name, state, clientAddress, connectedAt, disconnectedAt) {\n var _this = this;\n\n _this['id'] = id;\n _this['name'] = name;\n _this['state'] = state;\n\n _this['clientAddress'] = clientAddress;\n _this['connectedAt'] = connectedAt;\n _this['disconnectedAt'] = disconnectedAt;\n\n\n };\n\n /**\n * Constructs a Session from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Session} obj Optional instance to populate.\n * @return {module:model/Session} The populated Session instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('state')) {\n obj['state'] = ApiClient.convertToType(data['state'], 'String');\n }\n if (data.hasOwnProperty('workspaceId')) {\n obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n }\n if (data.hasOwnProperty('clientAddress')) {\n obj['clientAddress'] = ApiClient.convertToType(data['clientAddress'], 'String');\n }\n if (data.hasOwnProperty('connectedAt')) {\n obj['connectedAt'] = ApiClient.convertToType(data['connectedAt'], 'Date');\n }\n if (data.hasOwnProperty('disconnectedAt')) {\n obj['disconnectedAt'] = ApiClient.convertToType(data['disconnectedAt'], 'Date');\n }\n if (data.hasOwnProperty('willCloseAt')) {\n obj['willCloseAt'] = ApiClient.convertToType(data['willCloseAt'], 'Date');\n }\n if (data.hasOwnProperty('willLoseAt')) {\n obj['willLoseAt'] = ApiClient.convertToType(data['willLoseAt'], 'Date');\n }\n }\n return obj;\n }\n\n /**\n * the id of a session. usually same to socket id.\n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * human readable name, usually derived from workspace name.\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n * @member {module:model/Session.StateEnum} state\n */\n exports.prototype['state'] = undefined;\n /**\n * the id of workspace that this sessions is working on. If falsy, then this session is not belonged to any workpsace. Usually, dashboard / monitoring app will create a session without workspace id. \n * @member {String} workspaceId\n */\n exports.prototype['workspaceId'] = undefined;\n /**\n * the peer address of session connection. not always\n * @member {String} clientAddress\n */\n exports.prototype['clientAddress'] = undefined;\n /**\n * the time when socket connection is established\n * @member {Date} connectedAt\n */\n exports.prototype['connectedAt'] = undefined;\n /**\n * the time when socket is closed.\n * @member {Date} disconnectedAt\n */\n exports.prototype['disconnectedAt'] = undefined;\n /**\n * when state becomes CLOSING, actual closing time will be updated by server.\n * @member {Date} willCloseAt\n */\n exports.prototype['willCloseAt'] = undefined;\n /**\n * when state becomes LOSING, server will not wait for reconnection after this time.\n * @member {Date} willLoseAt\n */\n exports.prototype['willLoseAt'] = undefined;\n\n\n /**\n * Allowed values for the state property.\n * @enum {String}\n * @readonly\n */\n exports.StateEnum = {\n /**\n * value: \"NORMAL\"\n * @const\n */\n \"NORMAL\": \"NORMAL\",\n /**\n * value: \"LOSING\"\n * @const\n */\n \"LOSING\": \"LOSING\",\n /**\n * value: \"CLOSING\"\n * @const\n */\n \"CLOSING\": \"CLOSING\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Session.js\n ** module id = 12\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Token = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Token model module.\n * @module model/Token\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Token.\n * a json webtoken and accessible data\n * @alias module:model/Token\n * @class\n * @param text {String} actual token text that should be shipped in header or query\n * @param tokenType {module:model/Token.TokenTypeEnum} MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n * @param expiresAt {Date} \n * @param issuedAt {Date} \n */\n var exports = function(text, tokenType, expiresAt, issuedAt) {\n var _this = this;\n\n _this['text'] = text;\n _this['tokenType'] = tokenType;\n _this['expiresAt'] = expiresAt;\n _this['issuedAt'] = issuedAt;\n\n\n };\n\n /**\n * Constructs a Token from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Token} obj Optional instance to populate.\n * @return {module:model/Token} The populated Token instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('text')) {\n obj['text'] = ApiClient.convertToType(data['text'], 'String');\n }\n if (data.hasOwnProperty('tokenType')) {\n obj['tokenType'] = ApiClient.convertToType(data['tokenType'], 'String');\n }\n if (data.hasOwnProperty('expiresAt')) {\n obj['expiresAt'] = ApiClient.convertToType(data['expiresAt'], 'Date');\n }\n if (data.hasOwnProperty('issuedAt')) {\n obj['issuedAt'] = ApiClient.convertToType(data['issuedAt'], 'Date');\n }\n if (data.hasOwnProperty('sessionId')) {\n obj['sessionId'] = ApiClient.convertToType(data['sessionId'], 'String');\n }\n if (data.hasOwnProperty('workspaceId')) {\n obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * actual token text that should be shipped in header or query\n * @member {String} text\n */\n exports.prototype['text'] = undefined;\n /**\n * MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n * @member {module:model/Token.TokenTypeEnum} tokenType\n */\n exports.prototype['tokenType'] = undefined;\n /**\n * @member {Date} expiresAt\n */\n exports.prototype['expiresAt'] = undefined;\n /**\n * @member {Date} issuedAt\n */\n exports.prototype['issuedAt'] = undefined;\n /**\n * mandatory for ACCESS token, identifying client instance\n * @member {String} sessionId\n */\n exports.prototype['sessionId'] = undefined;\n /**\n * If truthy, access rights are restricted to specified workspace only.\n * @member {String} workspaceId\n */\n exports.prototype['workspaceId'] = undefined;\n\n\n /**\n * Allowed values for the tokenType property.\n * @enum {String}\n * @readonly\n */\n exports.TokenTypeEnum = {\n /**\n * value: \"MASTER\"\n * @const\n */\n \"MASTER\": \"MASTER\",\n /**\n * value: \"ACCESS\"\n * @const\n */\n \"ACCESS\": \"ACCESS\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Token.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.User = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The User model module.\n * @module model/User\n * @version 0.3.0\n */\n\n /**\n * Constructs a new User.\n * Any services/products should define some admin apis to manage users in the system and expose what should be exposed to client app. So, no properties are mandatory. Currently, the properties are defined for compatiblity with legacy clients. \n * @alias module:model/User\n * @class\n */\n var exports = function() {\n var _this = this;\n\n\n\n\n };\n\n /**\n * Constructs a User from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/User} obj Optional instance to populate.\n * @return {module:model/User} The populated User instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('email')) {\n obj['email'] = ApiClient.convertToType(data['email'], 'String');\n }\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * unique id per user (email is also unique)\n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * @member {String} email\n */\n exports.prototype['email'] = undefined;\n /**\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/User.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Workspace = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Workspace model module.\n * @module model/Workspace\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Workspace.\n * A workspace in server\n * @alias module:model/Workspace\n * @class\n * @param id {String} the id of a workspace. usually same to file system id\n * @param name {String} display text of this workspace for UI\n * @param description {String} human readable description on this workspace\n * @param createdAt {Date} the time when this workspace is created (registered from local file system)\n * @param workspacePath {String} absolute path of this workspace in server.\n * @param excludedPaths {Array.} glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n * @param offlineCachePaths {Array.} any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n */\n var exports = function(id, name, description, createdAt, workspacePath, excludedPaths, offlineCachePaths) {\n var _this = this;\n\n _this['id'] = id;\n _this['name'] = name;\n _this['description'] = description;\n _this['createdAt'] = createdAt;\n\n _this['workspacePath'] = workspacePath;\n _this['excludedPaths'] = excludedPaths;\n _this['offlineCachePaths'] = offlineCachePaths;\n };\n\n /**\n * Constructs a Workspace from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Workspace} obj Optional instance to populate.\n * @return {module:model/Workspace} The populated Workspace instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('description')) {\n obj['description'] = ApiClient.convertToType(data['description'], 'String');\n }\n if (data.hasOwnProperty('createdAt')) {\n obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'Date');\n }\n if (data.hasOwnProperty('accessedAt')) {\n obj['accessedAt'] = ApiClient.convertToType(data['accessedAt'], 'Date');\n }\n if (data.hasOwnProperty('workspacePath')) {\n obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n }\n if (data.hasOwnProperty('excludedPaths')) {\n obj['excludedPaths'] = ApiClient.convertToType(data['excludedPaths'], ['String']);\n }\n if (data.hasOwnProperty('offlineCachePaths')) {\n obj['offlineCachePaths'] = ApiClient.convertToType(data['offlineCachePaths'], ['String']);\n }\n }\n return obj;\n }\n\n /**\n * the id of a workspace. usually same to file system id\n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * display text of this workspace for UI\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * human readable description on this workspace\n * @member {String} description\n */\n exports.prototype['description'] = undefined;\n /**\n * the time when this workspace is created (registered from local file system)\n * @member {Date} createdAt\n */\n exports.prototype['createdAt'] = undefined;\n /**\n * the time when the last session on this workspace was made. (optional)\n * @member {Date} accessedAt\n */\n exports.prototype['accessedAt'] = undefined;\n /**\n * absolute path of this workspace in server.\n * @member {String} workspacePath\n */\n exports.prototype['workspacePath'] = undefined;\n /**\n * glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n * @member {Array.} excludedPaths\n */\n exports.prototype['excludedPaths'] = undefined;\n /**\n * any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n * @member {Array.} offlineCachePaths\n */\n exports.prototype['offlineCachePaths'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Workspace.js\n ** module id = 15\n ** module chunks = 0\n **/","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.superagent = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= 200 && res.status < 300) {\n return self.callback(err, res);\n }\n\n var new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n new_err.original = err;\n new_err.response = res;\n new_err.status = res.status;\n\n self.callback(new_err, res);\n } catch(e) {\n self.callback(e); // #985 touching res may cause INVALID_STATE_ERR on old Android\n }\n });\n}\n\n/**\n * Mixin `Emitter` and `requestBase`.\n */\n\nEmitter(Request.prototype);\nfor (var key in requestBase) {\n Request.prototype[key] = requestBase[key];\n}\n\n/**\n * Set Content-Type to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.xml = 'application/xml';\n *\n * request.post('/')\n * .type('xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * request.post('/')\n * .type('application/xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * @param {String} type\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.type = function(type){\n this.set('Content-Type', request.types[type] || type);\n return this;\n};\n\n/**\n * Set responseType to `val`. Presently valid responseTypes are 'blob' and\n * 'arraybuffer'.\n *\n * Examples:\n *\n * req.get('/')\n * .responseType('blob')\n * .end(callback);\n *\n * @param {String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.responseType = function(val){\n this._responseType = val;\n return this;\n};\n\n/**\n * Set Accept to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.json = 'application/json';\n *\n * request.get('/agent')\n * .accept('json')\n * .end(callback);\n *\n * request.get('/agent')\n * .accept('application/json')\n * .end(callback);\n *\n * @param {String} accept\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.accept = function(type){\n this.set('Accept', request.types[type] || type);\n return this;\n};\n\n/**\n * Set Authorization field value with `user` and `pass`.\n *\n * @param {String} user\n * @param {String} pass\n * @param {Object} options with 'type' property 'auto' or 'basic' (default 'basic')\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.auth = function(user, pass, options){\n if (!options) {\n options = {\n type: 'basic'\n }\n }\n\n switch (options.type) {\n case 'basic':\n var str = btoa(user + ':' + pass);\n this.set('Authorization', 'Basic ' + str);\n break;\n\n case 'auto':\n this.username = user;\n this.password = pass;\n break;\n }\n return this;\n};\n\n/**\n* Add query-string `val`.\n*\n* Examples:\n*\n* request.get('/shoes')\n* .query('size=10')\n* .query({ color: 'blue' })\n*\n* @param {Object|String} val\n* @return {Request} for chaining\n* @api public\n*/\n\nRequest.prototype.query = function(val){\n if ('string' != typeof val) val = serialize(val);\n if (val) this._query.push(val);\n return this;\n};\n\n/**\n * Queue the given `file` as an attachment to the specified `field`,\n * with optional `filename`.\n *\n * ``` js\n * request.post('/upload')\n * .attach('content', new Blob(['hey!'], { type: \"text/html\"}))\n * .end(callback);\n * ```\n *\n * @param {String} field\n * @param {Blob|File} file\n * @param {String} filename\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.attach = function(field, file, filename){\n this._getFormData().append(field, file, filename || file.name);\n return this;\n};\n\nRequest.prototype._getFormData = function(){\n if (!this._formData) {\n this._formData = new root.FormData();\n }\n return this._formData;\n};\n\n/**\n * Invoke the callback with `err` and `res`\n * and handle arity check.\n *\n * @param {Error} err\n * @param {Response} res\n * @api private\n */\n\nRequest.prototype.callback = function(err, res){\n var fn = this._callback;\n this.clearTimeout();\n fn(err, res);\n};\n\n/**\n * Invoke callback with x-domain error.\n *\n * @api private\n */\n\nRequest.prototype.crossDomainError = function(){\n var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n err.crossDomain = true;\n\n err.status = this.status;\n err.method = this.method;\n err.url = this.url;\n\n this.callback(err);\n};\n\n/**\n * Invoke callback with timeout error.\n *\n * @api private\n */\n\nRequest.prototype._timeoutError = function(){\n var timeout = this._timeout;\n var err = new Error('timeout of ' + timeout + 'ms exceeded');\n err.timeout = timeout;\n this.callback(err);\n};\n\n/**\n * Compose querystring to append to req.url\n *\n * @api private\n */\n\nRequest.prototype._appendQueryString = function(){\n var query = this._query.join('&');\n if (query) {\n this.url += ~this.url.indexOf('?')\n ? '&' + query\n : '?' + query;\n }\n};\n\n/**\n * Initiate request, invoking callback `fn(res)`\n * with an instanceof `Response`.\n *\n * @param {Function} fn\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.end = function(fn){\n var self = this;\n var xhr = this.xhr = request.getXHR();\n var timeout = this._timeout;\n var data = this._formData || this._data;\n\n // store callback\n this._callback = fn || noop;\n\n // state change\n xhr.onreadystatechange = function(){\n if (4 != xhr.readyState) return;\n\n // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n // result in the error \"Could not complete the operation due to error c00c023f\"\n var status;\n try { status = xhr.status } catch(e) { status = 0; }\n\n if (0 == status) {\n if (self.timedout) return self._timeoutError();\n if (self._aborted) return;\n return self.crossDomainError();\n }\n self.emit('end');\n };\n\n // progress\n var handleProgress = function(e){\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n e.direction = 'download';\n self.emit('progress', e);\n };\n if (this.hasListeners('progress')) {\n xhr.onprogress = handleProgress;\n }\n try {\n if (xhr.upload && this.hasListeners('progress')) {\n xhr.upload.onprogress = handleProgress;\n }\n } catch(e) {\n // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n // Reported here:\n // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n }\n\n // timeout\n if (timeout && !this._timer) {\n this._timer = setTimeout(function(){\n self.timedout = true;\n self.abort();\n }, timeout);\n }\n\n // querystring\n this._appendQueryString();\n\n // initiate request\n if (this.username && this.password) {\n xhr.open(this.method, this.url, true, this.username, this.password);\n } else {\n xhr.open(this.method, this.url, true);\n }\n\n // CORS\n if (this._withCredentials) xhr.withCredentials = true;\n\n // body\n if ('GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n // serialize stuff\n var contentType = this._header['content-type'];\n var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n if (!serialize && isJSON(contentType)) serialize = request.serialize['application/json'];\n if (serialize) data = serialize(data);\n }\n\n // set header fields\n for (var field in this.header) {\n if (null == this.header[field]) continue;\n xhr.setRequestHeader(field, this.header[field]);\n }\n\n if (this._responseType) {\n xhr.responseType = this._responseType;\n }\n\n // send stuff\n this.emit('request', this);\n\n // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n // We need null here if data is undefined\n xhr.send(typeof data !== 'undefined' ? data : null);\n return this;\n};\n\n\n/**\n * Expose `Request`.\n */\n\nrequest.Request = Request;\n\n/**\n * GET `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.get = function(url, data, fn){\n var req = request('GET', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.query(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * HEAD `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.head = function(url, data, fn){\n var req = request('HEAD', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * OPTIONS query to `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.options = function(url, data, fn){\n var req = request('OPTIONS', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * DELETE `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nfunction del(url, fn){\n var req = request('DELETE', url);\n if (fn) req.end(fn);\n return req;\n};\n\nrequest['del'] = del;\nrequest['delete'] = del;\n\n/**\n * PATCH `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} data\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.patch = function(url, data, fn){\n var req = request('PATCH', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * POST `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} data\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.post = function(url, data, fn){\n var req = request('POST', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * PUT `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.put = function(url, data, fn){\n var req = request('PUT', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n},{\"./is-object\":1,\"./request\":3,\"./request-base\":2,\"emitter\":4,\"reduce\":5}]},{},[6])(6)\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/superagent/superagent.js\n ** module id = 16\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/User', 'model/RestError', 'model/Token', 'model/Credential'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/User'), require('../model/RestError'), require('../model/Token'), require('../model/Credential'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.AuthApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.User, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Token, root.WebidaRestfulApi.Credential);\n }\n}(this, function(ApiClient, User, RestError, Token, Credential) {\n 'use strict';\n\n /**\n * Auth service.\n * @module api/AuthApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new AuthApi. \n * @alias module:api/AuthApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the getInfo operation.\n * @callback module:api/AuthApi~getInfoCallback\n * @param {String} error Error message, if any.\n * @param {module:model/User} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Gets user information of that can be identified with current access token. Implementations should provide a more restful api based on domain data model, not extending this operation. (e.g. GET,PUT and DELETE on /Users/{userId} to read, update and delete user) \n * @param {module:api/AuthApi~getInfoCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/User}\n */\n this.getInfo = function(callback) {\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = User;\n\n return this.apiClient.callApi(\n '/auth/info', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the issueToken operation.\n * @callback module:api/AuthApi~issueTokenCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Token} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates new token from current access token, inheriting workspace id & session id. The duration of generated token is (and should not be) parameterizable. Server should set proper duration, respecting \\"reconnect\\" period of socket.io clients. Remember that most of socket.io client implementations (including official js client) do not provide any ways to change connection parameters (header or query) while reconnecting to server. Like login API, this endpoint does not provide any encryption. Server should not set any data to harm security in the token & should provide some signinig/encryption mechanism to protect token. Simple JSON Web Token with HMAC-SHA will do. \n * @param {module:model/String} type \n * @param {Object} opts Optional parameters\n * @param {String} opts.workspaceId recommended to issue a MASTER type token to restrict remote access\n * @param {module:api/AuthApi~issueTokenCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Token}\n */\n this.issueToken = function(type, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'type' is set\n if (type == undefined || type == null) {\n throw \"Missing the required parameter 'type' when calling issueToken\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n 'type': type,\n 'workspaceId': opts['workspaceId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Token;\n\n return this.apiClient.callApi(\n '/auth/token', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the login operation.\n * @callback module:api/AuthApi~loginCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Token} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * A \\"VERY\\" basic authentication, required to use webida-simple-auth security scheme. Service / Product implementations who need better security, should override this operation or add their own login api or some other specs like OAuth2. Simple auth is not suitable for large-sacle, multi-tennant service, for the scheme assumes a single, trusted user only. Logging-in with master token, the generated access token inherits all restriction from it. On the other hand, normal log-in with login id & password creates an unrestricted access token, with reasonably short expiration time. Every client should spawn another access token with issueToken API before current access token expires, inheriting session id from current token. To save remote access info, client should create a (restricted but long-ttl) master token to start IDE from remote. The remote client should not use the unrestricted acccess token from login to use any other perpose than finding available workspaces, and should not refresh the token. (Let user log-in again) Login API does not force any encryption. Server should provide secure transport channel, usually https, to provide remote access, always. \n * @param {module:model/Credential} body \n * @param {module:api/AuthApi~loginCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Token}\n */\n this.login = function(body, callback) {\n var postBody = body;\n\n // verify the required parameter 'body' is set\n if (body == undefined || body == null) {\n throw \"Missing the required parameter 'body' when calling login\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = [];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Token;\n\n return this.apiClient.callApi(\n '/auth/login', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/AuthApi.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.OpsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError);\n }\n}(this, function(ApiClient, RestOK, RestError) {\n 'use strict';\n\n /**\n * Ops service.\n * @module api/OpsApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new OpsApi. \n * @alias module:api/OpsApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the replace operation.\n * @callback module:api/OpsApi~replaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * replace file contents with regex matching\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {Array.} wfsPathList array of wfsPath, with heading / (collection format may be changed by implementation)\n * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n * @param {String} replaceTo string to replace with\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n * @param {module:api/OpsApi~replaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.replace = function(wfsId, wfsPathList, pattern, replaceTo, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling replace\";\n }\n\n // verify the required parameter 'wfsPathList' is set\n if (wfsPathList == undefined || wfsPathList == null) {\n throw \"Missing the required parameter 'wfsPathList' when calling replace\";\n }\n\n // verify the required parameter 'pattern' is set\n if (pattern == undefined || pattern == null) {\n throw \"Missing the required parameter 'pattern' when calling replace\";\n }\n\n // verify the required parameter 'replaceTo' is set\n if (replaceTo == undefined || replaceTo == null) {\n throw \"Missing the required parameter 'replaceTo' when calling replace\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId\n };\n var queryParams = {\n 'wfsPathList': this.apiClient.buildCollectionParam(wfsPathList, 'multi'),\n 'pattern': pattern,\n 'replaceTo': replaceTo,\n 'ignoreCase': opts['ignoreCase']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/ops/replace', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the search operation.\n * @callback module:api/OpsApi~searchCallback\n * @param {String} error Error message, if any.\n * @param {Object.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * search files in some path, with given pattern\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n * @param {module:api/OpsApi~searchCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Object.}\n */\n this.search = function(wfsId, wfsPath, pattern, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling search\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling search\";\n }\n\n // verify the required parameter 'pattern' is set\n if (pattern == undefined || pattern == null) {\n throw \"Missing the required parameter 'pattern' when calling search\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'pattern': pattern,\n 'ignoreCase': opts['ignoreCase']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = {'String': [Match]};\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/ops/search/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/OpsApi.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestError', 'model/RemoteAccess', 'model/RestOK'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestError'), require('../model/RemoteAccess'), require('../model/RestOK'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RemotesApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.RemoteAccess, root.WebidaRestfulApi.RestOK);\n }\n}(this, function(ApiClient, RestError, RemoteAccess, RestOK) {\n 'use strict';\n\n /**\n * Remotes service.\n * @module api/RemotesApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new RemotesApi. \n * @alias module:api/RemotesApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the findRemoteAccesses operation.\n * @callback module:api/RemotesApi~findRemoteAccessesCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Get all access informations See RemoteWorkspaceAccess definition for details (no fancy find / search feature yet) \n * @param {module:api/RemotesApi~findRemoteAccessesCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findRemoteAccesses = function(callback) {\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [RemoteAccess];\n\n return this.apiClient.callApi(\n '/remotes', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the putRemoteAccess operation.\n * @callback module:api/RemotesApi~putRemoteAccessCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * create or update a remote workspace access information\n * @param {module:model/RemoteAccess} body \n * @param {module:api/RemotesApi~putRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.putRemoteAccess = function(body, callback) {\n var postBody = body;\n\n // verify the required parameter 'body' is set\n if (body == undefined || body == null) {\n throw \"Missing the required parameter 'body' when calling putRemoteAccess\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/remotes', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the removeRemoteAccess operation.\n * @callback module:api/RemotesApi~removeRemoteAccessCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RemoteAccess} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * delete a remote workspace\n * @param {String} workspaceId workspace Id of remote workspace\n * @param {module:api/RemotesApi~removeRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RemoteAccess}\n */\n this.removeRemoteAccess = function(workspaceId, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling removeRemoteAccess\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n 'workspaceId': workspaceId\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RemoteAccess;\n\n return this.apiClient.callApi(\n '/remotes', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/RemotesApi.js\n ** module id = 19\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError', 'model/Session'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Session'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.SessionApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Session);\n }\n}(this, function(ApiClient, RestOK, RestError, Session) {\n 'use strict';\n\n /**\n * Session service.\n * @module api/SessionApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new SessionApi. \n * @alias module:api/SessionApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the closeSession operation.\n * @callback module:api/SessionApi~closeSessionCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * close session with timeout\n * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n * @param {Integer} closeAfter waiting time before actual closing, to let client save files and prevent reconnect \n * @param {module:api/SessionApi~closeSessionCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.closeSession = function(sessionId, closeAfter, callback) {\n var postBody = null;\n\n // verify the required parameter 'sessionId' is set\n if (sessionId == undefined || sessionId == null) {\n throw \"Missing the required parameter 'sessionId' when calling closeSession\";\n }\n\n // verify the required parameter 'closeAfter' is set\n if (closeAfter == undefined || closeAfter == null) {\n throw \"Missing the required parameter 'closeAfter' when calling closeSession\";\n }\n\n\n var pathParams = {\n 'sessionId': sessionId\n };\n var queryParams = {\n 'closeAfter': closeAfter\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/sessions/{sessionId}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the findSessions operation.\n * @callback module:api/SessionApi~findSessionsCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get all / some webida sessions established to server\n * @param {Object} opts Optional parameters\n * @param {String} opts.workspaceId find only sessions working on some given workspace\n * @param {module:api/SessionApi~findSessionsCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findSessions = function(opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n 'workspaceId': opts['workspaceId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [Session];\n\n return this.apiClient.callApi(\n '/sessions', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the getSession operation.\n * @callback module:api/SessionApi~getSessionCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Session} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get a session object by id\n * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n * @param {module:api/SessionApi~getSessionCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Session}\n */\n this.getSession = function(sessionId, callback) {\n var postBody = null;\n\n // verify the required parameter 'sessionId' is set\n if (sessionId == undefined || sessionId == null) {\n throw \"Missing the required parameter 'sessionId' when calling getSession\";\n }\n\n\n var pathParams = {\n 'sessionId': sessionId\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Session;\n\n return this.apiClient.callApi(\n '/sessions/{sessionId}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/SessionApi.js\n ** module id = 20\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError', 'model/DirEntry', 'model/Stats'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/DirEntry'), require('../model/Stats'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.WfsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n }\n}(this, function(ApiClient, RestOK, RestError, DirEntry, Stats) {\n 'use strict';\n\n /**\n * Wfs service.\n * @module api/WfsApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new WfsApi. \n * @alias module:api/WfsApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the copy operation.\n * @callback module:api/WfsApi~copyCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates a copy of source to given path. Unlike cp command, wfsPath always denotes an exact path of the resource to be created. So, copying a file to directory always returns error and vice versa. this operation creates the parents dir of destination path always, and does not roll-back the creation when operation failed. So, clients should roll-back if needed. When destination path exists already, 1) copying file to file : follows noOverwrite flag. (does not return error) 2) copying file to dir : returns 409 error 3) copying dir to file : returns 409 error 4) copying dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {String} srcPath source data path of some operations, with have heading /\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n * @param {Boolean} opts.followSymbolicLinks dereference symlinks in source. (default to false)\n * @param {Boolean} opts.preserveTimestamps keep mtime/atime of source file(s) in destination. (default to false)\n * @param {module:api/WfsApi~copyCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.copy = function(wfsId, wfsPath, srcPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling copy\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling copy\";\n }\n\n // verify the required parameter 'srcPath' is set\n if (srcPath == undefined || srcPath == null) {\n throw \"Missing the required parameter 'srcPath' when calling copy\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'srcPath': srcPath,\n 'noOverwrite': opts['noOverwrite'],\n 'followSymbolicLinks': opts['followSymbolicLinks'],\n 'preserveTimestamps': opts['preserveTimestamps']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the createDir operation.\n * @callback module:api/WfsApi~createDirCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * create a directory at the path. returns error when wfsPath exists and not empty this API always creates parent directories if needed. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {module:api/WfsApi~createDirCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.createDir = function(wfsId, wfsPath, callback) {\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling createDir\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling createDir\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/dir/{wfsPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the dirTree operation.\n * @callback module:api/WfsApi~dirTreeCallback\n * @param {String} error Error message, if any.\n * @param {module:model/DirEntry} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * returns a directory tree of given path, for listing dir and managing file system errors while building sub-tree will be ignored and will not be included in result. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {Integer} maxDepth Maximum depth of tree. -1 to build a full tree, 0 to stat, 1 to plain list.\n * @param {module:api/WfsApi~dirTreeCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/DirEntry}\n */\n this.dirTree = function(wfsId, wfsPath, maxDepth, callback) {\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling dirTree\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling dirTree\";\n }\n\n // verify the required parameter 'maxDepth' is set\n if (maxDepth == undefined || maxDepth == null) {\n throw \"Missing the required parameter 'maxDepth' when calling dirTree\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'maxDepth': maxDepth\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = DirEntry;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/dir/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the move operation.\n * @callback module:api/WfsApi~moveCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Moves source resource to given path. Unlike mv command, wfsPath always denotes an exact path of the resource to be created. So, moving a file to existing directory always returns error and vice versa. (So, This API works like 'rename' rather than 'mv' command) Like copy(), this operation creates parent path of destination, and does not roll-back when operation failes. When destination path exists already, 1) moving file to file : follows noOverwrite flag. 2) moving file to dir : returns 409 error 3) moving dir to file : returns 409 error 4) moving dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {String} srcPath source data path of some operations, with have heading /\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n * @param {module:api/WfsApi~moveCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.move = function(wfsId, wfsPath, srcPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling move\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling move\";\n }\n\n // verify the required parameter 'srcPath' is set\n if (srcPath == undefined || srcPath == null) {\n throw \"Missing the required parameter 'srcPath' when calling move\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'srcPath': srcPath,\n 'noOverwrite': opts['noOverwrite']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the readFile operation.\n * @callback module:api/WfsApi~readFileCallback\n * @param {String} error Error message, if any.\n * @param {File} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * read file data on path\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {module:api/WfsApi~readFileCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {File}\n */\n this.readFile = function(wfsId, wfsPath, callback) {\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling readFile\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling readFile\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = File;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/file/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the remove operation.\n * @callback module:api/WfsApi~removeCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * delete file or directory\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.noRecursive if set, deleting non-empty directory will return 409 error. (default to false)\n * @param {module:api/WfsApi~removeCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.remove = function(wfsId, wfsPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling remove\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling remove\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'noRecursive': opts['noRecursive']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the stat operation.\n * @callback module:api/WfsApi~statCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Stats} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Get stats of given path. (stat() returns \\"stats\\" object in node and POSIX system) Since we've no ctime/atime in Stats class, some file system changing events will send 'exactly same' stats object. This API should be called only when stats of some file system path is stale for unknown reason (e.g. losting change events). Use dirTree operation and session events to detect stats, if possible. This API can be used to check a path is valid, existing one, but it's not recommended to check existence of individual paths by API. Clients should use dirTree and session events to synchorize some in-app file system with webida file system. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ignoreError flag to ignore stat errors to check existence only. If this flag is true, server will returns 'DUMMY' type stats object instead of 404 error when given path does not exists. (invalid wfsId will produce 400 error, not 404) (default to false)\n * @param {module:api/WfsApi~statCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Stats}\n */\n this.stat = function(wfsId, wfsPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling stat\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling stat\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'ignoreError': opts['ignoreError']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Stats;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the writeFile operation.\n * @callback module:api/WfsApi~writeFileCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates / updates file with body data. Server should write the file in 'atomic' manner, and should not write down request body into final destination path directly. In other words, wheather writeFile() succeeds or not, the contents of the file should not be corrupted nor half-written. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {File} data file contents to write.\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ensureParents A flag to create all parent directories to create file or dir, like mkdir -p. This parameter does not create entire path, but creates to 'parent directory' of the path. (default to false)\n * @param {module:api/WfsApi~writeFileCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.writeFile = function(wfsId, wfsPath, data, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling writeFile\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling writeFile\";\n }\n\n // verify the required parameter 'data' is set\n if (data == undefined || data == null) {\n throw \"Missing the required parameter 'data' when calling writeFile\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'ensureParents': opts['ensureParents']\n };\n var headerParams = {\n };\n var formParams = {\n 'data': data\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['multipart/form-data'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/file/{wfsPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/WfsApi.js\n ** module id = 21\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError', 'model/Workspace', 'model/ChildProcess', 'model/Execution', 'model/ExecutionResult'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Workspace'), require('../model/ChildProcess'), require('../model/Execution'), require('../model/ExecutionResult'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.WorkspaceApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Workspace, root.WebidaRestfulApi.ChildProcess, root.WebidaRestfulApi.Execution, root.WebidaRestfulApi.ExecutionResult);\n }\n}(this, function(ApiClient, RestOK, RestError, Workspace, ChildProcess, Execution, ExecutionResult) {\n 'use strict';\n\n /**\n * Workspace service.\n * @module api/WorkspaceApi\n * @version 0.3.0\n */\n\n /**\n * Constructs a new WorkspaceApi. \n * @alias module:api/WorkspaceApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the cancel operation.\n * @callback module:api/WorkspaceApi~cancelCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * cancels an execution, if possible. Killing process may not be graceful. requires proper access rights. if execId is not specified, this api does nothing. \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {Object} opts Optional parameters\n * @param {String} opts.execId the id of execution request(different from pid!)\n * @param {module:api/WorkspaceApi~cancelCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.cancel = function(workspaceId, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling cancel\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'execId': opts['execId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/exec', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the createWorkspace operation.\n * @callback module:api/WorkspaceApi~createWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates a new workspace with given local path. Requires an unrestricted access token. \n * @param {String} localPath a real, local path of the system (not unixified)\n * @param {String} name workspace name property\n * @param {String} description workspace name property\n * @param {module:api/WorkspaceApi~createWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.createWorkspace = function(localPath, name, description, callback) {\n var postBody = null;\n\n // verify the required parameter 'localPath' is set\n if (localPath == undefined || localPath == null) {\n throw \"Missing the required parameter 'localPath' when calling createWorkspace\";\n }\n\n // verify the required parameter 'name' is set\n if (name == undefined || name == null) {\n throw \"Missing the required parameter 'name' when calling createWorkspace\";\n }\n\n // verify the required parameter 'description' is set\n if (description == undefined || description == null) {\n throw \"Missing the required parameter 'description' when calling createWorkspace\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n 'localPath': localPath,\n 'name': name,\n 'description': description\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the exec operation.\n * @callback module:api/WorkspaceApi~execCallback\n * @param {String} error Error message, if any.\n * @param {module:model/ExecutionResult} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * execute a shell command on this workspace. requires proper access rights.\n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {module:model/Execution} body \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.async Spawn a child process for given command and returns the created child proc info. Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/async-{execId} (default to false)\n * @param {module:api/WorkspaceApi~execCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/ExecutionResult}\n */\n this.exec = function(workspaceId, body, opts, callback) {\n opts = opts || {};\n var postBody = body;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling exec\";\n }\n\n // verify the required parameter 'body' is set\n if (body == undefined || body == null) {\n throw \"Missing the required parameter 'body' when calling exec\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'async': opts['async']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = ExecutionResult;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/exec', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the findProcs operation.\n * @callback module:api/WorkspaceApi~findProcsCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Gets process info, created by async exec request, on this workspace. If execId is set, this op finds a spawned process whose id is matching. If not, all spawned procs will be found. This op does not returns error when no procs found but empty result array. This operation requires proper access rights. (unrestricted or matching workspace id in access token with parameter) \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {Object} opts Optional parameters\n * @param {String} opts.execId the id of execution request(different from pid!)\n * @param {module:api/WorkspaceApi~findProcsCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findProcs = function(workspaceId, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling findProcs\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'execId': opts['execId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = [];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [ChildProcess];\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/exec', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the findWorkspaces operation.\n * @callback module:api/WorkspaceApi~findWorkspacesCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Finds workspaces (no find/search parameters yet). Requires an unrestricted access token. \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.disposable include disposable workspaces or not (default to false)\n * @param {module:api/WorkspaceApi~findWorkspacesCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findWorkspaces = function(opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n 'disposable': opts['disposable']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [Workspace];\n\n return this.apiClient.callApi(\n '/workspaces', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the getWorkspace operation.\n * @callback module:api/WorkspaceApi~getWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get a workspace object by id\n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {module:api/WorkspaceApi~getWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.getWorkspace = function(workspaceId, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling getWorkspace\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the removeWorkspace operation.\n * @callback module:api/WorkspaceApi~removeWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * This operation will remove the requested workspace when 1) all sessions are closed for request (will be notified by server) 2) excedded time limit value in closeAfter parameter 3) server goes down after accepting remove request \\"willBeRemovedAt\\" property can be set \\"only\\" by this api. This API requires \\"unrestricted\\" access token. Even an access token has matching workspace id, removing an workspace is rejected. \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {Object} opts Optional parameters\n * @param {Integer} opts.closeAfter Time in seconds to wait for all sessions save & close their data. (default to 0)\n * @param {module:api/WorkspaceApi~removeWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.removeWorkspace = function(workspaceId, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling removeWorkspace\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'closeAfter': opts['closeAfter']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the updateWorkspace operation.\n * @callback module:api/WorkspaceApi~updateWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Updates workspace. Some protected properties will not be changed by this api. Requires proper access rights in access token. \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {module:api/WorkspaceApi~updateWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.updateWorkspace = function(workspaceId, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling updateWorkspace\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/WorkspaceApi.js\n ** module id = 22\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.3.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Match = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Match model module.\n * @module model/Match\n * @version 0.3.0\n */\n\n /**\n * Constructs a new Match.\n * search result for a file\n * @alias module:model/Match\n * @class\n * @param line {Integer} \n * @param text {String} \n */\n var exports = function(line, text) {\n var _this = this;\n\n _this['line'] = line;\n _this['text'] = text;\n };\n\n /**\n * Constructs a Match from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Match} obj Optional instance to populate.\n * @return {module:model/Match} The populated Match instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('line')) {\n obj['line'] = ApiClient.convertToType(data['line'], 'Integer');\n }\n if (data.hasOwnProperty('text')) {\n obj['text'] = ApiClient.convertToType(data['text'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {Integer} line\n */\n exports.prototype['line'] = undefined;\n /**\n * @member {String} text\n */\n exports.prototype['text'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Match.js\n ** module id = 23\n ** module chunks = 0\n **/"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///api-bundle.js","webpack:///webpack/bootstrap 4b6a8bfdb707c6e84796","webpack:///./src/index.js","webpack:///./src/ApiClient.js","webpack:///./src/model/RestError.js","webpack:///./src/model/RestOK.js","webpack:///./src/model/DirEntry.js","webpack:///./src/model/Stats.js","webpack:///./src/model/ChildProcess.js","webpack:///./src/model/Credential.js","webpack:///./src/model/Execution.js","webpack:///./src/model/ExecutionResult.js","webpack:///./src/model/RemoteAccess.js","webpack:///./src/model/Session.js","webpack:///./src/model/Token.js","webpack:///./src/model/User.js","webpack:///./src/model/Workspace.js","webpack:///./~/superagent/superagent.js","webpack:///./src/api/AuthApi.js","webpack:///./src/api/OpsApi.js","webpack:///./src/api/RemotesApi.js","webpack:///./src/api/SessionApi.js","webpack:///./src/api/WfsApi.js","webpack:///./src/api/WorkspaceApi.js","webpack:///./src/model/Match.js"],"names":["define","modules","__webpack_require__","moduleId","installedModules","exports","module","id","loaded","call","m","c","p","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","apply","undefined","ApiClient","ChildProcess","Credential","DirEntry","Execution","ExecutionResult","Match","RemoteAccess","RestError","RestOK","Session","Stats","Token","User","Workspace","AuthApi","OpsApi","RemotesApi","SessionApi","WfsApi","WorkspaceApi","root","this","superagent","basePath","replace","authentications","webida-simple-auth","type","in","name","defaultHeaders","timeout","prototype","paramToString","param","Date","toJSON","toString","buildUrl","path","pathParams","match","url","_this","fullMatch","key","value","hasOwnProperty","encodeURIComponent","isJsonMime","contentType","Boolean","jsonPreferredMime","contentTypes","i","length","isFileParam","window","ReadStream","Buffer","Blob","File","normalizeParams","params","newParams","Array","isArray","CollectionFormatEnum","CSV","SSV","TSV","PIPES","MULTI","buildCollectionParam","collectionFormat","map","join","Error","applyAuthToRequest","request","authNames","forEach","authName","auth","username","password","apiKey","data","apiKeyPrefix","set","query","accessToken","Authorization","deserialize","response","returnType","body","text","convertToType","callApi","httpMethod","queryParams","headerParams","formParams","bodyParam","accepts","callback","header","send","_formParams","attach","field","accept","end","error","parseDate","str","parseInt","parseFloat","String","Object","constructFromObject","itemType","item","keyType","valueType","k","result","obj","instance","message","stats","children","birthtime","mtime","mode","size","nlink","TypeEnum","FILE","DIRECTORY","BLOCK_DEVICE","CHARACTER_DEVICE","LINK","FIFO","SOCKET","DUMMY","pid","command","args","execId","state","startedAt","StateEnum","CREATED","WORKING","KILLING","EXITED","loginId","loginPassword","stdout","stderr","serverUrl","workspaceId","masterToken","clientAddress","connectedAt","disconnectedAt","NORMAL","LOSING","CLOSING","tokenType","expiresAt","issuedAt","TokenTypeEnum","MASTER","ACCESS","description","createdAt","workspacePath","excludedPaths","offlineCachePaths","f","amd","g","global","self","e","t","n","r","s","o","u","a","require","code","l","1","isObject","2","clearTimeout","_timeout","_timer","parse","fn","_parser","serialize","_serializer","ms","then","resolve","reject","_fullfilledPromise","Promise","innerResolve","innerReject","err","res","use","get","_header","toLowerCase","getHeader","val","unset","_getFormData","append","abort","_aborted","xhr","req","emit","withCredentials","_withCredentials","redirects","_maxRedirects","method","_data","_isHost","./is-object","3","RequestConstructor","arguments","4","Emitter","mixin","on","addEventListener","event","_callbacks","push","once","off","removeListener","removeAllListeners","removeEventListener","callbacks","cb","splice","slice","len","listeners","hasListeners","5","arr","initial","idx","curr","6","noop","pairs","pushEncodedKeyValuePair","v","subkey","parseString","pair","pos","split","indexOf","decodeURIComponent","parseHeader","index","line","lines","fields","pop","trim","isJSON","mime","test","shift","reduce","parts","Response","options","responseType","responseText","statusText","_setStatusProperties","status","headers","getAllResponseHeaders","getResponseHeader","_setHeaderProperties","_parseBody","Request","_query","original","rawResponse","statusCode","new_err","del","requestBase","bind","getXHR","XMLHttpRequest","location","protocol","ActiveXObject","serializeObject","types","html","json","xml","urlencoded","form","form-data","application/x-www-form-urlencoded","application/json","JSON","stringify","ct","statusType","info","ok","clientError","serverError","toError","accepted","noContent","badRequest","unauthorized","notAcceptable","notFound","forbidden","msg","_responseType","user","pass","btoa","file","filename","_formData","FormData","_callback","crossDomainError","crossDomain","_timeoutError","_appendQueryString","onreadystatechange","readyState","timedout","handleProgress","total","percent","direction","onprogress","upload","setTimeout","open","setRequestHeader","head","patch","post","put","./request","./request-base","emitter","apiClient","getInfo","postBody","issueToken","opts","login","wfsId","wfsPathList","pattern","replaceTo","ignoreCase","search","wfsPath","findRemoteAccesses","putRemoteAccess","removeRemoteAccess","closeSession","sessionId","closeAfter","findSessions","getSession","copy","srcPath","noOverwrite","followSymbolicLinks","preserveTimestamps","createDir","dirTree","maxDepth","move","readFile","remove","noRecursive","stat","ignoreError","writeFile","ensureParents","cancel","createWorkspace","localPath","exec","async","findProcs","findWorkspaces","disposable","getWorkspace","removeWorkspace","updateWorkspace"],"mappings":"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","file":"api-bundle.js","sourcesContent":["define(function() { return /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(7), __webpack_require__(8), __webpack_require__(4), __webpack_require__(9), __webpack_require__(10), __webpack_require__(23), __webpack_require__(11), __webpack_require__(2), __webpack_require__(3), __webpack_require__(12), __webpack_require__(5), __webpack_require__(13), __webpack_require__(14), __webpack_require__(15), __webpack_require__(17), __webpack_require__(18), __webpack_require__(19), __webpack_require__(20), __webpack_require__(21), __webpack_require__(22)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('./ApiClient'), require('./model/ChildProcess'), require('./model/Credential'), require('./model/DirEntry'), require('./model/Execution'), require('./model/ExecutionResult'), require('./model/Match'), require('./model/RemoteAccess'), require('./model/RestError'), require('./model/RestOK'), require('./model/Session'), require('./model/Stats'), require('./model/Token'), require('./model/User'), require('./model/Workspace'), require('./api/AuthApi'), require('./api/OpsApi'), require('./api/RemotesApi'), require('./api/SessionApi'), require('./api/WfsApi'), require('./api/WorkspaceApi'));\n\t }\n\t}(function(ApiClient, ChildProcess, Credential, DirEntry, Execution, ExecutionResult, Match, RemoteAccess, RestError, RestOK, Session, Stats, Token, User, Workspace, AuthApi, OpsApi, RemotesApi, SessionApi, WfsApi, WorkspaceApi) {\n\t 'use strict';\n\t\n\t /**\n\t * Restful_API_for_Webida_clients_to_use_servers_data__features.
\n\t * The index module provides access to constructors for all the classes which comprise the public API.\n\t *

\n\t * An AMD (recommended!) or CommonJS application will generally do something equivalent to the following:\n\t *

\n\t   * var WebidaRestfulApi = require('index'); // See note below*.\n\t   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n\t   * var yyyModel = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n\t   * yyyModel.someProperty = 'someValue';\n\t   * ...\n\t   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n\t   * ...\n\t   * 
\n\t * *NOTE: For a top-level AMD script, use require(['index'], function(){...})\n\t * and put the application logic within the callback function.\n\t *

\n\t *

\n\t * A non-AMD browser application (discouraged) might do something like this:\n\t *

\n\t   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n\t   * var yyy = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n\t   * yyyModel.someProperty = 'someValue';\n\t   * ...\n\t   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n\t   * ...\n\t   * 
\n\t *

\n\t * @module index\n\t * @version 0.5.0\n\t */\n\t var exports = {\n\t /**\n\t * The ApiClient constructor.\n\t * @property {module:ApiClient}\n\t */\n\t ApiClient: ApiClient,\n\t /**\n\t * The ChildProcess model constructor.\n\t * @property {module:model/ChildProcess}\n\t */\n\t ChildProcess: ChildProcess,\n\t /**\n\t * The Credential model constructor.\n\t * @property {module:model/Credential}\n\t */\n\t Credential: Credential,\n\t /**\n\t * The DirEntry model constructor.\n\t * @property {module:model/DirEntry}\n\t */\n\t DirEntry: DirEntry,\n\t /**\n\t * The Execution model constructor.\n\t * @property {module:model/Execution}\n\t */\n\t Execution: Execution,\n\t /**\n\t * The ExecutionResult model constructor.\n\t * @property {module:model/ExecutionResult}\n\t */\n\t ExecutionResult: ExecutionResult,\n\t /**\n\t * The Match model constructor.\n\t * @property {module:model/Match}\n\t */\n\t Match: Match,\n\t /**\n\t * The RemoteAccess model constructor.\n\t * @property {module:model/RemoteAccess}\n\t */\n\t RemoteAccess: RemoteAccess,\n\t /**\n\t * The RestError model constructor.\n\t * @property {module:model/RestError}\n\t */\n\t RestError: RestError,\n\t /**\n\t * The RestOK model constructor.\n\t * @property {module:model/RestOK}\n\t */\n\t RestOK: RestOK,\n\t /**\n\t * The Session model constructor.\n\t * @property {module:model/Session}\n\t */\n\t Session: Session,\n\t /**\n\t * The Stats model constructor.\n\t * @property {module:model/Stats}\n\t */\n\t Stats: Stats,\n\t /**\n\t * The Token model constructor.\n\t * @property {module:model/Token}\n\t */\n\t Token: Token,\n\t /**\n\t * The User model constructor.\n\t * @property {module:model/User}\n\t */\n\t User: User,\n\t /**\n\t * The Workspace model constructor.\n\t * @property {module:model/Workspace}\n\t */\n\t Workspace: Workspace,\n\t /**\n\t * The AuthApi service constructor.\n\t * @property {module:api/AuthApi}\n\t */\n\t AuthApi: AuthApi,\n\t /**\n\t * The OpsApi service constructor.\n\t * @property {module:api/OpsApi}\n\t */\n\t OpsApi: OpsApi,\n\t /**\n\t * The RemotesApi service constructor.\n\t * @property {module:api/RemotesApi}\n\t */\n\t RemotesApi: RemotesApi,\n\t /**\n\t * The SessionApi service constructor.\n\t * @property {module:api/SessionApi}\n\t */\n\t SessionApi: SessionApi,\n\t /**\n\t * The WfsApi service constructor.\n\t * @property {module:api/WfsApi}\n\t */\n\t WfsApi: WfsApi,\n\t /**\n\t * The WorkspaceApi service constructor.\n\t * @property {module:api/WorkspaceApi}\n\t */\n\t WorkspaceApi: WorkspaceApi\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(16)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('superagent'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.ApiClient = factory(root.superagent);\n\t }\n\t}(this, function(superagent) {\n\t 'use strict';\n\t\n\t /**\n\t * @module ApiClient\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Manages low level client-server communications, parameter marshalling, etc. There should not be any need for an\n\t * application to use this class directly - the *Api and model classes provide the public API for the service. The\n\t * contents of this file should be regarded as internal but are documented for completeness.\n\t * @alias module:ApiClient\n\t * @class\n\t */\n\t var exports = function() {\n\t /**\n\t * The base URL against which to resolve every API call's (relative) path.\n\t * @type {String}\n\t * @default https://localhost/api\n\t */\n\t this.basePath = 'https://localhost/api'.replace(/\\/+$/, '');\n\t\n\t /**\n\t * The authentication methods to be included for all API calls.\n\t * @type {Array.}\n\t */\n\t this.authentications = {\n\t 'webida-simple-auth': {type: 'apiKey', 'in': 'header', name: 'Authorization'}\n\t };\n\t /**\n\t * The default HTTP headers to be included for all API calls.\n\t * @type {Array.}\n\t * @default {}\n\t */\n\t this.defaultHeaders = {};\n\t\n\t /**\n\t * The default HTTP timeout for all API calls.\n\t * @type {Number}\n\t * @default 60000\n\t */\n\t this.timeout = 60000;\n\t };\n\t\n\t /**\n\t * Returns a string representation for an actual parameter.\n\t * @param param The actual parameter.\n\t * @returns {String} The string representation of param.\n\t */\n\t exports.prototype.paramToString = function(param) {\n\t if (param == undefined || param == null) {\n\t return '';\n\t }\n\t if (param instanceof Date) {\n\t return param.toJSON();\n\t }\n\t return param.toString();\n\t };\n\t\n\t /**\n\t * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders with parameter values.\n\t * NOTE: query parameters are not handled here.\n\t * @param {String} path The path to append to the base URL.\n\t * @param {Object} pathParams The parameter values to append.\n\t * @returns {String} The encoded path with parameter values substituted.\n\t */\n\t exports.prototype.buildUrl = function(path, pathParams) {\n\t if (!path.match(/^\\//)) {\n\t path = '/' + path;\n\t }\n\t var url = this.basePath + path;\n\t var _this = this;\n\t url = url.replace(/\\{([\\w-]+)\\}/g, function(fullMatch, key) {\n\t var value;\n\t if (pathParams.hasOwnProperty(key)) {\n\t value = _this.paramToString(pathParams[key]);\n\t } else {\n\t value = fullMatch;\n\t }\n\t return encodeURIComponent(value);\n\t });\n\t return url;\n\t };\n\t\n\t /**\n\t * Checks whether the given content type represents JSON.
\n\t * JSON content type examples:
\n\t *
    \n\t *
  • application/json
  • \n\t *
  • application/json; charset=UTF8
  • \n\t *
  • APPLICATION/JSON
  • \n\t *
\n\t * @param {String} contentType The MIME content type to check.\n\t * @returns {Boolean} true if contentType represents JSON, otherwise false.\n\t */\n\t exports.prototype.isJsonMime = function(contentType) {\n\t return Boolean(contentType != null && contentType.match(/^application\\/json(;.*)?$/i));\n\t };\n\t\n\t /**\n\t * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first.\n\t * @param {Array.} contentTypes\n\t * @returns {String} The chosen content type, preferring JSON.\n\t */\n\t exports.prototype.jsonPreferredMime = function(contentTypes) {\n\t for (var i = 0; i < contentTypes.length; i++) {\n\t if (this.isJsonMime(contentTypes[i])) {\n\t return contentTypes[i];\n\t }\n\t }\n\t return contentTypes[0];\n\t };\n\t\n\t /**\n\t * Checks whether the given parameter value represents file-like content.\n\t * @param param The parameter to check.\n\t * @returns {Boolean} true if param represents a file. \n\t */\n\t exports.prototype.isFileParam = function(param) {\n\t // fs.ReadStream in Node.js (but not in runtime like browserify)\n\t if (typeof window === 'undefined' &&\n\t \"function\" === 'function' &&\n\t __webpack_require__(6) &&\n\t param instanceof __webpack_require__(6).ReadStream) {\n\t return true;\n\t }\n\t // Buffer in Node.js\n\t if (typeof Buffer === 'function' && param instanceof Buffer) {\n\t return true;\n\t }\n\t // Blob in browser\n\t if (typeof Blob === 'function' && param instanceof Blob) {\n\t return true;\n\t }\n\t // File in browser (it seems File object is also instance of Blob, but keep this for safe)\n\t if (typeof File === 'function' && param instanceof File) {\n\t return true;\n\t }\n\t return false;\n\t };\n\t\n\t /**\n\t * Normalizes parameter values:\n\t *
    \n\t *
  • remove nils
  • \n\t *
  • keep files and arrays
  • \n\t *
  • format to string with `paramToString` for other cases
  • \n\t *
\n\t * @param {Object.} params The parameters as object properties.\n\t * @returns {Object.} normalized parameters.\n\t */\n\t exports.prototype.normalizeParams = function(params) {\n\t var newParams = {};\n\t for (var key in params) {\n\t if (params.hasOwnProperty(key) && params[key] != undefined && params[key] != null) {\n\t var value = params[key];\n\t if (this.isFileParam(value) || Array.isArray(value)) {\n\t newParams[key] = value;\n\t } else {\n\t newParams[key] = this.paramToString(value);\n\t }\n\t }\n\t }\n\t return newParams;\n\t };\n\t\n\t /**\n\t * Enumeration of collection format separator strategies.\n\t * @enum {String} \n\t * @readonly\n\t */\n\t exports.CollectionFormatEnum = {\n\t /**\n\t * Comma-separated values. Value: csv\n\t * @const\n\t */\n\t CSV: ',',\n\t /**\n\t * Space-separated values. Value: ssv\n\t * @const\n\t */\n\t SSV: ' ',\n\t /**\n\t * Tab-separated values. Value: tsv\n\t * @const\n\t */\n\t TSV: '\\t',\n\t /**\n\t * Pipe(|)-separated values. Value: pipes\n\t * @const\n\t */\n\t PIPES: '|',\n\t /**\n\t * Native array. Value: multi\n\t * @const\n\t */\n\t MULTI: 'multi'\n\t };\n\t\n\t /**\n\t * Builds a string representation of an array-type actual parameter, according to the given collection format.\n\t * @param {Array} param An array parameter.\n\t * @param {module:ApiClient.CollectionFormatEnum} collectionFormat The array element separator strategy.\n\t * @returns {String|Array} A string representation of the supplied collection, using the specified delimiter. Returns\n\t * param as is if collectionFormat is multi.\n\t */\n\t exports.prototype.buildCollectionParam = function buildCollectionParam(param, collectionFormat) {\n\t if (param == null) {\n\t return null;\n\t }\n\t switch (collectionFormat) {\n\t case 'csv':\n\t return param.map(this.paramToString).join(',');\n\t case 'ssv':\n\t return param.map(this.paramToString).join(' ');\n\t case 'tsv':\n\t return param.map(this.paramToString).join('\\t');\n\t case 'pipes':\n\t return param.map(this.paramToString).join('|');\n\t case 'multi':\n\t // return the array directly as SuperAgent will handle it as expected\n\t return param.map(this.paramToString);\n\t default:\n\t throw new Error('Unknown collection format: ' + collectionFormat);\n\t }\n\t };\n\t\n\t /**\n\t * Applies authentication headers to the request.\n\t * @param {Object} request The request object created by a superagent() call.\n\t * @param {Array.} authNames An array of authentication method names.\n\t */\n\t exports.prototype.applyAuthToRequest = function(request, authNames) {\n\t var _this = this;\n\t authNames.forEach(function(authName) {\n\t var auth = _this.authentications[authName];\n\t switch (auth.type) {\n\t case 'basic':\n\t if (auth.username || auth.password) {\n\t request.auth(auth.username || '', auth.password || '');\n\t }\n\t break;\n\t case 'apiKey':\n\t if (auth.apiKey) {\n\t var data = {};\n\t if (auth.apiKeyPrefix) {\n\t data[auth.name] = auth.apiKeyPrefix + ' ' + auth.apiKey;\n\t } else {\n\t data[auth.name] = auth.apiKey;\n\t }\n\t if (auth['in'] === 'header') {\n\t request.set(data);\n\t } else {\n\t request.query(data);\n\t }\n\t }\n\t break;\n\t case 'oauth2':\n\t if (auth.accessToken) {\n\t request.set({'Authorization': 'Bearer ' + auth.accessToken});\n\t }\n\t break;\n\t default:\n\t throw new Error('Unknown authentication type: ' + auth.type);\n\t }\n\t });\n\t };\n\t\n\t /**\n\t * Deserializes an HTTP response body into a value of the specified type.\n\t * @param {Object} response A SuperAgent response object.\n\t * @param {(String|Array.|Object.|Function)} returnType The type to return. Pass a string for simple types\n\t * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n\t * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n\t * all properties on data will be converted to this type.\n\t * @returns A value of the specified type.\n\t */\n\t exports.prototype.deserialize = function deserialize(response, returnType) {\n\t if (response == null || returnType == null) {\n\t return null;\n\t }\n\t // Rely on SuperAgent for parsing response body.\n\t // See http://visionmedia.github.io/superagent/#parsing-response-bodies\n\t var data = response.body;\n\t if (data == null) {\n\t // SuperAgent does not always produce a body; use the unparsed response as a fallback\n\t data = response.text;\n\t }\n\t return exports.convertToType(data, returnType);\n\t };\n\t\n\t /**\n\t * Callback function to receive the result of the operation.\n\t * @callback module:ApiClient~callApiCallback\n\t * @param {String} error Error message, if any.\n\t * @param data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Invokes the REST service using the supplied settings and parameters.\n\t * @param {String} path The base URL to invoke.\n\t * @param {String} httpMethod The HTTP method to use.\n\t * @param {Object.} pathParams A map of path parameters and their values.\n\t * @param {Object.} queryParams A map of query parameters and their values.\n\t * @param {Object.} headerParams A map of header parameters and their values.\n\t * @param {Object.} formParams A map of form parameters and their values.\n\t * @param {Object} bodyParam The value to pass as the request body.\n\t * @param {Array.} authNames An array of authentication type names.\n\t * @param {Array.} contentTypes An array of request MIME types.\n\t * @param {Array.} accepts An array of acceptable response MIME types.\n\t * @param {(String|Array|ObjectFunction)} returnType The required type to return; can be a string for simple types or the\n\t * constructor for a complex type.\n\t * @param {module:ApiClient~callApiCallback} callback The callback function.\n\t * @returns {Object} The SuperAgent request object.\n\t */\n\t exports.prototype.callApi = function callApi(path, httpMethod, pathParams,\n\t queryParams, headerParams, formParams, bodyParam, authNames, contentTypes, accepts,\n\t returnType, callback) {\n\t\n\t var _this = this;\n\t var url = this.buildUrl(path, pathParams);\n\t var request = superagent(httpMethod, url);\n\t\n\t // apply authentications\n\t this.applyAuthToRequest(request, authNames);\n\t\n\t // set query parameters\n\t request.query(this.normalizeParams(queryParams));\n\t\n\t // set header parameters\n\t request.set(this.defaultHeaders).set(this.normalizeParams(headerParams));\n\t\n\t // set request timeout\n\t request.timeout(this.timeout);\n\t\n\t var contentType = this.jsonPreferredMime(contentTypes);\n\t if (contentType !== 'multipart/form-data') {\n\t if (contentType) {\n\t request.type(contentType);\n\t } else if (!request.header['Content-Type']) {\n\t request.type('application/json');\n\t }\n\t }\n\t\n\t if (contentType === 'application/x-www-form-urlencoded') {\n\t request.send(this.normalizeParams(formParams));\n\t } else if (contentType == 'multipart/form-data') {\n\t var _formParams = this.normalizeParams(formParams);\n\t for (var key in _formParams) {\n\t if (_formParams.hasOwnProperty(key)) {\n\t if (this.isFileParam(_formParams[key])) {\n\t // file field\n\t request.attach(key, _formParams[key]);\n\t } else {\n\t request.field(key, _formParams[key]);\n\t }\n\t }\n\t }\n\t } else if (bodyParam) {\n\t request.send(bodyParam);\n\t }\n\t\n\t var accept = this.jsonPreferredMime(accepts);\n\t if (accept) {\n\t request.accept(accept);\n\t }\n\t\n\t\n\t request.end(function(error, response) {\n\t if (callback) {\n\t var data = null;\n\t if (!error) {\n\t data = _this.deserialize(response, returnType);\n\t }\n\t callback(error, data, response);\n\t }\n\t });\n\t\n\t return request;\n\t };\n\t\n\t /**\n\t * Parses an ISO-8601 string representation of a date value.\n\t * @param {String} str The date value as a string.\n\t * @returns {Date} The parsed date object.\n\t */\n\t exports.parseDate = function(str) {\n\t return new Date(str.replace(/T/i, ' '));\n\t };\n\t\n\t /**\n\t * Converts a value to the specified type.\n\t * @param {(String|Object)} data The data to convert, as a string or object.\n\t * @param {(String|Array.|Object.|Function)} type The type to return. Pass a string for simple types\n\t * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n\t * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n\t * all properties on data will be converted to this type.\n\t * @returns An instance of the specified type.\n\t */\n\t exports.convertToType = function(data, type) {\n\t switch (type) {\n\t case 'Boolean':\n\t return Boolean(data);\n\t case 'Integer':\n\t return parseInt(data, 10);\n\t case 'Number':\n\t return parseFloat(data);\n\t case 'String':\n\t return String(data);\n\t case 'Date':\n\t return this.parseDate(String(data));\n\t default:\n\t if (type === Object || type === File) {\n\t // generic object or Blob - return directly\n\t return data;\n\t } else if (typeof type === 'function') {\n\t if (typeof type.constructFromObject !== 'function') {\n\t // some manually written models might have no factory function\n\t return data;\n\t } else {\n\t // for model type like: User\n\t return type.constructFromObject(data);\n\t }\n\t } else if (Array.isArray(type)) {\n\t // for array type like: ['String']\n\t var itemType = type[0];\n\t return data.map(function(item) {\n\t return exports.convertToType(item, itemType);\n\t });\n\t } else if (typeof type === 'object') {\n\t // for plain object type like: {'String': 'Integer'}\n\t var keyType, valueType;\n\t for (var k in type) {\n\t if (type.hasOwnProperty(k)) {\n\t keyType = k;\n\t valueType = type[k];\n\t break;\n\t }\n\t }\n\t var result = {};\n\t for (var k in data) {\n\t if (data.hasOwnProperty(k)) {\n\t var key = exports.convertToType(k, keyType);\n\t var value = exports.convertToType(data[k], valueType);\n\t result[key] = value;\n\t }\n\t }\n\t return result;\n\t } else {\n\t // for unknown type, return the data directly\n\t return data;\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * Constructs a new map or array model from REST data.\n\t * @param data {Object|Array} The REST data.\n\t * @param obj {Object|Array} The target object or array.\n\t */\n\t exports.constructFromObject = function(data, obj, itemType) {\n\t if (Array.isArray(data)) {\n\t for (var i = 0; i < data.length; i++) {\n\t if (data.hasOwnProperty(i))\n\t obj[i] = exports.convertToType(data[i], itemType);\n\t }\n\t } else {\n\t for (var k in data) {\n\t if (data.hasOwnProperty(k))\n\t obj[k] = exports.convertToType(data[k], itemType);\n\t }\n\t }\n\t };\n\t\n\t /**\n\t * The default API client implementation.\n\t * @type {module:ApiClient}\n\t */\n\t exports.instance = new exports();\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 2 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RestError = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The RestError model module.\n\t * @module model/RestError\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new RestError.\n\t * Error object with code and message. code is bound to status code, but not always same to standard HTTP status text. For example, some 409 error may have code \\"Invalid Argument\\" instead of \\"Conflic\\". So, Client should read message property to know what happend exactly when an error is returned from server. And, some 500 errors can have system errno instead of useless \\"internal\\". Like other errors, details are hidden in message. \n\t * @alias module:model/RestError\n\t * @class\n\t * @param message {String} \n\t */\n\t var exports = function(message) {\n\t var _this = this;\n\t\n\t\n\t _this['message'] = message;\n\t };\n\t\n\t /**\n\t * Constructs a RestError from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/RestError} obj Optional instance to populate.\n\t * @return {module:model/RestError} The populated RestError instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('code')) {\n\t obj['code'] = ApiClient.convertToType(data['code'], 'String');\n\t }\n\t if (data.hasOwnProperty('message')) {\n\t obj['message'] = ApiClient.convertToType(data['message'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} code\n\t */\n\t exports.prototype['code'] = undefined;\n\t /**\n\t * @member {String} message\n\t */\n\t exports.prototype['message'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 3 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RestOK = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The RestOK model module.\n\t * @module model/RestOK\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new RestOK.\n\t * @alias module:model/RestOK\n\t * @class\n\t */\n\t var exports = function() {\n\t var _this = this;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a RestOK from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/RestOK} obj Optional instance to populate.\n\t * @return {module:model/RestOK} The populated RestOK instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('message')) {\n\t obj['message'] = ApiClient.convertToType(data['message'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} message\n\t */\n\t exports.prototype['message'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 4 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(4), __webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('./DirEntry'), require('./Stats'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.DirEntry = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n\t }\n\t}(this, function(ApiClient, DirEntry, Stats) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The DirEntry model module.\n\t * @module model/DirEntry\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new DirEntry.\n\t * a directory entry (file or directory) with children that represents a (sub) tree\n\t * @alias module:model/DirEntry\n\t * @class\n\t * @param name {String} \n\t * @param stats {module:model/Stats} \n\t * @param children {Array.} \n\t */\n\t var exports = function(name, stats, children) {\n\t var _this = this;\n\t\n\t _this['name'] = name;\n\t _this['stats'] = stats;\n\t _this['children'] = children;\n\t };\n\t\n\t /**\n\t * Constructs a DirEntry from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/DirEntry} obj Optional instance to populate.\n\t * @return {module:model/DirEntry} The populated DirEntry instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('stats')) {\n\t obj['stats'] = Stats.constructFromObject(data['stats']);\n\t }\n\t if (data.hasOwnProperty('children')) {\n\t obj['children'] = ApiClient.convertToType(data['children'], [DirEntry]);\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * @member {module:model/Stats} stats\n\t */\n\t exports.prototype['stats'] = undefined;\n\t /**\n\t * @member {Array.} children\n\t */\n\t exports.prototype['children'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 5 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Stats = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Stats model module.\n\t * @module model/Stats\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new Stats.\n\t * simplified/augmented fs.Stats class - see node.js doc for all properties\n\t * @alias module:model/Stats\n\t * @class\n\t * @param type {module:model/Stats.TypeEnum} All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n\t * @param birthtime {Date} \n\t * @param mtime {Date} \n\t * @param mode {String} \n\t * @param size {Integer} \n\t * @param nlink {Integer} \n\t */\n\t var exports = function(type, birthtime, mtime, mode, size, nlink) {\n\t var _this = this;\n\t\n\t _this['type'] = type;\n\t _this['birthtime'] = birthtime;\n\t _this['mtime'] = mtime;\n\t _this['mode'] = mode;\n\t _this['size'] = size;\n\t _this['nlink'] = nlink;\n\t };\n\t\n\t /**\n\t * Constructs a Stats from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Stats} obj Optional instance to populate.\n\t * @return {module:model/Stats} The populated Stats instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('type')) {\n\t obj['type'] = ApiClient.convertToType(data['type'], 'String');\n\t }\n\t if (data.hasOwnProperty('birthtime')) {\n\t obj['birthtime'] = ApiClient.convertToType(data['birthtime'], 'Date');\n\t }\n\t if (data.hasOwnProperty('mtime')) {\n\t obj['mtime'] = ApiClient.convertToType(data['mtime'], 'Date');\n\t }\n\t if (data.hasOwnProperty('mode')) {\n\t obj['mode'] = ApiClient.convertToType(data['mode'], 'String');\n\t }\n\t if (data.hasOwnProperty('size')) {\n\t obj['size'] = ApiClient.convertToType(data['size'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('nlink')) {\n\t obj['nlink'] = ApiClient.convertToType(data['nlink'], 'Integer');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n\t * @member {module:model/Stats.TypeEnum} type\n\t */\n\t exports.prototype['type'] = undefined;\n\t /**\n\t * @member {Date} birthtime\n\t */\n\t exports.prototype['birthtime'] = undefined;\n\t /**\n\t * @member {Date} mtime\n\t */\n\t exports.prototype['mtime'] = undefined;\n\t /**\n\t * @member {String} mode\n\t */\n\t exports.prototype['mode'] = undefined;\n\t /**\n\t * @member {Integer} size\n\t */\n\t exports.prototype['size'] = undefined;\n\t /**\n\t * @member {Integer} nlink\n\t */\n\t exports.prototype['nlink'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the type property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.TypeEnum = {\n\t /**\n\t * value: \"FILE\"\n\t * @const\n\t */\n\t \"FILE\": \"FILE\",\n\t /**\n\t * value: \"DIRECTORY\"\n\t * @const\n\t */\n\t \"DIRECTORY\": \"DIRECTORY\",\n\t /**\n\t * value: \"BLOCK_DEVICE\"\n\t * @const\n\t */\n\t \"BLOCK_DEVICE\": \"BLOCK_DEVICE\",\n\t /**\n\t * value: \"CHARACTER_DEVICE\"\n\t * @const\n\t */\n\t \"CHARACTER_DEVICE\": \"CHARACTER_DEVICE\",\n\t /**\n\t * value: \"LINK\"\n\t * @const\n\t */\n\t \"LINK\": \"LINK\",\n\t /**\n\t * value: \"FIFO\"\n\t * @const\n\t */\n\t \"FIFO\": \"FIFO\",\n\t /**\n\t * value: \"SOCKET\"\n\t * @const\n\t */\n\t \"SOCKET\": \"SOCKET\",\n\t /**\n\t * value: \"DUMMY\"\n\t * @const\n\t */\n\t \"DUMMY\": \"DUMMY\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 6 */\n/***/ function(module, exports) {\n\n\n\n/***/ },\n/* 7 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.ChildProcess = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The ChildProcess model module.\n\t * @module model/ChildProcess\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new ChildProcess.\n\t * a process in execution, spawned by async exec or other mean\n\t * @alias module:model/ChildProcess\n\t * @class\n\t * @param pid {Integer} child process pid\n\t * @param command {String} execution command in execution request\n\t * @param args {Array.} arguments of command in execution request\n\t * @param execId {String} execution id from execution request\n\t * @param state {module:model/ChildProcess.StateEnum} state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. \n\t * @param startedAt {Date} the time when this process is spawned\n\t */\n\t var exports = function(pid, command, args, execId, state, startedAt) {\n\t var _this = this;\n\t\n\t _this['pid'] = pid;\n\t _this['command'] = command;\n\t _this['args'] = args;\n\t _this['execId'] = execId;\n\t _this['state'] = state;\n\t _this['startedAt'] = startedAt;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a ChildProcess from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/ChildProcess} obj Optional instance to populate.\n\t * @return {module:model/ChildProcess} The populated ChildProcess instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('pid')) {\n\t obj['pid'] = ApiClient.convertToType(data['pid'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('command')) {\n\t obj['command'] = ApiClient.convertToType(data['command'], 'String');\n\t }\n\t if (data.hasOwnProperty('args')) {\n\t obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n\t }\n\t if (data.hasOwnProperty('execId')) {\n\t obj['execId'] = ApiClient.convertToType(data['execId'], 'String');\n\t }\n\t if (data.hasOwnProperty('state')) {\n\t obj['state'] = ApiClient.convertToType(data['state'], 'String');\n\t }\n\t if (data.hasOwnProperty('startedAt')) {\n\t obj['startedAt'] = ApiClient.convertToType(data['startedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('exitCode')) {\n\t obj['exitCode'] = ApiClient.convertToType(data['exitCode'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('exitSignal')) {\n\t obj['exitSignal'] = ApiClient.convertToType(data['exitSignal'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * child process pid\n\t * @member {Integer} pid\n\t */\n\t exports.prototype['pid'] = undefined;\n\t /**\n\t * execution command in execution request\n\t * @member {String} command\n\t */\n\t exports.prototype['command'] = undefined;\n\t /**\n\t * arguments of command in execution request\n\t * @member {Array.} args\n\t */\n\t exports.prototype['args'] = undefined;\n\t /**\n\t * execution id from execution request\n\t * @member {String} execId\n\t */\n\t exports.prototype['execId'] = undefined;\n\t /**\n\t * state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. \n\t * @member {module:model/ChildProcess.StateEnum} state\n\t */\n\t exports.prototype['state'] = undefined;\n\t /**\n\t * the time when this process is spawned\n\t * @member {Date} startedAt\n\t */\n\t exports.prototype['startedAt'] = undefined;\n\t /**\n\t * the exit code of child process. available with EXITED procs only.\n\t * @member {Integer} exitCode\n\t */\n\t exports.prototype['exitCode'] = undefined;\n\t /**\n\t * the signal that killed this child process.(not always available)\n\t * @member {String} exitSignal\n\t */\n\t exports.prototype['exitSignal'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the state property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.StateEnum = {\n\t /**\n\t * value: \"CREATED\"\n\t * @const\n\t */\n\t \"CREATED\": \"CREATED\",\n\t /**\n\t * value: \"WORKING\"\n\t * @const\n\t */\n\t \"WORKING\": \"WORKING\",\n\t /**\n\t * value: \"KILLING\"\n\t * @const\n\t */\n\t \"KILLING\": \"KILLING\",\n\t /**\n\t * value: \"EXITED\"\n\t * @const\n\t */\n\t \"EXITED\": \"EXITED\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 8 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Credential = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Credential model module.\n\t * @module model/Credential\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new Credential.\n\t * user credential to login. Use https to protect credential.\n\t * @alias module:model/Credential\n\t * @class\n\t * @param loginId {String} \n\t * @param loginPassword {String} \n\t */\n\t var exports = function(loginId, loginPassword) {\n\t var _this = this;\n\t\n\t _this['loginId'] = loginId;\n\t _this['loginPassword'] = loginPassword;\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Credential from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Credential} obj Optional instance to populate.\n\t * @return {module:model/Credential} The populated Credential instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('loginId')) {\n\t obj['loginId'] = ApiClient.convertToType(data['loginId'], 'String');\n\t }\n\t if (data.hasOwnProperty('loginPassword')) {\n\t obj['loginPassword'] = ApiClient.convertToType(data['loginPassword'], 'String');\n\t }\n\t if (data.hasOwnProperty('masterToken')) {\n\t obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {String} loginId\n\t */\n\t exports.prototype['loginId'] = undefined;\n\t /**\n\t * @member {String} loginPassword\n\t */\n\t exports.prototype['loginPassword'] = undefined;\n\t /**\n\t * a master token is issued when user wants to access webida api without id/password from remote or local desktop app. When masterToken is set, client should put some bogus id/password, non-empty. (The values can be used to identify client type) \n\t * @member {String} masterToken\n\t */\n\t exports.prototype['masterToken'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 9 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Execution = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Execution model module.\n\t * @module model/Execution\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new Execution.\n\t * execution request, simlilar to node.js exec()/spawn(). see node.js documentation for details of each properties. some properties are not configurable for portability - encoding : fixed to utf-8 - shell : fixed to system defaults. (so, cmd.exe will be invoked in Windows OS, not sh or bash in git-for-windows even they are available.) - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or invoke taskkill, to ensure chlid process is killed. - uid & gid : will not be set for security - stdio : all streams are handled by server. no options are avaliable to client. - detached : always false \n\t * @alias module:model/Execution\n\t * @class\n\t * @param command {String} The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. \n\t * @param args {Array.} the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\\\Program Files\\\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. \n\t */\n\t var exports = function(command, args) {\n\t var _this = this;\n\t\n\t\n\t _this['command'] = command;\n\t _this['args'] = args;\n\t\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Execution from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Execution} obj Optional instance to populate.\n\t * @return {module:model/Execution} The populated Execution instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('command')) {\n\t obj['command'] = ApiClient.convertToType(data['command'], 'String');\n\t }\n\t if (data.hasOwnProperty('args')) {\n\t obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n\t }\n\t if (data.hasOwnProperty('cwd')) {\n\t obj['cwd'] = ApiClient.convertToType(data['cwd'], 'String');\n\t }\n\t if (data.hasOwnProperty('timeout')) {\n\t obj['timeout'] = ApiClient.convertToType(data['timeout'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('maxBuffer')) {\n\t obj['maxBuffer'] = ApiClient.convertToType(data['maxBuffer'], 'Integer');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * unique identifier of execution, to demux response stream or cancel request. Server should reject an async exec request without id. \n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. \n\t * @member {String} command\n\t */\n\t exports.prototype['command'] = undefined;\n\t /**\n\t * the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\\\Program Files\\\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. \n\t * @member {Array.} args\n\t */\n\t exports.prototype['args'] = undefined;\n\t /**\n\t * Current working directory of spawned process, relative to workspace root. If abscent, cwd will be the workspace directory. Does not accept any evaluatable form like $HOME, %USERPROFILE%. path should be unixified. Server may reject an 'absolute' property. \n\t * @member {String} cwd\n\t */\n\t exports.prototype['cwd'] = undefined;\n\t /**\n\t * The value which In 'miliseconds' the maximum amount of time the child is allowed to run. (not idle time of stdout / stderr stream) for sync exec. Server should not apply default value for async exec, when omitted. The child process spawned by async execution should be killed when 1) server goes down 2) process exits by self 3) cancel operation is invoked \n\t * @member {Integer} timeout\n\t */\n\t exports.prototype['timeout'] = undefined;\n\t /**\n\t * Largest amount of data (in bytes) allowed on stdout or stderr for sync exec. Server should not apply this limit to async execution. In sync exec, server may kill a child process that has exceeded limit. default value is 512KB, large enough. \n\t * @member {Integer} maxBuffer\n\t */\n\t exports.prototype['maxBuffer'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 10 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.ExecutionResult = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The ExecutionResult model module.\n\t * @module model/ExecutionResult\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new ExecutionResult.\n\t * execution response\n\t * @alias module:model/ExecutionResult\n\t * @class\n\t * @param stdout {String} standard out of child process.\n\t * @param stderr {String} standard error of child process.\n\t */\n\t var exports = function(stdout, stderr) {\n\t var _this = this;\n\t\n\t\n\t _this['stdout'] = stdout;\n\t _this['stderr'] = stderr;\n\t };\n\t\n\t /**\n\t * Constructs a ExecutionResult from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/ExecutionResult} obj Optional instance to populate.\n\t * @return {module:model/ExecutionResult} The populated ExecutionResult instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('error')) {\n\t obj['error'] = ApiClient.convertToType(data['error'], 'String');\n\t }\n\t if (data.hasOwnProperty('stdout')) {\n\t obj['stdout'] = ApiClient.convertToType(data['stdout'], 'String');\n\t }\n\t if (data.hasOwnProperty('stderr')) {\n\t obj['stderr'] = ApiClient.convertToType(data['stderr'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * error message when execution failed.\n\t * @member {String} error\n\t */\n\t exports.prototype['error'] = undefined;\n\t /**\n\t * standard out of child process.\n\t * @member {String} stdout\n\t */\n\t exports.prototype['stdout'] = undefined;\n\t /**\n\t * standard error of child process.\n\t * @member {String} stderr\n\t */\n\t exports.prototype['stderr'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 11 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RemoteAccess = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The RemoteAccess model module.\n\t * @module model/RemoteAccess\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new RemoteAccess.\n\t * Access information of remote workspace in remote server\n\t * @alias module:model/RemoteAccess\n\t * @class\n\t * @param name {String} display text of remote workspace. can be different from original name. \n\t * @param serverUrl {String} the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n\t * @param workspaceId {String} the id of remote workspace, read from remote server\n\t * @param masterToken {String} master token to access service, issued from remote server\n\t */\n\t var exports = function(name, serverUrl, workspaceId, masterToken) {\n\t var _this = this;\n\t\n\t _this['name'] = name;\n\t _this['serverUrl'] = serverUrl;\n\t _this['workspaceId'] = workspaceId;\n\t\n\t _this['masterToken'] = masterToken;\n\t };\n\t\n\t /**\n\t * Constructs a RemoteAccess from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/RemoteAccess} obj Optional instance to populate.\n\t * @return {module:model/RemoteAccess} The populated RemoteAccess instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('serverUrl')) {\n\t obj['serverUrl'] = ApiClient.convertToType(data['serverUrl'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspaceId')) {\n\t obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspacePath')) {\n\t obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n\t }\n\t if (data.hasOwnProperty('masterToken')) {\n\t obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * display text of remote workspace. can be different from original name. \n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n\t * @member {String} serverUrl\n\t */\n\t exports.prototype['serverUrl'] = undefined;\n\t /**\n\t * the id of remote workspace, read from remote server\n\t * @member {String} workspaceId\n\t */\n\t exports.prototype['workspaceId'] = undefined;\n\t /**\n\t * Full path of remote workspace, read from remote server. this property will be removed when clients are able to work without \\\"named root directory\\\" in workspace fs tree. \n\t * @member {String} workspacePath\n\t */\n\t exports.prototype['workspacePath'] = undefined;\n\t /**\n\t * master token to access service, issued from remote server\n\t * @member {String} masterToken\n\t */\n\t exports.prototype['masterToken'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 12 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Session = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Session model module.\n\t * @module model/Session\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new Session.\n\t * an application session per ide instance. bound to access token\n\t * @alias module:model/Session\n\t * @class\n\t * @param id {String} the id of a session. usually same to socket id.\n\t * @param name {String} human readable name, usually derived from workspace name.\n\t * @param state {module:model/Session.StateEnum} state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n\t * @param clientAddress {String} the peer address of session connection. not always\n\t * @param connectedAt {Date} the time when socket connection is established\n\t * @param disconnectedAt {Date} the time when socket is closed.\n\t */\n\t var exports = function(id, name, state, clientAddress, connectedAt, disconnectedAt) {\n\t var _this = this;\n\t\n\t _this['id'] = id;\n\t _this['name'] = name;\n\t _this['state'] = state;\n\t\n\t _this['clientAddress'] = clientAddress;\n\t _this['connectedAt'] = connectedAt;\n\t _this['disconnectedAt'] = disconnectedAt;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Session from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Session} obj Optional instance to populate.\n\t * @return {module:model/Session} The populated Session instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('state')) {\n\t obj['state'] = ApiClient.convertToType(data['state'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspaceId')) {\n\t obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n\t }\n\t if (data.hasOwnProperty('clientAddress')) {\n\t obj['clientAddress'] = ApiClient.convertToType(data['clientAddress'], 'String');\n\t }\n\t if (data.hasOwnProperty('connectedAt')) {\n\t obj['connectedAt'] = ApiClient.convertToType(data['connectedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('disconnectedAt')) {\n\t obj['disconnectedAt'] = ApiClient.convertToType(data['disconnectedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('willCloseAt')) {\n\t obj['willCloseAt'] = ApiClient.convertToType(data['willCloseAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('willLoseAt')) {\n\t obj['willLoseAt'] = ApiClient.convertToType(data['willLoseAt'], 'Date');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * the id of a session. usually same to socket id.\n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * human readable name, usually derived from workspace name.\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n\t * @member {module:model/Session.StateEnum} state\n\t */\n\t exports.prototype['state'] = undefined;\n\t /**\n\t * the id of workspace that this sessions is working on. If falsy, then this session is not belonged to any workpsace. Usually, dashboard / monitoring app will create a session without workspace id. \n\t * @member {String} workspaceId\n\t */\n\t exports.prototype['workspaceId'] = undefined;\n\t /**\n\t * the peer address of session connection. not always\n\t * @member {String} clientAddress\n\t */\n\t exports.prototype['clientAddress'] = undefined;\n\t /**\n\t * the time when socket connection is established\n\t * @member {Date} connectedAt\n\t */\n\t exports.prototype['connectedAt'] = undefined;\n\t /**\n\t * the time when socket is closed.\n\t * @member {Date} disconnectedAt\n\t */\n\t exports.prototype['disconnectedAt'] = undefined;\n\t /**\n\t * when state becomes CLOSING, actual closing time will be updated by server.\n\t * @member {Date} willCloseAt\n\t */\n\t exports.prototype['willCloseAt'] = undefined;\n\t /**\n\t * when state becomes LOSING, server will not wait for reconnection after this time.\n\t * @member {Date} willLoseAt\n\t */\n\t exports.prototype['willLoseAt'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the state property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.StateEnum = {\n\t /**\n\t * value: \"NORMAL\"\n\t * @const\n\t */\n\t \"NORMAL\": \"NORMAL\",\n\t /**\n\t * value: \"LOSING\"\n\t * @const\n\t */\n\t \"LOSING\": \"LOSING\",\n\t /**\n\t * value: \"CLOSING\"\n\t * @const\n\t */\n\t \"CLOSING\": \"CLOSING\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 13 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Token = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Token model module.\n\t * @module model/Token\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new Token.\n\t * a json webtoken and accessible data\n\t * @alias module:model/Token\n\t * @class\n\t * @param text {String} actual token text that should be shipped in header or query\n\t * @param tokenType {module:model/Token.TokenTypeEnum} MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n\t * @param expiresAt {Date} \n\t * @param issuedAt {Date} \n\t */\n\t var exports = function(text, tokenType, expiresAt, issuedAt) {\n\t var _this = this;\n\t\n\t _this['text'] = text;\n\t _this['tokenType'] = tokenType;\n\t _this['expiresAt'] = expiresAt;\n\t _this['issuedAt'] = issuedAt;\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a Token from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Token} obj Optional instance to populate.\n\t * @return {module:model/Token} The populated Token instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('text')) {\n\t obj['text'] = ApiClient.convertToType(data['text'], 'String');\n\t }\n\t if (data.hasOwnProperty('tokenType')) {\n\t obj['tokenType'] = ApiClient.convertToType(data['tokenType'], 'String');\n\t }\n\t if (data.hasOwnProperty('expiresAt')) {\n\t obj['expiresAt'] = ApiClient.convertToType(data['expiresAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('issuedAt')) {\n\t obj['issuedAt'] = ApiClient.convertToType(data['issuedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('sessionId')) {\n\t obj['sessionId'] = ApiClient.convertToType(data['sessionId'], 'String');\n\t }\n\t if (data.hasOwnProperty('workspaceId')) {\n\t obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * actual token text that should be shipped in header or query\n\t * @member {String} text\n\t */\n\t exports.prototype['text'] = undefined;\n\t /**\n\t * MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n\t * @member {module:model/Token.TokenTypeEnum} tokenType\n\t */\n\t exports.prototype['tokenType'] = undefined;\n\t /**\n\t * @member {Date} expiresAt\n\t */\n\t exports.prototype['expiresAt'] = undefined;\n\t /**\n\t * @member {Date} issuedAt\n\t */\n\t exports.prototype['issuedAt'] = undefined;\n\t /**\n\t * mandatory for ACCESS token, identifying client instance\n\t * @member {String} sessionId\n\t */\n\t exports.prototype['sessionId'] = undefined;\n\t /**\n\t * If truthy, access rights are restricted to specified workspace only.\n\t * @member {String} workspaceId\n\t */\n\t exports.prototype['workspaceId'] = undefined;\n\t\n\t\n\t /**\n\t * Allowed values for the tokenType property.\n\t * @enum {String}\n\t * @readonly\n\t */\n\t exports.TokenTypeEnum = {\n\t /**\n\t * value: \"MASTER\"\n\t * @const\n\t */\n\t \"MASTER\": \"MASTER\",\n\t /**\n\t * value: \"ACCESS\"\n\t * @const\n\t */\n\t \"ACCESS\": \"ACCESS\" };\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 14 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.User = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The User model module.\n\t * @module model/User\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new User.\n\t * Any services/products should define some admin apis to manage users in the system and expose what should be exposed to client app. So, no properties are mandatory. Currently, the properties are defined for compatiblity with legacy clients. \n\t * @alias module:model/User\n\t * @class\n\t */\n\t var exports = function() {\n\t var _this = this;\n\t\n\t\n\t\n\t\n\t };\n\t\n\t /**\n\t * Constructs a User from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/User} obj Optional instance to populate.\n\t * @return {module:model/User} The populated User instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('email')) {\n\t obj['email'] = ApiClient.convertToType(data['email'], 'String');\n\t }\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * unique id per user (email is also unique)\n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * @member {String} email\n\t */\n\t exports.prototype['email'] = undefined;\n\t /**\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 15 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Workspace = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Workspace model module.\n\t * @module model/Workspace\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new Workspace.\n\t * A workspace in server\n\t * @alias module:model/Workspace\n\t * @class\n\t * @param id {String} the id of a workspace. usually same to file system id\n\t * @param name {String} display text of this workspace for UI\n\t * @param description {String} human readable description on this workspace\n\t * @param createdAt {Date} the time when this workspace is created (registered from local file system)\n\t * @param workspacePath {String} absolute path of this workspace in server.\n\t * @param excludedPaths {Array.} glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n\t * @param offlineCachePaths {Array.} any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n\t */\n\t var exports = function(id, name, description, createdAt, workspacePath, excludedPaths, offlineCachePaths) {\n\t var _this = this;\n\t\n\t _this['id'] = id;\n\t _this['name'] = name;\n\t _this['description'] = description;\n\t _this['createdAt'] = createdAt;\n\t\n\t _this['workspacePath'] = workspacePath;\n\t _this['excludedPaths'] = excludedPaths;\n\t _this['offlineCachePaths'] = offlineCachePaths;\n\t };\n\t\n\t /**\n\t * Constructs a Workspace from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Workspace} obj Optional instance to populate.\n\t * @return {module:model/Workspace} The populated Workspace instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('id')) {\n\t obj['id'] = ApiClient.convertToType(data['id'], 'String');\n\t }\n\t if (data.hasOwnProperty('name')) {\n\t obj['name'] = ApiClient.convertToType(data['name'], 'String');\n\t }\n\t if (data.hasOwnProperty('description')) {\n\t obj['description'] = ApiClient.convertToType(data['description'], 'String');\n\t }\n\t if (data.hasOwnProperty('createdAt')) {\n\t obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('accessedAt')) {\n\t obj['accessedAt'] = ApiClient.convertToType(data['accessedAt'], 'Date');\n\t }\n\t if (data.hasOwnProperty('workspacePath')) {\n\t obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n\t }\n\t if (data.hasOwnProperty('excludedPaths')) {\n\t obj['excludedPaths'] = ApiClient.convertToType(data['excludedPaths'], ['String']);\n\t }\n\t if (data.hasOwnProperty('offlineCachePaths')) {\n\t obj['offlineCachePaths'] = ApiClient.convertToType(data['offlineCachePaths'], ['String']);\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * the id of a workspace. usually same to file system id\n\t * @member {String} id\n\t */\n\t exports.prototype['id'] = undefined;\n\t /**\n\t * display text of this workspace for UI\n\t * @member {String} name\n\t */\n\t exports.prototype['name'] = undefined;\n\t /**\n\t * human readable description on this workspace\n\t * @member {String} description\n\t */\n\t exports.prototype['description'] = undefined;\n\t /**\n\t * the time when this workspace is created (registered from local file system)\n\t * @member {Date} createdAt\n\t */\n\t exports.prototype['createdAt'] = undefined;\n\t /**\n\t * the time when the last session on this workspace was made. (optional)\n\t * @member {Date} accessedAt\n\t */\n\t exports.prototype['accessedAt'] = undefined;\n\t /**\n\t * absolute path of this workspace in server.\n\t * @member {String} workspacePath\n\t */\n\t exports.prototype['workspacePath'] = undefined;\n\t /**\n\t * glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n\t * @member {Array.} excludedPaths\n\t */\n\t exports.prototype['excludedPaths'] = undefined;\n\t /**\n\t * any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n\t * @member {Array.} offlineCachePaths\n\t */\n\t exports.prototype['offlineCachePaths'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ },\n/* 16 */\n/***/ function(module, exports) {\n\n\t(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.superagent = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= 200 && res.status < 300) {\n\t return self.callback(err, res);\n\t }\n\t\n\t var new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n\t new_err.original = err;\n\t new_err.response = res;\n\t new_err.status = res.status;\n\t\n\t self.callback(new_err, res);\n\t } catch(e) {\n\t self.callback(e); // #985 touching res may cause INVALID_STATE_ERR on old Android\n\t }\n\t });\n\t}\n\t\n\t/**\n\t * Mixin `Emitter` and `requestBase`.\n\t */\n\t\n\tEmitter(Request.prototype);\n\tfor (var key in requestBase) {\n\t Request.prototype[key] = requestBase[key];\n\t}\n\t\n\t/**\n\t * Set Content-Type to `type`, mapping values from `request.types`.\n\t *\n\t * Examples:\n\t *\n\t * superagent.types.xml = 'application/xml';\n\t *\n\t * request.post('/')\n\t * .type('xml')\n\t * .send(xmlstring)\n\t * .end(callback);\n\t *\n\t * request.post('/')\n\t * .type('application/xml')\n\t * .send(xmlstring)\n\t * .end(callback);\n\t *\n\t * @param {String} type\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.type = function(type){\n\t this.set('Content-Type', request.types[type] || type);\n\t return this;\n\t};\n\t\n\t/**\n\t * Set responseType to `val`. Presently valid responseTypes are 'blob' and\n\t * 'arraybuffer'.\n\t *\n\t * Examples:\n\t *\n\t * req.get('/')\n\t * .responseType('blob')\n\t * .end(callback);\n\t *\n\t * @param {String} val\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.responseType = function(val){\n\t this._responseType = val;\n\t return this;\n\t};\n\t\n\t/**\n\t * Set Accept to `type`, mapping values from `request.types`.\n\t *\n\t * Examples:\n\t *\n\t * superagent.types.json = 'application/json';\n\t *\n\t * request.get('/agent')\n\t * .accept('json')\n\t * .end(callback);\n\t *\n\t * request.get('/agent')\n\t * .accept('application/json')\n\t * .end(callback);\n\t *\n\t * @param {String} accept\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.accept = function(type){\n\t this.set('Accept', request.types[type] || type);\n\t return this;\n\t};\n\t\n\t/**\n\t * Set Authorization field value with `user` and `pass`.\n\t *\n\t * @param {String} user\n\t * @param {String} pass\n\t * @param {Object} options with 'type' property 'auto' or 'basic' (default 'basic')\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.auth = function(user, pass, options){\n\t if (!options) {\n\t options = {\n\t type: 'basic'\n\t }\n\t }\n\t\n\t switch (options.type) {\n\t case 'basic':\n\t var str = btoa(user + ':' + pass);\n\t this.set('Authorization', 'Basic ' + str);\n\t break;\n\t\n\t case 'auto':\n\t this.username = user;\n\t this.password = pass;\n\t break;\n\t }\n\t return this;\n\t};\n\t\n\t/**\n\t* Add query-string `val`.\n\t*\n\t* Examples:\n\t*\n\t* request.get('/shoes')\n\t* .query('size=10')\n\t* .query({ color: 'blue' })\n\t*\n\t* @param {Object|String} val\n\t* @return {Request} for chaining\n\t* @api public\n\t*/\n\t\n\tRequest.prototype.query = function(val){\n\t if ('string' != typeof val) val = serialize(val);\n\t if (val) this._query.push(val);\n\t return this;\n\t};\n\t\n\t/**\n\t * Queue the given `file` as an attachment to the specified `field`,\n\t * with optional `filename`.\n\t *\n\t * ``` js\n\t * request.post('/upload')\n\t * .attach('content', new Blob(['hey!'], { type: \"text/html\"}))\n\t * .end(callback);\n\t * ```\n\t *\n\t * @param {String} field\n\t * @param {Blob|File} file\n\t * @param {String} filename\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.attach = function(field, file, filename){\n\t this._getFormData().append(field, file, filename || file.name);\n\t return this;\n\t};\n\t\n\tRequest.prototype._getFormData = function(){\n\t if (!this._formData) {\n\t this._formData = new root.FormData();\n\t }\n\t return this._formData;\n\t};\n\t\n\t/**\n\t * Invoke the callback with `err` and `res`\n\t * and handle arity check.\n\t *\n\t * @param {Error} err\n\t * @param {Response} res\n\t * @api private\n\t */\n\t\n\tRequest.prototype.callback = function(err, res){\n\t var fn = this._callback;\n\t this.clearTimeout();\n\t fn(err, res);\n\t};\n\t\n\t/**\n\t * Invoke callback with x-domain error.\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype.crossDomainError = function(){\n\t var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n\t err.crossDomain = true;\n\t\n\t err.status = this.status;\n\t err.method = this.method;\n\t err.url = this.url;\n\t\n\t this.callback(err);\n\t};\n\t\n\t/**\n\t * Invoke callback with timeout error.\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype._timeoutError = function(){\n\t var timeout = this._timeout;\n\t var err = new Error('timeout of ' + timeout + 'ms exceeded');\n\t err.timeout = timeout;\n\t this.callback(err);\n\t};\n\t\n\t/**\n\t * Compose querystring to append to req.url\n\t *\n\t * @api private\n\t */\n\t\n\tRequest.prototype._appendQueryString = function(){\n\t var query = this._query.join('&');\n\t if (query) {\n\t this.url += ~this.url.indexOf('?')\n\t ? '&' + query\n\t : '?' + query;\n\t }\n\t};\n\t\n\t/**\n\t * Initiate request, invoking callback `fn(res)`\n\t * with an instanceof `Response`.\n\t *\n\t * @param {Function} fn\n\t * @return {Request} for chaining\n\t * @api public\n\t */\n\t\n\tRequest.prototype.end = function(fn){\n\t var self = this;\n\t var xhr = this.xhr = request.getXHR();\n\t var timeout = this._timeout;\n\t var data = this._formData || this._data;\n\t\n\t // store callback\n\t this._callback = fn || noop;\n\t\n\t // state change\n\t xhr.onreadystatechange = function(){\n\t if (4 != xhr.readyState) return;\n\t\n\t // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n\t // result in the error \"Could not complete the operation due to error c00c023f\"\n\t var status;\n\t try { status = xhr.status } catch(e) { status = 0; }\n\t\n\t if (0 == status) {\n\t if (self.timedout) return self._timeoutError();\n\t if (self._aborted) return;\n\t return self.crossDomainError();\n\t }\n\t self.emit('end');\n\t };\n\t\n\t // progress\n\t var handleProgress = function(e){\n\t if (e.total > 0) {\n\t e.percent = e.loaded / e.total * 100;\n\t }\n\t e.direction = 'download';\n\t self.emit('progress', e);\n\t };\n\t if (this.hasListeners('progress')) {\n\t xhr.onprogress = handleProgress;\n\t }\n\t try {\n\t if (xhr.upload && this.hasListeners('progress')) {\n\t xhr.upload.onprogress = handleProgress;\n\t }\n\t } catch(e) {\n\t // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n\t // Reported here:\n\t // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n\t }\n\t\n\t // timeout\n\t if (timeout && !this._timer) {\n\t this._timer = setTimeout(function(){\n\t self.timedout = true;\n\t self.abort();\n\t }, timeout);\n\t }\n\t\n\t // querystring\n\t this._appendQueryString();\n\t\n\t // initiate request\n\t if (this.username && this.password) {\n\t xhr.open(this.method, this.url, true, this.username, this.password);\n\t } else {\n\t xhr.open(this.method, this.url, true);\n\t }\n\t\n\t // CORS\n\t if (this._withCredentials) xhr.withCredentials = true;\n\t\n\t // body\n\t if ('GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n\t // serialize stuff\n\t var contentType = this._header['content-type'];\n\t var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n\t if (!serialize && isJSON(contentType)) serialize = request.serialize['application/json'];\n\t if (serialize) data = serialize(data);\n\t }\n\t\n\t // set header fields\n\t for (var field in this.header) {\n\t if (null == this.header[field]) continue;\n\t xhr.setRequestHeader(field, this.header[field]);\n\t }\n\t\n\t if (this._responseType) {\n\t xhr.responseType = this._responseType;\n\t }\n\t\n\t // send stuff\n\t this.emit('request', this);\n\t\n\t // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n\t // We need null here if data is undefined\n\t xhr.send(typeof data !== 'undefined' ? data : null);\n\t return this;\n\t};\n\t\n\t\n\t/**\n\t * Expose `Request`.\n\t */\n\t\n\trequest.Request = Request;\n\t\n\t/**\n\t * GET `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.get = function(url, data, fn){\n\t var req = request('GET', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.query(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * HEAD `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.head = function(url, data, fn){\n\t var req = request('HEAD', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * OPTIONS query to `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.options = function(url, data, fn){\n\t var req = request('OPTIONS', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * DELETE `url` with optional callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\tfunction del(url, fn){\n\t var req = request('DELETE', url);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\trequest['del'] = del;\n\trequest['delete'] = del;\n\t\n\t/**\n\t * PATCH `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed} data\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.patch = function(url, data, fn){\n\t var req = request('PATCH', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * POST `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed} data\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.post = function(url, data, fn){\n\t var req = request('POST', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t/**\n\t * PUT `url` with optional `data` and callback `fn(res)`.\n\t *\n\t * @param {String} url\n\t * @param {Mixed|Function} data or fn\n\t * @param {Function} fn\n\t * @return {Request}\n\t * @api public\n\t */\n\t\n\trequest.put = function(url, data, fn){\n\t var req = request('PUT', url);\n\t if ('function' == typeof data) fn = data, data = null;\n\t if (data) req.send(data);\n\t if (fn) req.end(fn);\n\t return req;\n\t};\n\t\n\t},{\"./is-object\":1,\"./request\":3,\"./request-base\":2,\"emitter\":4,\"reduce\":5}]},{},[6])(6)\n\t});\n\n/***/ },\n/* 17 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(14), __webpack_require__(2), __webpack_require__(13), __webpack_require__(8)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/User'), require('../model/RestError'), require('../model/Token'), require('../model/Credential'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.AuthApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.User, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Token, root.WebidaRestfulApi.Credential);\n\t }\n\t}(this, function(ApiClient, User, RestError, Token, Credential) {\n\t 'use strict';\n\t\n\t /**\n\t * Auth service.\n\t * @module api/AuthApi\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new AuthApi. \n\t * @alias module:api/AuthApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the getInfo operation.\n\t * @callback module:api/AuthApi~getInfoCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/User} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Gets user information of that can be identified with current access token. Implementations should provide a more restful api based on domain data model, not extending this operation. (e.g. GET,PUT and DELETE on /Users/{userId} to read, update and delete user) \n\t * @param {module:api/AuthApi~getInfoCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/User}\n\t */\n\t this.getInfo = function(callback) {\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = User;\n\t\n\t return this.apiClient.callApi(\n\t '/auth/info', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the issueToken operation.\n\t * @callback module:api/AuthApi~issueTokenCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Token} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates new token from current access token, inheriting workspace id & session id. The duration of generated token is (and should not be) parameterizable. Server should set proper duration, respecting \\"reconnect\\" period of socket.io clients. Remember that most of socket.io client implementations (including official js client) do not provide any ways to change connection parameters (header or query) while reconnecting to server. Like login API, this endpoint does not provide any encryption. Server should not set any data to harm security in the token & should provide some signinig/encryption mechanism to protect token. Simple JSON Web Token with HMAC-SHA will do. \n\t * @param {module:model/String} type \n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.workspaceId recommended to issue a MASTER type token to restrict remote access\n\t * @param {module:api/AuthApi~issueTokenCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Token}\n\t */\n\t this.issueToken = function(type, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'type' is set\n\t if (type == undefined || type == null) {\n\t throw \"Missing the required parameter 'type' when calling issueToken\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'type': type,\n\t 'workspaceId': opts['workspaceId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Token;\n\t\n\t return this.apiClient.callApi(\n\t '/auth/token', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the login operation.\n\t * @callback module:api/AuthApi~loginCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Token} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * A \\"VERY\\" basic authentication, required to use webida-simple-auth security scheme. Service / Product implementations who need better security, should override this operation or add their own login api or some other specs like OAuth2. Simple auth is not suitable for large-sacle, multi-tennant service, for the scheme assumes a single, trusted user only. Logging-in with master token, the generated access token inherits all restriction from it. On the other hand, normal log-in with login id & password creates an unrestricted access token, with reasonably short expiration time. Every client should spawn another access token with issueToken API before current access token expires, inheriting session id from current token. To save remote access info, client should create a (restricted but long-ttl) master token to start IDE from remote. The remote client should not use the unrestricted acccess token from login to use any other perpose than finding available workspaces, and should not refresh the token. (Let user log-in again) Login API does not force any encryption. Server should provide secure transport channel, usually https, to provide remote access, always. \n\t * @param {module:model/Credential} body \n\t * @param {module:api/AuthApi~loginCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Token}\n\t */\n\t this.login = function(body, callback) {\n\t var postBody = body;\n\t\n\t // verify the required parameter 'body' is set\n\t if (body == undefined || body == null) {\n\t throw \"Missing the required parameter 'body' when calling login\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = [];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Token;\n\t\n\t return this.apiClient.callApi(\n\t '/auth/login', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 18 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.OpsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError) {\n\t 'use strict';\n\t\n\t /**\n\t * Ops service.\n\t * @module api/OpsApi\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new OpsApi. \n\t * @alias module:api/OpsApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the replace operation.\n\t * @callback module:api/OpsApi~replaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * replace file contents with regex matching\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {Array.} wfsPathList array of wfsPath, with heading / (collection format may be changed by implementation)\n\t * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n\t * @param {String} replaceTo string to replace with\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n\t * @param {module:api/OpsApi~replaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.replace = function(wfsId, wfsPathList, pattern, replaceTo, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling replace\";\n\t }\n\t\n\t // verify the required parameter 'wfsPathList' is set\n\t if (wfsPathList == undefined || wfsPathList == null) {\n\t throw \"Missing the required parameter 'wfsPathList' when calling replace\";\n\t }\n\t\n\t // verify the required parameter 'pattern' is set\n\t if (pattern == undefined || pattern == null) {\n\t throw \"Missing the required parameter 'pattern' when calling replace\";\n\t }\n\t\n\t // verify the required parameter 'replaceTo' is set\n\t if (replaceTo == undefined || replaceTo == null) {\n\t throw \"Missing the required parameter 'replaceTo' when calling replace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId\n\t };\n\t var queryParams = {\n\t 'wfsPathList': this.apiClient.buildCollectionParam(wfsPathList, 'multi'),\n\t 'pattern': pattern,\n\t 'replaceTo': replaceTo,\n\t 'ignoreCase': opts['ignoreCase']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/ops/replace', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the search operation.\n\t * @callback module:api/OpsApi~searchCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Object.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * search files in some path, with given pattern\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n\t * @param {module:api/OpsApi~searchCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Object.}\n\t */\n\t this.search = function(wfsId, wfsPath, pattern, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling search\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling search\";\n\t }\n\t\n\t // verify the required parameter 'pattern' is set\n\t if (pattern == undefined || pattern == null) {\n\t throw \"Missing the required parameter 'pattern' when calling search\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'pattern': pattern,\n\t 'ignoreCase': opts['ignoreCase']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = {'String': [Match]};\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/ops/search/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 19 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(2), __webpack_require__(11), __webpack_require__(3)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestError'), require('../model/RemoteAccess'), require('../model/RestOK'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.RemotesApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.RemoteAccess, root.WebidaRestfulApi.RestOK);\n\t }\n\t}(this, function(ApiClient, RestError, RemoteAccess, RestOK) {\n\t 'use strict';\n\t\n\t /**\n\t * Remotes service.\n\t * @module api/RemotesApi\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new RemotesApi. \n\t * @alias module:api/RemotesApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the findRemoteAccesses operation.\n\t * @callback module:api/RemotesApi~findRemoteAccessesCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Get all access informations See RemoteWorkspaceAccess definition for details (no fancy find / search feature yet) \n\t * @param {module:api/RemotesApi~findRemoteAccessesCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findRemoteAccesses = function(callback) {\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [RemoteAccess];\n\t\n\t return this.apiClient.callApi(\n\t '/remotes', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the putRemoteAccess operation.\n\t * @callback module:api/RemotesApi~putRemoteAccessCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * create or update a remote workspace access information\n\t * @param {module:model/RemoteAccess} body \n\t * @param {module:api/RemotesApi~putRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.putRemoteAccess = function(body, callback) {\n\t var postBody = body;\n\t\n\t // verify the required parameter 'body' is set\n\t if (body == undefined || body == null) {\n\t throw \"Missing the required parameter 'body' when calling putRemoteAccess\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/remotes', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the removeRemoteAccess operation.\n\t * @callback module:api/RemotesApi~removeRemoteAccessCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RemoteAccess} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * delete a remote workspace\n\t * @param {String} workspaceId workspace Id of remote workspace\n\t * @param {module:api/RemotesApi~removeRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RemoteAccess}\n\t */\n\t this.removeRemoteAccess = function(workspaceId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling removeRemoteAccess\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RemoteAccess;\n\t\n\t return this.apiClient.callApi(\n\t '/remotes', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 20 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2), __webpack_require__(12)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Session'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.SessionApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Session);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError, Session) {\n\t 'use strict';\n\t\n\t /**\n\t * Session service.\n\t * @module api/SessionApi\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new SessionApi. \n\t * @alias module:api/SessionApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the closeSession operation.\n\t * @callback module:api/SessionApi~closeSessionCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * close session with timeout\n\t * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n\t * @param {Integer} closeAfter waiting time before actual closing, to let client save files and prevent reconnect \n\t * @param {module:api/SessionApi~closeSessionCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.closeSession = function(sessionId, closeAfter, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'sessionId' is set\n\t if (sessionId == undefined || sessionId == null) {\n\t throw \"Missing the required parameter 'sessionId' when calling closeSession\";\n\t }\n\t\n\t // verify the required parameter 'closeAfter' is set\n\t if (closeAfter == undefined || closeAfter == null) {\n\t throw \"Missing the required parameter 'closeAfter' when calling closeSession\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'sessionId': sessionId\n\t };\n\t var queryParams = {\n\t 'closeAfter': closeAfter\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/sessions/{sessionId}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the findSessions operation.\n\t * @callback module:api/SessionApi~findSessionsCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get all / some webida sessions established to server\n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.workspaceId find only sessions working on some given workspace\n\t * @param {module:api/SessionApi~findSessionsCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findSessions = function(opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'workspaceId': opts['workspaceId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [Session];\n\t\n\t return this.apiClient.callApi(\n\t '/sessions', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the getSession operation.\n\t * @callback module:api/SessionApi~getSessionCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Session} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get a session object by id\n\t * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n\t * @param {module:api/SessionApi~getSessionCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Session}\n\t */\n\t this.getSession = function(sessionId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'sessionId' is set\n\t if (sessionId == undefined || sessionId == null) {\n\t throw \"Missing the required parameter 'sessionId' when calling getSession\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'sessionId': sessionId\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Session;\n\t\n\t return this.apiClient.callApi(\n\t '/sessions/{sessionId}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 21 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2), __webpack_require__(4), __webpack_require__(5)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/DirEntry'), require('../model/Stats'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.WfsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError, DirEntry, Stats) {\n\t 'use strict';\n\t\n\t /**\n\t * Wfs service.\n\t * @module api/WfsApi\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new WfsApi. \n\t * @alias module:api/WfsApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the copy operation.\n\t * @callback module:api/WfsApi~copyCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates a copy of source to given path. Unlike cp command, wfsPath always denotes an exact path of the resource to be created. So, copying a file to directory always returns error and vice versa. this operation creates the parents dir of destination path always, and does not roll-back the creation when operation failed. So, clients should roll-back if needed. When destination path exists already, 1) copying file to file : follows noOverwrite flag. (does not return error) 2) copying file to dir : returns 409 error 3) copying dir to file : returns 409 error 4) copying dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {String} srcPath source data path of some operations, with have heading /\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n\t * @param {Boolean} opts.followSymbolicLinks dereference symlinks in source. (default to false)\n\t * @param {Boolean} opts.preserveTimestamps keep mtime/atime of source file(s) in destination. (default to false)\n\t * @param {module:api/WfsApi~copyCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.copy = function(wfsId, wfsPath, srcPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling copy\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling copy\";\n\t }\n\t\n\t // verify the required parameter 'srcPath' is set\n\t if (srcPath == undefined || srcPath == null) {\n\t throw \"Missing the required parameter 'srcPath' when calling copy\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'srcPath': srcPath,\n\t 'noOverwrite': opts['noOverwrite'],\n\t 'followSymbolicLinks': opts['followSymbolicLinks'],\n\t 'preserveTimestamps': opts['preserveTimestamps']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the createDir operation.\n\t * @callback module:api/WfsApi~createDirCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * create a directory at the path. returns error when wfsPath exists and not empty this API always creates parent directories if needed. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {module:api/WfsApi~createDirCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.createDir = function(wfsId, wfsPath, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling createDir\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling createDir\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/dir/{wfsPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the dirTree operation.\n\t * @callback module:api/WfsApi~dirTreeCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/DirEntry} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * returns a directory tree of given path, for listing dir and managing file system errors while building sub-tree will be ignored and will not be included in result. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {Integer} maxDepth Maximum depth of tree. -1 to build a full tree, 0 to stat, 1 to plain list.\n\t * @param {module:api/WfsApi~dirTreeCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/DirEntry}\n\t */\n\t this.dirTree = function(wfsId, wfsPath, maxDepth, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling dirTree\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling dirTree\";\n\t }\n\t\n\t // verify the required parameter 'maxDepth' is set\n\t if (maxDepth == undefined || maxDepth == null) {\n\t throw \"Missing the required parameter 'maxDepth' when calling dirTree\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'maxDepth': maxDepth\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = DirEntry;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/dir/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the move operation.\n\t * @callback module:api/WfsApi~moveCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Moves source resource to given path. Unlike mv command, wfsPath always denotes an exact path of the resource to be created. So, moving a file to existing directory always returns error and vice versa. (So, This API works like 'rename' rather than 'mv' command) Like copy(), this operation creates parent path of destination, and does not roll-back when operation failes. When destination path exists already, 1) moving file to file : follows noOverwrite flag. 2) moving file to dir : returns 409 error 3) moving dir to file : returns 409 error 4) moving dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {String} srcPath source data path of some operations, with have heading /\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n\t * @param {module:api/WfsApi~moveCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.move = function(wfsId, wfsPath, srcPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling move\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling move\";\n\t }\n\t\n\t // verify the required parameter 'srcPath' is set\n\t if (srcPath == undefined || srcPath == null) {\n\t throw \"Missing the required parameter 'srcPath' when calling move\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'srcPath': srcPath,\n\t 'noOverwrite': opts['noOverwrite']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the readFile operation.\n\t * @callback module:api/WfsApi~readFileCallback\n\t * @param {String} error Error message, if any.\n\t * @param {File} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * read file data on path\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {module:api/WfsApi~readFileCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {File}\n\t */\n\t this.readFile = function(wfsId, wfsPath, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling readFile\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling readFile\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = File;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/file/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the remove operation.\n\t * @callback module:api/WfsApi~removeCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * delete file or directory\n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.noRecursive if set, deleting non-empty directory will return 409 error. (default to false)\n\t * @param {module:api/WfsApi~removeCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.remove = function(wfsId, wfsPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling remove\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling remove\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'noRecursive': opts['noRecursive']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the stat operation.\n\t * @callback module:api/WfsApi~statCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Stats} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Get stats of given path. (stat() returns \\"stats\\" object in node and POSIX system) Since we've no ctime/atime in Stats class, some file system changing events will send 'exactly same' stats object. This API should be called only when stats of some file system path is stale for unknown reason (e.g. losting change events). Use dirTree operation and session events to detect stats, if possible. This API can be used to check a path is valid, existing one, but it's not recommended to check existence of individual paths by API. Clients should use dirTree and session events to synchorize some in-app file system with webida file system. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ignoreError flag to ignore stat errors to check existence only. If this flag is true, server will returns 'DUMMY' type stats object instead of 404 error when given path does not exists. (invalid wfsId will produce 400 error, not 404) (default to false)\n\t * @param {module:api/WfsApi~statCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Stats}\n\t */\n\t this.stat = function(wfsId, wfsPath, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling stat\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling stat\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'ignoreError': opts['ignoreError']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Stats;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/any/{wfsPath}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the writeFile operation.\n\t * @callback module:api/WfsApi~writeFileCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates / updates file with body data. Server should write the file in 'atomic' manner, and should not write down request body into final destination path directly. In other words, wheather writeFile() succeeds or not, the contents of the file should not be corrupted nor half-written. \n\t * @param {String} wfsId webida file system id (same to workspace id) to access.\n\t * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n\t * @param {File} data file contents to write.\n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.ensureParents A flag to create all parent directories to create file or dir, like mkdir -p. This parameter does not create entire path, but creates to 'parent directory' of the path. (default to false)\n\t * @param {module:api/WfsApi~writeFileCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.writeFile = function(wfsId, wfsPath, data, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'wfsId' is set\n\t if (wfsId == undefined || wfsId == null) {\n\t throw \"Missing the required parameter 'wfsId' when calling writeFile\";\n\t }\n\t\n\t // verify the required parameter 'wfsPath' is set\n\t if (wfsPath == undefined || wfsPath == null) {\n\t throw \"Missing the required parameter 'wfsPath' when calling writeFile\";\n\t }\n\t\n\t // verify the required parameter 'data' is set\n\t if (data == undefined || data == null) {\n\t throw \"Missing the required parameter 'data' when calling writeFile\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'wfsId': wfsId,\n\t 'wfsPath': wfsPath\n\t };\n\t var queryParams = {\n\t 'ensureParents': opts['ensureParents']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t 'data': data\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['multipart/form-data'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/wfs/{wfsId}/file/{wfsPath}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 22 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1), __webpack_require__(3), __webpack_require__(2), __webpack_require__(15), __webpack_require__(7), __webpack_require__(9), __webpack_require__(10)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Workspace'), require('../model/ChildProcess'), require('../model/Execution'), require('../model/ExecutionResult'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.WorkspaceApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Workspace, root.WebidaRestfulApi.ChildProcess, root.WebidaRestfulApi.Execution, root.WebidaRestfulApi.ExecutionResult);\n\t }\n\t}(this, function(ApiClient, RestOK, RestError, Workspace, ChildProcess, Execution, ExecutionResult) {\n\t 'use strict';\n\t\n\t /**\n\t * Workspace service.\n\t * @module api/WorkspaceApi\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new WorkspaceApi. \n\t * @alias module:api/WorkspaceApi\n\t * @class\n\t * @param {module:ApiClient} apiClient Optional API client implementation to use,\n\t * default to {@link module:ApiClient#instance} if unspecified.\n\t */\n\t var exports = function(apiClient) {\n\t this.apiClient = apiClient || ApiClient.instance;\n\t\n\t\n\t /**\n\t * Callback function to receive the result of the cancel operation.\n\t * @callback module:api/WorkspaceApi~cancelCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/RestOK} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * cancels an execution, if possible. Killing process may not be graceful. requires proper access rights. if execId is not specified, this api does nothing. \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.execId the id of execution request(different from pid!)\n\t * @param {module:api/WorkspaceApi~cancelCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/RestOK}\n\t */\n\t this.cancel = function(workspaceId, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling cancel\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'execId': opts['execId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = RestOK;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/exec', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the createWorkspace operation.\n\t * @callback module:api/WorkspaceApi~createWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Creates a new workspace with given local path. Requires an unrestricted access token. \n\t * @param {String} localPath a real, local path of the system (not unixified)\n\t * @param {String} name workspace name property\n\t * @param {String} description workspace name property\n\t * @param {module:api/WorkspaceApi~createWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.createWorkspace = function(localPath, name, description, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'localPath' is set\n\t if (localPath == undefined || localPath == null) {\n\t throw \"Missing the required parameter 'localPath' when calling createWorkspace\";\n\t }\n\t\n\t // verify the required parameter 'name' is set\n\t if (name == undefined || name == null) {\n\t throw \"Missing the required parameter 'name' when calling createWorkspace\";\n\t }\n\t\n\t // verify the required parameter 'description' is set\n\t if (description == undefined || description == null) {\n\t throw \"Missing the required parameter 'description' when calling createWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'localPath': localPath,\n\t 'name': name,\n\t 'description': description\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the exec operation.\n\t * @callback module:api/WorkspaceApi~execCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/ExecutionResult} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * execute a shell command on this workspace. requires proper access rights.\n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {module:model/Execution} body \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.async Spawn a child process for given command and returns the created child proc info. Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/async-{execId} (default to false)\n\t * @param {module:api/WorkspaceApi~execCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/ExecutionResult}\n\t */\n\t this.exec = function(workspaceId, body, opts, callback) {\n\t opts = opts || {};\n\t var postBody = body;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling exec\";\n\t }\n\t\n\t // verify the required parameter 'body' is set\n\t if (body == undefined || body == null) {\n\t throw \"Missing the required parameter 'body' when calling exec\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'async': opts['async']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = ExecutionResult;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/exec', 'POST',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the findProcs operation.\n\t * @callback module:api/WorkspaceApi~findProcsCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Gets process info, created by async exec request, on this workspace. If execId is set, this op finds a spawned process whose id is matching. If not, all spawned procs will be found. This op does not returns error when no procs found but empty result array. This operation requires proper access rights. (unrestricted or matching workspace id in access token with parameter) \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {Object} opts Optional parameters\n\t * @param {String} opts.execId the id of execution request(different from pid!)\n\t * @param {module:api/WorkspaceApi~findProcsCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findProcs = function(workspaceId, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling findProcs\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'execId': opts['execId']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = [];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [ChildProcess];\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}/exec', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the findWorkspaces operation.\n\t * @callback module:api/WorkspaceApi~findWorkspacesCallback\n\t * @param {String} error Error message, if any.\n\t * @param {Array.} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Finds workspaces (no find/search parameters yet). Requires an unrestricted access token. \n\t * @param {Object} opts Optional parameters\n\t * @param {Boolean} opts.disposable include disposable workspaces or not (default to false)\n\t * @param {module:api/WorkspaceApi~findWorkspacesCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {Array.}\n\t */\n\t this.findWorkspaces = function(opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t\n\t var pathParams = {\n\t };\n\t var queryParams = {\n\t 'disposable': opts['disposable']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = [Workspace];\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the getWorkspace operation.\n\t * @callback module:api/WorkspaceApi~getWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * get a workspace object by id\n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {module:api/WorkspaceApi~getWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.getWorkspace = function(workspaceId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling getWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}', 'GET',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the removeWorkspace operation.\n\t * @callback module:api/WorkspaceApi~removeWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * This operation will remove the requested workspace when 1) all sessions are closed for request (will be notified by server) 2) excedded time limit value in closeAfter parameter 3) server goes down after accepting remove request \\"willBeRemovedAt\\" property can be set \\"only\\" by this api. This API requires \\"unrestricted\\" access token. Even an access token has matching workspace id, removing an workspace is rejected. \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {Object} opts Optional parameters\n\t * @param {Integer} opts.closeAfter Time in seconds to wait for all sessions save & close their data. (default to 0)\n\t * @param {module:api/WorkspaceApi~removeWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.removeWorkspace = function(workspaceId, opts, callback) {\n\t opts = opts || {};\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling removeWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t 'closeAfter': opts['closeAfter']\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}', 'DELETE',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t\n\t /**\n\t * Callback function to receive the result of the updateWorkspace operation.\n\t * @callback module:api/WorkspaceApi~updateWorkspaceCallback\n\t * @param {String} error Error message, if any.\n\t * @param {module:model/Workspace} data The data returned by the service call.\n\t * @param {String} response The complete HTTP response.\n\t */\n\t\n\t /**\n\t * Updates workspace. Some protected properties will not be changed by this api. Requires proper access rights in access token. \n\t * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n\t * @param {module:api/WorkspaceApi~updateWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n\t * data is of type: {module:model/Workspace}\n\t */\n\t this.updateWorkspace = function(workspaceId, callback) {\n\t var postBody = null;\n\t\n\t // verify the required parameter 'workspaceId' is set\n\t if (workspaceId == undefined || workspaceId == null) {\n\t throw \"Missing the required parameter 'workspaceId' when calling updateWorkspace\";\n\t }\n\t\n\t\n\t var pathParams = {\n\t 'workspaceId': workspaceId\n\t };\n\t var queryParams = {\n\t };\n\t var headerParams = {\n\t };\n\t var formParams = {\n\t };\n\t\n\t var authNames = ['webida-simple-auth'];\n\t var contentTypes = ['application/json'];\n\t var accepts = ['application/json', 'application/octet-stream'];\n\t var returnType = Workspace;\n\t\n\t return this.apiClient.callApi(\n\t '/workspaces/{workspaceId}', 'PUT',\n\t pathParams, queryParams, headerParams, formParams, postBody,\n\t authNames, contentTypes, accepts, returnType, callback\n\t );\n\t }\n\t };\n\t\n\t return exports;\n\t}));\n\n\n/***/ },\n/* 23 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n\t * Webida Restful API\n\t * Restful API for Webida clients to use server's data & features\n\t *\n\t * OpenAPI spec version: 0.5.0\n\t * \n\t *\n\t * NOTE: This class is auto generated by the swagger code generator program.\n\t * https://github.com/swagger-api/swagger-codegen.git\n\t * Do not edit the class manually.\n\t *\n\t * Licensed under the Apache License, Version 2.0 (the \"License\");\n\t * you may not use this file except in compliance with the License.\n\t * You may obtain a copy of the License at\n\t *\n\t * http://www.apache.org/licenses/LICENSE-2.0\n\t *\n\t * Unless required by applicable law or agreed to in writing, software\n\t * distributed under the License is distributed on an \"AS IS\" BASIS,\n\t * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t * See the License for the specific language governing permissions and\n\t * limitations under the License.\n\t */\n\t\n\t(function(root, factory) {\n\t if (true) {\n\t // AMD. Register as an anonymous module.\n\t !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(1)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t } else if (typeof module === 'object' && module.exports) {\n\t // CommonJS-like environments that support module.exports, like Node.\n\t module.exports = factory(require('../ApiClient'));\n\t } else {\n\t // Browser globals (root is window)\n\t if (!root.WebidaRestfulApi) {\n\t root.WebidaRestfulApi = {};\n\t }\n\t root.WebidaRestfulApi.Match = factory(root.WebidaRestfulApi.ApiClient);\n\t }\n\t}(this, function(ApiClient) {\n\t 'use strict';\n\t\n\t\n\t\n\t\n\t /**\n\t * The Match model module.\n\t * @module model/Match\n\t * @version 0.5.0\n\t */\n\t\n\t /**\n\t * Constructs a new Match.\n\t * search result for a file\n\t * @alias module:model/Match\n\t * @class\n\t * @param line {Integer} \n\t * @param text {String} \n\t */\n\t var exports = function(line, text) {\n\t var _this = this;\n\t\n\t _this['line'] = line;\n\t _this['text'] = text;\n\t };\n\t\n\t /**\n\t * Constructs a Match from a plain JavaScript object, optionally creating a new instance.\n\t * Copies all relevant properties from data to obj if supplied or a new instance if not.\n\t * @param {Object} data The plain JavaScript object bearing properties of interest.\n\t * @param {module:model/Match} obj Optional instance to populate.\n\t * @return {module:model/Match} The populated Match instance.\n\t */\n\t exports.constructFromObject = function(data, obj) {\n\t if (data) {\n\t obj = obj || new exports();\n\t\n\t if (data.hasOwnProperty('line')) {\n\t obj['line'] = ApiClient.convertToType(data['line'], 'Integer');\n\t }\n\t if (data.hasOwnProperty('text')) {\n\t obj['text'] = ApiClient.convertToType(data['text'], 'String');\n\t }\n\t }\n\t return obj;\n\t }\n\t\n\t /**\n\t * @member {Integer} line\n\t */\n\t exports.prototype['line'] = undefined;\n\t /**\n\t * @member {String} text\n\t */\n\t exports.prototype['text'] = undefined;\n\t\n\t\n\t\n\t return exports;\n\t}));\n\t\n\t\n\n\n/***/ }\n/******/ ])});;\n\n\n/** WEBPACK FOOTER **\n ** api-bundle.js\n **/"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 4b6a8bfdb707c6e84796\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/ChildProcess', 'model/Credential', 'model/DirEntry', 'model/Execution', 'model/ExecutionResult', 'model/Match', 'model/RemoteAccess', 'model/RestError', 'model/RestOK', 'model/Session', 'model/Stats', 'model/Token', 'model/User', 'model/Workspace', 'api/AuthApi', 'api/OpsApi', 'api/RemotesApi', 'api/SessionApi', 'api/WfsApi', 'api/WorkspaceApi'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('./ApiClient'), require('./model/ChildProcess'), require('./model/Credential'), require('./model/DirEntry'), require('./model/Execution'), require('./model/ExecutionResult'), require('./model/Match'), require('./model/RemoteAccess'), require('./model/RestError'), require('./model/RestOK'), require('./model/Session'), require('./model/Stats'), require('./model/Token'), require('./model/User'), require('./model/Workspace'), require('./api/AuthApi'), require('./api/OpsApi'), require('./api/RemotesApi'), require('./api/SessionApi'), require('./api/WfsApi'), require('./api/WorkspaceApi'));\n }\n}(function(ApiClient, ChildProcess, Credential, DirEntry, Execution, ExecutionResult, Match, RemoteAccess, RestError, RestOK, Session, Stats, Token, User, Workspace, AuthApi, OpsApi, RemotesApi, SessionApi, WfsApi, WorkspaceApi) {\n 'use strict';\n\n /**\n * Restful_API_for_Webida_clients_to_use_servers_data__features.
\n * The index module provides access to constructors for all the classes which comprise the public API.\n *

\n * An AMD (recommended!) or CommonJS application will generally do something equivalent to the following:\n *

\n   * var WebidaRestfulApi = require('index'); // See note below*.\n   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n   * var yyyModel = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n   * yyyModel.someProperty = 'someValue';\n   * ...\n   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n   * ...\n   * 
\n * *NOTE: For a top-level AMD script, use require(['index'], function(){...})\n * and put the application logic within the callback function.\n *

\n *

\n * A non-AMD browser application (discouraged) might do something like this:\n *

\n   * var xxxSvc = new WebidaRestfulApi.XxxApi(); // Allocate the API class we're going to use.\n   * var yyy = new WebidaRestfulApi.Yyy(); // Construct a model instance.\n   * yyyModel.someProperty = 'someValue';\n   * ...\n   * var zzz = xxxSvc.doSomething(yyyModel); // Invoke the service.\n   * ...\n   * 
\n *

\n * @module index\n * @version 0.5.0\n */\n var exports = {\n /**\n * The ApiClient constructor.\n * @property {module:ApiClient}\n */\n ApiClient: ApiClient,\n /**\n * The ChildProcess model constructor.\n * @property {module:model/ChildProcess}\n */\n ChildProcess: ChildProcess,\n /**\n * The Credential model constructor.\n * @property {module:model/Credential}\n */\n Credential: Credential,\n /**\n * The DirEntry model constructor.\n * @property {module:model/DirEntry}\n */\n DirEntry: DirEntry,\n /**\n * The Execution model constructor.\n * @property {module:model/Execution}\n */\n Execution: Execution,\n /**\n * The ExecutionResult model constructor.\n * @property {module:model/ExecutionResult}\n */\n ExecutionResult: ExecutionResult,\n /**\n * The Match model constructor.\n * @property {module:model/Match}\n */\n Match: Match,\n /**\n * The RemoteAccess model constructor.\n * @property {module:model/RemoteAccess}\n */\n RemoteAccess: RemoteAccess,\n /**\n * The RestError model constructor.\n * @property {module:model/RestError}\n */\n RestError: RestError,\n /**\n * The RestOK model constructor.\n * @property {module:model/RestOK}\n */\n RestOK: RestOK,\n /**\n * The Session model constructor.\n * @property {module:model/Session}\n */\n Session: Session,\n /**\n * The Stats model constructor.\n * @property {module:model/Stats}\n */\n Stats: Stats,\n /**\n * The Token model constructor.\n * @property {module:model/Token}\n */\n Token: Token,\n /**\n * The User model constructor.\n * @property {module:model/User}\n */\n User: User,\n /**\n * The Workspace model constructor.\n * @property {module:model/Workspace}\n */\n Workspace: Workspace,\n /**\n * The AuthApi service constructor.\n * @property {module:api/AuthApi}\n */\n AuthApi: AuthApi,\n /**\n * The OpsApi service constructor.\n * @property {module:api/OpsApi}\n */\n OpsApi: OpsApi,\n /**\n * The RemotesApi service constructor.\n * @property {module:api/RemotesApi}\n */\n RemotesApi: RemotesApi,\n /**\n * The SessionApi service constructor.\n * @property {module:api/SessionApi}\n */\n SessionApi: SessionApi,\n /**\n * The WfsApi service constructor.\n * @property {module:api/WfsApi}\n */\n WfsApi: WfsApi,\n /**\n * The WorkspaceApi service constructor.\n * @property {module:api/WorkspaceApi}\n */\n WorkspaceApi: WorkspaceApi\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/index.js\n ** module id = 0\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['superagent'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('superagent'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.ApiClient = factory(root.superagent);\n }\n}(this, function(superagent) {\n 'use strict';\n\n /**\n * @module ApiClient\n * @version 0.5.0\n */\n\n /**\n * Manages low level client-server communications, parameter marshalling, etc. There should not be any need for an\n * application to use this class directly - the *Api and model classes provide the public API for the service. The\n * contents of this file should be regarded as internal but are documented for completeness.\n * @alias module:ApiClient\n * @class\n */\n var exports = function() {\n /**\n * The base URL against which to resolve every API call's (relative) path.\n * @type {String}\n * @default https://localhost/api\n */\n this.basePath = 'https://localhost/api'.replace(/\\/+$/, '');\n\n /**\n * The authentication methods to be included for all API calls.\n * @type {Array.}\n */\n this.authentications = {\n 'webida-simple-auth': {type: 'apiKey', 'in': 'header', name: 'Authorization'}\n };\n /**\n * The default HTTP headers to be included for all API calls.\n * @type {Array.}\n * @default {}\n */\n this.defaultHeaders = {};\n\n /**\n * The default HTTP timeout for all API calls.\n * @type {Number}\n * @default 60000\n */\n this.timeout = 60000;\n };\n\n /**\n * Returns a string representation for an actual parameter.\n * @param param The actual parameter.\n * @returns {String} The string representation of param.\n */\n exports.prototype.paramToString = function(param) {\n if (param == undefined || param == null) {\n return '';\n }\n if (param instanceof Date) {\n return param.toJSON();\n }\n return param.toString();\n };\n\n /**\n * Builds full URL by appending the given path to the base URL and replacing path parameter place-holders with parameter values.\n * NOTE: query parameters are not handled here.\n * @param {String} path The path to append to the base URL.\n * @param {Object} pathParams The parameter values to append.\n * @returns {String} The encoded path with parameter values substituted.\n */\n exports.prototype.buildUrl = function(path, pathParams) {\n if (!path.match(/^\\//)) {\n path = '/' + path;\n }\n var url = this.basePath + path;\n var _this = this;\n url = url.replace(/\\{([\\w-]+)\\}/g, function(fullMatch, key) {\n var value;\n if (pathParams.hasOwnProperty(key)) {\n value = _this.paramToString(pathParams[key]);\n } else {\n value = fullMatch;\n }\n return encodeURIComponent(value);\n });\n return url;\n };\n\n /**\n * Checks whether the given content type represents JSON.
\n * JSON content type examples:
\n *
    \n *
  • application/json
  • \n *
  • application/json; charset=UTF8
  • \n *
  • APPLICATION/JSON
  • \n *
\n * @param {String} contentType The MIME content type to check.\n * @returns {Boolean} true if contentType represents JSON, otherwise false.\n */\n exports.prototype.isJsonMime = function(contentType) {\n return Boolean(contentType != null && contentType.match(/^application\\/json(;.*)?$/i));\n };\n\n /**\n * Chooses a content type from the given array, with JSON preferred; i.e. return JSON if included, otherwise return the first.\n * @param {Array.} contentTypes\n * @returns {String} The chosen content type, preferring JSON.\n */\n exports.prototype.jsonPreferredMime = function(contentTypes) {\n for (var i = 0; i < contentTypes.length; i++) {\n if (this.isJsonMime(contentTypes[i])) {\n return contentTypes[i];\n }\n }\n return contentTypes[0];\n };\n\n /**\n * Checks whether the given parameter value represents file-like content.\n * @param param The parameter to check.\n * @returns {Boolean} true if param represents a file. \n */\n exports.prototype.isFileParam = function(param) {\n // fs.ReadStream in Node.js (but not in runtime like browserify)\n if (typeof window === 'undefined' &&\n typeof require === 'function' &&\n require('fs') &&\n param instanceof require('fs').ReadStream) {\n return true;\n }\n // Buffer in Node.js\n if (typeof Buffer === 'function' && param instanceof Buffer) {\n return true;\n }\n // Blob in browser\n if (typeof Blob === 'function' && param instanceof Blob) {\n return true;\n }\n // File in browser (it seems File object is also instance of Blob, but keep this for safe)\n if (typeof File === 'function' && param instanceof File) {\n return true;\n }\n return false;\n };\n\n /**\n * Normalizes parameter values:\n *
    \n *
  • remove nils
  • \n *
  • keep files and arrays
  • \n *
  • format to string with `paramToString` for other cases
  • \n *
\n * @param {Object.} params The parameters as object properties.\n * @returns {Object.} normalized parameters.\n */\n exports.prototype.normalizeParams = function(params) {\n var newParams = {};\n for (var key in params) {\n if (params.hasOwnProperty(key) && params[key] != undefined && params[key] != null) {\n var value = params[key];\n if (this.isFileParam(value) || Array.isArray(value)) {\n newParams[key] = value;\n } else {\n newParams[key] = this.paramToString(value);\n }\n }\n }\n return newParams;\n };\n\n /**\n * Enumeration of collection format separator strategies.\n * @enum {String} \n * @readonly\n */\n exports.CollectionFormatEnum = {\n /**\n * Comma-separated values. Value: csv\n * @const\n */\n CSV: ',',\n /**\n * Space-separated values. Value: ssv\n * @const\n */\n SSV: ' ',\n /**\n * Tab-separated values. Value: tsv\n * @const\n */\n TSV: '\\t',\n /**\n * Pipe(|)-separated values. Value: pipes\n * @const\n */\n PIPES: '|',\n /**\n * Native array. Value: multi\n * @const\n */\n MULTI: 'multi'\n };\n\n /**\n * Builds a string representation of an array-type actual parameter, according to the given collection format.\n * @param {Array} param An array parameter.\n * @param {module:ApiClient.CollectionFormatEnum} collectionFormat The array element separator strategy.\n * @returns {String|Array} A string representation of the supplied collection, using the specified delimiter. Returns\n * param as is if collectionFormat is multi.\n */\n exports.prototype.buildCollectionParam = function buildCollectionParam(param, collectionFormat) {\n if (param == null) {\n return null;\n }\n switch (collectionFormat) {\n case 'csv':\n return param.map(this.paramToString).join(',');\n case 'ssv':\n return param.map(this.paramToString).join(' ');\n case 'tsv':\n return param.map(this.paramToString).join('\\t');\n case 'pipes':\n return param.map(this.paramToString).join('|');\n case 'multi':\n // return the array directly as SuperAgent will handle it as expected\n return param.map(this.paramToString);\n default:\n throw new Error('Unknown collection format: ' + collectionFormat);\n }\n };\n\n /**\n * Applies authentication headers to the request.\n * @param {Object} request The request object created by a superagent() call.\n * @param {Array.} authNames An array of authentication method names.\n */\n exports.prototype.applyAuthToRequest = function(request, authNames) {\n var _this = this;\n authNames.forEach(function(authName) {\n var auth = _this.authentications[authName];\n switch (auth.type) {\n case 'basic':\n if (auth.username || auth.password) {\n request.auth(auth.username || '', auth.password || '');\n }\n break;\n case 'apiKey':\n if (auth.apiKey) {\n var data = {};\n if (auth.apiKeyPrefix) {\n data[auth.name] = auth.apiKeyPrefix + ' ' + auth.apiKey;\n } else {\n data[auth.name] = auth.apiKey;\n }\n if (auth['in'] === 'header') {\n request.set(data);\n } else {\n request.query(data);\n }\n }\n break;\n case 'oauth2':\n if (auth.accessToken) {\n request.set({'Authorization': 'Bearer ' + auth.accessToken});\n }\n break;\n default:\n throw new Error('Unknown authentication type: ' + auth.type);\n }\n });\n };\n\n /**\n * Deserializes an HTTP response body into a value of the specified type.\n * @param {Object} response A SuperAgent response object.\n * @param {(String|Array.|Object.|Function)} returnType The type to return. Pass a string for simple types\n * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n * all properties on data will be converted to this type.\n * @returns A value of the specified type.\n */\n exports.prototype.deserialize = function deserialize(response, returnType) {\n if (response == null || returnType == null) {\n return null;\n }\n // Rely on SuperAgent for parsing response body.\n // See http://visionmedia.github.io/superagent/#parsing-response-bodies\n var data = response.body;\n if (data == null) {\n // SuperAgent does not always produce a body; use the unparsed response as a fallback\n data = response.text;\n }\n return exports.convertToType(data, returnType);\n };\n\n /**\n * Callback function to receive the result of the operation.\n * @callback module:ApiClient~callApiCallback\n * @param {String} error Error message, if any.\n * @param data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Invokes the REST service using the supplied settings and parameters.\n * @param {String} path The base URL to invoke.\n * @param {String} httpMethod The HTTP method to use.\n * @param {Object.} pathParams A map of path parameters and their values.\n * @param {Object.} queryParams A map of query parameters and their values.\n * @param {Object.} headerParams A map of header parameters and their values.\n * @param {Object.} formParams A map of form parameters and their values.\n * @param {Object} bodyParam The value to pass as the request body.\n * @param {Array.} authNames An array of authentication type names.\n * @param {Array.} contentTypes An array of request MIME types.\n * @param {Array.} accepts An array of acceptable response MIME types.\n * @param {(String|Array|ObjectFunction)} returnType The required type to return; can be a string for simple types or the\n * constructor for a complex type.\n * @param {module:ApiClient~callApiCallback} callback The callback function.\n * @returns {Object} The SuperAgent request object.\n */\n exports.prototype.callApi = function callApi(path, httpMethod, pathParams,\n queryParams, headerParams, formParams, bodyParam, authNames, contentTypes, accepts,\n returnType, callback) {\n\n var _this = this;\n var url = this.buildUrl(path, pathParams);\n var request = superagent(httpMethod, url);\n\n // apply authentications\n this.applyAuthToRequest(request, authNames);\n\n // set query parameters\n request.query(this.normalizeParams(queryParams));\n\n // set header parameters\n request.set(this.defaultHeaders).set(this.normalizeParams(headerParams));\n\n // set request timeout\n request.timeout(this.timeout);\n\n var contentType = this.jsonPreferredMime(contentTypes);\n if (contentType !== 'multipart/form-data') {\n if (contentType) {\n request.type(contentType);\n } else if (!request.header['Content-Type']) {\n request.type('application/json');\n }\n }\n\n if (contentType === 'application/x-www-form-urlencoded') {\n request.send(this.normalizeParams(formParams));\n } else if (contentType == 'multipart/form-data') {\n var _formParams = this.normalizeParams(formParams);\n for (var key in _formParams) {\n if (_formParams.hasOwnProperty(key)) {\n if (this.isFileParam(_formParams[key])) {\n // file field\n request.attach(key, _formParams[key]);\n } else {\n request.field(key, _formParams[key]);\n }\n }\n }\n } else if (bodyParam) {\n request.send(bodyParam);\n }\n\n var accept = this.jsonPreferredMime(accepts);\n if (accept) {\n request.accept(accept);\n }\n\n\n request.end(function(error, response) {\n if (callback) {\n var data = null;\n if (!error) {\n data = _this.deserialize(response, returnType);\n }\n callback(error, data, response);\n }\n });\n\n return request;\n };\n\n /**\n * Parses an ISO-8601 string representation of a date value.\n * @param {String} str The date value as a string.\n * @returns {Date} The parsed date object.\n */\n exports.parseDate = function(str) {\n return new Date(str.replace(/T/i, ' '));\n };\n\n /**\n * Converts a value to the specified type.\n * @param {(String|Object)} data The data to convert, as a string or object.\n * @param {(String|Array.|Object.|Function)} type The type to return. Pass a string for simple types\n * or the constructor function for a complex type. Pass an array containing the type name to return an array of that type. To\n * return an object, pass an object with one property whose name is the key type and whose value is the corresponding value type:\n * all properties on data will be converted to this type.\n * @returns An instance of the specified type.\n */\n exports.convertToType = function(data, type) {\n switch (type) {\n case 'Boolean':\n return Boolean(data);\n case 'Integer':\n return parseInt(data, 10);\n case 'Number':\n return parseFloat(data);\n case 'String':\n return String(data);\n case 'Date':\n return this.parseDate(String(data));\n default:\n if (type === Object || type === File) {\n // generic object or Blob - return directly\n return data;\n } else if (typeof type === 'function') {\n if (typeof type.constructFromObject !== 'function') {\n // some manually written models might have no factory function\n return data;\n } else {\n // for model type like: User\n return type.constructFromObject(data);\n }\n } else if (Array.isArray(type)) {\n // for array type like: ['String']\n var itemType = type[0];\n return data.map(function(item) {\n return exports.convertToType(item, itemType);\n });\n } else if (typeof type === 'object') {\n // for plain object type like: {'String': 'Integer'}\n var keyType, valueType;\n for (var k in type) {\n if (type.hasOwnProperty(k)) {\n keyType = k;\n valueType = type[k];\n break;\n }\n }\n var result = {};\n for (var k in data) {\n if (data.hasOwnProperty(k)) {\n var key = exports.convertToType(k, keyType);\n var value = exports.convertToType(data[k], valueType);\n result[key] = value;\n }\n }\n return result;\n } else {\n // for unknown type, return the data directly\n return data;\n }\n }\n };\n\n /**\n * Constructs a new map or array model from REST data.\n * @param data {Object|Array} The REST data.\n * @param obj {Object|Array} The target object or array.\n */\n exports.constructFromObject = function(data, obj, itemType) {\n if (Array.isArray(data)) {\n for (var i = 0; i < data.length; i++) {\n if (data.hasOwnProperty(i))\n obj[i] = exports.convertToType(data[i], itemType);\n }\n } else {\n for (var k in data) {\n if (data.hasOwnProperty(k))\n obj[k] = exports.convertToType(data[k], itemType);\n }\n }\n };\n\n /**\n * The default API client implementation.\n * @type {module:ApiClient}\n */\n exports.instance = new exports();\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/ApiClient.js\n ** module id = 1\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RestError = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The RestError model module.\n * @module model/RestError\n * @version 0.5.0\n */\n\n /**\n * Constructs a new RestError.\n * Error object with code and message. code is bound to status code, but not always same to standard HTTP status text. For example, some 409 error may have code \\"Invalid Argument\\" instead of \\"Conflic\\". So, Client should read message property to know what happend exactly when an error is returned from server. And, some 500 errors can have system errno instead of useless \\"internal\\". Like other errors, details are hidden in message. \n * @alias module:model/RestError\n * @class\n * @param message {String} \n */\n var exports = function(message) {\n var _this = this;\n\n\n _this['message'] = message;\n };\n\n /**\n * Constructs a RestError from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/RestError} obj Optional instance to populate.\n * @return {module:model/RestError} The populated RestError instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('code')) {\n obj['code'] = ApiClient.convertToType(data['code'], 'String');\n }\n if (data.hasOwnProperty('message')) {\n obj['message'] = ApiClient.convertToType(data['message'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {String} code\n */\n exports.prototype['code'] = undefined;\n /**\n * @member {String} message\n */\n exports.prototype['message'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/RestError.js\n ** module id = 2\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RestOK = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The RestOK model module.\n * @module model/RestOK\n * @version 0.5.0\n */\n\n /**\n * Constructs a new RestOK.\n * @alias module:model/RestOK\n * @class\n */\n var exports = function() {\n var _this = this;\n\n\n };\n\n /**\n * Constructs a RestOK from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/RestOK} obj Optional instance to populate.\n * @return {module:model/RestOK} The populated RestOK instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('message')) {\n obj['message'] = ApiClient.convertToType(data['message'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {String} message\n */\n exports.prototype['message'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/RestOK.js\n ** module id = 3\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/DirEntry', 'model/Stats'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('./DirEntry'), require('./Stats'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.DirEntry = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n }\n}(this, function(ApiClient, DirEntry, Stats) {\n 'use strict';\n\n\n\n\n /**\n * The DirEntry model module.\n * @module model/DirEntry\n * @version 0.5.0\n */\n\n /**\n * Constructs a new DirEntry.\n * a directory entry (file or directory) with children that represents a (sub) tree\n * @alias module:model/DirEntry\n * @class\n * @param name {String} \n * @param stats {module:model/Stats} \n * @param children {Array.} \n */\n var exports = function(name, stats, children) {\n var _this = this;\n\n _this['name'] = name;\n _this['stats'] = stats;\n _this['children'] = children;\n };\n\n /**\n * Constructs a DirEntry from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/DirEntry} obj Optional instance to populate.\n * @return {module:model/DirEntry} The populated DirEntry instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('stats')) {\n obj['stats'] = Stats.constructFromObject(data['stats']);\n }\n if (data.hasOwnProperty('children')) {\n obj['children'] = ApiClient.convertToType(data['children'], [DirEntry]);\n }\n }\n return obj;\n }\n\n /**\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * @member {module:model/Stats} stats\n */\n exports.prototype['stats'] = undefined;\n /**\n * @member {Array.} children\n */\n exports.prototype['children'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/DirEntry.js\n ** module id = 4\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Stats = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Stats model module.\n * @module model/Stats\n * @version 0.5.0\n */\n\n /**\n * Constructs a new Stats.\n * simplified/augmented fs.Stats class - see node.js doc for all properties\n * @alias module:model/Stats\n * @class\n * @param type {module:model/Stats.TypeEnum} All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n * @param birthtime {Date} \n * @param mtime {Date} \n * @param mode {String} \n * @param size {Integer} \n * @param nlink {Integer} \n */\n var exports = function(type, birthtime, mtime, mode, size, nlink) {\n var _this = this;\n\n _this['type'] = type;\n _this['birthtime'] = birthtime;\n _this['mtime'] = mtime;\n _this['mode'] = mode;\n _this['size'] = size;\n _this['nlink'] = nlink;\n };\n\n /**\n * Constructs a Stats from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Stats} obj Optional instance to populate.\n * @return {module:model/Stats} The populated Stats instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('type')) {\n obj['type'] = ApiClient.convertToType(data['type'], 'String');\n }\n if (data.hasOwnProperty('birthtime')) {\n obj['birthtime'] = ApiClient.convertToType(data['birthtime'], 'Date');\n }\n if (data.hasOwnProperty('mtime')) {\n obj['mtime'] = ApiClient.convertToType(data['mtime'], 'Date');\n }\n if (data.hasOwnProperty('mode')) {\n obj['mode'] = ApiClient.convertToType(data['mode'], 'String');\n }\n if (data.hasOwnProperty('size')) {\n obj['size'] = ApiClient.convertToType(data['size'], 'Integer');\n }\n if (data.hasOwnProperty('nlink')) {\n obj['nlink'] = ApiClient.convertToType(data['nlink'], 'Integer');\n }\n }\n return obj;\n }\n\n /**\n * All types except 'DUMMY' come from fs.Stats is*** methods results. (e.g. if isFile() is true, then type will be 'FILE') If type is not decidable by the methods, default type is 'FILE', for everything on the file system is basically a file. 'DUMMY' type means that some object 'does not exist for now'. Client may use 'DUMMY' type to mark something dangling, not written or created on real file system yet but visible to user. \n * @member {module:model/Stats.TypeEnum} type\n */\n exports.prototype['type'] = undefined;\n /**\n * @member {Date} birthtime\n */\n exports.prototype['birthtime'] = undefined;\n /**\n * @member {Date} mtime\n */\n exports.prototype['mtime'] = undefined;\n /**\n * @member {String} mode\n */\n exports.prototype['mode'] = undefined;\n /**\n * @member {Integer} size\n */\n exports.prototype['size'] = undefined;\n /**\n * @member {Integer} nlink\n */\n exports.prototype['nlink'] = undefined;\n\n\n /**\n * Allowed values for the type property.\n * @enum {String}\n * @readonly\n */\n exports.TypeEnum = {\n /**\n * value: \"FILE\"\n * @const\n */\n \"FILE\": \"FILE\",\n /**\n * value: \"DIRECTORY\"\n * @const\n */\n \"DIRECTORY\": \"DIRECTORY\",\n /**\n * value: \"BLOCK_DEVICE\"\n * @const\n */\n \"BLOCK_DEVICE\": \"BLOCK_DEVICE\",\n /**\n * value: \"CHARACTER_DEVICE\"\n * @const\n */\n \"CHARACTER_DEVICE\": \"CHARACTER_DEVICE\",\n /**\n * value: \"LINK\"\n * @const\n */\n \"LINK\": \"LINK\",\n /**\n * value: \"FIFO\"\n * @const\n */\n \"FIFO\": \"FIFO\",\n /**\n * value: \"SOCKET\"\n * @const\n */\n \"SOCKET\": \"SOCKET\",\n /**\n * value: \"DUMMY\"\n * @const\n */\n \"DUMMY\": \"DUMMY\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Stats.js\n ** module id = 5\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.ChildProcess = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The ChildProcess model module.\n * @module model/ChildProcess\n * @version 0.5.0\n */\n\n /**\n * Constructs a new ChildProcess.\n * a process in execution, spawned by async exec or other mean\n * @alias module:model/ChildProcess\n * @class\n * @param pid {Integer} child process pid\n * @param command {String} execution command in execution request\n * @param args {Array.} arguments of command in execution request\n * @param execId {String} execution id from execution request\n * @param state {module:model/ChildProcess.StateEnum} state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. \n * @param startedAt {Date} the time when this process is spawned\n */\n var exports = function(pid, command, args, execId, state, startedAt) {\n var _this = this;\n\n _this['pid'] = pid;\n _this['command'] = command;\n _this['args'] = args;\n _this['execId'] = execId;\n _this['state'] = state;\n _this['startedAt'] = startedAt;\n\n\n };\n\n /**\n * Constructs a ChildProcess from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/ChildProcess} obj Optional instance to populate.\n * @return {module:model/ChildProcess} The populated ChildProcess instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('pid')) {\n obj['pid'] = ApiClient.convertToType(data['pid'], 'Integer');\n }\n if (data.hasOwnProperty('command')) {\n obj['command'] = ApiClient.convertToType(data['command'], 'String');\n }\n if (data.hasOwnProperty('args')) {\n obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n }\n if (data.hasOwnProperty('execId')) {\n obj['execId'] = ApiClient.convertToType(data['execId'], 'String');\n }\n if (data.hasOwnProperty('state')) {\n obj['state'] = ApiClient.convertToType(data['state'], 'String');\n }\n if (data.hasOwnProperty('startedAt')) {\n obj['startedAt'] = ApiClient.convertToType(data['startedAt'], 'Date');\n }\n if (data.hasOwnProperty('exitCode')) {\n obj['exitCode'] = ApiClient.convertToType(data['exitCode'], 'Integer');\n }\n if (data.hasOwnProperty('exitSignal')) {\n obj['exitSignal'] = ApiClient.convertToType(data['exitSignal'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * child process pid\n * @member {Integer} pid\n */\n exports.prototype['pid'] = undefined;\n /**\n * execution command in execution request\n * @member {String} command\n */\n exports.prototype['command'] = undefined;\n /**\n * arguments of command in execution request\n * @member {Array.} args\n */\n exports.prototype['args'] = undefined;\n /**\n * execution id from execution request\n * @member {String} execId\n */\n exports.prototype['execId'] = undefined;\n /**\n * state of process. Where CREATED - process is just created. no event has arrived yet WORKING - some output on stdout/stderr is arrived KILLING - sent kill signal, by cancel operation or error event from the process EXITED - process has exited. \n * @member {module:model/ChildProcess.StateEnum} state\n */\n exports.prototype['state'] = undefined;\n /**\n * the time when this process is spawned\n * @member {Date} startedAt\n */\n exports.prototype['startedAt'] = undefined;\n /**\n * the exit code of child process. available with EXITED procs only.\n * @member {Integer} exitCode\n */\n exports.prototype['exitCode'] = undefined;\n /**\n * the signal that killed this child process.(not always available)\n * @member {String} exitSignal\n */\n exports.prototype['exitSignal'] = undefined;\n\n\n /**\n * Allowed values for the state property.\n * @enum {String}\n * @readonly\n */\n exports.StateEnum = {\n /**\n * value: \"CREATED\"\n * @const\n */\n \"CREATED\": \"CREATED\",\n /**\n * value: \"WORKING\"\n * @const\n */\n \"WORKING\": \"WORKING\",\n /**\n * value: \"KILLING\"\n * @const\n */\n \"KILLING\": \"KILLING\",\n /**\n * value: \"EXITED\"\n * @const\n */\n \"EXITED\": \"EXITED\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/ChildProcess.js\n ** module id = 7\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Credential = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Credential model module.\n * @module model/Credential\n * @version 0.5.0\n */\n\n /**\n * Constructs a new Credential.\n * user credential to login. Use https to protect credential.\n * @alias module:model/Credential\n * @class\n * @param loginId {String} \n * @param loginPassword {String} \n */\n var exports = function(loginId, loginPassword) {\n var _this = this;\n\n _this['loginId'] = loginId;\n _this['loginPassword'] = loginPassword;\n\n };\n\n /**\n * Constructs a Credential from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Credential} obj Optional instance to populate.\n * @return {module:model/Credential} The populated Credential instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('loginId')) {\n obj['loginId'] = ApiClient.convertToType(data['loginId'], 'String');\n }\n if (data.hasOwnProperty('loginPassword')) {\n obj['loginPassword'] = ApiClient.convertToType(data['loginPassword'], 'String');\n }\n if (data.hasOwnProperty('masterToken')) {\n obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {String} loginId\n */\n exports.prototype['loginId'] = undefined;\n /**\n * @member {String} loginPassword\n */\n exports.prototype['loginPassword'] = undefined;\n /**\n * a master token is issued when user wants to access webida api without id/password from remote or local desktop app. When masterToken is set, client should put some bogus id/password, non-empty. (The values can be used to identify client type) \n * @member {String} masterToken\n */\n exports.prototype['masterToken'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Credential.js\n ** module id = 8\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Execution = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Execution model module.\n * @module model/Execution\n * @version 0.5.0\n */\n\n /**\n * Constructs a new Execution.\n * execution request, simlilar to node.js exec()/spawn(). see node.js documentation for details of each properties. some properties are not configurable for portability - encoding : fixed to utf-8 - shell : fixed to system defaults. (so, cmd.exe will be invoked in Windows OS, not sh or bash in git-for-windows even they are available.) - killSignal : fixed to SIGTERM. If process does not die, server can send SIGKILL or invoke taskkill, to ensure chlid process is killed. - uid & gid : will not be set for security - stdio : all streams are handled by server. no options are avaliable to client. - detached : always false \n * @alias module:model/Execution\n * @class\n * @param command {String} The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. \n * @param args {Array.} the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\\\Program Files\\\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. \n */\n var exports = function(command, args) {\n var _this = this;\n\n\n _this['command'] = command;\n _this['args'] = args;\n\n\n\n };\n\n /**\n * Constructs a Execution from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Execution} obj Optional instance to populate.\n * @return {module:model/Execution} The populated Execution instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('command')) {\n obj['command'] = ApiClient.convertToType(data['command'], 'String');\n }\n if (data.hasOwnProperty('args')) {\n obj['args'] = ApiClient.convertToType(data['args'], ['String']);\n }\n if (data.hasOwnProperty('cwd')) {\n obj['cwd'] = ApiClient.convertToType(data['cwd'], 'String');\n }\n if (data.hasOwnProperty('timeout')) {\n obj['timeout'] = ApiClient.convertToType(data['timeout'], 'Integer');\n }\n if (data.hasOwnProperty('maxBuffer')) {\n obj['maxBuffer'] = ApiClient.convertToType(data['maxBuffer'], 'Integer');\n }\n }\n return obj;\n }\n\n /**\n * unique identifier of execution, to demux response stream or cancel request. Server should reject an async exec request without id. \n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * The command to run. Server may not support pipe, redirection nor shell variables in command. Client should not assume any 'specific shell' in server and should not using the shell features for portability. In windows system with unix sh (e.g. cygwin or mingw from git-for-windows), usually a shell script in PATH may work as command but probably allocates console window while running the command. Implementations (both of server & client) should avoid allocating additional console device while running service for costs and UX, and should provide a portable way to invoke commands. Shortly, when a service/product embeds some '.sh' file to run, it must provide '.cmd' file doing same thing, always. \n * @member {String} command\n */\n exports.prototype['command'] = undefined;\n /**\n * the arguments array. Server can join this args to command with proper white-space char, when underlying platform api (e.g. child_process#exec() in node.js) does not support additional arguments vector. It's recommended to use args vector than making a long command, to find & see child processes easily with this Rest API. So, args should be always provided, even empty array. When some arguments has a white space (e.g. C:\\\\Program Files\\\\webida), usually invoking command understands escaping or quotation, but not always. Client should add proper escaping or quotation chars to args vector manually. server should not change any command or arguments. \n * @member {Array.} args\n */\n exports.prototype['args'] = undefined;\n /**\n * Current working directory of spawned process, relative to workspace root. If abscent, cwd will be the workspace directory. Does not accept any evaluatable form like $HOME, %USERPROFILE%. path should be unixified. Server may reject an 'absolute' property. \n * @member {String} cwd\n */\n exports.prototype['cwd'] = undefined;\n /**\n * The value which In 'miliseconds' the maximum amount of time the child is allowed to run. (not idle time of stdout / stderr stream) for sync exec. Server should not apply default value for async exec, when omitted. The child process spawned by async execution should be killed when 1) server goes down 2) process exits by self 3) cancel operation is invoked \n * @member {Integer} timeout\n */\n exports.prototype['timeout'] = undefined;\n /**\n * Largest amount of data (in bytes) allowed on stdout or stderr for sync exec. Server should not apply this limit to async execution. In sync exec, server may kill a child process that has exceeded limit. default value is 512KB, large enough. \n * @member {Integer} maxBuffer\n */\n exports.prototype['maxBuffer'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Execution.js\n ** module id = 9\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.ExecutionResult = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The ExecutionResult model module.\n * @module model/ExecutionResult\n * @version 0.5.0\n */\n\n /**\n * Constructs a new ExecutionResult.\n * execution response\n * @alias module:model/ExecutionResult\n * @class\n * @param stdout {String} standard out of child process.\n * @param stderr {String} standard error of child process.\n */\n var exports = function(stdout, stderr) {\n var _this = this;\n\n\n _this['stdout'] = stdout;\n _this['stderr'] = stderr;\n };\n\n /**\n * Constructs a ExecutionResult from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/ExecutionResult} obj Optional instance to populate.\n * @return {module:model/ExecutionResult} The populated ExecutionResult instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('error')) {\n obj['error'] = ApiClient.convertToType(data['error'], 'String');\n }\n if (data.hasOwnProperty('stdout')) {\n obj['stdout'] = ApiClient.convertToType(data['stdout'], 'String');\n }\n if (data.hasOwnProperty('stderr')) {\n obj['stderr'] = ApiClient.convertToType(data['stderr'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * error message when execution failed.\n * @member {String} error\n */\n exports.prototype['error'] = undefined;\n /**\n * standard out of child process.\n * @member {String} stdout\n */\n exports.prototype['stdout'] = undefined;\n /**\n * standard error of child process.\n * @member {String} stderr\n */\n exports.prototype['stderr'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/ExecutionResult.js\n ** module id = 10\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RemoteAccess = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The RemoteAccess model module.\n * @module model/RemoteAccess\n * @version 0.5.0\n */\n\n /**\n * Constructs a new RemoteAccess.\n * Access information of remote workspace in remote server\n * @alias module:model/RemoteAccess\n * @class\n * @param name {String} display text of remote workspace. can be different from original name. \n * @param serverUrl {String} the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n * @param workspaceId {String} the id of remote workspace, read from remote server\n * @param masterToken {String} master token to access service, issued from remote server\n */\n var exports = function(name, serverUrl, workspaceId, masterToken) {\n var _this = this;\n\n _this['name'] = name;\n _this['serverUrl'] = serverUrl;\n _this['workspaceId'] = workspaceId;\n\n _this['masterToken'] = masterToken;\n };\n\n /**\n * Constructs a RemoteAccess from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/RemoteAccess} obj Optional instance to populate.\n * @return {module:model/RemoteAccess} The populated RemoteAccess instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('serverUrl')) {\n obj['serverUrl'] = ApiClient.convertToType(data['serverUrl'], 'String');\n }\n if (data.hasOwnProperty('workspaceId')) {\n obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n }\n if (data.hasOwnProperty('workspacePath')) {\n obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n }\n if (data.hasOwnProperty('masterToken')) {\n obj['masterToken'] = ApiClient.convertToType(data['masterToken'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * display text of remote workspace. can be different from original name. \n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * the url of remote server. Should have no path/query parameters, even \\\"/\\\" in path. \n * @member {String} serverUrl\n */\n exports.prototype['serverUrl'] = undefined;\n /**\n * the id of remote workspace, read from remote server\n * @member {String} workspaceId\n */\n exports.prototype['workspaceId'] = undefined;\n /**\n * Full path of remote workspace, read from remote server. this property will be removed when clients are able to work without \\\"named root directory\\\" in workspace fs tree. \n * @member {String} workspacePath\n */\n exports.prototype['workspacePath'] = undefined;\n /**\n * master token to access service, issued from remote server\n * @member {String} masterToken\n */\n exports.prototype['masterToken'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/RemoteAccess.js\n ** module id = 11\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Session = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Session model module.\n * @module model/Session\n * @version 0.5.0\n */\n\n /**\n * Constructs a new Session.\n * an application session per ide instance. bound to access token\n * @alias module:model/Session\n * @class\n * @param id {String} the id of a session. usually same to socket id.\n * @param name {String} human readable name, usually derived from workspace name.\n * @param state {module:model/Session.StateEnum} state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n * @param clientAddress {String} the peer address of session connection. not always\n * @param connectedAt {Date} the time when socket connection is established\n * @param disconnectedAt {Date} the time when socket is closed.\n */\n var exports = function(id, name, state, clientAddress, connectedAt, disconnectedAt) {\n var _this = this;\n\n _this['id'] = id;\n _this['name'] = name;\n _this['state'] = state;\n\n _this['clientAddress'] = clientAddress;\n _this['connectedAt'] = connectedAt;\n _this['disconnectedAt'] = disconnectedAt;\n\n\n };\n\n /**\n * Constructs a Session from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Session} obj Optional instance to populate.\n * @return {module:model/Session} The populated Session instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('state')) {\n obj['state'] = ApiClient.convertToType(data['state'], 'String');\n }\n if (data.hasOwnProperty('workspaceId')) {\n obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n }\n if (data.hasOwnProperty('clientAddress')) {\n obj['clientAddress'] = ApiClient.convertToType(data['clientAddress'], 'String');\n }\n if (data.hasOwnProperty('connectedAt')) {\n obj['connectedAt'] = ApiClient.convertToType(data['connectedAt'], 'Date');\n }\n if (data.hasOwnProperty('disconnectedAt')) {\n obj['disconnectedAt'] = ApiClient.convertToType(data['disconnectedAt'], 'Date');\n }\n if (data.hasOwnProperty('willCloseAt')) {\n obj['willCloseAt'] = ApiClient.convertToType(data['willCloseAt'], 'Date');\n }\n if (data.hasOwnProperty('willLoseAt')) {\n obj['willLoseAt'] = ApiClient.convertToType(data['willLoseAt'], 'Date');\n }\n }\n return obj;\n }\n\n /**\n * the id of a session. usually same to socket id.\n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * human readable name, usually derived from workspace name.\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * state of this session NORMAL = connected, normally working LOSING = disconnected, waiting reconnection. still accessible with api CLOSING = socket connection will close connection by server (clinet will be notified) there\\\"s no \\\"CLOSED\\\" / \\\"LOST\\\" state, for server will remove session object in registry when the server closes connection or stops waiting for reconnection for timeout. \n * @member {module:model/Session.StateEnum} state\n */\n exports.prototype['state'] = undefined;\n /**\n * the id of workspace that this sessions is working on. If falsy, then this session is not belonged to any workpsace. Usually, dashboard / monitoring app will create a session without workspace id. \n * @member {String} workspaceId\n */\n exports.prototype['workspaceId'] = undefined;\n /**\n * the peer address of session connection. not always\n * @member {String} clientAddress\n */\n exports.prototype['clientAddress'] = undefined;\n /**\n * the time when socket connection is established\n * @member {Date} connectedAt\n */\n exports.prototype['connectedAt'] = undefined;\n /**\n * the time when socket is closed.\n * @member {Date} disconnectedAt\n */\n exports.prototype['disconnectedAt'] = undefined;\n /**\n * when state becomes CLOSING, actual closing time will be updated by server.\n * @member {Date} willCloseAt\n */\n exports.prototype['willCloseAt'] = undefined;\n /**\n * when state becomes LOSING, server will not wait for reconnection after this time.\n * @member {Date} willLoseAt\n */\n exports.prototype['willLoseAt'] = undefined;\n\n\n /**\n * Allowed values for the state property.\n * @enum {String}\n * @readonly\n */\n exports.StateEnum = {\n /**\n * value: \"NORMAL\"\n * @const\n */\n \"NORMAL\": \"NORMAL\",\n /**\n * value: \"LOSING\"\n * @const\n */\n \"LOSING\": \"LOSING\",\n /**\n * value: \"CLOSING\"\n * @const\n */\n \"CLOSING\": \"CLOSING\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Session.js\n ** module id = 12\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Token = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Token model module.\n * @module model/Token\n * @version 0.5.0\n */\n\n /**\n * Constructs a new Token.\n * a json webtoken and accessible data\n * @alias module:model/Token\n * @class\n * @param text {String} actual token text that should be shipped in header or query\n * @param tokenType {module:model/Token.TokenTypeEnum} MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n * @param expiresAt {Date} \n * @param issuedAt {Date} \n */\n var exports = function(text, tokenType, expiresAt, issuedAt) {\n var _this = this;\n\n _this['text'] = text;\n _this['tokenType'] = tokenType;\n _this['expiresAt'] = expiresAt;\n _this['issuedAt'] = issuedAt;\n\n\n };\n\n /**\n * Constructs a Token from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Token} obj Optional instance to populate.\n * @return {module:model/Token} The populated Token instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('text')) {\n obj['text'] = ApiClient.convertToType(data['text'], 'String');\n }\n if (data.hasOwnProperty('tokenType')) {\n obj['tokenType'] = ApiClient.convertToType(data['tokenType'], 'String');\n }\n if (data.hasOwnProperty('expiresAt')) {\n obj['expiresAt'] = ApiClient.convertToType(data['expiresAt'], 'Date');\n }\n if (data.hasOwnProperty('issuedAt')) {\n obj['issuedAt'] = ApiClient.convertToType(data['issuedAt'], 'Date');\n }\n if (data.hasOwnProperty('sessionId')) {\n obj['sessionId'] = ApiClient.convertToType(data['sessionId'], 'String');\n }\n if (data.hasOwnProperty('workspaceId')) {\n obj['workspaceId'] = ApiClient.convertToType(data['workspaceId'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * actual token text that should be shipped in header or query\n * @member {String} text\n */\n exports.prototype['text'] = undefined;\n /**\n * MASTER : used to create an access token from clients, without login credential ACCESS : protects api access. should be unique for each ide session Note that here\\\"s no REFRESH token, nor LOGIN token. The login api will create unrestricted access token & master token pair. Desktop app has a side-way to create an unrestricted master token before starting IDE instances. \n * @member {module:model/Token.TokenTypeEnum} tokenType\n */\n exports.prototype['tokenType'] = undefined;\n /**\n * @member {Date} expiresAt\n */\n exports.prototype['expiresAt'] = undefined;\n /**\n * @member {Date} issuedAt\n */\n exports.prototype['issuedAt'] = undefined;\n /**\n * mandatory for ACCESS token, identifying client instance\n * @member {String} sessionId\n */\n exports.prototype['sessionId'] = undefined;\n /**\n * If truthy, access rights are restricted to specified workspace only.\n * @member {String} workspaceId\n */\n exports.prototype['workspaceId'] = undefined;\n\n\n /**\n * Allowed values for the tokenType property.\n * @enum {String}\n * @readonly\n */\n exports.TokenTypeEnum = {\n /**\n * value: \"MASTER\"\n * @const\n */\n \"MASTER\": \"MASTER\",\n /**\n * value: \"ACCESS\"\n * @const\n */\n \"ACCESS\": \"ACCESS\" };\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Token.js\n ** module id = 13\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.User = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The User model module.\n * @module model/User\n * @version 0.5.0\n */\n\n /**\n * Constructs a new User.\n * Any services/products should define some admin apis to manage users in the system and expose what should be exposed to client app. So, no properties are mandatory. Currently, the properties are defined for compatiblity with legacy clients. \n * @alias module:model/User\n * @class\n */\n var exports = function() {\n var _this = this;\n\n\n\n\n };\n\n /**\n * Constructs a User from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/User} obj Optional instance to populate.\n * @return {module:model/User} The populated User instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('email')) {\n obj['email'] = ApiClient.convertToType(data['email'], 'String');\n }\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * unique id per user (email is also unique)\n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * @member {String} email\n */\n exports.prototype['email'] = undefined;\n /**\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/User.js\n ** module id = 14\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Workspace = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Workspace model module.\n * @module model/Workspace\n * @version 0.5.0\n */\n\n /**\n * Constructs a new Workspace.\n * A workspace in server\n * @alias module:model/Workspace\n * @class\n * @param id {String} the id of a workspace. usually same to file system id\n * @param name {String} display text of this workspace for UI\n * @param description {String} human readable description on this workspace\n * @param createdAt {Date} the time when this workspace is created (registered from local file system)\n * @param workspacePath {String} absolute path of this workspace in server.\n * @param excludedPaths {Array.} glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n * @param offlineCachePaths {Array.} any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n */\n var exports = function(id, name, description, createdAt, workspacePath, excludedPaths, offlineCachePaths) {\n var _this = this;\n\n _this['id'] = id;\n _this['name'] = name;\n _this['description'] = description;\n _this['createdAt'] = createdAt;\n\n _this['workspacePath'] = workspacePath;\n _this['excludedPaths'] = excludedPaths;\n _this['offlineCachePaths'] = offlineCachePaths;\n };\n\n /**\n * Constructs a Workspace from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Workspace} obj Optional instance to populate.\n * @return {module:model/Workspace} The populated Workspace instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('id')) {\n obj['id'] = ApiClient.convertToType(data['id'], 'String');\n }\n if (data.hasOwnProperty('name')) {\n obj['name'] = ApiClient.convertToType(data['name'], 'String');\n }\n if (data.hasOwnProperty('description')) {\n obj['description'] = ApiClient.convertToType(data['description'], 'String');\n }\n if (data.hasOwnProperty('createdAt')) {\n obj['createdAt'] = ApiClient.convertToType(data['createdAt'], 'Date');\n }\n if (data.hasOwnProperty('accessedAt')) {\n obj['accessedAt'] = ApiClient.convertToType(data['accessedAt'], 'Date');\n }\n if (data.hasOwnProperty('workspacePath')) {\n obj['workspacePath'] = ApiClient.convertToType(data['workspacePath'], 'String');\n }\n if (data.hasOwnProperty('excludedPaths')) {\n obj['excludedPaths'] = ApiClient.convertToType(data['excludedPaths'], ['String']);\n }\n if (data.hasOwnProperty('offlineCachePaths')) {\n obj['offlineCachePaths'] = ApiClient.convertToType(data['offlineCachePaths'], ['String']);\n }\n }\n return obj;\n }\n\n /**\n * the id of a workspace. usually same to file system id\n * @member {String} id\n */\n exports.prototype['id'] = undefined;\n /**\n * display text of this workspace for UI\n * @member {String} name\n */\n exports.prototype['name'] = undefined;\n /**\n * human readable description on this workspace\n * @member {String} description\n */\n exports.prototype['description'] = undefined;\n /**\n * the time when this workspace is created (registered from local file system)\n * @member {Date} createdAt\n */\n exports.prototype['createdAt'] = undefined;\n /**\n * the time when the last session on this workspace was made. (optional)\n * @member {Date} accessedAt\n */\n exports.prototype['accessedAt'] = undefined;\n /**\n * absolute path of this workspace in server.\n * @member {String} workspacePath\n */\n exports.prototype['workspacePath'] = undefined;\n /**\n * glob patterns (Not regular expression!) or directory paths (Not a file path!) to be excluded for watch service and search & replace operation. If a value has no '*' char, it will be treated as directory path. Like most of operation parameters, paths (and patterns not prefixed with '*') should have relative, unixified form. If not, server should reject or discard the absolute values. If a directory is specified to be excluded, watch service may deliver unlinkDir/addDir events of the dir, but should not deliver any events from its sub-dirs and files. Search and replace operation should ignore any files under the directory. If path denotes a file, server may reject or discard the path. Server should support basic glob pattern, '**' and '*' in the glob pattern but not ! '!' prefix is optional. Client should not register any other extended glob features that server does not support. \n * @member {Array.} excludedPaths\n */\n exports.prototype['excludedPaths'] = undefined;\n /**\n * any paths (including excluded paths) to be cached in remote clients. Browser client should respect offline cache paths always. Desktop-app client may not use off-line cache for local (embedded) server but shall use cache for any remote servers, even for same host. All caches should be partitioned with workspace id, globally unique value through time and space. Client should pre-fetch the contents of offline cache paths when it start IDE sessions on a workspace to use for off-line state. When client goes to off-line, after losing connection to server, it can use cached data as reply of some WFS operations and can write some data to cache to save workspace data & metadata. The changes should be persistent on client side safely. C When a client recovers connectivity to server, it should check the stats of files and dirs to upload if it has got some changes in offline state. If server has more recents contents, client should drop chagnes and refill the cache with fresher data. Client may have some 'time-tolerance' to accept server's data is fresher than client's, smaller than serveral seconds. If server has more recent contents, client should drop the changes and refill the cache with fresher data. If not, client should replay the changes 1 by 1. Same protocol should be applied when client application starts with some 'unuploaded change' evertime. That means, client should save 'change history' with 'changed data' too, to process it later, when starting app again in normal condition. All Clients should not replay any 'delete' operations while replaying changes on client's cache, to protect from more serious problems with skewed timer or unexpected behaviors. And, of course, client should not rely on cached data while connection state is healthy. \n * @member {Array.} offlineCachePaths\n */\n exports.prototype['offlineCachePaths'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Workspace.js\n ** module id = 15\n ** module chunks = 0\n **/","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.superagent = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o= 200 && res.status < 300) {\n return self.callback(err, res);\n }\n\n var new_err = new Error(res.statusText || 'Unsuccessful HTTP response');\n new_err.original = err;\n new_err.response = res;\n new_err.status = res.status;\n\n self.callback(new_err, res);\n } catch(e) {\n self.callback(e); // #985 touching res may cause INVALID_STATE_ERR on old Android\n }\n });\n}\n\n/**\n * Mixin `Emitter` and `requestBase`.\n */\n\nEmitter(Request.prototype);\nfor (var key in requestBase) {\n Request.prototype[key] = requestBase[key];\n}\n\n/**\n * Set Content-Type to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.xml = 'application/xml';\n *\n * request.post('/')\n * .type('xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * request.post('/')\n * .type('application/xml')\n * .send(xmlstring)\n * .end(callback);\n *\n * @param {String} type\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.type = function(type){\n this.set('Content-Type', request.types[type] || type);\n return this;\n};\n\n/**\n * Set responseType to `val`. Presently valid responseTypes are 'blob' and\n * 'arraybuffer'.\n *\n * Examples:\n *\n * req.get('/')\n * .responseType('blob')\n * .end(callback);\n *\n * @param {String} val\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.responseType = function(val){\n this._responseType = val;\n return this;\n};\n\n/**\n * Set Accept to `type`, mapping values from `request.types`.\n *\n * Examples:\n *\n * superagent.types.json = 'application/json';\n *\n * request.get('/agent')\n * .accept('json')\n * .end(callback);\n *\n * request.get('/agent')\n * .accept('application/json')\n * .end(callback);\n *\n * @param {String} accept\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.accept = function(type){\n this.set('Accept', request.types[type] || type);\n return this;\n};\n\n/**\n * Set Authorization field value with `user` and `pass`.\n *\n * @param {String} user\n * @param {String} pass\n * @param {Object} options with 'type' property 'auto' or 'basic' (default 'basic')\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.auth = function(user, pass, options){\n if (!options) {\n options = {\n type: 'basic'\n }\n }\n\n switch (options.type) {\n case 'basic':\n var str = btoa(user + ':' + pass);\n this.set('Authorization', 'Basic ' + str);\n break;\n\n case 'auto':\n this.username = user;\n this.password = pass;\n break;\n }\n return this;\n};\n\n/**\n* Add query-string `val`.\n*\n* Examples:\n*\n* request.get('/shoes')\n* .query('size=10')\n* .query({ color: 'blue' })\n*\n* @param {Object|String} val\n* @return {Request} for chaining\n* @api public\n*/\n\nRequest.prototype.query = function(val){\n if ('string' != typeof val) val = serialize(val);\n if (val) this._query.push(val);\n return this;\n};\n\n/**\n * Queue the given `file` as an attachment to the specified `field`,\n * with optional `filename`.\n *\n * ``` js\n * request.post('/upload')\n * .attach('content', new Blob(['hey!'], { type: \"text/html\"}))\n * .end(callback);\n * ```\n *\n * @param {String} field\n * @param {Blob|File} file\n * @param {String} filename\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.attach = function(field, file, filename){\n this._getFormData().append(field, file, filename || file.name);\n return this;\n};\n\nRequest.prototype._getFormData = function(){\n if (!this._formData) {\n this._formData = new root.FormData();\n }\n return this._formData;\n};\n\n/**\n * Invoke the callback with `err` and `res`\n * and handle arity check.\n *\n * @param {Error} err\n * @param {Response} res\n * @api private\n */\n\nRequest.prototype.callback = function(err, res){\n var fn = this._callback;\n this.clearTimeout();\n fn(err, res);\n};\n\n/**\n * Invoke callback with x-domain error.\n *\n * @api private\n */\n\nRequest.prototype.crossDomainError = function(){\n var err = new Error('Request has been terminated\\nPossible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.');\n err.crossDomain = true;\n\n err.status = this.status;\n err.method = this.method;\n err.url = this.url;\n\n this.callback(err);\n};\n\n/**\n * Invoke callback with timeout error.\n *\n * @api private\n */\n\nRequest.prototype._timeoutError = function(){\n var timeout = this._timeout;\n var err = new Error('timeout of ' + timeout + 'ms exceeded');\n err.timeout = timeout;\n this.callback(err);\n};\n\n/**\n * Compose querystring to append to req.url\n *\n * @api private\n */\n\nRequest.prototype._appendQueryString = function(){\n var query = this._query.join('&');\n if (query) {\n this.url += ~this.url.indexOf('?')\n ? '&' + query\n : '?' + query;\n }\n};\n\n/**\n * Initiate request, invoking callback `fn(res)`\n * with an instanceof `Response`.\n *\n * @param {Function} fn\n * @return {Request} for chaining\n * @api public\n */\n\nRequest.prototype.end = function(fn){\n var self = this;\n var xhr = this.xhr = request.getXHR();\n var timeout = this._timeout;\n var data = this._formData || this._data;\n\n // store callback\n this._callback = fn || noop;\n\n // state change\n xhr.onreadystatechange = function(){\n if (4 != xhr.readyState) return;\n\n // In IE9, reads to any property (e.g. status) off of an aborted XHR will\n // result in the error \"Could not complete the operation due to error c00c023f\"\n var status;\n try { status = xhr.status } catch(e) { status = 0; }\n\n if (0 == status) {\n if (self.timedout) return self._timeoutError();\n if (self._aborted) return;\n return self.crossDomainError();\n }\n self.emit('end');\n };\n\n // progress\n var handleProgress = function(e){\n if (e.total > 0) {\n e.percent = e.loaded / e.total * 100;\n }\n e.direction = 'download';\n self.emit('progress', e);\n };\n if (this.hasListeners('progress')) {\n xhr.onprogress = handleProgress;\n }\n try {\n if (xhr.upload && this.hasListeners('progress')) {\n xhr.upload.onprogress = handleProgress;\n }\n } catch(e) {\n // Accessing xhr.upload fails in IE from a web worker, so just pretend it doesn't exist.\n // Reported here:\n // https://connect.microsoft.com/IE/feedback/details/837245/xmlhttprequest-upload-throws-invalid-argument-when-used-from-web-worker-context\n }\n\n // timeout\n if (timeout && !this._timer) {\n this._timer = setTimeout(function(){\n self.timedout = true;\n self.abort();\n }, timeout);\n }\n\n // querystring\n this._appendQueryString();\n\n // initiate request\n if (this.username && this.password) {\n xhr.open(this.method, this.url, true, this.username, this.password);\n } else {\n xhr.open(this.method, this.url, true);\n }\n\n // CORS\n if (this._withCredentials) xhr.withCredentials = true;\n\n // body\n if ('GET' != this.method && 'HEAD' != this.method && 'string' != typeof data && !this._isHost(data)) {\n // serialize stuff\n var contentType = this._header['content-type'];\n var serialize = this._serializer || request.serialize[contentType ? contentType.split(';')[0] : ''];\n if (!serialize && isJSON(contentType)) serialize = request.serialize['application/json'];\n if (serialize) data = serialize(data);\n }\n\n // set header fields\n for (var field in this.header) {\n if (null == this.header[field]) continue;\n xhr.setRequestHeader(field, this.header[field]);\n }\n\n if (this._responseType) {\n xhr.responseType = this._responseType;\n }\n\n // send stuff\n this.emit('request', this);\n\n // IE11 xhr.send(undefined) sends 'undefined' string as POST payload (instead of nothing)\n // We need null here if data is undefined\n xhr.send(typeof data !== 'undefined' ? data : null);\n return this;\n};\n\n\n/**\n * Expose `Request`.\n */\n\nrequest.Request = Request;\n\n/**\n * GET `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.get = function(url, data, fn){\n var req = request('GET', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.query(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * HEAD `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.head = function(url, data, fn){\n var req = request('HEAD', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * OPTIONS query to `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.options = function(url, data, fn){\n var req = request('OPTIONS', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * DELETE `url` with optional callback `fn(res)`.\n *\n * @param {String} url\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nfunction del(url, fn){\n var req = request('DELETE', url);\n if (fn) req.end(fn);\n return req;\n};\n\nrequest['del'] = del;\nrequest['delete'] = del;\n\n/**\n * PATCH `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} data\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.patch = function(url, data, fn){\n var req = request('PATCH', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * POST `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed} data\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.post = function(url, data, fn){\n var req = request('POST', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n/**\n * PUT `url` with optional `data` and callback `fn(res)`.\n *\n * @param {String} url\n * @param {Mixed|Function} data or fn\n * @param {Function} fn\n * @return {Request}\n * @api public\n */\n\nrequest.put = function(url, data, fn){\n var req = request('PUT', url);\n if ('function' == typeof data) fn = data, data = null;\n if (data) req.send(data);\n if (fn) req.end(fn);\n return req;\n};\n\n},{\"./is-object\":1,\"./request\":3,\"./request-base\":2,\"emitter\":4,\"reduce\":5}]},{},[6])(6)\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/superagent/superagent.js\n ** module id = 16\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/User', 'model/RestError', 'model/Token', 'model/Credential'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/User'), require('../model/RestError'), require('../model/Token'), require('../model/Credential'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.AuthApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.User, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Token, root.WebidaRestfulApi.Credential);\n }\n}(this, function(ApiClient, User, RestError, Token, Credential) {\n 'use strict';\n\n /**\n * Auth service.\n * @module api/AuthApi\n * @version 0.5.0\n */\n\n /**\n * Constructs a new AuthApi. \n * @alias module:api/AuthApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the getInfo operation.\n * @callback module:api/AuthApi~getInfoCallback\n * @param {String} error Error message, if any.\n * @param {module:model/User} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Gets user information of that can be identified with current access token. Implementations should provide a more restful api based on domain data model, not extending this operation. (e.g. GET,PUT and DELETE on /Users/{userId} to read, update and delete user) \n * @param {module:api/AuthApi~getInfoCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/User}\n */\n this.getInfo = function(callback) {\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = User;\n\n return this.apiClient.callApi(\n '/auth/info', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the issueToken operation.\n * @callback module:api/AuthApi~issueTokenCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Token} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates new token from current access token, inheriting workspace id & session id. The duration of generated token is (and should not be) parameterizable. Server should set proper duration, respecting \\"reconnect\\" period of socket.io clients. Remember that most of socket.io client implementations (including official js client) do not provide any ways to change connection parameters (header or query) while reconnecting to server. Like login API, this endpoint does not provide any encryption. Server should not set any data to harm security in the token & should provide some signinig/encryption mechanism to protect token. Simple JSON Web Token with HMAC-SHA will do. \n * @param {module:model/String} type \n * @param {Object} opts Optional parameters\n * @param {String} opts.workspaceId recommended to issue a MASTER type token to restrict remote access\n * @param {module:api/AuthApi~issueTokenCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Token}\n */\n this.issueToken = function(type, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'type' is set\n if (type == undefined || type == null) {\n throw \"Missing the required parameter 'type' when calling issueToken\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n 'type': type,\n 'workspaceId': opts['workspaceId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Token;\n\n return this.apiClient.callApi(\n '/auth/token', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the login operation.\n * @callback module:api/AuthApi~loginCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Token} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * A \\"VERY\\" basic authentication, required to use webida-simple-auth security scheme. Service / Product implementations who need better security, should override this operation or add their own login api or some other specs like OAuth2. Simple auth is not suitable for large-sacle, multi-tennant service, for the scheme assumes a single, trusted user only. Logging-in with master token, the generated access token inherits all restriction from it. On the other hand, normal log-in with login id & password creates an unrestricted access token, with reasonably short expiration time. Every client should spawn another access token with issueToken API before current access token expires, inheriting session id from current token. To save remote access info, client should create a (restricted but long-ttl) master token to start IDE from remote. The remote client should not use the unrestricted acccess token from login to use any other perpose than finding available workspaces, and should not refresh the token. (Let user log-in again) Login API does not force any encryption. Server should provide secure transport channel, usually https, to provide remote access, always. \n * @param {module:model/Credential} body \n * @param {module:api/AuthApi~loginCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Token}\n */\n this.login = function(body, callback) {\n var postBody = body;\n\n // verify the required parameter 'body' is set\n if (body == undefined || body == null) {\n throw \"Missing the required parameter 'body' when calling login\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = [];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Token;\n\n return this.apiClient.callApi(\n '/auth/login', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/AuthApi.js\n ** module id = 17\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.OpsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError);\n }\n}(this, function(ApiClient, RestOK, RestError) {\n 'use strict';\n\n /**\n * Ops service.\n * @module api/OpsApi\n * @version 0.5.0\n */\n\n /**\n * Constructs a new OpsApi. \n * @alias module:api/OpsApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the replace operation.\n * @callback module:api/OpsApi~replaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * replace file contents with regex matching\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {Array.} wfsPathList array of wfsPath, with heading / (collection format may be changed by implementation)\n * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n * @param {String} replaceTo string to replace with\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n * @param {module:api/OpsApi~replaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.replace = function(wfsId, wfsPathList, pattern, replaceTo, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling replace\";\n }\n\n // verify the required parameter 'wfsPathList' is set\n if (wfsPathList == undefined || wfsPathList == null) {\n throw \"Missing the required parameter 'wfsPathList' when calling replace\";\n }\n\n // verify the required parameter 'pattern' is set\n if (pattern == undefined || pattern == null) {\n throw \"Missing the required parameter 'pattern' when calling replace\";\n }\n\n // verify the required parameter 'replaceTo' is set\n if (replaceTo == undefined || replaceTo == null) {\n throw \"Missing the required parameter 'replaceTo' when calling replace\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId\n };\n var queryParams = {\n 'wfsPathList': this.apiClient.buildCollectionParam(wfsPathList, 'multi'),\n 'pattern': pattern,\n 'replaceTo': replaceTo,\n 'ignoreCase': opts['ignoreCase']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/ops/replace', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the search operation.\n * @callback module:api/OpsApi~searchCallback\n * @param {String} error Error message, if any.\n * @param {Object.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * search files in some path, with given pattern\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {String} pattern regex pattern to match in search or replace. In replace operation, pattern should be same to the parttern in search operation \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ignoreCase regex matching option to ignore case. In replace operation, this option should be same to one used in search operation (default to false)\n * @param {module:api/OpsApi~searchCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Object.}\n */\n this.search = function(wfsId, wfsPath, pattern, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling search\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling search\";\n }\n\n // verify the required parameter 'pattern' is set\n if (pattern == undefined || pattern == null) {\n throw \"Missing the required parameter 'pattern' when calling search\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'pattern': pattern,\n 'ignoreCase': opts['ignoreCase']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = {'String': [Match]};\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/ops/search/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/OpsApi.js\n ** module id = 18\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestError', 'model/RemoteAccess', 'model/RestOK'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestError'), require('../model/RemoteAccess'), require('../model/RestOK'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.RemotesApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.RemoteAccess, root.WebidaRestfulApi.RestOK);\n }\n}(this, function(ApiClient, RestError, RemoteAccess, RestOK) {\n 'use strict';\n\n /**\n * Remotes service.\n * @module api/RemotesApi\n * @version 0.5.0\n */\n\n /**\n * Constructs a new RemotesApi. \n * @alias module:api/RemotesApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the findRemoteAccesses operation.\n * @callback module:api/RemotesApi~findRemoteAccessesCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Get all access informations See RemoteWorkspaceAccess definition for details (no fancy find / search feature yet) \n * @param {module:api/RemotesApi~findRemoteAccessesCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findRemoteAccesses = function(callback) {\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [RemoteAccess];\n\n return this.apiClient.callApi(\n '/remotes', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the putRemoteAccess operation.\n * @callback module:api/RemotesApi~putRemoteAccessCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * create or update a remote workspace access information\n * @param {module:model/RemoteAccess} body \n * @param {module:api/RemotesApi~putRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.putRemoteAccess = function(body, callback) {\n var postBody = body;\n\n // verify the required parameter 'body' is set\n if (body == undefined || body == null) {\n throw \"Missing the required parameter 'body' when calling putRemoteAccess\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/remotes', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the removeRemoteAccess operation.\n * @callback module:api/RemotesApi~removeRemoteAccessCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RemoteAccess} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * delete a remote workspace\n * @param {String} workspaceId workspace Id of remote workspace\n * @param {module:api/RemotesApi~removeRemoteAccessCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RemoteAccess}\n */\n this.removeRemoteAccess = function(workspaceId, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling removeRemoteAccess\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n 'workspaceId': workspaceId\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RemoteAccess;\n\n return this.apiClient.callApi(\n '/remotes', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/RemotesApi.js\n ** module id = 19\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError', 'model/Session'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Session'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.SessionApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Session);\n }\n}(this, function(ApiClient, RestOK, RestError, Session) {\n 'use strict';\n\n /**\n * Session service.\n * @module api/SessionApi\n * @version 0.5.0\n */\n\n /**\n * Constructs a new SessionApi. \n * @alias module:api/SessionApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the closeSession operation.\n * @callback module:api/SessionApi~closeSessionCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * close session with timeout\n * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n * @param {Integer} closeAfter waiting time before actual closing, to let client save files and prevent reconnect \n * @param {module:api/SessionApi~closeSessionCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.closeSession = function(sessionId, closeAfter, callback) {\n var postBody = null;\n\n // verify the required parameter 'sessionId' is set\n if (sessionId == undefined || sessionId == null) {\n throw \"Missing the required parameter 'sessionId' when calling closeSession\";\n }\n\n // verify the required parameter 'closeAfter' is set\n if (closeAfter == undefined || closeAfter == null) {\n throw \"Missing the required parameter 'closeAfter' when calling closeSession\";\n }\n\n\n var pathParams = {\n 'sessionId': sessionId\n };\n var queryParams = {\n 'closeAfter': closeAfter\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/sessions/{sessionId}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the findSessions operation.\n * @callback module:api/SessionApi~findSessionsCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get all / some webida sessions established to server\n * @param {Object} opts Optional parameters\n * @param {String} opts.workspaceId find only sessions working on some given workspace\n * @param {module:api/SessionApi~findSessionsCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findSessions = function(opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n 'workspaceId': opts['workspaceId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [Session];\n\n return this.apiClient.callApi(\n '/sessions', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the getSession operation.\n * @callback module:api/SessionApi~getSessionCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Session} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get a session object by id\n * @param {String} sessionId webida session id (usually different from socket id from sock.io)\n * @param {module:api/SessionApi~getSessionCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Session}\n */\n this.getSession = function(sessionId, callback) {\n var postBody = null;\n\n // verify the required parameter 'sessionId' is set\n if (sessionId == undefined || sessionId == null) {\n throw \"Missing the required parameter 'sessionId' when calling getSession\";\n }\n\n\n var pathParams = {\n 'sessionId': sessionId\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Session;\n\n return this.apiClient.callApi(\n '/sessions/{sessionId}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/SessionApi.js\n ** module id = 20\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError', 'model/DirEntry', 'model/Stats'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/DirEntry'), require('../model/Stats'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.WfsApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.DirEntry, root.WebidaRestfulApi.Stats);\n }\n}(this, function(ApiClient, RestOK, RestError, DirEntry, Stats) {\n 'use strict';\n\n /**\n * Wfs service.\n * @module api/WfsApi\n * @version 0.5.0\n */\n\n /**\n * Constructs a new WfsApi. \n * @alias module:api/WfsApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the copy operation.\n * @callback module:api/WfsApi~copyCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates a copy of source to given path. Unlike cp command, wfsPath always denotes an exact path of the resource to be created. So, copying a file to directory always returns error and vice versa. this operation creates the parents dir of destination path always, and does not roll-back the creation when operation failed. So, clients should roll-back if needed. When destination path exists already, 1) copying file to file : follows noOverwrite flag. (does not return error) 2) copying file to dir : returns 409 error 3) copying dir to file : returns 409 error 4) copying dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {String} srcPath source data path of some operations, with have heading /\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n * @param {Boolean} opts.followSymbolicLinks dereference symlinks in source. (default to false)\n * @param {Boolean} opts.preserveTimestamps keep mtime/atime of source file(s) in destination. (default to false)\n * @param {module:api/WfsApi~copyCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.copy = function(wfsId, wfsPath, srcPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling copy\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling copy\";\n }\n\n // verify the required parameter 'srcPath' is set\n if (srcPath == undefined || srcPath == null) {\n throw \"Missing the required parameter 'srcPath' when calling copy\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'srcPath': srcPath,\n 'noOverwrite': opts['noOverwrite'],\n 'followSymbolicLinks': opts['followSymbolicLinks'],\n 'preserveTimestamps': opts['preserveTimestamps']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the createDir operation.\n * @callback module:api/WfsApi~createDirCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * create a directory at the path. returns error when wfsPath exists and not empty this API always creates parent directories if needed. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {module:api/WfsApi~createDirCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.createDir = function(wfsId, wfsPath, callback) {\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling createDir\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling createDir\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/dir/{wfsPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the dirTree operation.\n * @callback module:api/WfsApi~dirTreeCallback\n * @param {String} error Error message, if any.\n * @param {module:model/DirEntry} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * returns a directory tree of given path, for listing dir and managing file system errors while building sub-tree will be ignored and will not be included in result. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {Integer} maxDepth Maximum depth of tree. -1 to build a full tree, 0 to stat, 1 to plain list.\n * @param {module:api/WfsApi~dirTreeCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/DirEntry}\n */\n this.dirTree = function(wfsId, wfsPath, maxDepth, callback) {\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling dirTree\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling dirTree\";\n }\n\n // verify the required parameter 'maxDepth' is set\n if (maxDepth == undefined || maxDepth == null) {\n throw \"Missing the required parameter 'maxDepth' when calling dirTree\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'maxDepth': maxDepth\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = DirEntry;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/dir/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the move operation.\n * @callback module:api/WfsApi~moveCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Moves source resource to given path. Unlike mv command, wfsPath always denotes an exact path of the resource to be created. So, moving a file to existing directory always returns error and vice versa. (So, This API works like 'rename' rather than 'mv' command) Like copy(), this operation creates parent path of destination, and does not roll-back when operation failes. When destination path exists already, 1) moving file to file : follows noOverwrite flag. 2) moving file to dir : returns 409 error 3) moving dir to file : returns 409 error 4) moving dir to dir : merge srcPath/_* to wfsPath, following noOverwite flag. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {String} srcPath source data path of some operations, with have heading /\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.noOverwrite does not overwrites any existing file while copying or moving (default to false)\n * @param {module:api/WfsApi~moveCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.move = function(wfsId, wfsPath, srcPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling move\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling move\";\n }\n\n // verify the required parameter 'srcPath' is set\n if (srcPath == undefined || srcPath == null) {\n throw \"Missing the required parameter 'srcPath' when calling move\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'srcPath': srcPath,\n 'noOverwrite': opts['noOverwrite']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the readFile operation.\n * @callback module:api/WfsApi~readFileCallback\n * @param {String} error Error message, if any.\n * @param {File} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * read file data on path\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {module:api/WfsApi~readFileCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {File}\n */\n this.readFile = function(wfsId, wfsPath, callback) {\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling readFile\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling readFile\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = File;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/file/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the remove operation.\n * @callback module:api/WfsApi~removeCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * delete file or directory\n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.noRecursive if set, deleting non-empty directory will return 409 error. (default to false)\n * @param {module:api/WfsApi~removeCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.remove = function(wfsId, wfsPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling remove\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling remove\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'noRecursive': opts['noRecursive']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the stat operation.\n * @callback module:api/WfsApi~statCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Stats} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Get stats of given path. (stat() returns \\"stats\\" object in node and POSIX system) Since we've no ctime/atime in Stats class, some file system changing events will send 'exactly same' stats object. This API should be called only when stats of some file system path is stale for unknown reason (e.g. losting change events). Use dirTree operation and session events to detect stats, if possible. This API can be used to check a path is valid, existing one, but it's not recommended to check existence of individual paths by API. Clients should use dirTree and session events to synchorize some in-app file system with webida file system. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ignoreError flag to ignore stat errors to check existence only. If this flag is true, server will returns 'DUMMY' type stats object instead of 404 error when given path does not exists. (invalid wfsId will produce 400 error, not 404) (default to false)\n * @param {module:api/WfsApi~statCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Stats}\n */\n this.stat = function(wfsId, wfsPath, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling stat\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling stat\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'ignoreError': opts['ignoreError']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Stats;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/any/{wfsPath}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the writeFile operation.\n * @callback module:api/WfsApi~writeFileCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates / updates file with body data. Server should write the file in 'atomic' manner, and should not write down request body into final destination path directly. In other words, wheather writeFile() succeeds or not, the contents of the file should not be corrupted nor half-written. \n * @param {String} wfsId webida file system id (same to workspace id) to access.\n * @param {String} wfsPath webida file system path to access. without heading /. should be placed at the end of path arguments \n * @param {File} data file contents to write.\n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.ensureParents A flag to create all parent directories to create file or dir, like mkdir -p. This parameter does not create entire path, but creates to 'parent directory' of the path. (default to false)\n * @param {module:api/WfsApi~writeFileCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.writeFile = function(wfsId, wfsPath, data, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'wfsId' is set\n if (wfsId == undefined || wfsId == null) {\n throw \"Missing the required parameter 'wfsId' when calling writeFile\";\n }\n\n // verify the required parameter 'wfsPath' is set\n if (wfsPath == undefined || wfsPath == null) {\n throw \"Missing the required parameter 'wfsPath' when calling writeFile\";\n }\n\n // verify the required parameter 'data' is set\n if (data == undefined || data == null) {\n throw \"Missing the required parameter 'data' when calling writeFile\";\n }\n\n\n var pathParams = {\n 'wfsId': wfsId,\n 'wfsPath': wfsPath\n };\n var queryParams = {\n 'ensureParents': opts['ensureParents']\n };\n var headerParams = {\n };\n var formParams = {\n 'data': data\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['multipart/form-data'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/wfs/{wfsId}/file/{wfsPath}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/WfsApi.js\n ** module id = 21\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient', 'model/RestOK', 'model/RestError', 'model/Workspace', 'model/ChildProcess', 'model/Execution', 'model/ExecutionResult'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'), require('../model/RestOK'), require('../model/RestError'), require('../model/Workspace'), require('../model/ChildProcess'), require('../model/Execution'), require('../model/ExecutionResult'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.WorkspaceApi = factory(root.WebidaRestfulApi.ApiClient, root.WebidaRestfulApi.RestOK, root.WebidaRestfulApi.RestError, root.WebidaRestfulApi.Workspace, root.WebidaRestfulApi.ChildProcess, root.WebidaRestfulApi.Execution, root.WebidaRestfulApi.ExecutionResult);\n }\n}(this, function(ApiClient, RestOK, RestError, Workspace, ChildProcess, Execution, ExecutionResult) {\n 'use strict';\n\n /**\n * Workspace service.\n * @module api/WorkspaceApi\n * @version 0.5.0\n */\n\n /**\n * Constructs a new WorkspaceApi. \n * @alias module:api/WorkspaceApi\n * @class\n * @param {module:ApiClient} apiClient Optional API client implementation to use,\n * default to {@link module:ApiClient#instance} if unspecified.\n */\n var exports = function(apiClient) {\n this.apiClient = apiClient || ApiClient.instance;\n\n\n /**\n * Callback function to receive the result of the cancel operation.\n * @callback module:api/WorkspaceApi~cancelCallback\n * @param {String} error Error message, if any.\n * @param {module:model/RestOK} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * cancels an execution, if possible. Killing process may not be graceful. requires proper access rights. if execId is not specified, this api does nothing. \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {Object} opts Optional parameters\n * @param {String} opts.execId the id of execution request(different from pid!)\n * @param {module:api/WorkspaceApi~cancelCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/RestOK}\n */\n this.cancel = function(workspaceId, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling cancel\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'execId': opts['execId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = RestOK;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/exec', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the createWorkspace operation.\n * @callback module:api/WorkspaceApi~createWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Creates a new workspace with given local path. Requires an unrestricted access token. \n * @param {String} localPath a real, local path of the system (not unixified)\n * @param {String} name workspace name property\n * @param {String} description workspace name property\n * @param {module:api/WorkspaceApi~createWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.createWorkspace = function(localPath, name, description, callback) {\n var postBody = null;\n\n // verify the required parameter 'localPath' is set\n if (localPath == undefined || localPath == null) {\n throw \"Missing the required parameter 'localPath' when calling createWorkspace\";\n }\n\n // verify the required parameter 'name' is set\n if (name == undefined || name == null) {\n throw \"Missing the required parameter 'name' when calling createWorkspace\";\n }\n\n // verify the required parameter 'description' is set\n if (description == undefined || description == null) {\n throw \"Missing the required parameter 'description' when calling createWorkspace\";\n }\n\n\n var pathParams = {\n };\n var queryParams = {\n 'localPath': localPath,\n 'name': name,\n 'description': description\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the exec operation.\n * @callback module:api/WorkspaceApi~execCallback\n * @param {String} error Error message, if any.\n * @param {module:model/ExecutionResult} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * execute a shell command on this workspace. requires proper access rights.\n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {module:model/Execution} body \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.async Spawn a child process for given command and returns the created child proc info. Actual output (stream of message) will be delivered to web socket channel, with room id /sessions/async-{execId} (default to false)\n * @param {module:api/WorkspaceApi~execCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/ExecutionResult}\n */\n this.exec = function(workspaceId, body, opts, callback) {\n opts = opts || {};\n var postBody = body;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling exec\";\n }\n\n // verify the required parameter 'body' is set\n if (body == undefined || body == null) {\n throw \"Missing the required parameter 'body' when calling exec\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'async': opts['async']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = ExecutionResult;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/exec', 'POST',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the findProcs operation.\n * @callback module:api/WorkspaceApi~findProcsCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Gets process info, created by async exec request, on this workspace. If execId is set, this op finds a spawned process whose id is matching. If not, all spawned procs will be found. This op does not returns error when no procs found but empty result array. This operation requires proper access rights. (unrestricted or matching workspace id in access token with parameter) \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {Object} opts Optional parameters\n * @param {String} opts.execId the id of execution request(different from pid!)\n * @param {module:api/WorkspaceApi~findProcsCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findProcs = function(workspaceId, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling findProcs\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'execId': opts['execId']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = [];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [ChildProcess];\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}/exec', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the findWorkspaces operation.\n * @callback module:api/WorkspaceApi~findWorkspacesCallback\n * @param {String} error Error message, if any.\n * @param {Array.} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Finds workspaces (no find/search parameters yet). Requires an unrestricted access token. \n * @param {Object} opts Optional parameters\n * @param {Boolean} opts.disposable include disposable workspaces or not (default to false)\n * @param {module:api/WorkspaceApi~findWorkspacesCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {Array.}\n */\n this.findWorkspaces = function(opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n\n var pathParams = {\n };\n var queryParams = {\n 'disposable': opts['disposable']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = [Workspace];\n\n return this.apiClient.callApi(\n '/workspaces', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the getWorkspace operation.\n * @callback module:api/WorkspaceApi~getWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * get a workspace object by id\n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {module:api/WorkspaceApi~getWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.getWorkspace = function(workspaceId, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling getWorkspace\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}', 'GET',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the removeWorkspace operation.\n * @callback module:api/WorkspaceApi~removeWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * This operation will remove the requested workspace when 1) all sessions are closed for request (will be notified by server) 2) excedded time limit value in closeAfter parameter 3) server goes down after accepting remove request \\"willBeRemovedAt\\" property can be set \\"only\\" by this api. This API requires \\"unrestricted\\" access token. Even an access token has matching workspace id, removing an workspace is rejected. \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {Object} opts Optional parameters\n * @param {Integer} opts.closeAfter Time in seconds to wait for all sessions save & close their data. (default to 0)\n * @param {module:api/WorkspaceApi~removeWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.removeWorkspace = function(workspaceId, opts, callback) {\n opts = opts || {};\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling removeWorkspace\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n 'closeAfter': opts['closeAfter']\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}', 'DELETE',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n\n /**\n * Callback function to receive the result of the updateWorkspace operation.\n * @callback module:api/WorkspaceApi~updateWorkspaceCallback\n * @param {String} error Error message, if any.\n * @param {module:model/Workspace} data The data returned by the service call.\n * @param {String} response The complete HTTP response.\n */\n\n /**\n * Updates workspace. Some protected properties will not be changed by this api. Requires proper access rights in access token. \n * @param {String} workspaceId webida workspace id (usually same to file system id, wfsId)\n * @param {module:api/WorkspaceApi~updateWorkspaceCallback} callback The callback function, accepting three arguments: error, data, response\n * data is of type: {module:model/Workspace}\n */\n this.updateWorkspace = function(workspaceId, callback) {\n var postBody = null;\n\n // verify the required parameter 'workspaceId' is set\n if (workspaceId == undefined || workspaceId == null) {\n throw \"Missing the required parameter 'workspaceId' when calling updateWorkspace\";\n }\n\n\n var pathParams = {\n 'workspaceId': workspaceId\n };\n var queryParams = {\n };\n var headerParams = {\n };\n var formParams = {\n };\n\n var authNames = ['webida-simple-auth'];\n var contentTypes = ['application/json'];\n var accepts = ['application/json', 'application/octet-stream'];\n var returnType = Workspace;\n\n return this.apiClient.callApi(\n '/workspaces/{workspaceId}', 'PUT',\n pathParams, queryParams, headerParams, formParams, postBody,\n authNames, contentTypes, accepts, returnType, callback\n );\n }\n };\n\n return exports;\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/api/WorkspaceApi.js\n ** module id = 22\n ** module chunks = 0\n **/","/**\n * Webida Restful API\n * Restful API for Webida clients to use server's data & features\n *\n * OpenAPI spec version: 0.5.0\n * \n *\n * NOTE: This class is auto generated by the swagger code generator program.\n * https://github.com/swagger-api/swagger-codegen.git\n * Do not edit the class manually.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n(function(root, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define(['ApiClient'], factory);\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports, like Node.\n module.exports = factory(require('../ApiClient'));\n } else {\n // Browser globals (root is window)\n if (!root.WebidaRestfulApi) {\n root.WebidaRestfulApi = {};\n }\n root.WebidaRestfulApi.Match = factory(root.WebidaRestfulApi.ApiClient);\n }\n}(this, function(ApiClient) {\n 'use strict';\n\n\n\n\n /**\n * The Match model module.\n * @module model/Match\n * @version 0.5.0\n */\n\n /**\n * Constructs a new Match.\n * search result for a file\n * @alias module:model/Match\n * @class\n * @param line {Integer} \n * @param text {String} \n */\n var exports = function(line, text) {\n var _this = this;\n\n _this['line'] = line;\n _this['text'] = text;\n };\n\n /**\n * Constructs a Match from a plain JavaScript object, optionally creating a new instance.\n * Copies all relevant properties from data to obj if supplied or a new instance if not.\n * @param {Object} data The plain JavaScript object bearing properties of interest.\n * @param {module:model/Match} obj Optional instance to populate.\n * @return {module:model/Match} The populated Match instance.\n */\n exports.constructFromObject = function(data, obj) {\n if (data) {\n obj = obj || new exports();\n\n if (data.hasOwnProperty('line')) {\n obj['line'] = ApiClient.convertToType(data['line'], 'Integer');\n }\n if (data.hasOwnProperty('text')) {\n obj['text'] = ApiClient.convertToType(data['text'], 'String');\n }\n }\n return obj;\n }\n\n /**\n * @member {Integer} line\n */\n exports.prototype['line'] = undefined;\n /**\n * @member {String} text\n */\n exports.prototype['text'] = undefined;\n\n\n\n return exports;\n}));\n\n\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./src/model/Match.js\n ** module id = 23\n ** module chunks = 0\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/api-spec/swagger.json b/api-spec/swagger.json index 3223389..489303b 100644 --- a/api-spec/swagger.json +++ b/api-spec/swagger.json @@ -2,7 +2,7 @@ "swagger" : "2.0", "info" : { "description" : "Restful API for Webida clients to use server's data & features", - "version" : "0.3.0", + "version" : "0.5.0", "title" : "Webida Restful API", "license" : { "name" : "Apache 2.0", diff --git a/api-spec/swagger.yaml b/api-spec/swagger.yaml index d9063d0..5d7a5c5 100644 --- a/api-spec/swagger.yaml +++ b/api-spec/swagger.yaml @@ -21,7 +21,7 @@ swagger: "2.0" info: - version: "0.3.0" + version: "0.5.0" title: Webida Restful API description: Restful API for Webida clients to use server's data & features license: diff --git a/src/ApiClient.js b/src/ApiClient.js index f70e075..cf887fd 100644 --- a/src/ApiClient.js +++ b/src/ApiClient.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -41,7 +41,7 @@ /** * @module ApiClient - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/api/AuthApi.js b/src/api/AuthApi.js index 49f498c..23b6d33 100644 --- a/src/api/AuthApi.js +++ b/src/api/AuthApi.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -42,7 +42,7 @@ /** * Auth service. * @module api/AuthApi - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/api/OpsApi.js b/src/api/OpsApi.js index 32d06cc..2539c30 100644 --- a/src/api/OpsApi.js +++ b/src/api/OpsApi.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -42,7 +42,7 @@ /** * Ops service. * @module api/OpsApi - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/api/RemotesApi.js b/src/api/RemotesApi.js index b45df68..ab15087 100644 --- a/src/api/RemotesApi.js +++ b/src/api/RemotesApi.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -42,7 +42,7 @@ /** * Remotes service. * @module api/RemotesApi - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/api/SessionApi.js b/src/api/SessionApi.js index ad57c05..ff98160 100644 --- a/src/api/SessionApi.js +++ b/src/api/SessionApi.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -42,7 +42,7 @@ /** * Session service. * @module api/SessionApi - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/api/WfsApi.js b/src/api/WfsApi.js index 3fc1d66..cb559ea 100644 --- a/src/api/WfsApi.js +++ b/src/api/WfsApi.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -42,7 +42,7 @@ /** * Wfs service. * @module api/WfsApi - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/api/WorkspaceApi.js b/src/api/WorkspaceApi.js index ccb9e67..d82c7c9 100644 --- a/src/api/WorkspaceApi.js +++ b/src/api/WorkspaceApi.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -42,7 +42,7 @@ /** * Workspace service. * @module api/WorkspaceApi - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/index.js b/src/index.js index ba38c9e..96313b5 100644 --- a/src/index.js +++ b/src/index.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -62,7 +62,7 @@ * *

* @module index - * @version 0.3.0 + * @version 0.5.0 */ var exports = { /** diff --git a/src/model/ChildProcess.js b/src/model/ChildProcess.js index c7a6796..0c5b7e3 100644 --- a/src/model/ChildProcess.js +++ b/src/model/ChildProcess.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The ChildProcess model module. * @module model/ChildProcess - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/Credential.js b/src/model/Credential.js index 4a285ac..260d241 100644 --- a/src/model/Credential.js +++ b/src/model/Credential.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The Credential model module. * @module model/Credential - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/DirEntry.js b/src/model/DirEntry.js index 9e3bfdd..dc5c864 100644 --- a/src/model/DirEntry.js +++ b/src/model/DirEntry.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The DirEntry model module. * @module model/DirEntry - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/Execution.js b/src/model/Execution.js index bd7d8f5..6f96a48 100644 --- a/src/model/Execution.js +++ b/src/model/Execution.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The Execution model module. * @module model/Execution - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/ExecutionResult.js b/src/model/ExecutionResult.js index 2557e04..15f4376 100644 --- a/src/model/ExecutionResult.js +++ b/src/model/ExecutionResult.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The ExecutionResult model module. * @module model/ExecutionResult - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/Match.js b/src/model/Match.js index 43492e5..786b903 100644 --- a/src/model/Match.js +++ b/src/model/Match.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The Match model module. * @module model/Match - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/RemoteAccess.js b/src/model/RemoteAccess.js index 7ec84db..436cc7c 100644 --- a/src/model/RemoteAccess.js +++ b/src/model/RemoteAccess.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The RemoteAccess model module. * @module model/RemoteAccess - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/RestError.js b/src/model/RestError.js index bf766cf..3fbf719 100644 --- a/src/model/RestError.js +++ b/src/model/RestError.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The RestError model module. * @module model/RestError - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/RestOK.js b/src/model/RestOK.js index 9deeb4e..6373b38 100644 --- a/src/model/RestOK.js +++ b/src/model/RestOK.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The RestOK model module. * @module model/RestOK - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/Session.js b/src/model/Session.js index 1b737fb..196e8aa 100644 --- a/src/model/Session.js +++ b/src/model/Session.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The Session model module. * @module model/Session - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/Stats.js b/src/model/Stats.js index b32e7eb..1bf5709 100644 --- a/src/model/Stats.js +++ b/src/model/Stats.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The Stats model module. * @module model/Stats - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/Token.js b/src/model/Token.js index 92d5cc0..47d23c8 100644 --- a/src/model/Token.js +++ b/src/model/Token.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The Token model module. * @module model/Token - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/User.js b/src/model/User.js index 1de4199..ffc85c4 100644 --- a/src/model/User.js +++ b/src/model/User.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The User model module. * @module model/User - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/src/model/Workspace.js b/src/model/Workspace.js index 8b5b478..8a83583 100644 --- a/src/model/Workspace.js +++ b/src/model/Workspace.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. @@ -45,7 +45,7 @@ /** * The Workspace model module. * @module model/Workspace - * @version 0.3.0 + * @version 0.5.0 */ /** diff --git a/test/api/AuthApi.spec.js b/test/api/AuthApi.spec.js index a194068..c39706d 100644 --- a/test/api/AuthApi.spec.js +++ b/test/api/AuthApi.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/api/OpsApi.spec.js b/test/api/OpsApi.spec.js index 8dd88ac..bd0a565 100644 --- a/test/api/OpsApi.spec.js +++ b/test/api/OpsApi.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/api/RemotesApi.spec.js b/test/api/RemotesApi.spec.js index 8557b1a..9e2a4b0 100644 --- a/test/api/RemotesApi.spec.js +++ b/test/api/RemotesApi.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/api/SessionApi.spec.js b/test/api/SessionApi.spec.js index 9a2bb38..f0704b0 100644 --- a/test/api/SessionApi.spec.js +++ b/test/api/SessionApi.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/api/WfsApi.spec.js b/test/api/WfsApi.spec.js index 9b15e8e..14381a4 100644 --- a/test/api/WfsApi.spec.js +++ b/test/api/WfsApi.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/api/WorkspaceApi.spec.js b/test/api/WorkspaceApi.spec.js index c864a43..babff94 100644 --- a/test/api/WorkspaceApi.spec.js +++ b/test/api/WorkspaceApi.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/ChildProcess.spec.js b/test/model/ChildProcess.spec.js index 13343b7..8b1f064 100644 --- a/test/model/ChildProcess.spec.js +++ b/test/model/ChildProcess.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/Credential.spec.js b/test/model/Credential.spec.js index 364d4b2..8387f6c 100644 --- a/test/model/Credential.spec.js +++ b/test/model/Credential.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/DirEntry.spec.js b/test/model/DirEntry.spec.js index 9641f2c..081e68c 100644 --- a/test/model/DirEntry.spec.js +++ b/test/model/DirEntry.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/Execution.spec.js b/test/model/Execution.spec.js index 4201f72..16184d3 100644 --- a/test/model/Execution.spec.js +++ b/test/model/Execution.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/ExecutionResult.spec.js b/test/model/ExecutionResult.spec.js index 58bb9ef..9ab0db1 100644 --- a/test/model/ExecutionResult.spec.js +++ b/test/model/ExecutionResult.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/Match.spec.js b/test/model/Match.spec.js index e7fa130..567b223 100644 --- a/test/model/Match.spec.js +++ b/test/model/Match.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/RemoteAccess.spec.js b/test/model/RemoteAccess.spec.js index c827aab..7bdfc0a 100644 --- a/test/model/RemoteAccess.spec.js +++ b/test/model/RemoteAccess.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/RestError.spec.js b/test/model/RestError.spec.js index 0045f00..8995afc 100644 --- a/test/model/RestError.spec.js +++ b/test/model/RestError.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/RestOK.spec.js b/test/model/RestOK.spec.js index fda23ed..a6b2e46 100644 --- a/test/model/RestOK.spec.js +++ b/test/model/RestOK.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/Session.spec.js b/test/model/Session.spec.js index a08d946..e7ebfc3 100644 --- a/test/model/Session.spec.js +++ b/test/model/Session.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/Stats.spec.js b/test/model/Stats.spec.js index 8b6dd6d..98021c8 100644 --- a/test/model/Stats.spec.js +++ b/test/model/Stats.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/Token.spec.js b/test/model/Token.spec.js index df74367..95f4f9a 100644 --- a/test/model/Token.spec.js +++ b/test/model/Token.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/User.spec.js b/test/model/User.spec.js index 618eaac..29cece3 100644 --- a/test/model/User.spec.js +++ b/test/model/User.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program. diff --git a/test/model/Workspace.spec.js b/test/model/Workspace.spec.js index b9b787c..435dfac 100644 --- a/test/model/Workspace.spec.js +++ b/test/model/Workspace.spec.js @@ -2,7 +2,7 @@ * Webida Restful API * Restful API for Webida clients to use server's data & features * - * OpenAPI spec version: 0.3.0 + * OpenAPI spec version: 0.5.0 * * * NOTE: This class is auto generated by the swagger code generator program.