@niledatabase/server 3.0.0-alpha.3 → 3.0.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Api.d.ts +22 -0
- package/dist/Server.d.ts +1 -21
- package/dist/db/isUUID.d.ts +1 -0
- package/dist/server.cjs.development.js +1498 -1417
- package/dist/server.cjs.development.js.map +1 -1
- package/dist/server.cjs.production.min.js +1 -1
- package/dist/server.cjs.production.min.js.map +1 -1
- package/dist/server.esm.js +1498 -1417
- package/dist/server.esm.js.map +1 -1
- package/dist/tenants/index.d.ts +7 -3
- package/dist/users/index.d.ts +7 -7
- package/dist/utils/Requester/index.d.ts +5 -5
- package/dist/utils/Requester/types.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("dotenv/config");var e=require("jose"),t=require("pg");function n(){n=function(){return t};var e,t={},r=Object.prototype,a=r.hasOwnProperty,s=Object.defineProperty||function(e,t,n){e[t]=n.value},o="function"==typeof Symbol?Symbol:{},u=o.iterator||"@@iterator",i=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function f(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{f({},"")}catch(e){f=function(e,t,n){return e[t]=n}}function p(e,t,n,r){var a=Object.create((t&&t.prototype instanceof g?t:g).prototype),o=new _(r||[]);return s(a,"_invoke",{value:R(e,n,o)}),a}function l(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=p;var h="suspendedStart",d="suspendedYield",v="executing",b="completed",w={};function g(){}function y(){}function m(){}var x={};f(x,u,(function(){return this}));var E=Object.getPrototypeOf,k=E&&E(E(P([])));k&&k!==r&&a.call(k,u)&&(x=k);var I=m.prototype=g.prototype=Object.create(x);function N(e){["next","throw","return"].forEach((function(t){f(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(r,s,o,u){var i=l(e[r],e,s);if("throw"!==i.type){var c=i.arg,f=c.value;return f&&"object"==typeof f&&a.call(f,"__await")?t.resolve(f.__await).then((function(e){n("next",e,o,u)}),(function(e){n("throw",e,o,u)})):t.resolve(f).then((function(e){c.value=e,o(c)}),(function(e){return n("throw",e,o,u)}))}u(i.arg)}var r;s(this,"_invoke",{value:function(e,a){function s(){return new t((function(t,r){n(e,a,t,r)}))}return r=r?r.then(s,s):s()}})}function R(t,n,r){var a=h;return function(s,o){if(a===v)throw Error("Generator is already running");if(a===b){if("throw"===s)throw o;return{value:e,done:!0}}for(r.method=s,r.arg=o;;){var u=r.delegate;if(u){var i=T(u,r);if(i){if(i===w)continue;return i}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===h)throw a=b,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=v;var c=l(t,n,r);if("normal"===c.type){if(a=r.done?b:d,c.arg===w)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(a=b,r.method="throw",r.arg=c.arg)}}}function T(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,T(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),w;var s=l(a,t.iterator,n.arg);if("throw"===s.type)return n.method="throw",n.arg=s.arg,n.delegate=null,w;var o=s.arg;return o?o.done?(n[t.resultName]=o.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,w):o:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,w)}function L(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function U(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function P(t){if(t||""===t){var n=t[u];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,s=function n(){for(;++r<t.length;)if(a.call(t,r))return n.value=t[r],n.done=!1,n;return n.value=e,n.done=!0,n};return s.next=s}}throw new TypeError(typeof t+" is not iterable")}return y.prototype=m,s(I,"constructor",{value:m,configurable:!0}),s(m,"constructor",{value:y,configurable:!0}),y.displayName=f(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,f(e,c,"GeneratorFunction")),e.prototype=Object.create(I),e},t.awrap=function(e){return{__await:e}},N(S.prototype),f(S.prototype,i,(function(){return this})),t.AsyncIterator=S,t.async=function(e,n,r,a,s){void 0===s&&(s=Promise);var o=new S(p(e,n,r,a),s);return t.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},N(I),f(I,c,"Generator"),f(I,u,(function(){return this})),f(I,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=P,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(U),!t)for(var n in this)"t"===n.charAt(0)&&a.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function r(r,a){return u.type="throw",u.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var s=this.tryEntries.length-1;s>=0;--s){var o=this.tryEntries[s],u=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var i=a.call(o,"catchLoc"),c=a.call(o,"finallyLoc");if(i&&c){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(i){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var s=r;break}}s&&("break"===e||"continue"===e)&&s.tryLoc<=t&&t<=s.finallyLoc&&(s=null);var o=s?s.completion:{};return o.type=e,o.arg=t,s?(this.method="next",this.next=s.finallyLoc,w):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),w},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),U(n),w}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;U(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:P(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),w}},t}function r(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}function a(e,t,n,r,a,s,o){try{var u=e[s](o),i=u.value}catch(e){return void n(e)}u.done?t(i):Promise.resolve(i).then(r,a)}function s(e){return function(){var t=this,n=arguments;return new Promise((function(r,s){var o=e.apply(t,n);function u(e){a(o,r,s,u,i,"next",e)}function i(e){a(o,r,s,u,i,"throw",e)}u(void 0)}))}}function o(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,r(a.key),a)}}function u(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}function c(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,f(e,t)}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}function p(e,t){if(null==e)return{};var n,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)t.indexOf(n=s[r])>=0||(a[n]=e[n]);return a}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function h(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function d(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{info:function(){if(null!=e&&e.debug){for(var t,r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];(t=console).info.apply(t,["[niledb]"].concat(n,a))}},warn:function(){if(null!=e&&e.debug){for(var t,r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];(t=console).warn.apply(t,["[niledb]"].concat(n,a))}},error:function(){for(var e,t=arguments.length,r=new Array(t),a=0;a<t;a++)r[a]=arguments[a];(e=console).error.apply(e,["[niledb]","[ERROR]"].concat(n,r))}}}var v=function(e){var t=e.config,n=e.logger,r=d(t,"[username]").info;return null!=t&&t.user?(n&&r(n,"config",t.user),String(null==t?void 0:t.user)):(n&&r(n,"NILEDB_USER",process.env.NILEDB_USER),process.env.NILEDB_USER)},b=function(e){var t=e.config;return d(t,"[password]"),null!=t&&t.password?String(t.password):process.env.NILEDB_PASSWORD},w=function(e){var t,n,r,a=e.config,s=e.logger,o=d(a,"[token]").info;return null!=a&&null!=(t=a.api)&&t.token?(s&&o(s,"config",null==(n=a.api)?void 0:n.token),String(null==(r=a.api)?void 0:r.token)):process.env.NILEDB_TOKEN?(s&&o(s,"NILEDB_TOKEN",process.env.NILEDB_TOKEN),process.env.NILEDB_TOKEN):void 0},g=function(e){var t=e.config,n=e.logger,r=d(t,"[databaseName]").info;return null!=t&&t.databaseName?(n&&r(n,"config",t.databaseName),String(t.databaseName)):process.env.NILEDB_NAME?(n&&r(n,"NILEDB_NAME",process.env.NILEDB_NAME),process.env.NILEDB_NAME):null},y=function(e){var t=e.logger;if(process.env.NILEDB_LOCAL){var n=d(e.config,"[local]");return t&&(0,n.info)(t,"NILEDB_LOCAL",process.env.NILEDB_LOCAL),new URL(process.env.NILEDB_LOCAL).href}return"http://localhost:3000"},m=function(e){var t,n,r,a,s=e.config,o=e.logger,u=d(s,"[basePath]").info,i=null==s||null==(t=s.api)?void 0:t.basePath,c="";if(/\/v\d\//.test(String(i))||(c=1===(null==s||null==(n=s.api)?void 0:n.version)?"":"/v"+(null!=(r=null==s||null==(a=s.api)?void 0:a.version)?r:2)),i)return o&&u(o,"config",i),""+i+c;if(process.env.NILEDB_API_URL)return o&&u(o,"NILEDB_API_URL",process.env.NILEDB_API_URL),new URL(process.env.NILEDB_API_URL).href;throw new Error("NILEDB_API_URL is missing.")},x=function(e){var t=e.logger,n=d(e.config,"[basePath]").info;return process.env.NILEDB_CONFIGURE?(t&&n(t,"NILEDB_CONFIGURE",process.env.NILEDB_CONFIGURE),process.env.NILEDB_CONFIGURE):(t&&n(t,"default",process.env.NILEDB_CONFIGURE),"https://global.thenile.dev")};function E(e){var t=e.config,n=e.logger,r=d(t,"[db.host]").info;if(null!=t&&t.db&&t.db.host)return n&&r(n,"config",null==t?void 0:t.db.host),t.db.host;if(process.env.NILEDB_POSTGRES_URL){var a=new URL(process.env.NILEDB_POSTGRES_URL);return n&&r(n,"NILEDB_POSTGRES_URL",a.host),a.host}return process.env.NILEDB_HOST?(n&&r(n,"NILEDB_HOST",process.env.NILEDB_HOST),process.env.NILEDB_HOST):(n&&r(n,"default","db.thenile.dev"),"db.thenile.dev")}function k(e){var t,n,r=e.config,a=e.logger,s=d(r,"[db.port]").info;return null!=r&&null!=(t=r.db)&&t.port&&null!=r.db.port?(a&&s(a,"config",null==r?void 0:r.db.port),Number(null==(n=r.db)?void 0:n.port)):process.env.NILEDB_PORT?(a&&s(a,"config",process.env.NILEDB_PORT),Number(process.env.NILEDB_PORT)):(a&&s(a,"default",5432),5432)}var I,N=["host","port"],S=["host","port"],R=function(){return u((function(e){var t=e.basePath,n=e.cookieKey,r=e.token,a=e.version,s=e.localPath;this.cookieKey=void 0,this.basePath=void 0,this.version=void 0,this.localPath=void 0,this._token=void 0,this.basePath=t,this.cookieKey=n,this.version=a,this._token=r,this.localPath=null!=s?s:"http://localhost:3000"}),[{key:"token",get:function(){return this._token},set:function(e){this._token=e}}])}(),T=function(){return u((function(e,t){var r,a,o,u,c,f=this;this.user=void 0,this.password=void 0,this.databaseId=void 0,this.databaseName=void 0,this.routePrefix=void 0,this.routes=void 0,this.debug=void 0,this.db=void 0,this.api=void 0,this._tenantId=void 0,this._userId=void 0,this.configure=function(){var e=s(n().mark((function e(t){var r,a,s,o,u,c,l,h,I,S,T,L,U,_,P,O,D,A,B,q,j,G,C,H,M,K,F,W,z,J,V,Y;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(l=d(t,"[init]"),h=l.info,I=l.error,S={config:t},T=null!=(r=t.db)?r:{},L=T.host,U=T.port,_=p(T,N),P=null!=L?L:E(S),O=null!=U?U:k(S),!(P&&f.databaseName&&f.databaseId)){e.next=8;break}return h("Already configured, aborting fetch"),e.abrupt("return",f);case 8:return D=m(S),A=x(S),B=g({config:t,logger:"getInfo"}),q=new URL(A+"/databases/configure"),B&&q.searchParams.set("databaseName",B),h("configuring from",q.href),e.next=16,fetch(q,{headers:{Authorization:"Bearer "+(n={config:t},v(n)+":"+b(n))}});case 16:return C=(j=e.sent).clone(),e.prev=18,e.next=21,j.json();case 21:H=e.sent,404===j.status&&h("is the configured databaseName correct?"),G=H.status&&"READY"!==H.status?{message:"Database is not ready yet"}:H,e.next=33;break;case 26:return e.prev=26,e.t0=e.catch(18),e.next=30,C.text();case 30:I(M=e.sent),G={message:M};case 33:if(h("[fetched database]",G),!("message"in G)){e.next=42;break}if(!("statusCode"in G)){e.next=41;break}throw I(G),new Error("HTTP error has occurred");case 41:throw new Error("Unable to auto-configure. Please remove NILEDB_NAME, NILEDB_API_URL, NILEDB_POSTGRES_URL, and/or NILEDB_HOST from your environment variables.");case 42:"object"==typeof G&&(F=(K=G).apiHost,W=K.dbHost,z=K.name,J=K.id,V=m(S)||F,f.databaseId=J,f.databaseName=z,Y=new URL(W),P=Y.host,D=V);case 43:return null==(a=S.config)||null==(a=a.api)||delete a.basePath,D=m(S),f.api=new R({basePath:D,cookieKey:null!=(s=null==t||null==(o=t.api)?void 0:o.cookieKey)?s:"token",token:w({config:t}),version:null!=(u=null==t||null==(c=t.api)?void 0:c.version)?u:2,localPath:y(S)}),f.db=i({user:f.user,password:f.password,host:P,port:O,database:f.databaseName},_),h("[config set]",f),e.abrupt("return",f);case 49:case"end":return e.stop()}var n}),e,null,[[18,26]])})));return function(t){return e.apply(this,arguments)}}();var l={config:e,logger:t};if(this.user=v(l),this.password=b(l),!this.user)throw new Error("User is required. Set NILEDB_USER as an environment variable or set `user` in the config options.");if(!this.password)throw new Error("Password is required. Set NILEDB_PASSWORD as an environment variable or set `password` in the config options.");this.databaseId=function(e){var t=e.config,n=e.logger,r=d(t,"[databaseId]").info;return null!=t&&t.databaseId?(n&&r(n,"config",t.databaseId),String(null==t?void 0:t.databaseId)):process.env.NILEDB_POSTGRES_URL?new URL(process.env.NILEDB_POSTGRES_URL).pathname.substring(1):(n&&r(n,"env",process.env.NILEDB_ID),process.env.NILEDB_ID)}(l),this.databaseName=g(l),this._tenantId=function(e){var t=e.config,n=e.logger,r=d(t,"[tenantId]").info;return null!=t&&t.tenantId?(n&&r(n,"config",t.tenantId),t.tenantId):process.env.NILEDB_TENANT?(n&&r(n,"NILEDB_TENANT",process.env.NILEDB_TENANT),process.env.NILEDB_TENANT):null}(l),this.debug=Boolean(null==e?void 0:e.debug),this._userId=null==e?void 0:e.userId;var h=m(l),I=null!=(r=null==e?void 0:e.db)?r:{},T=I.host,L=I.port,U=p(I,S),_=null!=T?T:E(l),P=null!=L?L:k(l);this.api=new R({basePath:h,cookieKey:null!=(a=null==e||null==(o=e.api)?void 0:o.cookieKey)?a:"token",token:w({config:e}),version:null!=(u=null==e||null==(c=e.api)?void 0:c.version)?u:2,localPath:y(l)}),this.db=i({user:this.user,password:this.password,host:_,port:P},U),this.databaseName&&(this.db.database=this.databaseName)}),[{key:"tenantId",get:function(){return this._tenantId},set:function(e){this._tenantId=e}},{key:"userId",get:function(){return this._userId},set:function(e){this._userId=e}}])}(),L=function(e,t){this.response=void 0,this.response=new Response(e,t)};!function(e){e.User="userId",e.Tenant="tenantId",e.Token="token",e.EvictPool="EvictPool"}(I||(I={}));var U=new(function(){function e(){this.events=void 0,this.events={}}var t=e.prototype;return t.publish=function(e,t){var n=this.events[e];if(n)for(var r,a=h(n);!(r=a()).done;)(0,r.value)(t)},t.subscribe=function(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)},t.unsubscribe=function(e,t){var n=this.events[e].findIndex((function(e){return e===t}));-1!==n&&this.events[e].splice(n,1)},e}()),_=function(e){U.publish(I.Tenant,e)},P=function(e){U.publish(I.User,e)},O=function(e){return U.subscribe(I.EvictPool,e)},D=function(e){U.publish(I.EvictPool,e)},A="niledb-tenant-id",B="niledb-user-id";function q(e,t){var n,r=null==(n=e.get("cookie"))?void 0:n.split("; "),a={};if(r)for(var s,o=h(r);!(s=o()).done;){var u=s.value.split("="),i=u.slice(1).join("=");a[u[0]]=i}if(r)for(var c,f=h(r);!(c=f()).done;){var p=c.value.split("="),l=p.slice(1).join("=");a[p[0]]=l}return t?a[t]:null}function j(e,t){var n,r=q(e,A);return null!=(n=null!=r?r:null==e?void 0:e.get(A))?n:null==t?void 0:t.tenantId}function G(t,n){var r,a=q(t,n.api.cookieKey);return a?e.decodeJwt(a).sub:null!=(r=null==t?void 0:t.get(B))?r:n.userId}function C(e,t,n){return H.apply(this,arguments)}function H(){return H=s(n().mark((function e(t,r,a){var s,o,u,c,f,p,l,h,v,b,g,y,m,x,E,k,I,N,S,R,T;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=d(t,"[server]"),f=c.info,p=c.error,l=""+(null==(s=t.api)?void 0:s.basePath)+r,h=null==(o=t.api)?void 0:o.cookieKey,v=new Headers(null==a?void 0:a.headers),(b=new Headers(null==a?void 0:a.headers)).set("content-type","application/json; charset=utf-8"),g=Buffer.from(process.env.NILEDB_USER+":"+process.env.NILEDB_PASSWORD,"utf8").toString("base64"),b.set("niledb-creds",g),v.get("Authorization")||((y=q(v,h))?b.set("Authorization","Bearer "+y):w({config:t})&&b.set("Authorization","Bearer "+w({config:t}))),m=j(v,t),_(m),x=G(v,t),P(x),!l.includes("{tenantId}")||m){e.next=16;break}return e.abrupt("return",new L("tenantId is not set for request",{status:400}));case 16:return E=l.replace("{tenantId}",encodeURIComponent(String(m))).replace("{userId}",encodeURIComponent(String(x))),f("[fetch]",E),e.next=20,fetch(E,i({},a,{headers:b})).catch((function(e){p("[fetch]","[response]",e)}));case 20:if(!((k=e.sent)&&k.status>=200&&k.status<300)){e.next=39;break}if("function"!=typeof k.clone){e.next=38;break}return e.prev=23,e.t0=f,e.next=27,k.clone().json();case 27:e.t1=e.sent,(0,e.t0)("[fetch]","[response]",e.t1),e.next=38;break;case 31:return e.prev=31,e.t2=e.catch(23),e.t3=f,e.next=36,k.clone().text();case 36:e.t4=e.sent,(0,e.t3)("[fetch]","[response]",e.t4);case 38:return e.abrupt("return",k);case 39:if(401!==(null==k?void 0:k.status)){e.next=41;break}return e.abrupt("return",new L("Unauthorized",{status:401}));case 41:if(405!==(null==k?void 0:k.status)){e.next=43;break}return e.abrupt("return",new L("Method not allowed",{status:405}));case 43:return N="function"==typeof(null==k?void 0:k.clone)?k.clone():null,S="",e.prev=45,e.next=48,null==k?void 0:k.json();case 48:I=e.sent,e.next=59;break;case 51:if(e.prev=51,e.t5=e.catch(45),!N){e.next=58;break}return e.next=56,N.text();case 56:(S=e.sent)&&p("[fetch]","[response]","[status: "+N.status+"]",S);case 58:S||p("[fetch]","[response]",e.t5);case 59:if(!S){e.next=61;break}return e.abrupt("return",new L(S,{status:null==N?void 0:N.status}));case 61:if(!I||!("message"in I)){e.next=65;break}return p("[fetch]","[response]","[status: "+(null==N?void 0:N.status)+"]",R=I.message),e.abrupt("return",new L(R,{status:400}));case 65:if(!I||!("errors"in I)){e.next=69;break}return p("[fetch]","[response]","[status: "+(null==N?void 0:N.status)+"]",T=I.errors[0]),e.abrupt("return",new L(T,{status:400}));case 69:return p("[fetch]","[response]","[status: "+(null==N?void 0:N.status)+"]","UNHANDLED ERROR"),e.abrupt("return",new L(null,{status:null!=(u=null==k?void 0:k.status)?u:500}));case 71:case"end":return e.stop()}}),e,null,[[23,31],[45,51]])}))),H.apply(this,arguments)}var M=function(e){function t(t){var r;return(r=e.call(this,t)||this).post=function(){var e=s(n().mark((function e(t,a,s){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.request("POST",a,t,s);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),r.get=function(){var e=s(n().mark((function e(t,a,s){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.request("GET",a,t,s);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),r.put=function(){var e=s(n().mark((function e(t,a,s){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.request("PUT",a,t,s);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),r.delete=function(){var e=s(n().mark((function e(t,a,s){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.request("DELETE",a,t,s);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),r}c(t,e);var r=t.prototype;return r.rawRequest=function(){var e=s(n().mark((function e(t,r,a,s){var o,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=i({},a,{body:s,method:t}),e.next=3,C(this,r,o);case 3:if(!((u=e.sent)instanceof L)){e.next=6;break}return e.abrupt("return",u.response);case 6:return e.abrupt("return",u);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,r,a){return e.apply(this,arguments)}}(),r.request=function(){var e=s(n().mark((function e(t,r,a,s){var o,u,c,f,p,l,h,d;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=new Headers(s?null==s?void 0:s.headers:{}),a instanceof Headers?(u=a.get(A),c=a.get("cookie"),u&&o.set(A,u),c&&o.set("cookie",c)):a instanceof Request&&(f=new Headers(null==a?void 0:a.headers),p=f.get(A),l=f.get("cookie"),p&&o.set(A,p),l&&o.set("cookie",l)),h=JSON.stringify(a),"GET"!==t){e.next=7;break}h=void 0,e.next=14;break;case 7:if(!(a instanceof Request)){e.next=13;break}return e.next=10,new Response(a.body).text();case 10:h=e.sent,e.next=14;break;case 13:(a instanceof Headers||"{}"===JSON.stringify(a)||a&&"object"==typeof a&&0===Object.values(a).length)&&(h=void 0);case 14:return d=i({},s,{headers:o}),e.next=17,this.rawRequest(t,r,d,h);case 17:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}}),e,this)})));return function(t,n,r,a){return e.apply(this,arguments)}}(),t}(T),K=function(e){function t(t,r){var a;return(a=e.call(this,t)||this).headers=void 0,a.createUser=function(){var e=s(n().mark((function e(t,r){var s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new M(a),o=a.handleHeaders(r),e.next=4,s.post(t,a.usersUrl,o);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.updateUser=function(){var e=s(n().mark((function e(t,r,s){var o,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=new M(a),u=a.handleHeaders(s),e.next=4,o.put(r,a.usersUrl+"/"+t,u);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),a.listUsers=function(){var e=s(n().mark((function e(t,r){var s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new M(a),o=a.handleHeaders(r),e.next=4,s.get(t,a.tenantUsersUrl,o);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.linkUser=function(){var e=s(n().mark((function e(t,r){var s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new M(a),o=a.handleHeaders(r),e.next=4,s.put(t,a.tenantUsersUrl,o);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.tenantUsersDeleteUrl=function(e){var t;return"/tenants/"+(null!=(t=a.tenantId)?t:"{tenantId}")+"/users/"+(null!=e?e:"{userId}")},a.getUserId=function(){var e=s(n().mark((function e(t){var r;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t instanceof Request)){e.next=6;break}return e.next=3,new Response(null==t?void 0:t.body).json();case 3:if(!(r=e.sent)){e.next=6;break}return e.abrupt("return",r.id);case 6:if(!("id"in t)){e.next=8;break}return e.abrupt("return",t.id);case 8:return e.abrupt("return",null);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),a.unlinkUser=function(){var e=s(n().mark((function e(t,r){var s,o,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new M(a),e.next=3,a.getUserId(t);case 3:return o=e.sent,u=a.handleHeaders(r),e.next=7,s.delete(t,a.tenantUsersDeleteUrl(o),u);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.me=function(){var e=s(n().mark((function e(t,r){var s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new M(a),o=a.handleHeaders(r),e.next=4,s.get(t,a.meUrl,o);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.headers=r,a}return c(t,e),t.prototype.handleHeaders=function(e){var t;if(this.headers)return e?(e.headers=new Headers(i({},this.headers,null==(t=e)?void 0:t.headers)),e):e={headers:this.headers}},u(t,[{key:"usersUrl",get:function(){return"/users"}},{key:"tenantUsersUrl",get:function(){var e;return"/tenants/"+(null!=(e=this.tenantId)?e:"{tenantId}")+"/users"}},{key:"meUrl",get:function(){return"/me"}}])}(T),F=function(e){function t(t,r){var a;return(a=e.call(this,t)||this).headers=void 0,a.createTenant=function(){var e=s(n().mark((function e(t,r){var s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new M(a),o=a.handleHeaders(r),e.abrupt("return",s.post(t,a.tenantsUrl,o));case 3:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.getTenant=function(){var e=s(n().mark((function e(t,r){var s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new M(a),o=a.handleHeaders(r),e.abrupt("return",s.get(t,a.tenantUrl,o));case 3:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.headers=r,a}return c(t,e),t.prototype.handleHeaders=function(e){var t;if(this.headers)return e?(e.headers=new Headers(i({},this.headers,null==(t=e)?void 0:t.headers)),e):e={headers:this.headers}},u(t,[{key:"tenantsUrl",get:function(){return"/tenants"}},{key:"tenantUrl",get:function(){var e;return"/tenants/"+(null!=(e=this.tenantId)?e:"{tenantId}")}}])}(T),W=["afterCreate"],z=function(){function e(e,r){var a=this;this.pool=void 0,this.tenantId=void 0,this.userId=void 0,this.id=void 0,this.config=void 0,this.timer=void 0;var o=d(e,"[NileInstance]"),u=o.warn,c=o.info;this.id=r;var f=i({min:0,max:10,idleTimeoutMillis:3e4},e.db),l=f.afterCreate,h=p(f,W);e.db=f,this.config=e,c(this.config.db),this.pool=function(e,t){var n=d(t,"[pool]"),r=n.info,a=n.error;return new Proxy(e,{get:function(e,n){if("query"===n){t.db.connectionString||(t.user&&t.password?t.db.database||a("Database name is missing from the config. Call `nile.init()` or set NILEDB_ID in your .env"):a("Cannot connect to the database. User and/or password are missing. Generate them at https://console.thenile.dev"));var s=e[n];return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.apply(void 0,t),s.apply(this,t)}}return e[n]}})}(new t.Pool(h),this.config),"function"==typeof l&&u("Providing an pool configuration will stop automatic tenant context setting."),this.startTimeout(),this.pool.on("connect",function(){var t=s(n().mark((function t(r){return n().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:c("pool connected"),J(e)(r,(function(t){var n=d(e,"[after create callback]");t&&((0,n.error)("after create failed",t),D(a.id))})),a.startTimeout();case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()),this.pool.on("error",function(){var e=s(n().mark((function e(t){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c("pool failed",t),a.timer&&clearTimeout(a.timer),D(a.id);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())}return e.prototype.startTimeout=function(){var e=this,t=d(this.config,"[NileInstance]").info;this.timer&&clearTimeout(this.timer),this.timer=setTimeout(s(n().mark((function r(){return n().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t("Pool reached idleTimeoutMillis.",e.id,"evicted after",e.config.db.idleTimeoutMillis,"ms"),n.next=3,e.pool.end((function(){t("Pool end called")}));case 3:D(e.id);case 4:case"end":return n.stop()}}),r)}))),this.config.db.idleTimeoutMillis)},e}();function J(e){var t=d(e,"[afterCreate]"),n=t.warn,r=t.info;return function(t,a){if(t.on("error",(function(e){n("Connection was terminated by server",e),a(e,t)})),e.tenantId){var s=["SET nile.tenant_id = '"+e.tenantId+"'"];e.userId&&(e.tenantId||n("A user id cannot be set in context without a tenant id"),s.push("SET nile.user_id = '"+e.userId+"'")),t.query(s.join(";"),(function(n){e.tenantId&&r("[tenant id]",e.tenantId),e.userId&&r("[user id]",e.userId),a(n,t)}))}a(null,t)}}var V=function(){function e(e){var t=this;this.connections=void 0,this.cleared=void 0,this.poolWatcher=function(e){return function(n){var r=d(e,"[DBManager]").info;n&&t.connections.has(n)&&(r("Removing",n,"from db connection pool."),t.connections.delete(n))}},this.getConnection=function(e){var n=d(e,"[DBManager]").info,r=t.makeId(e.tenantId,e.userId),a=t.connections.get(r);if(n("# of instances:",t.connections.size),a)return n("returning existing",r),a.startTimeout(),a.pool;var s=new z(new T(e),r);return t.connections.set(r,s),n("created new",r),n("# of instances:",t.connections.size),t.cleared&&(t.cleared=!1,O(t.poolWatcher(e))),s.pool},this.clear=function(e){var n;(0,d(e,"[DBManager]").info)("Clearing all connections",t.connections.size),n=t.poolWatcher(e),U.unsubscribe(I.EvictPool,n),t.cleared=!0,t.connections.clear()};var n=d(e,"[DBManager]").info;this.cleared=!1,this.connections=new Map;var r=this.makeId();n("constructor",r),this.connections.set(r,new z(new T(e),r)),O(this.poolWatcher(e))}return e.prototype.makeId=function(e,t){return e&&t?e+":"+t:e?""+e:"base"},e}(),Y=function(e){return Buffer.from(JSON.stringify(e),"base64").toString()};function Q(e,t){return function(){var r=s(n().mark((function r(a){var s,o,u,i,c,f,p,l,h,d,v,b,w,g,y,m,x,E,k;return n().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return u=a.email,i=a.password,c=new URL(e.api.localPath+"/api/auth/providers"),f=new Request(c,{method:"GET",headers:new Headers({host:c.host})}),n.next=5,t.POST(f);case 5:return p=n.sent,n.next=8,null==p?void 0:p.json();case 8:return l=n.sent,h=new URL(e.api.localPath+"/api/auth/csrf"),d=new Request(h,{method:"GET",headers:new Headers({host:c.host})}),n.next=13,t.POST(d);case 13:return v=n.sent,n.next=16,null==v?void 0:v.json();case 16:if(n.t0=s=n.sent,null==n.t0){n.next=21;break}n.t1=s,n.next=22;break;case 21:n.t1={};case 22:if(b=n.t1.csrfToken,w=l.credentials,g=null==v?void 0:v.headers.get("set-cookie"),expect(g).toContain("nile.csrf-token="),y=new URL(w.callbackUrl),g){n.next=30;break}throw new Error("unable to authenticate REST");case 30:return m=new Request(y,{method:"POST",headers:new Headers({"content-type":"application/json",cookie:g}),body:JSON.stringify({email:u,password:i,csrfToken:b,callbackUrl:w.callbackUrl})}),n.next=33,t.POST(m);case 33:if(E=null==(x=n.sent)?void 0:x.headers.get("set-cookie")){n.next=37;break}throw new Error("authentication failed");case 37:return expect(E).toContain("nile.session-token="),k=null!=(o=/(nile\.session-token=.+?);/.exec(E))?o:[],n.abrupt("return",new Headers({cookie:[k[1],g].join("; ")}));case 40:case"end":return n.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()}var $=process.env.NILEDB_API_URL;function X(e,t){if(!$)throw new Error("An API url is required. Set it via NILEDB_API_URL.");var n=new URLSearchParams(t);return[$,e.substring(1,e.length)].join("/")+(t?"?"+n.toString():"")}var Z={ME:X("/me"),USERS:function(e){return X("/users",e?{tenantId:e}:void 0)},USER:function(e){return X("/users/"+e)},TENANTS:X("/tenants"),TENANT:function(e){return X("/tenants/"+e)},SIGNUP:X("/signup"),TENANT_USERS:function(e){return X("/tenants/"+e+"/users")},TENANT_USER:function(e,t){return X("/tenants/"+e+"/users/"+t)},USER_TENANTS:function(e){return X("/users/"+e+"/tenants")}};function ee(e,t){return new URL(e).pathname.startsWith(t)}var te=["request"],ne=console.log;function re(e,t,n){return ae.apply(this,arguments)}function ae(){return ae=s(n().mark((function e(t,r,a){var s,o,u,c,f,l,h,v,b,w,g,y;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=d(i({},a,{debug:null==a?void 0:a.debug}),"[REQUEST]","["+t+"]"),u=o.info,c=o.error,f=r.request,l=p(r,te),h=new URL(f.url),(v=new Headers(f.headers)).set("host",h.host),v.set("niledb-origin",h.origin),v.set("niledb-creds",Buffer.from(process.env.NILEDB_USER+":"+process.env.NILEDB_PASSWORD).toString("base64")),"POST"!==(b=i({},l,{headers:v})).method&&"PUT"!==b.method||(b.body=null!=(w=l.body)?w:f.body,b.duplex="half"),ne("["+(null!=(s=b.method)?s:"GET")+"]",t),e.next=12,fetch(t,i({},b)).catch((function(e){return c("An error has occurred in the fetch",e),new Response("An unexpected (most likely configuration) problem has occurred",{status:500})}));case 12:return y="function"==typeof(null==(g=e.sent)?void 0:g.clone)?null==g?void 0:g.clone():null,e.t0=u,e.t1=null==g?void 0:g.status,e.t2=null==g?void 0:g.statusText,e.next=19,null==y?void 0:y.text();case 19:return e.t3=e.sent,(0,e.t0)("[Response]",e.t1,e.t2,e.t3),e.abrupt("return",g);case 22:case"end":return e.stop()}}),e)}))),ae.apply(this,arguments)}var se="ME",oe=Z[se];function ue(e,t){return ie.apply(this,arguments)}function ie(){return ie=s(n().mark((function e(t,r){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r("[GET]",oe),e.next=3,re(oe,t);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)}))),ie.apply(this,arguments)}function ce(e,t){return fe.apply(this,arguments)}function fe(){return fe=s(n().mark((function e(t,r){var a,s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=d(i({},r,{debug:r.debug}),"[ROUTES]","["+se+"]"),s=a.info,e.t0=t.method,e.next="GET"===e.t0?4:7;break;case 4:return e.next=6,ue({request:t},s);case 6:return e.abrupt("return",e.sent);case 7:return e.abrupt("return",new Response("method not allowed",{status:405}));case 8:case"end":return e.stop()}}),e)}))),fe.apply(this,arguments)}function pe(e,t){return ee(t.url,e[se])}function le(e,t){return he.apply(this,arguments)}function he(){return(he=s(n().mark((function e(t,r){var a,s,o,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=d(i({},r,{debug:r.debug}),"[nileauth]"),(s=a.info)("checking auth"),s("using session",o=r.api.basePath+"/auth/session"),t.headers.delete("content-length"),e.next=7,re(o,{request:t});case 7:if(u=e.sent){e.next=11;break}return s("no session found"),e.abrupt("return",void 0);case 11:return s("session active"),e.next=14,new Response(u.body).json();case 14:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function de(e,t,n){return ve.apply(this,arguments)}function ve(){return ve=s(n().mark((function e(t,r,a){var s,o,u,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",new Response(null,{status:401}));case 2:return r.body=r.request.body,r.method="POST",s=new URL(r.request.url),o=s.searchParams.get("tenantId"),u=null!=o?o:j(r.request.headers),i=Z.USERS(u||void 0),a&&a("[POST]",i),e.next=11,re(i,r);case 11:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e)}))),ve.apply(this,arguments)}function be(e,t){return we.apply(this,arguments)}function we(){return we=s(n().mark((function e(t,r){var a,s,o,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=new URL(t.request.url),s=a.searchParams.get("tenantId"),o=null!=s?s:j(t.request.headers)){e.next=6;break}return r("[GET]","[ERROR]","No tenant id provided."),e.abrupt("return",new Response(null,{status:404}));case 6:return u=Z.TENANT_USERS(o),r("[GET]",u),t.method="GET",e.next=11,re(u,t);case 11:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e)}))),we.apply(this,arguments)}function ge(e,t,n){return ye.apply(this,arguments)}function ye(){return ye=s(n().mark((function e(t,r,a){var s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",new Response(null,{status:401}));case 2:return r.body=r.request.body,r.method="PUT",s=new URL(r.request.url).pathname.split("/").reverse(),o=Z.USER(s[0]),a("[PUT]",o),e.next=9,re(o,r);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)}))),ye.apply(this,arguments)}var me="USERS";function xe(e,t){return Ee.apply(this,arguments)}function Ee(){return Ee=s(n().mark((function e(t,r){var a,s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=d(i({},r,{debug:r.debug}),"[ROUTES]","["+me+"]"),s=a.info,e.next=3,le(t,r);case 3:o=e.sent,e.t0=t.method,e.next="GET"===e.t0?7:"POST"===e.t0?10:"PUT"===e.t0?13:16;break;case 7:return e.next=9,be({request:t},s);case 9:case 12:case 15:return e.abrupt("return",e.sent);case 10:return e.next=12,de(o,{request:t},s);case 13:return e.next=15,ge(o,{request:t},s);case 16:return e.abrupt("return",new Response("method not allowed",{status:405}));case 17:case"end":return e.stop()}}),e)}))),Ee.apply(this,arguments)}function ke(e,t){return ee(t.url,e[me])}function Ie(e,t,n){return Ne.apply(this,arguments)}function Ne(){return Ne=s(n().mark((function e(t,r,a){var s,o,u,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=new URL(r.request.url),o=s.pathname.split("/").reverse(),u=o[1]){e.next=4;break}return e.abrupt("return",new Response(null,{status:404}));case 4:return i=""+Z.TENANT_USERS(u),a("[GET]","[TENANT_USERS]",i),e.next=8,re(i,r);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)}))),Ne.apply(this,arguments)}function Se(e,t,n){return Re.apply(this,arguments)}function Re(){return Re=s(n().mark((function e(t,r,a){var s,o,u,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new URL(r.request.url),o=s.pathname.split("/").reverse(),u=o[1],r.body=JSON.stringify({email:t.email}),r.method="PUT",i=Z.TENANT_USERS(u),a("[PUT]",i),e.next=8,re(i,r);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)}))),Re.apply(this,arguments)}function Te(e,t,n){return Le.apply(this,arguments)}function Le(){return Le=s(n().mark((function e(t,r,a){var s,o,u,i,c;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=new URL(r.request.url),o=s.pathname.split("/").reverse(),u=o[0],i=o[2]){e.next=4;break}return e.abrupt("return",new Response(null,{status:404}));case 4:return r.method="DELETE",r.body=JSON.stringify({email:u}),c=""+Z.TENANT_USER(i,u),a("[DELETE]",c),e.next=10,re(c,r);case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e)}))),Le.apply(this,arguments)}function Ue(e,t,n){return _e.apply(this,arguments)}function _e(){return _e=s(n().mark((function e(t,r,a){var s,o,u,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=new URL(r.request.url),o=s.pathname.split("/").reverse(),u=o[1]){e.next=4;break}return e.abrupt("return",new Response(null,{status:404}));case 4:return r.method="PUT",i=""+Z.TENANT_USERS(u),a("[PUT]",i),e.next=9,re(i,r);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)}))),_e.apply(this,arguments)}var Pe="TENANT_USERS";function Oe(e,t){return De.apply(this,arguments)}function De(){return De=s(n().mark((function e(t,r){var a,s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=d(i({},r,{debug:r.debug}),"[ROUTES]","["+Pe+"]"),s=a.info,e.next=3,le(t,r);case 3:if(o=e.sent){e.next=7;break}return s("401"),e.abrupt("return",new Response(null,{status:401}));case 7:e.t0=t.method,e.next="GET"===e.t0?10:"POST"===e.t0?13:"PUT"===e.t0?16:"DELETE"===e.t0?19:22;break;case 10:return e.next=12,Ie(o,{request:t},s);case 12:case 15:case 18:case 21:return e.abrupt("return",e.sent);case 13:return e.next=15,Se(o,{request:t},s);case 16:return e.next=18,Ue(o,{request:t},s);case 19:return e.next=21,Te(o,{request:t},s);case 22:return e.abrupt("return",new Response("method not allowed",{status:405}));case 23:case"end":return e.stop()}}),e)}))),De.apply(this,arguments)}function Ae(e,t){var n=new URL(t.url).pathname.split("/").reverse(),r=n[0],a=n[1],s=e[Pe].replace("{tenantId}",n[2]).replace("{userId}",r);return"users"===r&&(s=e[Pe].replace("{tenantId}",a)),ee(t.url,s)}function Be(e,t,n){return qe.apply(this,arguments)}function qe(){return qe=s(n().mark((function e(t,r,a){var s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=""+Z.USER_TENANTS(t.id),"object"==typeof t&&"user"in t&&t.user&&(s=""+Z.USER_TENANTS(t.user.id)),a("[GET]",s),e.next=5,re(s,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)}))),qe.apply(this,arguments)}function je(e,t,n){return Ge.apply(this,arguments)}function Ge(){return Ge=s(n().mark((function e(t,r,a){var s,o,u,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=new URL(r.request.url),o=s.pathname.split("/").reverse(),u=o[0]){e.next=4;break}return e.abrupt("return",new Response(null,{status:404}));case 4:return r.method="DELETE",i=""+Z.TENANT(u),a("[DELETE]",i),e.next=9,re(i,r);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)}))),Ge.apply(this,arguments)}function Ce(e,t,n){return He.apply(this,arguments)}function He(){return He=s(n().mark((function e(t,r,a){var s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r.body=r.request.body,r.method="POST",a("[POST]",s=""+Z.TENANTS),e.next=6,re(s,r);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)}))),He.apply(this,arguments)}var Me="TENANTS";function Ke(e,t){return Fe.apply(this,arguments)}function Fe(){return Fe=s(n().mark((function e(t,r){var a,s,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=d(i({},r,{debug:r.debug}),"[ROUTES]","["+Me+"]"),s=a.info,e.next=3,le(t,r);case 3:if(o=e.sent){e.next=7;break}return s("401"),e.abrupt("return",new Response(null,{status:401}));case 7:e.t0=t.method,e.next="GET"===e.t0?10:"POST"===e.t0?13:"DELETE"===e.t0?16:19;break;case 10:return e.next=12,Be(o,{request:t},s);case 12:case 15:case 18:return e.abrupt("return",e.sent);case 13:return e.next=15,Ce(o,{request:t},s);case 16:return e.next=18,je(o,{request:t},s);case 19:return e.abrupt("return",new Response("method not allowed",{status:405}));case 20:case"end":return e.stop()}}),e)}))),Fe.apply(this,arguments)}function We(e,t){return ee(t.url,e[Me])}var ze={SIGNIN:X("/auth/signin"),PROVIDERS:X("/auth/providers"),SESSION:X("/auth/session"),CSRF:X("/auth/csrf"),CALLBACK:X("/auth/callback"),SIGNOUT:X("/auth/signout"),ERROR:X("/auth/error")},Je="SIGNIN";function Ve(e){return Ye.apply(this,arguments)}function Ye(){return Ye=s(n().mark((function e(t){var r,a,s,o,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=ze[Je],a={method:t.method,headers:t.headers},"POST"===t.method&&("function"==typeof t.clone&&(a.body=t.clone().body),s=new URL(t.url).pathname.split("/").reverse(),r=ze[Je]+"/"+s[0]),o=new URL(t.url),u=new URLSearchParams(o.search),r+=""!==u.toString()?"?"+u.toString():"",e.next=8,re(r,i({},a,{request:t}));case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)}))),Ye.apply(this,arguments)}function Qe(e,t){return ee(t.url,e[Je])}function $e(e,t){return Xe.apply(this,arguments)}function Xe(){return(Xe=s(n().mark((function e(t,r){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",re(ze.SESSION,{method:t.method,request:t},r));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ze(e,t){return ee(t.url,e.SESSION)}function et(e){return tt.apply(this,arguments)}function tt(){return(tt=s(n().mark((function e(t){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",re(ze.PROVIDERS,{method:t.method,request:t}));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function nt(e,t){return ee(t.url,e.PROVIDERS)}function rt(e){return at.apply(this,arguments)}function at(){return(at=s(n().mark((function e(t){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",re(ze.CSRF,{method:t.method,request:t}));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function st(e,t){return ee(t.url,e.CSRF)}var ot=console,ut=ot.log,it=ot.error;function ct(e){return ft.apply(this,arguments)}function ft(){return ft=s(n().mark((function e(t){var r,a,s,o,u,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL(t.url).pathname.split("/").reverse(),a=r[0],s=new URL(t.url),o=new URLSearchParams(s.search),u=ze.CALLBACK+"/"+a+(""!==o.toString()?"?"+o.toString():""),e.next=6,re(u,{request:t,method:t.method}).catch((function(e){it("an error has occurred in callback"),ut(e)}));case 6:if(!(null==(i=e.sent)?void 0:i.headers.get("location"))){e.next=10;break}return e.abrupt("return",new Response(null==i?void 0:i.body,{status:302,headers:null==i?void 0:i.headers}));case 10:return e.abrupt("return",new Response(null==i?void 0:i.body,{status:null==i?void 0:i.status,headers:null==i?void 0:i.headers}));case 11:case"end":return e.stop()}}),e)}))),ft.apply(this,arguments)}function pt(e,t){return ee(t.url,e.CALLBACK)}var lt="SIGNOUT";function ht(e){return dt.apply(this,arguments)}function dt(){return dt=s(n().mark((function e(t){var r,a,s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=ze[lt],a={method:t.method},"POST"===t.method&&(a.body=t.body,s=new URL(t.url).pathname.split("/").reverse(),r=ze[lt]+"/"+s[0]),e.next=5,re(r,i({},a,{request:t}));case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)}))),dt.apply(this,arguments)}function vt(e,t){return ee(t.url,e[lt])}var bt="ERROR";function wt(e){return gt.apply(this,arguments)}function gt(){return(gt=s(n().mark((function e(t){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",re(ze[bt],{method:t.method,request:t}));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function yt(e,t){return ee(t.url,e[bt])}var mt=function(){function e(e){var t;this.config=void 0,this.users=void 0,this.tenants=void 0,this.routes=void 0,this.handlers=void 0,this.config=e,this.users=new K(e),this.tenants=new F(e),this.routes=i({},(void 0===(t=null==e?void 0:e.routePrefix)&&(t="/api"),{SIGNIN:t+"/auth/signin",PROVIDERS:t+"/auth/providers",SESSION:t+"/auth/session",CSRF:t+"/auth/csrf",CALLBACK:t+"/auth/callback",SIGNOUT:t+"/auth/signout",ERROR:t+"/auth/error",ME:t+"/me",USERS:t+"/users",TENANTS:t+"/tenants",TENANT_USER:t+"/tenants/{tenantId}/users/{userId}",TENANT_USERS:t+"/tenants/{tenantId}/users",SIGNUP:t+"/signup"}),null==e?void 0:e.routes),this.handlers=function(e,t){var r=function(e,t){return function(){var r=s(n().mark((function r(a){return n().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!pe(e,a)){n.next=2;break}return n.abrupt("return",ce(a,t));case 2:if(!ke(e,a)){n.next=4;break}return n.abrupt("return",xe(a,t));case 4:if(!Ae(e,a)){n.next=6;break}return n.abrupt("return",Oe(a,t));case 6:if(!We(e,a)){n.next=8;break}return n.abrupt("return",Ke(a,t));case 8:if(!Ze(e,a)){n.next=10;break}return n.abrupt("return",$e(a,t));case 10:if(!Qe(e,a)){n.next=12;break}return n.abrupt("return",Ve(a));case 12:if(!nt(e,a)){n.next=14;break}return n.abrupt("return",et(a));case 14:if(!st(e,a)){n.next=16;break}return n.abrupt("return",rt(a));case 16:if(!pt(e,a)){n.next=18;break}return n.abrupt("return",ct(a));case 18:if(!vt(e,a)){n.next=20;break}return n.abrupt("return",ht(a));case 20:if(!yt(e,a)){n.next=22;break}return n.abrupt("return",wt(a));case 22:return n.abrupt("return",new Response(null,{status:404}));case 23:case"end":return n.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()}(e,t),a=function(e,t){return function(){var r=s(n().mark((function r(a){return n().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Ae(e,a)){n.next=2;break}return n.abrupt("return",Oe(a,t));case 2:if(!ke(e,a)){n.next=4;break}return n.abrupt("return",xe(a,t));case 4:if(!We(e,a)){n.next=6;break}return n.abrupt("return",Ke(a,t));case 6:if(!Ze(e,a)){n.next=8;break}return n.abrupt("return",$e(a,t));case 8:if(!Qe(e,a)){n.next=10;break}return n.abrupt("return",Ve(a));case 10:if(!nt(e,a)){n.next=12;break}return n.abrupt("return",et(a));case 12:if(!st(e,a)){n.next=14;break}return n.abrupt("return",rt(a));case 14:if(!pt(e,a)){n.next=16;break}return n.abrupt("return",ct(a));case 16:if(!vt(e,a)){n.next=18;break}return n.abrupt("return",ht(a));case 18:return n.abrupt("return",new Response(null,{status:404}));case 19:case"end":return n.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()}(e,t),o=function(e,t){return function(){var r=s(n().mark((function r(a){return n().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Ae(e,a)){n.next=2;break}return n.abrupt("return",Oe(a,t));case 2:if(!We(e,a)){n.next=4;break}return n.abrupt("return",Ke(a,t));case 4:return n.abrupt("return",new Response(null,{status:404}));case 5:case"end":return n.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()}(e,t),u=function(e,t){return function(){var r=s(n().mark((function r(a){return n().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Ae(e,a)){n.next=2;break}return n.abrupt("return",Oe(a,t));case 2:if(!ke(e,a)){n.next=4;break}return n.abrupt("return",xe(a,t));case 4:if(!We(e,a)){n.next=6;break}return n.abrupt("return",Ke(a,t));case 6:return n.abrupt("return",new Response(null,{status:404}));case 7:case"end":return n.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()}(e,t);return{GET:r,POST:a,DELETE:o,PUT:u}}(this.routes,e)}return e.prototype.login=function(){var e=s(n().mark((function e(t){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Q(this.config,this.handlers)(t);case 2:this.headers=e.sent;case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),u(e,[{key:"headers",set:function(e){this.users=new K(this.config,e),this.tenants=new F(this.config,e)}}])}(),xt=function(){function e(e){var t=this;this.config=void 0,this.api=void 0,this.manager=void 0,this.servers=void 0,this.config=new T(e,"[initial config]"),this.servers=new Map,this.api=new mt(this.config),this.manager=new V(this.config),U.subscribe(I.Tenant,(function(e){t.tenantId=e})),U.subscribe(I.User,(function(e){t.userId=e})),U.subscribe(I.Token,(function(e){t.token=e}))}var t=e.prototype;return t.setConfig=function(e){this.config=new T(e)},t.init=function(){var e=s(n().mark((function e(t){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.config.configure(i({},this.config,t));case 2:return this.setConfig(e.sent),this.manager.clear(this.config),this.manager=new V(this.config),this.api=new mt(this.config),e.abrupt("return",this);case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.getInstance=function(t){var n=i({},this.config,t),r=function(e){var t=new T(e);return Y(t)}(n);if(r===Y(this.config))return this;var a=this.servers.get(r);if(a){var s=new T(n);return a.setConfig(s),a.tenantId=s.tenantId,a.userId=s.userId,a.token=s.api.token,a.databaseId=s.databaseId,a}return this.servers.set(r,new e(n)),this.servers.get(r)},u(e,[{key:"databaseId",set:function(e){e&&(this.config.databaseId=e,this.api.users.databaseId=e,this.api.tenants.databaseId=e)}},{key:"userId",get:function(){return this.config.userId},set:function(e){this.databaseId=this.config.databaseId,this.config.userId=e,this.api&&(this.api.users.userId=this.config.userId,this.api.tenants.userId=this.config.userId)}},{key:"tenantId",get:function(){return this.config.tenantId},set:function(e){this.databaseId=this.config.databaseId,this.config.tenantId=e,this.api&&(this.api.users.tenantId=e,this.api.tenants.tenantId=e)}},{key:"token",get:function(){var e;return null==(e=this.config)||null==(e=e.api)?void 0:e.token},set:function(e){e&&(this.config.api.token=e,this.api&&(this.api.users.api.token=e,this.api.tenants.api.token=e))}},{key:"db",get:function(){return this.manager.getConnection(this.config)}}])}();function Et(e){return kt.apply(this,arguments)}function kt(){return(kt=s(n().mark((function e(t){var r;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new xt(t),e.next=3,r.init();case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}exports.Nile=Et,exports.Server=xt,exports.default=Et;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("dotenv/config");var e=require("pg"),t=require("jose");function n(){n=function(){return t};var e,t={},r=Object.prototype,a=r.hasOwnProperty,s=Object.defineProperty||function(e,t,n){e[t]=n.value},u="function"==typeof Symbol?Symbol:{},o=u.iterator||"@@iterator",i=u.asyncIterator||"@@asyncIterator",c=u.toStringTag||"@@toStringTag";function f(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{f({},"")}catch(e){f=function(e,t,n){return e[t]=n}}function p(e,t,n,r){var a=Object.create((t&&t.prototype instanceof g?t:g).prototype),u=new _(r||[]);return s(a,"_invoke",{value:T(e,n,u)}),a}function l(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=p;var h="suspendedStart",d="suspendedYield",v="executing",b="completed",w={};function g(){}function y(){}function m(){}var x={};f(x,o,(function(){return this}));var E=Object.getPrototypeOf,k=E&&E(E(P([])));k&&k!==r&&a.call(k,o)&&(x=k);var I=m.prototype=g.prototype=Object.create(x);function N(e){["next","throw","return"].forEach((function(t){f(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function n(r,s,u,o){var i=l(e[r],e,s);if("throw"!==i.type){var c=i.arg,f=c.value;return f&&"object"==typeof f&&a.call(f,"__await")?t.resolve(f.__await).then((function(e){n("next",e,u,o)}),(function(e){n("throw",e,u,o)})):t.resolve(f).then((function(e){c.value=e,u(c)}),(function(e){return n("throw",e,u,o)}))}o(i.arg)}var r;s(this,"_invoke",{value:function(e,a){function s(){return new t((function(t,r){n(e,a,t,r)}))}return r=r?r.then(s,s):s()}})}function T(t,n,r){var a=h;return function(s,u){if(a===v)throw Error("Generator is already running");if(a===b){if("throw"===s)throw u;return{value:e,done:!0}}for(r.method=s,r.arg=u;;){var o=r.delegate;if(o){var i=R(o,r);if(i){if(i===w)continue;return i}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===h)throw a=b,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=v;var c=l(t,n,r);if("normal"===c.type){if(a=r.done?b:d,c.arg===w)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(a=b,r.method="throw",r.arg=c.arg)}}}function R(t,n){var r=n.method,a=t.iterator[r];if(a===e)return n.delegate=null,"throw"===r&&t.iterator.return&&(n.method="return",n.arg=e,R(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),w;var s=l(a,t.iterator,n.arg);if("throw"===s.type)return n.method="throw",n.arg=s.arg,n.delegate=null,w;var u=s.arg;return u?u.done?(n[t.resultName]=u.value,n.next=t.nextLoc,"return"!==n.method&&(n.method="next",n.arg=e),n.delegate=null,w):u:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,w)}function L(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function U(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function P(t){if(t||""===t){var n=t[o];if(n)return n.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,s=function n(){for(;++r<t.length;)if(a.call(t,r))return n.value=t[r],n.done=!1,n;return n.value=e,n.done=!0,n};return s.next=s}}throw new TypeError(typeof t+" is not iterable")}return y.prototype=m,s(I,"constructor",{value:m,configurable:!0}),s(m,"constructor",{value:y,configurable:!0}),y.displayName=f(m,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===y||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,f(e,c,"GeneratorFunction")),e.prototype=Object.create(I),e},t.awrap=function(e){return{__await:e}},N(S.prototype),f(S.prototype,i,(function(){return this})),t.AsyncIterator=S,t.async=function(e,n,r,a,s){void 0===s&&(s=Promise);var u=new S(p(e,n,r,a),s);return t.isGeneratorFunction(n)?u:u.next().then((function(e){return e.done?e.value:u.next()}))},N(I),f(I,c,"Generator"),f(I,o,(function(){return this})),f(I,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},t.values=P,_.prototype={constructor:_,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(U),!t)for(var n in this)"t"===n.charAt(0)&&a.call(this,n)&&!isNaN(+n.slice(1))&&(this[n]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var n=this;function r(r,a){return o.type="throw",o.arg=t,n.next=r,a&&(n.method="next",n.arg=e),!!a}for(var s=this.tryEntries.length-1;s>=0;--s){var u=this.tryEntries[s],o=u.completion;if("root"===u.tryLoc)return r("end");if(u.tryLoc<=this.prev){var i=a.call(u,"catchLoc"),c=a.call(u,"finallyLoc");if(i&&c){if(this.prev<u.catchLoc)return r(u.catchLoc,!0);if(this.prev<u.finallyLoc)return r(u.finallyLoc)}else if(i){if(this.prev<u.catchLoc)return r(u.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<u.finallyLoc)return r(u.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&a.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var s=r;break}}s&&("break"===e||"continue"===e)&&s.tryLoc<=t&&t<=s.finallyLoc&&(s=null);var u=s?s.completion:{};return u.type=e,u.arg=t,s?(this.method="next",this.next=s.finallyLoc,w):this.complete(u)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),w},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),U(n),w}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;U(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:P(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),w}},t}function r(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}function a(e,t,n,r,a,s,u){try{var o=e[s](u),i=o.value}catch(e){return void n(e)}o.done?t(i):Promise.resolve(i).then(r,a)}function s(e){return function(){var t=this,n=arguments;return new Promise((function(r,s){var u=e.apply(t,n);function o(e){a(u,r,s,o,i,"next",e)}function i(e){a(u,r,s,o,i,"throw",e)}o(void 0)}))}}function u(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,r(a.key),a)}}function o(e,t,n){return t&&u(e.prototype,t),n&&u(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}function c(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,f(e,t)}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}function p(e,t){if(null==e)return{};var n,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)t.indexOf(n=s[r])>=0||(a[n]=e[n]);return a}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function h(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return l(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function d(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return{info:function(){if(null!=e&&e.debug){for(var t,r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];(t=console).info.apply(t,["[niledb]"].concat(n,a))}},warn:function(){if(null!=e&&e.debug){for(var t,r=arguments.length,a=new Array(r),s=0;s<r;s++)a[s]=arguments[s];(t=console).warn.apply(t,["[niledb]"].concat(n,a))}},error:function(){for(var e,t=arguments.length,r=new Array(t),a=0;a<t;a++)r[a]=arguments[a];(e=console).error.apply(e,["[niledb]","[ERROR]"].concat(n,r))}}}var v=function(e){var t=e.config,n=e.logger,r=d(t,"[username]").info;return null!=t&&t.user?(n&&r(n,"config",t.user),String(null==t?void 0:t.user)):(n&&r(n,"NILEDB_USER",process.env.NILEDB_USER),process.env.NILEDB_USER)},b=function(e){var t=e.config;return d(t,"[password]"),null!=t&&t.password?String(t.password):process.env.NILEDB_PASSWORD},w=function(e){var t,n,r,a=e.config,s=e.logger,u=d(a,"[token]").info;return null!=a&&null!=(t=a.api)&&t.token?(s&&u(s,"config",null==(n=a.api)?void 0:n.token),String(null==(r=a.api)?void 0:r.token)):process.env.NILEDB_TOKEN?(s&&u(s,"NILEDB_TOKEN",process.env.NILEDB_TOKEN),process.env.NILEDB_TOKEN):void 0},g=function(e){var t=e.config,n=e.logger,r=d(t,"[databaseName]").info;return null!=t&&t.databaseName?(n&&r(n,"config",t.databaseName),String(t.databaseName)):process.env.NILEDB_NAME?(n&&r(n,"NILEDB_NAME",process.env.NILEDB_NAME),process.env.NILEDB_NAME):null},y=function(e){var t=e.logger;if(process.env.NILEDB_LOCAL){var n=d(e.config,"[local]");return t&&(0,n.info)(t,"NILEDB_LOCAL",process.env.NILEDB_LOCAL),new URL(process.env.NILEDB_LOCAL).href}return"http://localhost:3000"},m=function(e){var t,n,r,a,s=e.config,u=e.logger,o=d(s,"[basePath]").info,i=null==s||null==(t=s.api)?void 0:t.basePath,c="";if(/\/v\d\//.test(String(i))||(c=1===(null==s||null==(n=s.api)?void 0:n.version)?"":"/v"+(null!=(r=null==s||null==(a=s.api)?void 0:a.version)?r:2)),i)return u&&o(u,"config",i),""+i+c;if(process.env.NILEDB_API_URL)return u&&o(u,"NILEDB_API_URL",process.env.NILEDB_API_URL),new URL(process.env.NILEDB_API_URL).href;throw new Error("NILEDB_API_URL is missing.")},x=function(e){var t=e.logger,n=d(e.config,"[basePath]").info;return process.env.NILEDB_CONFIGURE?(t&&n(t,"NILEDB_CONFIGURE",process.env.NILEDB_CONFIGURE),process.env.NILEDB_CONFIGURE):(t&&n(t,"default",process.env.NILEDB_CONFIGURE),"https://global.thenile.dev")};function E(e){var t=e.config,n=e.logger,r=d(t,"[db.host]").info;if(null!=t&&t.db&&t.db.host)return n&&r(n,"config",null==t?void 0:t.db.host),t.db.host;if(process.env.NILEDB_POSTGRES_URL){var a=new URL(process.env.NILEDB_POSTGRES_URL);return n&&r(n,"NILEDB_POSTGRES_URL",a.host),a.host}return process.env.NILEDB_HOST?(n&&r(n,"NILEDB_HOST",process.env.NILEDB_HOST),process.env.NILEDB_HOST):(n&&r(n,"default","db.thenile.dev"),"db.thenile.dev")}function k(e){var t,n,r=e.config,a=e.logger,s=d(r,"[db.port]").info;return null!=r&&null!=(t=r.db)&&t.port&&null!=r.db.port?(a&&s(a,"config",null==r?void 0:r.db.port),Number(null==(n=r.db)?void 0:n.port)):process.env.NILEDB_PORT?(a&&s(a,"config",process.env.NILEDB_PORT),Number(process.env.NILEDB_PORT)):(a&&s(a,"default",5432),5432)}var I,N=["host","port"],S=["host","port"],T=function(){return o((function(e){var t=e.basePath,n=e.cookieKey,r=e.token,a=e.version,s=e.localPath;this.cookieKey=void 0,this.basePath=void 0,this.version=void 0,this.localPath=void 0,this._token=void 0,this.basePath=t,this.cookieKey=n,this.version=a,this._token=r,this.localPath=null!=s?s:"http://localhost:3000"}),[{key:"token",get:function(){return this._token},set:function(e){this._token=e}}])}(),R=function(){return o((function(e,t){var r,a,u,o,c,f=this;this.user=void 0,this.password=void 0,this.databaseId=void 0,this.databaseName=void 0,this.routePrefix=void 0,this.routes=void 0,this.debug=void 0,this.db=void 0,this.api=void 0,this._tenantId=void 0,this._userId=void 0,this.configure=function(){var e=s(n().mark((function e(t){var r,a,s,u,o,c,l,h,I,S,R,L,U,_,P,O,D,A,B,q,j,G,C,H,M,K,F,W,z,J,V,Y;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(l=d(t,"[init]"),h=l.info,I=l.error,S={config:t},R=null!=(r=t.db)?r:{},L=R.host,U=R.port,_=p(R,N),P=null!=L?L:E(S),O=null!=U?U:k(S),!(P&&f.databaseName&&f.databaseId)){e.next=8;break}return h("Already configured, aborting fetch"),e.abrupt("return",f);case 8:return D=m(S),A=x(S),B=g({config:t,logger:"getInfo"}),q=new URL(A+"/databases/configure"),B&&q.searchParams.set("databaseName",B),h("configuring from",q.href),e.next=16,fetch(q,{headers:{Authorization:"Bearer "+(n={config:t},v(n)+":"+b(n))}});case 16:return C=(j=e.sent).clone(),e.prev=18,e.next=21,j.json();case 21:H=e.sent,404===j.status&&h("is the configured databaseName correct?"),G=H.status&&"READY"!==H.status?{message:"Database is not ready yet"}:H,e.next=33;break;case 26:return e.prev=26,e.t0=e.catch(18),e.next=30,C.text();case 30:I(M=e.sent),G={message:M};case 33:if(h("[fetched database]",G),!("message"in G)){e.next=42;break}if(!("statusCode"in G)){e.next=41;break}throw I(G),new Error("HTTP error has occurred");case 41:throw new Error("Unable to auto-configure. Please remove NILEDB_NAME, NILEDB_API_URL, NILEDB_POSTGRES_URL, and/or NILEDB_HOST from your environment variables.");case 42:"object"==typeof G&&(F=(K=G).apiHost,W=K.dbHost,z=K.name,J=K.id,V=m(S)||F,f.databaseId=J,f.databaseName=z,Y=new URL(W),P=Y.host,D=V);case 43:return null==(a=S.config)||null==(a=a.api)||delete a.basePath,D=m(S),f.api=new T({basePath:D,cookieKey:null!=(s=null==t||null==(u=t.api)?void 0:u.cookieKey)?s:"token",token:w({config:t}),version:null!=(o=null==t||null==(c=t.api)?void 0:c.version)?o:2,localPath:y(S)}),f.db=i({user:f.user,password:f.password,host:P,port:O,database:f.databaseName},_),h("[config set]",f),e.abrupt("return",f);case 49:case"end":return e.stop()}var n}),e,null,[[18,26]])})));return function(t){return e.apply(this,arguments)}}();var l={config:e,logger:t};if(this.user=v(l),this.password=b(l),!this.user)throw new Error("User is required. Set NILEDB_USER as an environment variable or set `user` in the config options.");if(!this.password)throw new Error("Password is required. Set NILEDB_PASSWORD as an environment variable or set `password` in the config options.");this.databaseId=function(e){var t=e.config,n=e.logger,r=d(t,"[databaseId]").info;return null!=t&&t.databaseId?(n&&r(n,"config",t.databaseId),String(null==t?void 0:t.databaseId)):process.env.NILEDB_POSTGRES_URL?new URL(process.env.NILEDB_POSTGRES_URL).pathname.substring(1):(n&&r(n,"env",process.env.NILEDB_ID),process.env.NILEDB_ID)}(l),this.databaseName=g(l),this._tenantId=function(e){var t=e.config,n=e.logger,r=d(t,"[tenantId]").info;return null!=t&&t.tenantId?(n&&r(n,"config",t.tenantId),t.tenantId):process.env.NILEDB_TENANT?(n&&r(n,"NILEDB_TENANT",process.env.NILEDB_TENANT),process.env.NILEDB_TENANT):null}(l),this.debug=Boolean(null==e?void 0:e.debug),this._userId=null==e?void 0:e.userId;var h=m(l),I=null!=(r=null==e?void 0:e.db)?r:{},R=I.host,L=I.port,U=p(I,S),_=null!=R?R:E(l),P=null!=L?L:k(l);this.api=new T({basePath:h,cookieKey:null!=(a=null==e||null==(u=e.api)?void 0:u.cookieKey)?a:"token",token:w({config:e}),version:null!=(o=null==e||null==(c=e.api)?void 0:c.version)?o:2,localPath:y(l)}),this.db=i({user:this.user,password:this.password,host:_,port:P},U),this.databaseName&&(this.db.database=this.databaseName)}),[{key:"tenantId",get:function(){return this._tenantId},set:function(e){this._tenantId=e}},{key:"userId",get:function(){return this._userId},set:function(e){this._userId=e}}])}();!function(e){e.User="userId",e.Tenant="tenantId",e.Token="token",e.EvictPool="EvictPool"}(I||(I={}));var L=new(function(){function e(){this.events=void 0,this.events={}}var t=e.prototype;return t.publish=function(e,t){var n=this.events[e];if(n)for(var r,a=h(n);!(r=a()).done;)(0,r.value)(t)},t.subscribe=function(e,t){this.events[e]||(this.events[e]=[]),this.events[e].push(t)},t.unsubscribe=function(e,t){var n=this.events[e].findIndex((function(e){return e===t}));-1!==n&&this.events[e].splice(n,1)},e}()),U=function(e){L.publish(I.Tenant,e)},_=function(e){L.publish(I.User,e)},P=function(e){return L.subscribe(I.EvictPool,e)},O=function(e){L.publish(I.EvictPool,e)};function D(e){return!!e&&/^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(e)}var A=["afterCreate"],B=function(){function t(t,r){var a=this;this.pool=void 0,this.tenantId=void 0,this.userId=void 0,this.id=void 0,this.config=void 0,this.timer=void 0;var u=d(t,"[NileInstance]"),o=u.warn,c=u.info;this.id=r;var f=i({min:0,max:10,idleTimeoutMillis:3e4},t.db),l=f.afterCreate,h=p(f,A);t.db=f,this.config=t,c(this.config.db),this.pool=function(e,t){var n=d(t,"[pool]"),r=n.info,a=n.error;return new Proxy(e,{get:function(e,n){if("query"===n){t.db.connectionString||(t.user&&t.password?t.db.database||a("Database name is missing from the config. Call `nile.init()` or set NILEDB_ID in your .env"):a("Cannot connect to the database. User and/or password are missing. Generate them at https://console.thenile.dev"));var s=e[n];return function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return r.apply(void 0,t),s.apply(this,t)}}return e[n]}})}(new e.Pool(h),this.config),"function"==typeof l&&o("Providing an pool configuration will stop automatic tenant context setting."),this.startTimeout(),this.pool.on("connect",function(){var e=s(n().mark((function e(r){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c("pool connected"),q(t)(r,(function(e){var n=d(t,"[after create callback]");e&&((0,n.error)("after create failed",e),O(a.id))})),a.startTimeout();case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),this.pool.on("error",function(){var e=s(n().mark((function e(t){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c("pool failed",t),a.timer&&clearTimeout(a.timer),O(a.id);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())}return t.prototype.startTimeout=function(){var e=this,t=d(this.config,"[NileInstance]").info;this.timer&&clearTimeout(this.timer),this.timer=setTimeout(s(n().mark((function r(){return n().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t("Pool reached idleTimeoutMillis.",e.id,"evicted after",e.config.db.idleTimeoutMillis,"ms"),n.next=3,e.pool.end((function(){t("Pool end called")}));case 3:O(e.id);case 4:case"end":return n.stop()}}),r)}))),this.config.db.idleTimeoutMillis)},t}();function q(e){var t=d(e,"[afterCreate]"),n=t.warn,r=t.info;return function(t,a){if(t.on("error",(function(e){n("Connection was terminated by server",e),a(e,t)})),D(e.tenantId)){var s=["SET nile.tenant_id = '"+e.tenantId+"'"];D(e.userId)&&(e.tenantId||n("A user id cannot be set in context without a tenant id"),s.push("SET nile.user_id = '"+e.userId+"'")),t.query(s.join(";"),(function(n){1===s.length&&r("[tenant id]",e.tenantId),2===s.length&&r("[user id]",e.userId),a(n,t)}))}a(null,t)}}var j=function(){function e(e){var t=this;this.connections=void 0,this.cleared=void 0,this.poolWatcher=function(e){return function(n){var r=d(e,"[DBManager]").info;n&&t.connections.has(n)&&(r("Removing",n,"from db connection pool."),t.connections.delete(n))}},this.getConnection=function(e){var n=d(e,"[DBManager]").info,r=t.makeId(e.tenantId,e.userId),a=t.connections.get(r);if(n("# of instances:",t.connections.size),a)return n("returning existing",r),a.startTimeout(),a.pool;var s=new B(new R(e),r);return t.connections.set(r,s),n("created new",r),n("# of instances:",t.connections.size),t.cleared&&(t.cleared=!1,P(t.poolWatcher(e))),s.pool},this.clear=function(e){var n;(0,d(e,"[DBManager]").info)("Clearing all connections",t.connections.size),n=t.poolWatcher(e),L.unsubscribe(I.EvictPool,n),t.cleared=!0,t.connections.clear()};var n=d(e,"[DBManager]").info;this.cleared=!1,this.connections=new Map;var r=this.makeId();n("constructor",r),this.connections.set(r,new B(new R(e),r)),P(this.poolWatcher(e))}return e.prototype.makeId=function(e,t){return D(e)&&D(t)?e+":"+t:D(e)?""+e:"base"},e}(),G=function(e){return Buffer.from(JSON.stringify(e),"utf8").toString("base64")},C=process.env.NILEDB_API_URL;function H(e,t){if(!C)throw new Error("An API url is required. Set it via NILEDB_API_URL.");var n=new URLSearchParams(t);return[C,e.substring(1,e.length)].join("/")+(t?"?"+n.toString():"")}var M={ME:H("/me"),USERS:function(e){return H("/users",e?{tenantId:e}:void 0)},USER:function(e){return H("/users/"+e)},TENANTS:H("/tenants"),TENANT:function(e){return H("/tenants/"+e)},SIGNUP:H("/signup"),TENANT_USERS:function(e){return H("/tenants/"+e+"/users")},TENANT_USER:function(e,t){return H("/tenants/"+e+"/users/"+t)},USER_TENANTS:function(e){return H("/users/"+e+"/tenants")}};function K(e,t){return new URL(e).pathname.startsWith(t)}var F=["request"],W=console.log;function z(e,t,n){return J.apply(this,arguments)}function J(){return J=s(n().mark((function e(t,r,a){var s,u,o,c,f,l,h,v,b,w,g,y;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=d(i({},a,{debug:null==a?void 0:a.debug}),"[REQUEST]","["+t+"]"),o=u.info,c=u.error,f=r.request,l=p(r,F),h=new URL(f.url),(v=new Headers(f.headers)).set("host",h.host),v.set("niledb-origin",h.origin),v.set("niledb-creds",Buffer.from(process.env.NILEDB_USER+":"+process.env.NILEDB_PASSWORD).toString("base64")),"POST"!==(b=i({},l,{headers:v})).method&&"PUT"!==b.method||(b.body=null!=(w=l.body)?w:f.body,b.duplex="half"),W("["+(null!=(s=b.method)?s:"GET")+"]",t),e.next=12,fetch(t,i({},b)).catch((function(e){return c("An error has occurred in the fetch",e),new Response("An unexpected (most likely configuration) problem has occurred",{status:500})}));case 12:return y="function"==typeof(null==(g=e.sent)?void 0:g.clone)?null==g?void 0:g.clone():null,e.t0=o,e.t1=null==g?void 0:g.status,e.t2=null==g?void 0:g.statusText,e.next=19,null==y?void 0:y.text();case 19:return e.t3=e.sent,(0,e.t0)("[Response]",e.t1,e.t2,e.t3),e.abrupt("return",g);case 22:case"end":return e.stop()}}),e)}))),J.apply(this,arguments)}var V="ME",Y=M[V];function $(e,t){return Q.apply(this,arguments)}function Q(){return Q=s(n().mark((function e(t,r){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r("[GET]",Y),e.next=3,z(Y,t);case 3:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)}))),Q.apply(this,arguments)}function X(e,t){return Z.apply(this,arguments)}function Z(){return Z=s(n().mark((function e(t,r){var a,s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=d(i({},r,{debug:r.debug}),"[ROUTES]","["+V+"]"),s=a.info,e.t0=t.method,e.next="GET"===e.t0?4:7;break;case 4:return e.next=6,$({request:t},s);case 6:return e.abrupt("return",e.sent);case 7:return e.abrupt("return",new Response("method not allowed",{status:405}));case 8:case"end":return e.stop()}}),e)}))),Z.apply(this,arguments)}function ee(e,t){return K(t.url,e[V])}function te(e,t){return ne.apply(this,arguments)}function ne(){return(ne=s(n().mark((function e(t,r){var a,s,u,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=d(i({},r,{debug:r.debug}),"[nileauth]"),(s=a.info)("checking auth"),s("using session",u=r.api.basePath+"/auth/session"),t.headers.delete("content-length"),e.next=7,z(u,{request:t});case 7:if(o=e.sent){e.next=11;break}return s("no session found"),e.abrupt("return",void 0);case 11:return s("session active"),e.next=14,new Response(o.body).json();case 14:return e.abrupt("return",e.sent);case 15:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var re=function(e,t){this.response=void 0,this.response=new Response(e,t)},ae="niledb-tenant-id",se="niledb-user-id";function ue(e,t){var n,r=null==(n=e.get("cookie"))?void 0:n.split("; "),a={};if(r)for(var s,u=h(r);!(s=u()).done;){var o=s.value.split("="),i=o.slice(1).join("=");a[o[0]]=i}if(r)for(var c,f=h(r);!(c=f()).done;){var p=c.value.split("="),l=p.slice(1).join("=");a[p[0]]=l}return t?a[t]:null}function oe(e,t){var n,r=ue(e,ae);return null!=(n=null!=r?r:null==e?void 0:e.get(ae))?n:null==t?void 0:t.tenantId}function ie(e,n){var r,a=ue(e,n.api.cookieKey);return a?t.decodeJwt(a).sub:null!=(r=null==e?void 0:e.get(se))?r:n.userId}function ce(e,t,n){return fe.apply(this,arguments)}function fe(){return fe=s(n().mark((function e(t,r,a){var s,u,o,c,f,p,l,h,v,b,g,y,m,x,E,k,I,N,S,T,R;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=d(t,"[server]"),f=c.info,p=c.error,l=""+(null==(s=t.api)?void 0:s.basePath)+r,h=null==(u=t.api)?void 0:u.cookieKey,v=new Headers(null==a?void 0:a.headers),(b=new Headers(null==a?void 0:a.headers)).set("content-type","application/json; charset=utf-8"),g=Buffer.from(process.env.NILEDB_USER+":"+process.env.NILEDB_PASSWORD,"utf8").toString("base64"),b.set("niledb-creds",g),v.get("Authorization")||((y=ue(v,h))?b.set("Authorization","Bearer "+y):w({config:t})&&b.set("Authorization","Bearer "+w({config:t}))),m=oe(v,t),U(m),x=ie(v,t),_(x),!l.includes("{tenantId}")||m){e.next=16;break}return e.abrupt("return",new re("tenantId is not set for request",{status:400}));case 16:return E=l.replace("{tenantId}",encodeURIComponent(String(m))).replace("{userId}",encodeURIComponent(String(x))),f("[fetch]",E),e.next=20,fetch(E,i({},a,{headers:b})).catch((function(e){p("[fetch]","[response]",e)}));case 20:if(!((k=e.sent)&&k.status>=200&&k.status<300)){e.next=39;break}if("function"!=typeof k.clone){e.next=38;break}return e.prev=23,e.t0=f,e.next=27,k.clone().json();case 27:e.t1=e.sent,(0,e.t0)("[fetch]","[response]",e.t1),e.next=38;break;case 31:return e.prev=31,e.t2=e.catch(23),e.t3=f,e.next=36,k.clone().text();case 36:e.t4=e.sent,(0,e.t3)("[fetch]","[response]",e.t4);case 38:return e.abrupt("return",k);case 39:if(401!==(null==k?void 0:k.status)){e.next=41;break}return e.abrupt("return",new re("Unauthorized",{status:401}));case 41:if(405!==(null==k?void 0:k.status)){e.next=43;break}return e.abrupt("return",new re("Method not allowed",{status:405}));case 43:return N="function"==typeof(null==k?void 0:k.clone)?k.clone():null,S="",e.prev=45,e.next=48,null==k?void 0:k.json();case 48:I=e.sent,e.next=59;break;case 51:if(e.prev=51,e.t5=e.catch(45),!N){e.next=58;break}return e.next=56,N.text();case 56:(S=e.sent)&&p("[fetch]","[response]","[status: "+N.status+"]",S);case 58:S||p("[fetch]","[response]",e.t5);case 59:if(!S){e.next=61;break}return e.abrupt("return",new re(S,{status:null==N?void 0:N.status}));case 61:if(!I||!("message"in I)){e.next=65;break}return p("[fetch]","[response]","[status: "+(null==N?void 0:N.status)+"]",T=I.message),e.abrupt("return",new re(T,{status:400}));case 65:if(!I||!("errors"in I)){e.next=69;break}return p("[fetch]","[response]","[status: "+(null==N?void 0:N.status)+"]",R=I.errors[0]),e.abrupt("return",new re(R,{status:400}));case 69:return p("[fetch]","[response]","[status: "+(null==N?void 0:N.status)+"]","UNHANDLED ERROR"),e.abrupt("return",new re(null,{status:null!=(o=null==k?void 0:k.status)?o:500}));case 71:case"end":return e.stop()}}),e,null,[[23,31],[45,51]])}))),fe.apply(this,arguments)}function pe(e,t,n){return le.apply(this,arguments)}function le(){return le=s(n().mark((function e(t,r,a){var s,u,o,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",new Response(null,{status:401}));case 2:return r.body=r.request.body,r.method="POST",s=new URL(r.request.url),u=s.searchParams.get("tenantId"),o=null!=u?u:oe(r.request.headers),i=M.USERS(o||void 0),a&&a("[POST]",i),e.next=11,z(i,r);case 11:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e)}))),le.apply(this,arguments)}function he(e,t){return de.apply(this,arguments)}function de(){return de=s(n().mark((function e(t,r){var a,s,u,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=new URL(t.request.url),s=a.searchParams.get("tenantId"),u=null!=s?s:oe(t.request.headers)){e.next=6;break}return r("[GET]","[ERROR]","No tenant id provided."),e.abrupt("return",new Response(null,{status:404}));case 6:return o=M.TENANT_USERS(u),r("[GET]",o),t.method="GET",e.next=11,z(o,t);case 11:return e.abrupt("return",e.sent);case 12:case"end":return e.stop()}}),e)}))),de.apply(this,arguments)}function ve(e,t,n){return be.apply(this,arguments)}function be(){return be=s(n().mark((function e(t,r,a){var s,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return",new Response(null,{status:401}));case 2:return r.body=r.request.body,r.method="PUT",s=new URL(r.request.url).pathname.split("/").reverse(),u=M.USER(s[0]),a("[PUT]",u),e.next=9,z(u,r);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)}))),be.apply(this,arguments)}var we="USERS";function ge(e,t){return ye.apply(this,arguments)}function ye(){return ye=s(n().mark((function e(t,r){var a,s,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=d(i({},r,{debug:r.debug}),"[ROUTES]","["+we+"]"),s=a.info,e.next=3,te(t,r);case 3:u=e.sent,e.t0=t.method,e.next="GET"===e.t0?7:"POST"===e.t0?10:"PUT"===e.t0?13:16;break;case 7:return e.next=9,he({request:t},s);case 9:case 12:case 15:return e.abrupt("return",e.sent);case 10:return e.next=12,pe(u,{request:t},s);case 13:return e.next=15,ve(u,{request:t},s);case 16:return e.abrupt("return",new Response("method not allowed",{status:405}));case 17:case"end":return e.stop()}}),e)}))),ye.apply(this,arguments)}function me(e,t){return K(t.url,e[we])}function xe(e,t,n){return Ee.apply(this,arguments)}function Ee(){return Ee=s(n().mark((function e(t,r,a){var s,u,o,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=new URL(r.request.url),u=s.pathname.split("/").reverse(),o=u[1]){e.next=4;break}return e.abrupt("return",new Response(null,{status:404}));case 4:return i=""+M.TENANT_USERS(o),a("[GET]","[TENANT_USERS]",i),e.next=8,z(i,r);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)}))),Ee.apply(this,arguments)}function ke(e,t,n){return Ie.apply(this,arguments)}function Ie(){return Ie=s(n().mark((function e(t,r,a){var s,u,o,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new URL(r.request.url),u=s.pathname.split("/").reverse(),o=u[1],r.body=JSON.stringify({email:t.email}),r.method="PUT",i=M.TENANT_USERS(o),a("[PUT]",i),e.next=8,z(i,r);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)}))),Ie.apply(this,arguments)}function Ne(e,t,n){return Se.apply(this,arguments)}function Se(){return Se=s(n().mark((function e(t,r,a){var s,u,o,i,c;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=new URL(r.request.url),u=s.pathname.split("/").reverse(),o=u[0],i=u[2]){e.next=4;break}return e.abrupt("return",new Response(null,{status:404}));case 4:return r.method="DELETE",r.body=JSON.stringify({email:o}),c=""+M.TENANT_USER(i,o),a("[DELETE]",c),e.next=10,z(c,r);case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e)}))),Se.apply(this,arguments)}function Te(e,t,n){return Re.apply(this,arguments)}function Re(){return Re=s(n().mark((function e(t,r,a){var s,u,o,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=new URL(r.request.url),u=s.pathname.split("/").reverse(),o=u[1]){e.next=4;break}return e.abrupt("return",new Response(null,{status:404}));case 4:return r.method="PUT",i=""+M.TENANT_USERS(o),a("[PUT]",i),e.next=9,z(i,r);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)}))),Re.apply(this,arguments)}var Le="TENANT_USERS";function Ue(e,t){return _e.apply(this,arguments)}function _e(){return _e=s(n().mark((function e(t,r){var a,s,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=d(i({},r,{debug:r.debug}),"[ROUTES]","["+Le+"]"),s=a.info,e.next=3,te(t,r);case 3:if(u=e.sent){e.next=7;break}return s("401"),e.abrupt("return",new Response(null,{status:401}));case 7:e.t0=t.method,e.next="GET"===e.t0?10:"POST"===e.t0?13:"PUT"===e.t0?16:"DELETE"===e.t0?19:22;break;case 10:return e.next=12,xe(u,{request:t},s);case 12:case 15:case 18:case 21:return e.abrupt("return",e.sent);case 13:return e.next=15,ke(u,{request:t},s);case 16:return e.next=18,Te(u,{request:t},s);case 19:return e.next=21,Ne(u,{request:t},s);case 22:return e.abrupt("return",new Response("method not allowed",{status:405}));case 23:case"end":return e.stop()}}),e)}))),_e.apply(this,arguments)}function Pe(e,t){var n=new URL(t.url).pathname.split("/").reverse(),r=n[0],a=n[1],s=e[Le].replace("{tenantId}",n[2]).replace("{userId}",r);return"users"===r&&(s=e[Le].replace("{tenantId}",a)),K(t.url,s)}function Oe(e,t,n){return De.apply(this,arguments)}function De(){return De=s(n().mark((function e(t,r,a){var s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=""+M.USER_TENANTS(t.id),"object"==typeof t&&"user"in t&&t.user&&(s=""+M.USER_TENANTS(t.user.id)),a("[GET]",s),e.next=5,z(s,r);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)}))),De.apply(this,arguments)}function Ae(e,t,n){return Be.apply(this,arguments)}function Be(){return Be=s(n().mark((function e(t,r,a){var s,u,o,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=new URL(r.request.url),u=s.pathname.split("/").reverse(),o=u[0]){e.next=4;break}return e.abrupt("return",new Response(null,{status:404}));case 4:return r.method="DELETE",i=""+M.TENANT(o),a("[DELETE]",i),e.next=9,z(i,r);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)}))),Be.apply(this,arguments)}function qe(e,t,n){return je.apply(this,arguments)}function je(){return je=s(n().mark((function e(t,r,a){var s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r.body=r.request.body,r.method="POST",a("[POST]",s=""+M.TENANTS),e.next=6,z(s,r);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)}))),je.apply(this,arguments)}var Ge="TENANTS";function Ce(e,t){return He.apply(this,arguments)}function He(){return He=s(n().mark((function e(t,r){var a,s,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=d(i({},r,{debug:r.debug}),"[ROUTES]","["+Ge+"]"),s=a.info,e.next=3,te(t,r);case 3:if(u=e.sent){e.next=7;break}return s("401"),e.abrupt("return",new Response(null,{status:401}));case 7:e.t0=t.method,e.next="GET"===e.t0?10:"POST"===e.t0?13:"DELETE"===e.t0?16:19;break;case 10:return e.next=12,Oe(u,{request:t},s);case 12:case 15:case 18:return e.abrupt("return",e.sent);case 13:return e.next=15,qe(u,{request:t},s);case 16:return e.next=18,Ae(u,{request:t},s);case 19:return e.abrupt("return",new Response("method not allowed",{status:405}));case 20:case"end":return e.stop()}}),e)}))),He.apply(this,arguments)}function Me(e,t){return K(t.url,e[Ge])}var Ke={SIGNIN:H("/auth/signin"),PROVIDERS:H("/auth/providers"),SESSION:H("/auth/session"),CSRF:H("/auth/csrf"),CALLBACK:H("/auth/callback"),SIGNOUT:H("/auth/signout"),ERROR:H("/auth/error")},Fe="SIGNIN";function We(e){return ze.apply(this,arguments)}function ze(){return ze=s(n().mark((function e(t){var r,a,s,u,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=Ke[Fe],a={method:t.method,headers:t.headers},"POST"===t.method&&("function"==typeof t.clone&&(a.body=t.clone().body),s=new URL(t.url).pathname.split("/").reverse(),r=Ke[Fe]+"/"+s[0]),u=new URL(t.url),o=new URLSearchParams(u.search),r+=""!==o.toString()?"?"+o.toString():"",e.next=8,z(r,i({},a,{request:t}));case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)}))),ze.apply(this,arguments)}function Je(e,t){return K(t.url,e[Fe])}function Ve(e,t){return Ye.apply(this,arguments)}function Ye(){return(Ye=s(n().mark((function e(t,r){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",z(Ke.SESSION,{method:t.method,request:t},r));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function $e(e,t){return K(t.url,e.SESSION)}function Qe(e){return Xe.apply(this,arguments)}function Xe(){return(Xe=s(n().mark((function e(t){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",z(Ke.PROVIDERS,{method:t.method,request:t}));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ze(e,t){return K(t.url,e.PROVIDERS)}function et(e){return tt.apply(this,arguments)}function tt(){return(tt=s(n().mark((function e(t){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",z(Ke.CSRF,{method:t.method,request:t}));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function nt(e,t){return K(t.url,e.CSRF)}var rt=console,at=rt.log,st=rt.error;function ut(e){return ot.apply(this,arguments)}function ot(){return ot=s(n().mark((function e(t){var r,a,s,u,o,i;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL(t.url).pathname.split("/").reverse(),a=r[0],s=new URL(t.url),u=new URLSearchParams(s.search),o=Ke.CALLBACK+"/"+a+(""!==u.toString()?"?"+u.toString():""),e.next=6,z(o,{request:t,method:t.method}).catch((function(e){st("an error has occurred in callback"),at(e)}));case 6:if(!(null==(i=e.sent)?void 0:i.headers.get("location"))){e.next=10;break}return e.abrupt("return",new Response(null==i?void 0:i.body,{status:302,headers:null==i?void 0:i.headers}));case 10:return e.abrupt("return",new Response(null==i?void 0:i.body,{status:null==i?void 0:i.status,headers:null==i?void 0:i.headers}));case 11:case"end":return e.stop()}}),e)}))),ot.apply(this,arguments)}function it(e,t){return K(t.url,e.CALLBACK)}var ct="SIGNOUT";function ft(e){return pt.apply(this,arguments)}function pt(){return pt=s(n().mark((function e(t){var r,a,s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=Ke[ct],a={method:t.method},"POST"===t.method&&(a.body=t.body,s=new URL(t.url).pathname.split("/").reverse(),r=Ke[ct]+"/"+s[0]),e.next=5,z(r,i({},a,{request:t}));case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)}))),pt.apply(this,arguments)}function lt(e,t){return K(t.url,e[ct])}var ht="ERROR";function dt(e){return vt.apply(this,arguments)}function vt(){return(vt=s(n().mark((function e(t){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",z(Ke[ht],{method:t.method,request:t}));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function bt(e,t){return K(t.url,e[ht])}function wt(e,t){return function(){var r=s(n().mark((function r(a){var s,u,o,i,c,f,p,l,h,d,v,b,w,g,y,m,x,E,k;return n().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=a.email,i=a.password,c=new URL(e.api.localPath+"/api/auth/providers"),f=new Request(c,{method:"GET",headers:new Headers({host:c.host})}),n.next=5,t.POST(f);case 5:return p=n.sent,n.next=8,null==p?void 0:p.json();case 8:return l=n.sent,h=new URL(e.api.localPath+"/api/auth/csrf"),d=new Request(h,{method:"GET",headers:new Headers({host:c.host})}),n.next=13,t.POST(d);case 13:return v=n.sent,n.next=16,null==v?void 0:v.json();case 16:if(n.t0=s=n.sent,null==n.t0){n.next=21;break}n.t1=s,n.next=22;break;case 21:n.t1={};case 22:if(b=n.t1.csrfToken,w=l.credentials,g=null==v?void 0:v.headers.get("set-cookie"),expect(g).toContain("nile.csrf-token="),y=new URL(w.callbackUrl),g){n.next=30;break}throw new Error("unable to authenticate REST");case 30:return m=new Request(y,{method:"POST",headers:new Headers({"content-type":"application/json",cookie:g}),body:JSON.stringify({email:o,password:i,csrfToken:b,callbackUrl:w.callbackUrl})}),n.next=33,t.POST(m);case 33:if(E=null==(x=n.sent)?void 0:x.headers.get("set-cookie")){n.next=37;break}throw new Error("authentication failed");case 37:return expect(E).toContain("nile.session-token="),k=null!=(u=/(nile\.session-token=.+?);/.exec(E))?u:[],n.abrupt("return",new Headers({cookie:[k[1],g].join("; ")}));case 40:case"end":return n.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()}var gt=function(e){function t(t){return e.call(this,t)||this}c(t,e);var r=t.prototype;return r.rawRequest=function(){var e=s(n().mark((function e(t,r,a,s){var u,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=i({},a,{body:s,method:t}),e.next=3,ce(this,r,u);case 3:if(!((o=e.sent)instanceof re)){e.next=6;break}return e.abrupt("return",o.response);case 6:return e.abrupt("return",o);case 7:case"end":return e.stop()}}),e,this)})));return function(t,n,r,a){return e.apply(this,arguments)}}(),r.request=function(){var e=s(n().mark((function e(t,r,a,s){var u,o,c,f,p,l,h,d;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u=new Headers(s?null==s?void 0:s.headers:{}),a instanceof Headers?(o=a.get(ae),c=a.get("cookie"),o&&u.set(ae,o),c&&u.set("cookie",c)):a instanceof Request&&(f=new Headers(null==a?void 0:a.headers),p=f.get(ae),l=f.get("cookie"),p&&u.set(ae,p),l&&u.set("cookie",l)),h=JSON.stringify(a),"GET"!==t){e.next=7;break}h=void 0,e.next=14;break;case 7:if(!(a instanceof Request)){e.next=13;break}return e.next=10,new Response(a.body).text();case 10:h=e.sent,e.next=14;break;case 13:(a instanceof Headers||"{}"===JSON.stringify(a)||a&&"object"==typeof a&&0===Object.values(a).length)&&(h=void 0);case 14:return d=i({},s,{headers:u}),e.next=17,this.rawRequest(t,r,d,h);case 17:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}}),e,this)})));return function(t,n,r,a){return e.apply(this,arguments)}}(),r.post=function(){var e=s(n().mark((function e(t,r,a){var s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.request("POST",r,t,a);case 2:if(!((s=e.sent)&&s.status>=200&&s.status<300)){e.next=5;break}return e.abrupt("return",s.json());case 5:return e.abrupt("return",s);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n,r){return e.apply(this,arguments)}}(),r.get=function(){var e=s(n().mark((function e(t,r,a){var s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.request("GET",r,t,a);case 2:if(!((s=e.sent)&&s.status>=200&&s.status<300)){e.next=5;break}return e.abrupt("return",s.json());case 5:return e.abrupt("return",s);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n,r){return e.apply(this,arguments)}}(),r.put=function(){var e=s(n().mark((function e(t,r,a){var s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.request("PUT",r,t,a);case 2:if(!((s=e.sent)&&s.status>=200&&s.status<300)){e.next=5;break}return e.abrupt("return",s.json());case 5:return e.abrupt("return",s);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n,r){return e.apply(this,arguments)}}(),r.delete=function(){var e=s(n().mark((function e(t,r,a){var s;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.request("DELETE",r,t,a);case 2:if(!((s=e.sent)&&s.status>=200&&s.status<300)){e.next=5;break}return e.abrupt("return",s.json());case 5:return e.abrupt("return",s);case 6:case"end":return e.stop()}}),e,this)})));return function(t,n,r){return e.apply(this,arguments)}}(),t}(R),yt=function(e){function t(t,r){var a;return(a=e.call(this,t)||this).headers=void 0,a.createTenant=function(){var e=s(n().mark((function e(t,r){var s,u,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s="string"==typeof t?new Request(""+a.api.basePath+a.tenantsUrl,{body:JSON.stringify({name:t}),method:"POST"}):t,u=new gt(a),o=a.handleHeaders(r),e.abrupt("return",u.post(s,a.tenantsUrl,o));case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.getTenant=function(){var e=s(n().mark((function e(t,r){var s,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof t&&(a.tenantId=t),s=new gt(a),u=a.handleHeaders(r),e.abrupt("return",s.get(t,a.tenantUrl,u));case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.listTenants=function(){var e=s(n().mark((function e(t,r){var s,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new gt(a),u=a.handleHeaders(r),e.abrupt("return",s.get(t,a.tenantListUrl,u));case 3:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.headers=r,a}return c(t,e),t.prototype.handleHeaders=function(e){var t;if(this.headers)return e?(e.headers=new Headers(i({},this.headers,null==(t=e)?void 0:t.headers)),e):e={headers:this.headers}},o(t,[{key:"tenantsUrl",get:function(){return"/tenants"}},{key:"tenantUrl",get:function(){var e;return"/tenants/"+(null!=(e=this.tenantId)?e:"{tenantId}")}},{key:"tenantListUrl",get:function(){var e;return"/users/"+(null!=(e=this.userId)?e:"{userId}")+"/tenants"}}])}(R),mt=function(e){function t(t,r){var a;return(a=e.call(this,t)||this).headers=void 0,a.createUser=function(){var e=s(n().mark((function e(t,r){var s,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new gt(a),u=a.handleHeaders(r),e.next=4,s.post(t,a.usersUrl,u);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.updateUser=function(){var e=s(n().mark((function e(t,r,s){var u,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=new gt(a),o=a.handleHeaders(s),e.next=4,u.put(r,a.usersUrl+"/"+t,o);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}(),a.listUsers=function(){var e=s(n().mark((function e(t,r){var s,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new gt(a),u=a.handleHeaders(r),e.next=4,s.get(t,a.tenantUsersUrl,u);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.linkUser=function(){var e=s(n().mark((function e(t,r){var s,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new gt(a),u=a.handleHeaders(r),e.next=4,s.put(t,a.tenantUsersUrl,u);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.tenantUsersDeleteUrl=function(e){var t;return"/tenants/"+(null!=(t=a.tenantId)?t:"{tenantId}")+"/users/"+(null!=e?e:"{userId}")},a.getUserId=function(){var e=s(n().mark((function e(t){var r;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(t instanceof Request)){e.next=6;break}return e.next=3,new Response(null==t?void 0:t.body).json();case 3:if(!(r=e.sent)){e.next=6;break}return e.abrupt("return",r.id);case 6:if(!("id"in t)){e.next=8;break}return e.abrupt("return",t.id);case 8:return e.abrupt("return",null);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),a.unlinkUser=function(){var e=s(n().mark((function e(t,r){var s,u,o;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new gt(a),e.next=3,a.getUserId(t);case 3:return u=e.sent,o=a.handleHeaders(r),e.next=7,s.delete(t,a.tenantUsersDeleteUrl(u),o);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.me=function(){var e=s(n().mark((function e(t,r){var s,u;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=new gt(a),u=a.handleHeaders(r),e.next=4,s.get(t,a.meUrl,u);case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),a.headers=r,a}return c(t,e),t.prototype.handleHeaders=function(e){var t;if(this.headers)return e?(e.headers=new Headers(i({},this.headers,null==(t=e)?void 0:t.headers)),e):e={headers:this.headers}},o(t,[{key:"usersUrl",get:function(){return"/users"}},{key:"tenantUsersUrl",get:function(){var e;return"/tenants/"+(null!=(e=this.tenantId)?e:"{tenantId}")+"/users"}},{key:"meUrl",get:function(){return"/me"}}])}(R),xt=function(){function e(e){var t;this.config=void 0,this.users=void 0,this.tenants=void 0,this.routes=void 0,this.handlers=void 0,this.config=e,this.users=new mt(e),this.tenants=new yt(e),this.routes=i({},(void 0===(t=null==e?void 0:e.routePrefix)&&(t="/api"),{SIGNIN:t+"/auth/signin",PROVIDERS:t+"/auth/providers",SESSION:t+"/auth/session",CSRF:t+"/auth/csrf",CALLBACK:t+"/auth/callback",SIGNOUT:t+"/auth/signout",ERROR:t+"/auth/error",ME:t+"/me",USERS:t+"/users",TENANTS:t+"/tenants",TENANT_USER:t+"/tenants/{tenantId}/users/{userId}",TENANT_USERS:t+"/tenants/{tenantId}/users",SIGNUP:t+"/signup"}),null==e?void 0:e.routes),this.handlers=function(e,t){var r=function(e,t){return function(){var r=s(n().mark((function r(a){return n().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!ee(e,a)){n.next=2;break}return n.abrupt("return",X(a,t));case 2:if(!me(e,a)){n.next=4;break}return n.abrupt("return",ge(a,t));case 4:if(!Pe(e,a)){n.next=6;break}return n.abrupt("return",Ue(a,t));case 6:if(!Me(e,a)){n.next=8;break}return n.abrupt("return",Ce(a,t));case 8:if(!$e(e,a)){n.next=10;break}return n.abrupt("return",Ve(a,t));case 10:if(!Je(e,a)){n.next=12;break}return n.abrupt("return",We(a));case 12:if(!Ze(e,a)){n.next=14;break}return n.abrupt("return",Qe(a));case 14:if(!nt(e,a)){n.next=16;break}return n.abrupt("return",et(a));case 16:if(!it(e,a)){n.next=18;break}return n.abrupt("return",ut(a));case 18:if(!lt(e,a)){n.next=20;break}return n.abrupt("return",ft(a));case 20:if(!bt(e,a)){n.next=22;break}return n.abrupt("return",dt(a));case 22:return n.abrupt("return",new Response(null,{status:404}));case 23:case"end":return n.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()}(e,t),a=function(e,t){return function(){var r=s(n().mark((function r(a){return n().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Pe(e,a)){n.next=2;break}return n.abrupt("return",Ue(a,t));case 2:if(!me(e,a)){n.next=4;break}return n.abrupt("return",ge(a,t));case 4:if(!Me(e,a)){n.next=6;break}return n.abrupt("return",Ce(a,t));case 6:if(!$e(e,a)){n.next=8;break}return n.abrupt("return",Ve(a,t));case 8:if(!Je(e,a)){n.next=10;break}return n.abrupt("return",We(a));case 10:if(!Ze(e,a)){n.next=12;break}return n.abrupt("return",Qe(a));case 12:if(!nt(e,a)){n.next=14;break}return n.abrupt("return",et(a));case 14:if(!it(e,a)){n.next=16;break}return n.abrupt("return",ut(a));case 16:if(!lt(e,a)){n.next=18;break}return n.abrupt("return",ft(a));case 18:return n.abrupt("return",new Response(null,{status:404}));case 19:case"end":return n.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()}(e,t),u=function(e,t){return function(){var r=s(n().mark((function r(a){return n().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Pe(e,a)){n.next=2;break}return n.abrupt("return",Ue(a,t));case 2:if(!Me(e,a)){n.next=4;break}return n.abrupt("return",Ce(a,t));case 4:return n.abrupt("return",new Response(null,{status:404}));case 5:case"end":return n.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()}(e,t),o=function(e,t){return function(){var r=s(n().mark((function r(a){return n().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Pe(e,a)){n.next=2;break}return n.abrupt("return",Ue(a,t));case 2:if(!me(e,a)){n.next=4;break}return n.abrupt("return",ge(a,t));case 4:if(!Me(e,a)){n.next=6;break}return n.abrupt("return",Ce(a,t));case 6:return n.abrupt("return",new Response(null,{status:404}));case 7:case"end":return n.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}()}(e,t);return{GET:r,POST:a,DELETE:u,PUT:o}}(this.routes,e)}return e.prototype.login=function(){var e=s(n().mark((function e(t){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,wt(this.config,this.handlers)(t);case 2:this.headers=e.sent;case 3:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),o(e,[{key:"headers",set:function(e){this.users=new mt(this.config,e),this.tenants=new yt(this.config,e)}}])}(),Et=function(){function e(e){var t=this;this.config=void 0,this.api=void 0,this.manager=void 0,this.servers=void 0,this.config=new R(e,"[initial config]"),this.servers=new Map,this.api=new xt(this.config),this.manager=new j(this.config),L.subscribe(I.Tenant,(function(e){t.tenantId=e})),L.subscribe(I.User,(function(e){t.userId=e})),L.subscribe(I.Token,(function(e){t.token=e}))}var t=e.prototype;return t.setConfig=function(e){this.config=new R(e)},t.init=function(){var e=s(n().mark((function e(t){return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.config.configure(i({},this.config,t));case 2:return this.setConfig(e.sent),this.manager.clear(this.config),this.manager=new j(this.config),this.api=new xt(this.config),e.abrupt("return",this);case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.getInstance=function(t){var n=i({},this.config,t),r=function(e){var t=new R(e);return G(t)}(n);if(r===G(this.config))return this;var a=this.servers.get(r);if(a){var s=new R(n);return a.setConfig(s),a.tenantId=s.tenantId,a.userId=s.userId,a.token=s.api.token,a.databaseId=s.databaseId,a}var u=new e(n);return this.servers.set(r,u),u},o(e,[{key:"databaseId",set:function(e){e&&(this.config.databaseId=e,this.api.users.databaseId=e,this.api.tenants.databaseId=e)}},{key:"userId",get:function(){return this.config.userId},set:function(e){this.databaseId=this.config.databaseId,this.config.userId=e,this.api&&(this.api.users.userId=this.config.userId,this.api.tenants.userId=this.config.userId)}},{key:"tenantId",get:function(){return this.config.tenantId},set:function(e){this.databaseId=this.config.databaseId,this.config.tenantId=e,this.api&&(this.api.users.tenantId=e,this.api.tenants.tenantId=e)}},{key:"token",get:function(){var e;return null==(e=this.config)||null==(e=e.api)?void 0:e.token},set:function(e){e&&(this.config.api.token=e,this.api&&(this.api.users.api.token=e,this.api.tenants.api.token=e))}},{key:"db",get:function(){return this.manager.getConnection(this.config)}}])}();function kt(e){return It.apply(this,arguments)}function It(){return(It=s(n().mark((function e(t){var r;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new Et(t),e.next=3,r.init();case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}exports.Nile=kt,exports.Server=Et,exports.default=kt;
|
|
2
2
|
//# sourceMappingURL=server.cjs.production.min.js.map
|