@niledatabase/server 3.0.0-alpha.40 → 3.0.0-alpha.42
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/routes/auth/callback.d.ts +1 -1
- package/dist/api/routes/auth/index.d.ts +1 -0
- package/dist/api/routes/auth/password-reset.d.ts +4 -0
- package/dist/api/types.d.ts +1 -0
- package/dist/api/utils/routes/proxyRoutes.d.ts +1 -0
- package/dist/server.cjs.development.js +224 -153
- 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 +224 -153
- package/dist/server.esm.js.map +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("pg"),t=require("jose");function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function r(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 a(e){return function(){var t=this,n=arguments;return new Promise((function(a,s){var u=e.apply(t,n);function o(e){r(u,a,s,o,i,"next",e)}function i(e){r(u,a,s,o,i,"throw",e)}o(void 0)}))}}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,h(r.key),r)}}function u(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}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 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)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(null,arguments)}function c(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,p(e,t)}function f(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}function l(){l=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},s="function"==typeof Symbol?Symbol:{},u=s.iterator||"@@iterator",o=s.asyncIterator||"@@asyncIterator",i=s.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function f(e,t,n,r){var s=Object.create((t&&t.prototype instanceof w?t:w).prototype),u=new _(r||[]);return a(s,"_invoke",{value:N(e,n,u)}),s}function p(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=f;var h="suspendedStart",d="suspendedYield",v="executing",b="completed",g={};function w(){}function m(){}function y(){}var E={};c(E,u,(function(){return this}));var x=Object.getPrototypeOf,k=x&&x(x(O([])));k&&k!==n&&r.call(k,u)&&(E=k);var I=y.prototype=w.prototype=Object.create(E);function S(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function T(e,t){function n(a,s,u,o){var i=p(e[a],e,s);if("throw"!==i.type){var c=i.arg,f=c.value;return f&&"object"==typeof f&&r.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 s;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return s=s?s.then(a,a):a()}})}function N(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===g)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=p(t,n,r);if("normal"===c.type){if(a=r.done?b:d,c.arg===g)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")),g;var s=p(a,t.iterator,n.arg);if("throw"===s.type)return n.method="throw",n.arg=s.arg,n.delegate=null,g;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,g):u:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function U(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 L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(U,this),this.reset(!0)}function O(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 a=-1,s=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],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 m.prototype=y,a(I,"constructor",{value:y,configurable:!0}),a(y,"constructor",{value:m,configurable:!0}),m.displayName=c(y,i,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,c(e,i,"GeneratorFunction")),e.prototype=Object.create(I),e},t.awrap=function(e){return{__await:e}},S(T.prototype),c(T.prototype,o,(function(){return this})),t.AsyncIterator=T,t.async=function(e,n,r,a,s){void 0===s&&(s=Promise);var u=new T(f(e,n,r,a),s);return t.isGeneratorFunction(n)?u:u.next().then((function(e){return e.done?e.value:u.next()}))},S(I),c(I,i,"Generator"),c(I,u,(function(){return this})),c(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=O,_.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(L),!t)for(var n in this)"t"===n.charAt(0)&&r.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 a(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 a("end");if(u.tryLoc<=this.prev){var i=r.call(u,"catchLoc"),c=r.call(u,"finallyLoc");if(i&&c){if(this.prev<u.catchLoc)return a(u.catchLoc,!0);if(this.prev<u.finallyLoc)return a(u.finallyLoc)}else if(i){if(this.prev<u.catchLoc)return a(u.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<u.finallyLoc)return a(u.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var s=a;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,g):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),g},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),L(n),g}},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;L(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:O(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function p(e,t){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},p(e,t)}function h(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var d="[0m";function v(e){for(var t,n,r,a,s,u,o,i,c=arguments.length,f=new Array(c>1?c-1:0),l=1;l<c;l++)f[l-1]=arguments[l];var p=function(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(t,r){null!=e&&e.debug&&console.info("[niledb][DEBUG]"+n.join("")+" "+t,r?"\n"+JSON.stringify(r,null,2):"")},debug:function(t,r){null!=e&&e.debug&&console.debug("[niledb][DEBUG]"+n.join("")+" "+t,r?"\n"+JSON.stringify(r,null,2):"")},warn:function(t,r){null!=e&&e.debug&&console.warn("[33m[niledb][WARN]"+d+n.join("")+" "+t,JSON.stringify(r,null,2))},error:function(e,t){console.error("[31m[niledb][ERROR]"+d+n.join("")+" "+e,t)}}}(e,f),h=null!=(t=null==e||null==(n=e.logger)?void 0:n.info)?t:p.info,v=null!=(r=null==e||null==(a=e.logger)?void 0:a.debug)?r:p.debug;return{info:h,warn:null!=(s=null==e||null==(u=e.logger)?void 0:u.warn)?s:p.warn,error:null!=(o=null==e||null==(i=e.logger)?void 0:i.error)?o:p.error,debug:v}}var b=function(e){var t=e.config,n=e.logger,r=v(t,"[username]").info;if(null!=t&&t.user)return n&&r(n+"[config] "+t.user),String(null==t?void 0:t.user);var a=S(process.env.NILEDB_POSTGRES_URL);if(a){var s=new URL(a);if(s.username)return s.username}return n&&r(n+"[NILEDB_USER] "+String(process.env.NILEDB_USER)),process.env.NILEDB_USER},g=function(e){var t=e.config,n=e.logger,r=v(t,"[password]").info;if(S(null==t?void 0:t.password))return String(null==t?void 0:t.password);var a=S(process.env.NILEDB_POSTGRES_URL);if(a){var s=new URL(a);if(s.password)return s.password}return n&&r(n+"[NILEDB_PASSWORD] "+String(process.env.NILEDB_PASSWORD)),process.env.NILEDB_PASSWORD},w=function(e){var t,n,r,a=e.config,s=e.logger,u=v(a,"[token]").info;return S(null==a||null==(t=a.api)?void 0:t.token)?(s&&u(s+"[config] "+(null==a||null==(n=a.api)?void 0:n.token)),String(null==a||null==(r=a.api)?void 0:r.token)):S(process.env.NILEDB_TOKEN)?(s&&u(s+"[NILEDB_TOKEN] "+process.env.NILEDB_TOKEN),process.env.NILEDB_TOKEN):void 0},m=function(e){var t=e.config,n=e.logger,r=v(t,"[databaseName]").info;if(S(null==t?void 0:t.databaseName))return n&&r(n+"[config] "+(null==t?void 0:t.databaseName)),String(null==t?void 0:t.databaseName);if(S(process.env.NILEDB_NAME))return n&&r(n+"[NILEDB_NAME] "+process.env.NILEDB_NAME),process.env.NILEDB_NAME;if(process.env.NILEDB_POSTGRES_URL)try{return new URL(process.env.NILEDB_POSTGRES_URL).pathname.substring(1)}catch(e){}return null},y=function(e){var t,n=e.config,r=e.logger,a=v(n,"[basePath]"),s=a.warn,u=a.info,o=a.error,i=null==n||null==(t=n.api)?void 0:t.basePath;if(S(i))return r&&u(r+"[config] "+i),i;var c=S(process.env.NILEDB_API_URL);if(c){r&&u(r+"[NILEDB_API_URL] "+process.env.NILEDB_API_URL);try{return new URL(c).href}catch(e){e instanceof Error&&o(e.stack)}}s("not set. Must run auto-configuration")},E=function(e){var t=e.config,n=e.logger,r=v(t,"[basePath]").info;if(S(null==t?void 0:t.configureUrl))return n&&r(n+"[config] "+(null==t?void 0:t.configureUrl)),String(null==t?void 0:t.configureUrl);var a=S(process.env.NILEDB_CONFIGURE);return a?(n&&r(n+"[NILEDB_CONFIGURE] "+process.env.NILEDB_CONFIGURE),a.startsWith("http")?process.env.NILEDB_CONFIGURE:"https://"+process.env.NILEDB_CONFIGURE):(n&&r(n+"[default] https://global.thenile.dev"),"https://global.thenile.dev")};function x(e){var t,n,r=e.config,a=e.logger,s=v(r,"[db.host]").info;if(S((null==r?void 0:r.db)&&r.db.host))return a&&s(a+"[config] "+(null==r||null==(t=r.db)?void 0:t.host)),String(null==r||null==(n=r.db)?void 0:n.host);var u=S(process.env.NILEDB_POSTGRES_URL);if(u)try{var o=new URL(u);return a&&s(a+"[NILEDB_POSTGRES_URL] "+o.hostname),o.hostname}catch(e){}return S(process.env.NILEDB_HOST)?(a&&s(a+"[NILEDB_HOST] "+process.env.NILEDB_HOST),process.env.NILEDB_HOST):(a&&s(a+"[default] db.thenile.dev"),"db.thenile.dev")}function k(e){var t,n,r=e.config,a=e.logger,s=v(r,"[db.port]").info;if(null!=r&&null!=(t=r.db)&&t.port&&null!=r.db.port)return a&&s(a+"[config] "+(null==r?void 0:r.db.port)),Number(null==(n=r.db)?void 0:n.port);if(S(process.env.NILEDB_PORT))return a&&s(a+"[NILEDB_PORT] "+process.env.NILEDB_PORT),Number(process.env.NILEDB_PORT);var u=S(process.env.NILEDB_POSTGRES_URL);if(u)try{var o=new URL(u);if(o.port)return Number(o.port)}catch(e){}return a&&s(a+"[default] 5432"),5432}var I,S=function(e){if(e&&""!==e)return e},T=["host","port"],N=["host","port"],R=function(){return u((function(e){var t=e.basePath,n=e.cookieKey,r=e.token;this.cookieKey=void 0,this.basePath=void 0,this._token=void 0,this.basePath=t,this.cookieKey=n,this._token=r}),[{key:"token",get:function(){return this._token},set:function(e){this._token=e}}])}(),U=function(){return u((function(e,t){var n,r,s,u=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.logger=void 0,this.secureCookies=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=a(l().mark((function e(t){var n,r,a,s,o,c,p,h,d,I,S,N,U,L,_,O,P,D,A,q,B,C,j,G,H,M,F,K,J,W,z;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=v(t,"[init]"),o=s.info,c=s.error,p=s.debug,h={config:t},d=null!=(n=t.db)?n:{},I=d.host,S=d.port,N=f(d,T),U=null!=I?I:x(h),L=null!=S?S:k(h),_=y(h),!(U&&u.databaseName&&u.databaseId&&_)){e.next=14;break}return o("Already configured, aborting fetch"),u.api=new R({basePath:_,cookieKey:null!=(O=null==t||null==(P=t.api)?void 0:P.cookieKey)?O:"token",token:w({config:t})}),u.db=i({user:u.user,password:u.password,host:U,port:L,database:u.databaseName},N),o("[config set]",{db:u.db,api:u.api}),e.abrupt("return",u);case 14:D=[],U||D.push("Database host"),u.databaseName||D.push("Database name"),u.databaseId||D.push("Database id"),_||D.push("API URL"),o("[autoconfigure] "+D.join(", ")+" "+(D.length>1?"are":"is")+" missing from the config. Autoconfiguration will run.");case 20:return A=E(h),q=m({config:t,logger:"getInfo"}),B=new URL(A+"/databases/configure"),q&&B.searchParams.set("databaseName",q),o("configuring from "+B.href),e.next=27,fetch(B,{headers:{Authorization:"Bearer "+(l={config:t},b(l)+":"+g(l))}}).catch((function(){c("Unable to auto-configure. is "+B+" available?")}));case 27:if(C=e.sent){e.next=30;break}return e.abrupt("return",u);case 30:return G=C.clone(),e.prev=31,e.next=34,C.json();case 34:H=e.sent,404===C.status&&o("is the configured databaseName correct?"),j=H.status&&"READY"!==H.status?{message:"Database is not ready yet"}:H,e.next=47;break;case 39:return e.prev=39,e.t0=e.catch(31),e.next=43,G.text();case 43:M=e.sent,p("Unable to auto-configure"),c(M),j={message:M};case 47:if(o("[fetched database]",j),!("message"in j)){e.next=56;break}if(!("statusCode"in j)){e.next=55;break}throw c(j),new Error("HTTP error has occurred");case 55: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 56:"object"==typeof j&&(K=(F=j).apiHost,J=F.dbHost,W=F.name,_=_||K,u.databaseId=F.id,u.databaseName=W,z=new URL(J),U=z.hostname);case 57:return u.api=new R({basePath:_,cookieKey:null!=(r=null==t||null==(a=t.api)?void 0:a.cookieKey)?r:"token",token:w({config:t})}),u.db=i({user:u.user,password:u.password,host:U,port:L,database:u.databaseName},N),o("[config set]",{db:u.db,api:u.api}),e.abrupt("return",u);case 61:case"end":return e.stop()}var l}),e,null,[[31,39]])})));return function(t){return e.apply(this,arguments)}}();var o,c={config:e,logger:t};if(this.user=b(c),this.logger=null==e?void 0:e.logger,this.password=g(c),!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.secureCookies=(o=c.config,S(process.env.NILEDB_SECURECOOKIES)?Boolean(process.env.NILEDB_SECURECOOKIES):null==o?void 0:o.secureCookies),this.databaseId=function(e){var t=e.config,n=e.logger,r=v(t,"[databaseId]").info;if(S(null==t?void 0:t.databaseId))return n&&r(n+"[config] "+(null==t?void 0:t.databaseId)),String(null==t?void 0:t.databaseId);var a=S(process.env.NILEDB_API_URL);if(a)try{return new URL(a).pathname.split("/")[3]}catch(e){}return n&&r(n+"[NILEDB_ID] "+String(process.env.NILEDB_ID)),process.env.NILEDB_ID}(c),this.databaseName=m(c),this._tenantId=function(e){var t=e.config,n=e.logger,r=v(t,"[tenantId]").info;return S(null==t?void 0:t.tenantId)?(n&&r(n+"[config] "+(null==t?void 0:t.tenantId)),String(null==t?void 0:t.tenantId)):S(process.env.NILEDB_TENANT)?(n&&r(n+"[NILEDB_TENANT] "+process.env.NILEDB_TENANT),String(process.env.NILEDB_TENANT)):null}(c),this.debug=Boolean(null==e?void 0:e.debug),this._userId=null==e?void 0:e.userId;var p=y(c),h=null!=(n=null==e?void 0:e.db)?n:{},d=h.host,I=h.port,U=f(h,N),L=null!=d?d:x(c),_=null!=I?I:k(c);this.api=new R({basePath:p,cookieKey:null!=(r=null==e||null==(s=e.api)?void 0:s.cookieKey)?r:"token",token:w({config:e})}),this.db=i({user:this.user,password:this.password,host:L,port:_},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={}}var t=e.prototype;return t.publish=function(e,t){var n=this.events[e];if(n)for(var r,a=o(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];if(n){var r=n.indexOf(t);-1!==r&&n.splice(r,1),0===n.length&&delete this.events[e]}},e}()),_=function(e){L.publish(I.Tenant,e)},O=function(e){L.publish(I.User,e)},P=function(e){L.publish(I.EvictPool,e)},D=["afterCreate"],A=function(){function t(t,n){var r=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 s=v(t,"[NileInstance]"),u=s.warn,o=s.info,c=s.debug;this.id=n;var p=i({min:0,max:10,idleTimeoutMillis:3e4},t.db),h=p.afterCreate,d=f(p,D);t.db=p,this.config=t,c("Connection pool config "+JSON.stringify(this.config.db)),this.pool=function(e,t){var n=v(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,["query"].concat(t)),s.apply(this,t)}}return e[n]}})}(new e.Pool(d),this.config),"function"==typeof h&&u("Providing an pool configuration will stop automatic tenant context setting."),this.startTimeout(),this.pool.on("connect",function(){var e=a(l().mark((function e(n){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c("pool connected "+r.id),r.startTimeout(),q(t,r.id+"-"+r.timer)(n,(function(e){var n=v(t,"[after create callback]").error;e&&(clearTimeout(r.timer),n("after create failed",{message:e.message,stack:e.stack}),P(r.id))}));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),this.pool.on("error",(function(e){clearTimeout(r.timer),o("pool "+r.id+" failed",{message:e.message,stack:e.stack}),P(r.id)})),this.pool.on("release",(function(e){e&&(clearTimeout(r.timer),P(r.id),c("destroying pool "+r.id))}))}var n=t.prototype;return n.startTimeout=function(){var e,t=this,n=v(this.config,"[NileInstance]").debug;this.timer&&clearTimeout(this.timer),this.timer=setTimeout((function(){var e;n("Pool reached idleTimeoutMillis. "+t.id+" evicted after "+(null!=(e=Number(t.config.db.idleTimeoutMillis))?e:3e4)+"ms"),t.pool.end((function(){clearTimeout(t.timer),P(t.id)}))}),null!=(e=Number(this.config.db.idleTimeoutMillis))?e:3e4)},n.shutdown=function(){var e=this,t=v(this.config,"[NileInstance]").debug;t("attempting to shut down "+this.id),clearTimeout(this.timer),this.pool.end((function(){t(e.id+" has been shut down")}))},t}();function q(e,t){var n=v(e,"[afterCreate]"),r=n.error,a=n.warn,s=n.debug;return function(n,u){if(n.on("error",(function(e){r("Connection "+t+" was terminated by server",{message:e.message,stack:e.stack}),u(e,n)})),e.tenantId){var o=["SET nile.tenant_id = '"+e.tenantId+"'"];e.userId&&(e.tenantId||a("A user id cannot be set in context without a tenant id"),o.push("SET nile.user_id = '"+e.userId+"'")),n.query(o.join(";"),(function(a){a?r("query connection failed",{cause:a.cause,stack:a.stack,message:a.message,name:a.name,id:t}):(1===o.length&&s("connection context set: tenantId="+e.tenantId),2===o.length&&s("connection context set: tenantId="+e.tenantId+" userId="+e.userId)),u(a,n)}))}u(null,n)}}var B=function(){function e(e){var t=this;this.connections=void 0,this.cleared=void 0,this.poolWatcherFn=void 0,this.poolWatcher=function(e){return function(n){var r=v(e,"[DBManager]"),a=r.info,s=r.warn;if(n&&t.connections.has(n)){a("Removing "+n+" from db connection pool.");var u=t.connections.get(n);null==u||u.shutdown(),t.connections.delete(n)}else s("missed eviction of "+n)}},this.getConnection=function(e){var n=v(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 A(new U(e),r);return t.connections.set(r,s),n("created new "+r),n("# of instances: "+t.connections.size),t.cleared&&(t.cleared=!1),s.pool},this.clear=function(e){(0,v(e,"[DBManager]").info)("Clearing all connections "+t.connections.size),t.cleared=!0,t.connections.clear()},this.cleared=!1,this.connections=new Map,this.poolWatcherFn=this.poolWatcher(e),L.subscribe(I.EvictPool,this.poolWatcherFn)}return e.prototype.makeId=function(e,t){return e&&t?e+":"+t:e?""+e:"base"},e}(),C=process.env.NILEDB_API_URL;function j(e,t,n){var r=e.api.basePath||C;if(!r)throw new Error("An API url is required. Set it via NILEDB_API_URL. Was auto configuration run?");var a=new URLSearchParams(function(e){if(e)return Object.fromEntries(Object.entries(e).filter((function(e){return null!=e[1]})))}(n)).toString();return[r,t.substring(1,t.length)].join("/")+(a?"?"+a:"")}var G=function(e){return{ME:j(e,"/me"),USERS:function(t){return j(e,"/users",t)},USER:function(t){return j(e,"/users/"+t)},TENANTS:j(e,"/tenants"),TENANT:function(t){return j(e,"/tenants/"+t)},SIGNUP:j(e,"/signup"),TENANT_USERS:function(t){return j(e,"/tenants/"+t+"/users")},TENANT_USER:function(t,n){return j(e,"/tenants/"+t+"/users/"+n)},USER_TENANTS:function(t){return j(e,"/users/"+t+"/tenants")}}};function H(e,t){return new URL(e).pathname.startsWith(t)}var M=["request"];function F(e,t,n){return K.apply(this,arguments)}function K(){return K=a(l().mark((function e(t,n,r){var a,s,u,o,c,p,h,d,b,g,w,m;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=v(r,"[REQUEST]"),s=a.info,u=a.error,o=n.request,c=f(n,M),p=new URL(o.url),(h=new Headers(o.headers)).set("host",p.host),h.set("niledb-origin",p.origin),"POST"!==(d=i({},c,{headers:h})).method&&"PUT"!==d.method||(d.body=null!=(b=c.body)?b:o.body,d.duplex="half"),e.prev=8,e.next=11,fetch(t,i({},d)).catch((function(e){return u("An error has occurred in the fetch",{message:e.message,stack:e.stack}),new Response("An unexpected (most likely configuration) problem has occurred",{status:500})}));case 11:return m="function"==typeof(null==(w=e.sent)?void 0:w.clone)?null==w?void 0:w.clone():null,e.t0=s,e.t1="["+(null!=(g=d.method)?g:"GET")+"] "+t,e.t2=null==w?void 0:w.status,e.t3=null==w?void 0:w.statusText,e.next=19,null==m?void 0:m.text();case 19:return e.t4=e.sent,e.t5={status:e.t2,statusText:e.t3,text:e.t4},(0,e.t0)(e.t1,e.t5),e.abrupt("return",w);case 25:return e.prev=25,e.t6=e.catch(8),e.t6 instanceof Error&&u("An error has occurred in the fetch",{message:e.t6.message,stack:e.t6.stack}),e.abrupt("return",new Response("An unexpected (most likely configuration) problem has occurred",{status:500}));case 29:case"end":return e.stop()}}),e,null,[[8,25]])}))),K.apply(this,arguments)}function J(e,t,n){return W.apply(this,arguments)}function W(){return(W=a(l().mark((function e(t,n,r){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,F(t,n,r);case 2:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function z(e,t){return V.apply(this,arguments)}function V(){return V=a(l().mark((function e(t,n){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=G(n).ME,e.t0=t.method,e.next="GET"===e.t0?4:7;break;case 4:return e.next=6,J(r,{request:t},n);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)}))),V.apply(this,arguments)}function Y(e,t){return H(t.url,e.ME)}function Q(e,t){return $.apply(this,arguments)}function $(){return($=a(l().mark((function e(t,n){var r,a,s,u,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=v(n,"[nileauth]"),s=r.error,(a=r.info)("checking auth"),a("using session"+(u=n.api.basePath+"/auth/session")),t.headers.delete("content-length"),e.next=7,F(u,{request:t},n);case 7:if(o=e.sent){e.next=11;break}return a("no session found"),e.abrupt("return",void 0);case 11:return a("session active"),e.prev=12,e.next=15,new Response(o.body).json();case 15:return e.abrupt("return",e.sent);case 18:return e.prev=18,e.t0=e.catch(12),s(e.t0),e.abrupt("return",void 0);case 22:case"end":return e.stop()}}),e,null,[[12,18]])})))).apply(this,arguments)}var X=function(e,t){this.response=void 0,this.response=new Response(e,t)},Z="niledb-tenant-id";function ee(e,t){var n,r=null==(n=e.get("cookie"))?void 0:n.split("; "),a={};if(r)for(var s,u=o(r);!(s=u()).done;){var i=s.value.split("="),c=i.slice(1).join("=");a[i[0]]=c}if(r)for(var f,l=o(r);!(f=l()).done;){var p=f.value.split("="),h=p.slice(1).join("=");a[p[0]]=h}return t?a[t]:null}function te(e,t){var n,r=ee(e,Z);return null!=(n=null!=r?r:null==e?void 0:e.get(Z))?n:null==t?void 0:t.tenantId}function ne(e,n){var r,a=ee(e,n.api.cookieKey);return a?t.decodeJwt(a).sub:null!=(r=null==e?void 0:e.get("niledb-user-id"))?r:n.userId}function re(e,t){var n,r=new Headers(null==t?void 0:t.headers);r.set("content-type","application/json; charset=utf-8");var a=null==(n=e.api)?void 0:n.cookieKey;if(!r.get("Authorization")){var s=ee(r,a);s?r.set("Authorization","Bearer "+s):w({config:e})&&r.set("Authorization","Bearer "+w({config:e}))}return e.secureCookies&&r.set("niledb-useSecureCookies","true"),r}function ae(e,t,n){return se.apply(this,arguments)}function se(){return(se=a(l().mark((function e(t,n,r){var a,s,u,o,c,f,p,h,d,b,g,w,m,y,E,x,k,I,S;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=v(t,"[server]"),u=s.debug,o=s.error,c=""+(null==(a=t.api)?void 0:a.basePath)+n,f=new Headers(null==r?void 0:r.headers),p=te(f,t),h=re(t,r),_(p),d=ne(f,t),O(d),!c.includes("{tenantId}")||p){e.next=10;break}return e.abrupt("return",new X("tenantId is not set for request",{status:400}));case 10:return b=c.replace("{tenantId}",encodeURIComponent(String(p))).replace("{userId}",encodeURIComponent(String(d))),u("[fetch] "+b),e.prev=12,e.next=15,fetch(b,i({},r,{headers:h})).catch((function(e){return o("[fetch][response]",{message:e.message,stack:e.stack,debug:"Is nile-auth running?"}),new Error(e)}));case 15:if(!((w=e.sent)instanceof Error)){e.next=18;break}return e.abrupt("return",new X("Failed to connect to database",{status:400}));case 18:if(!(w&&w.status>=200&&w.status<300)){e.next=40;break}if("function"!=typeof w.clone){e.next=39;break}return e.prev=20,e.t0=u,e.t1="[fetch][response]["+(null!=(m=null==r?void 0:r.method)?m:"GET")+"] "+w.status+" "+b,e.next=25,w.clone().json();case 25:e.t2=e.sent,e.t3={body:e.t2},(0,e.t0)(e.t1,e.t3),e.next=39;break;case 30:return e.prev=30,e.t4=e.catch(20),e.t5=u,e.t6="[fetch][response]["+(null!=(y=null==r?void 0:r.method)?y:"GET")+"] "+w.status+" "+b,e.next=36,w.clone().text();case 36:e.t7=e.sent,e.t8={body:e.t7},(0,e.t5)(e.t6,e.t8);case 39:return e.abrupt("return",w);case 40:if(404!==(null==w?void 0:w.status)){e.next=42;break}return e.abrupt("return",new X("Not found",{status:404}));case 42:if(401!==(null==w?void 0:w.status)){e.next=44;break}return e.abrupt("return",new X("Unauthorized",{status:401}));case 44:if(405!==(null==w?void 0:w.status)){e.next=46;break}return e.abrupt("return",new X("Method not allowed",{status:405}));case 46:return x="function"==typeof(null==w?void 0:w.clone)?w.clone():null,k="",e.prev=48,e.next=51,null==w?void 0:w.json();case 51:E=e.sent,e.next=63;break;case 54:if(e.prev=54,e.t9=e.catch(48),!x){e.next=62;break}return e.next=59,x.text();case 59:return(k=e.sent)&&o("[fetch][response][status: "+x.status+"]",{message:k}),e.abrupt("return",e.t9);case 62:k||o("[fetch][response]",{e:e.t9});case 63:if(!k){e.next=65;break}return e.abrupt("return",new X(k,{status:null==x?void 0:x.status}));case 65:if(!E||!("message"in E)){e.next=69;break}return o("[fetch][response][status: "+(null==x?void 0:x.status)+"] "+(I=E.message)),e.abrupt("return",new X(I,{status:400}));case 69:if(!E||!("errors"in E)){e.next=73;break}return o("[fetch][response] [status: "+(null==x?void 0:x.status)+"] "+(S=E.errors[0])),e.abrupt("return",new X(S,{status:400}));case 73:return o("[fetch][response][status: "+(null==x?void 0:x.status)+"] UNHANDLED ERROR",{res:E}),e.abrupt("return",new X(null,{status:null!=(g=null==w?void 0:w.status)?g:500}));case 77:return e.prev=77,e.t10=e.catch(12),e.abrupt("return",new X("an unexpected error has occurred",{status:500}));case 80:case"end":return e.stop()}}),e,null,[[12,77],[20,30],[48,54]])})))).apply(this,arguments)}function ue(e,t){return oe.apply(this,arguments)}function oe(){return(oe=a(l().mark((function e(t,n){var r,a,s,u,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.body=n.request.body,n.method="POST",r=new URL(n.request.url),a=r.searchParams.get("tenantId"),s=r.searchParams.get("newTenantName"),u=null!=a?a:te(n.request.headers),o=G(t).USERS({tenantId:u,newTenantName:s}),e.next=9,F(o,n,t);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ie(e,t,n){return ce.apply(this,arguments)}function ce(){return(ce=a(l().mark((function e(t,n,r){var a,s,u,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=new URL(n.request.url),s=a.searchParams.get("tenantId"),u=null!=s?s:te(n.request.headers)){e.next=6;break}return r("[GET] No tenant id provided."),e.abrupt("return",new Response(null,{status:404}));case 6:return o=G(t).TENANT_USERS(u),n.method="GET",e.next=10,F(o,n,t);case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function fe(e,t,n){return le.apply(this,arguments)}function le(){return(le=a(l().mark((function e(t,n,r){var a,s,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n){e.next=2;break}return e.abrupt("return",new Response(null,{status:401}));case 2:return r.body=r.request.body,r.method="PUT",a=new URL(r.request.url).pathname.split("/").reverse(),s=a[0],u=G(t).USER(s),e.next=8,F(u,r,t);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function pe(e,t){return he.apply(this,arguments)}function he(){return he=a(l().mark((function e(t,n){var r,a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=v(i({},n,{debug:n.debug}),"[ROUTES][USERS]"),a=r.info,e.next=3,Q(t,n);case 3:s=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,ie(n,{request:t},a);case 9:case 12:case 15:return e.abrupt("return",e.sent);case 10:return e.next=12,ue(n,{request:t});case 13:return e.next=15,fe(n,s,{request:t});case 16:return e.abrupt("return",new Response("method not allowed",{status:405}));case 17:case"end":return e.stop()}}),e)}))),he.apply(this,arguments)}function de(e,t){return H(t.url,e.USERS)}function ve(e,t){return be.apply(this,arguments)}function be(){return(be=a(l().mark((function e(t,n){var r,a,s,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL(n.request.url),a=r.pathname.split("/").reverse(),s=a[1],u=""+G(t).TENANT_USERS(s),e.next=5,F(u,n,t);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ge(e,t,n){return we.apply(this,arguments)}function we(){return(we=a(l().mark((function e(t,n,r){var a,s,u,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new URL(r.request.url),s=a.pathname.split("/").reverse(),u=s[1],r.body=JSON.stringify({email:n.email}),r.method="PUT",o=G(t).TENANT_USERS(u),e.next=7,F(o,r,t);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function me(e,t){return ye.apply(this,arguments)}function ye(){return(ye=a(l().mark((function e(t,n){var r,a,s,u,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL(n.request.url),a=r.pathname.split("/").reverse(),s=a[0],u=a[2],n.method="DELETE",n.body=JSON.stringify({email:s}),o=""+G(t).TENANT_USER(u,s),e.next=7,F(o,n,t);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ee(e,t){return xe.apply(this,arguments)}function xe(){return(xe=a(l().mark((function e(t,n){var r,a,s,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL(n.request.url),a=r.pathname.split("/").reverse(),s=a[1],n.method="PUT",u=""+G(t).TENANT_USERS(s),e.next=6,F(u,n,t);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ke="TENANT_USERS";function Ie(e,t){return Se.apply(this,arguments)}function Se(){return Se=a(l().mark((function e(t,n){var r,a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=v(i({},n,{debug:n.debug}),"[ROUTES]["+ke+"]"),a=r.info,e.next=3,Q(t,n);case 3:if(s=e.sent){e.next=7;break}return a("401"),e.abrupt("return",new Response(null,{status:401}));case 7:if(new URL(t.url).pathname.split("/").reverse()[1]){e.next=12;break}return a("No tenant id found in path"),e.abrupt("return",new Response(null,{status:404}));case 12:e.t0=t.method,e.next="GET"===e.t0?15:"POST"===e.t0?18:"PUT"===e.t0?21:"DELETE"===e.t0?24:27;break;case 15:return e.next=17,ve(n,{request:t});case 17:case 20:case 23:case 26:return e.abrupt("return",e.sent);case 18:return e.next=20,ge(n,s,{request:t});case 21:return e.next=23,Ee(n,{request:t});case 24:return e.next=26,me(n,{request:t});case 27:return e.abrupt("return",new Response("method not allowed",{status:405}));case 28:case"end":return e.stop()}}),e)}))),Se.apply(this,arguments)}function Te(e,t){var n=new URL(t.url).pathname.split("/").reverse(),r=n[0],a=n[1],s=e[ke].replace("{tenantId}",n[2]).replace("{userId}",r);return"users"===r&&(s=e[ke].replace("{tenantId}",a)),H(t.url,s)}function Ne(e,t,n){return Re.apply(this,arguments)}function Re(){return(Re=a(l().mark((function e(t,n,r){var a;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=""+G(t).USER_TENANTS(n.id),"object"==typeof n&&"user"in n&&n.user&&(a=""+G(t).USER_TENANTS(n.user.id)),e.next=4,F(a,r,t);case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ue(e,t,n){return Le.apply(this,arguments)}function Le(){return(Le=a(l().mark((function e(t,n,r){var a,s,u,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=new URL(n.request.url),s=a.pathname.split("/").reverse(),u=s[0]){e.next=5;break}return r("[GET] No tenant id provided."),e.abrupt("return",new Response(null,{status:404}));case 5:return n.method="GET",o=""+G(t).TENANT(u),e.next=9,F(o,n,t);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function _e(e,t){return Oe.apply(this,arguments)}function Oe(){return(Oe=a(l().mark((function e(t,n){var r,a,s,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=new URL(n.request.url),a=r.pathname.split("/").reverse(),s=a[0]){e.next=4;break}return e.abrupt("return",new Response(null,{status:404}));case 4:return n.method="DELETE",u=""+G(t).TENANT(s),e.next=8,F(u,n,t);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Pe(e,t){return De.apply(this,arguments)}function De(){return(De=a(l().mark((function e(t,n){var r,a,s,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=new URL(n.request.url),a=r.pathname.split("/").reverse(),s=a[0]){e.next=4;break}return e.abrupt("return",new Response(null,{status:404}));case 4:return n.body=n.request.body,n.method="PUT",u=""+G(t).TENANT(s),e.next=9,F(u,n,t);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ae(e,t){return qe.apply(this,arguments)}function qe(){return(qe=a(l().mark((function e(t,n){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.body=n.request.body,n.method="POST",r=""+G(t).TENANTS,e.next=5,F(r,n,t);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Be="TENANTS";function Ce(e,t){return je.apply(this,arguments)}function je(){return je=a(l().mark((function e(t,n){var r,a,s,u,o;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=v(i({},n,{debug:n.debug}),"[ROUTES]["+Be+"]"),a=r.info,e.next=3,Q(t,n);case 3:if(s=e.sent){e.next=7;break}return a("401"),e.abrupt("return",new Response(null,{status:401}));case 7:u=t.url.split("/").reverse(),o=u[0],e.t0=t.method,e.next="GET"===e.t0?11:"POST"===e.t0?18:"DELETE"===e.t0?21:"PUT"===e.t0?24:27;break;case 11:if(!(c=o)||!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5|7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(c)){e.next=15;break}return e.next=14,Ue(n,{request:t},a);case 14:case 17:case 20:case 23:case 26:return e.abrupt("return",e.sent);case 15:return e.next=17,Ne(n,s,{request:t});case 18:return e.next=20,Ae(n,{request:t});case 21:return e.next=23,_e(n,{request:t});case 24:return e.next=26,Pe(n,{request:t});case 27:return e.abrupt("return",new Response("method not allowed",{status:405}));case 28:case"end":return e.stop()}var c}),e)}))),je.apply(this,arguments)}function Ge(e,t){return H(t.url,e[Be])}var He=function(e){return{SIGNIN:j(e,"/auth/signin"),PROVIDERS:j(e,"/auth/providers"),SESSION:j(e,"/auth/session"),CSRF:j(e,"/auth/csrf"),CALLBACK:j(e,"/auth/callback"),SIGNOUT:j(e,"/auth/signout"),ERROR:j(e,"/auth/error"),VERIFY_REQUEST:j(e,"/auth/verify-request")}},Me="SIGNIN";function Fe(e,t){return Ke.apply(this,arguments)}function Ke(){return(Ke=a(l().mark((function e(t,n){var r,a,s,u,o,c;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=He(n)[Me],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(),u=s[0],r=He(n)[Me]+"/"+u),o=new URL(t.url),c=new URLSearchParams(o.search),r+=""!==c.toString()?"?"+c.toString():"",e.next=8,F(r,i({},a,{request:t}),n);case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Je(e,t){return H(t.url,e[Me])}function We(e,t){return ze.apply(this,arguments)}function ze(){return(ze=a(l().mark((function e(t,n){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",F(He(n).SESSION,{method:t.method,request:t},n));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ve(e,t){return H(t.url,e.SESSION)}function Ye(e,t){return Qe.apply(this,arguments)}function Qe(){return(Qe=a(l().mark((function e(t,n){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",F(He(n).PROVIDERS,{method:t.method,request:t},n));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function $e(e,t){return H(t.url,e.PROVIDERS)}function Xe(e,t){return Ze.apply(this,arguments)}function Ze(){return(Ze=a(l().mark((function e(t,n){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",F(He(n).CSRF,{method:t.method,request:t},n));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function et(e,t){return H(t.url,e.CSRF)}function tt(e,t){return nt.apply(this,arguments)}function nt(){return(nt=a(l().mark((function e(t,n){var r,a,s,u,o,c,f,p;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=v(i({},n,{debug:n.debug}),"[ROUTES][CALLBACK]"),a=r.error,s=new URL(t.url).pathname.split("/").reverse(),u=s[0],o=new URL(t.url),c=new URLSearchParams(o.search),f=He(n).CALLBACK+"/"+u+(""!==c.toString()?"?"+c.toString():""),e.next=7,F(f,{request:t,method:t.method},n).catch((function(e){a("an error as occurred",e)}));case 7:if(!(null==(p=e.sent)?void 0:p.headers.get("location"))){e.next=11;break}return e.abrupt("return",new Response(null==p?void 0:p.body,{status:302,headers:null==p?void 0:p.headers}));case 11:return e.abrupt("return",new Response(null==p?void 0:p.body,{status:null==p?void 0:p.status,headers:null==p?void 0:p.headers}));case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function rt(e,t){return H(t.url,e.CALLBACK)}var at="SIGNOUT";function st(e,t){return ut.apply(this,arguments)}function ut(){return(ut=a(l().mark((function e(t,n){var r,a,s,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=He(n)[at],a={method:t.method},"POST"===t.method&&(a.body=t.body,s=new URL(t.url).pathname.split("/").reverse(),u=s[0],r=He(n)[at]+"/"+u),e.next=5,F(r,i({},a,{request:t}),n);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ot(e,t){return H(t.url,e[at])}var it="ERROR";function ct(e,t){return ft.apply(this,arguments)}function ft(){return(ft=a(l().mark((function e(t,n){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",F(He(n)[it],{method:t.method,request:t},n));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function lt(e,t){return H(t.url,e[it])}var pt="VERIFY_REQUEST";function ht(e,t){return dt.apply(this,arguments)}function dt(){return(dt=a(l().mark((function e(t,n){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",F(He(n)[pt],{method:t.method,request:t},n));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function vt(e,t){return H(t.url,e[pt])}function bt(e,t){return gt.apply(this,arguments)}function gt(){return(gt=a(l().mark((function e(t,n){var r;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.body=n.request.body,n.method="POST",r=""+G(t).SIGNUP,e.next=5,F(r,n,t);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function wt(e,t){return mt.apply(this,arguments)}function mt(){return mt=a(l().mark((function e(t,n){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t.method,e.next="POST"===e.t0?3:6;break;case 3:return e.next=5,bt(n,{request:t});case 5:return e.abrupt("return",e.sent);case 6:return e.abrupt("return",new Response("method not allowed",{status:405}));case 7:case"end":return e.stop()}}),e)}))),mt.apply(this,arguments)}function yt(e,t){return H(t.url,e.SIGNUP)}function Et(e,t){var n=function(e,t){var n=v(t,"[GET MATCHER]"),r=n.info,s=n.warn;return function(){var n=a(l().mark((function n(a){return l().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Y(e,a)){n.next=3;break}return r("matches me"),n.abrupt("return",z(a,t));case 3:if(!Te(e,a)){n.next=6;break}return r("matches tenant users"),n.abrupt("return",Ie(a,t));case 6:if(!de(e,a)){n.next=9;break}return r("matches users"),n.abrupt("return",pe(a,t));case 9:if(!Ge(e,a)){n.next=12;break}return r("matches tenants"),n.abrupt("return",Ce(a,t));case 12:if(!Ve(e,a)){n.next=15;break}return r("matches session"),n.abrupt("return",We(a,t));case 15:if(!Je(e,a)){n.next=18;break}return r("matches signin"),n.abrupt("return",Fe(a,t));case 18:if(!$e(e,a)){n.next=21;break}return r("matches providers"),n.abrupt("return",Ye(a,t));case 21:if(!et(e,a)){n.next=24;break}return r("matches csrf"),n.abrupt("return",Xe(a,t));case 24:if(!rt(e,a)){n.next=27;break}return r("matches callback"),n.abrupt("return",tt(a,t));case 27:if(!ot(e,a)){n.next=30;break}return r("matches signout"),n.abrupt("return",st(a,t));case 30:if(!vt(e,a)){n.next=33;break}return r("matches verify-request"),n.abrupt("return",ht(a,t));case 33:if(!lt(e,a)){n.next=36;break}return r("matches error"),n.abrupt("return",ct(a,t));case 36:return s("No GET routes matched"),n.abrupt("return",new Response(null,{status:404}));case 38:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}(e,t),r=function(e,t){var n=v(t,"[POST MATCHER]"),r=n.info,s=n.warn;return function(){var n=a(l().mark((function n(a){return l().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Te(e,a)){n.next=3;break}return r("matches tenant users"),n.abrupt("return",Ie(a,t));case 3:if(!yt(e,a)){n.next=6;break}return r("matches signup"),n.abrupt("return",wt(a,t));case 6:if(!de(e,a)){n.next=9;break}return r("matches users"),n.abrupt("return",pe(a,t));case 9:if(!Ge(e,a)){n.next=12;break}return r("matches tenants"),n.abrupt("return",Ce(a,t));case 12:if(!Ve(e,a)){n.next=15;break}return r("matches session"),n.abrupt("return",We(a,t));case 15:if(!Je(e,a)){n.next=18;break}return r("matches signin"),n.abrupt("return",Fe(a,t));case 18:if(!$e(e,a)){n.next=21;break}return r("matches providers"),n.abrupt("return",Ye(a,t));case 21:if(!et(e,a)){n.next=24;break}return r("matches csrf"),n.abrupt("return",Xe(a,t));case 24:if(!rt(e,a)){n.next=27;break}return r("matches callback"),n.abrupt("return",tt(a,t));case 27:if(!ot(e,a)){n.next=30;break}return r("matches signout"),n.abrupt("return",st(a,t));case 30:return s("No POST routes matched"),n.abrupt("return",new Response(null,{status:404}));case 32:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}(e,t),s=function(e,t){var n=v(t,"[DELETE MATCHER]"),r=n.info,s=n.warn;return function(){var n=a(l().mark((function n(a){return l().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Te(e,a)){n.next=3;break}return r("matches tenant users"),n.abrupt("return",Ie(a,t));case 3:if(!Ge(e,a)){n.next=6;break}return r("matches tenants"),n.abrupt("return",Ce(a,t));case 6:return s("No DELETE routes matched"),n.abrupt("return",new Response(null,{status:404}));case 8:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}(e,t),u=function(e,t){var n=v(t,"[PUT MATCHER]"),r=n.info,s=n.warn;return function(){var n=a(l().mark((function n(a){return l().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Te(e,a)){n.next=3;break}return r("matches tenant users"),n.abrupt("return",Ie(a,t));case 3:if(!de(e,a)){n.next=6;break}return r("matches users"),n.abrupt("return",pe(a,t));case 6:if(!Ge(e,a)){n.next=9;break}return r("matches tenants"),n.abrupt("return",Ce(a,t));case 9:return s("No PUT routes matched"),n.abrupt("return",new Response(null,{status:404}));case 11:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}(e,t);return{GET:n,POST:r,DELETE:s,PUT:u}}var xt=function(e){return void 0===e&&(e="/api"),{SIGNIN:e+"/auth/signin",PROVIDERS:e+"/auth/providers",SESSION:e+"/auth/session",CSRF:e+"/auth/csrf",CALLBACK:e+"/auth/callback",SIGNOUT:e+"/auth/signout",ERROR:e+"/auth/error",VERIFY_REQUEST:e+"/auth/verify-request",ME:e+"/me",USERS:e+"/users",TENANTS:e+"/tenants",TENANT_USER:e+"/tenants/{tenantId}/users/{userId}",TENANT_USERS:e+"/tenants/{tenantId}/users",SIGNUP:e+"/signup"}},kt=function(e){function t(t){return e.call(this,t)||this}c(t,e);var n=t.prototype;return n.rawRequest=function(){var e=a(l().mark((function e(t,n,r,a){var s,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=i({},r,{body:a,method:t}),e.next=3,ae(this,n,s);case 3:if(!((u=e.sent)instanceof X)){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)}}(),n.request=function(){var e=a(l().mark((function e(t,n,r,a){var s,u,o,c,f,p,h,d;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=new Headers(a?null==a?void 0:a.headers:{}),r instanceof Headers?(u=r.get(Z),o=r.get("cookie"),u&&s.set(Z,u),o&&s.set("cookie",o)):r instanceof Request&&(c=new Headers(null==r?void 0:r.headers),f=c.get(Z),p=c.get("cookie"),f&&s.set(Z,f),p&&s.set("cookie",p)),h=JSON.stringify(r),"GET"!==t){e.next=7;break}h=void 0,e.next=14;break;case 7:if(!(r instanceof Request)){e.next=13;break}return e.next=10,new Response(r.body).text();case 10:h=e.sent,e.next=14;break;case 13:(r instanceof Headers||"{}"===JSON.stringify(r)||r&&"object"==typeof r&&0===Object.values(r).length)&&(h=void 0);case 14:return d=i({},a,{headers:s}),e.next=17,this.rawRequest(t,n,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)}}(),n.post=function(){var e=a(l().mark((function e(t,n,r){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.request("POST",n,t,r);case 2:if(!((a=e.sent)&&a.status>=200&&a.status<300)){e.next=13;break}return s=a.clone(),e.prev=5,e.next=8,s.json();case 8:return e.abrupt("return",e.sent);case 11:e.prev=11,e.t0=e.catch(5);case 13:return e.abrupt("return",a);case 14:case"end":return e.stop()}}),e,this,[[5,11]])})));return function(t,n,r){return e.apply(this,arguments)}}(),n.get=function(){var e=a(l().mark((function e(t,n,r){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.request("GET",n,t,r);case 2:if(!((a=e.sent)&&a.status>=200&&a.status<300)){e.next=13;break}return s=a.clone(),e.prev=5,e.next=8,s.json();case 8:return e.abrupt("return",e.sent);case 11:e.prev=11,e.t0=e.catch(5);case 13:return e.abrupt("return",a);case 14:case"end":return e.stop()}}),e,this,[[5,11]])})));return function(t,n,r){return e.apply(this,arguments)}}(),n.put=function(){var e=a(l().mark((function e(t,n,r){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.request("PUT",n,t,r);case 2:if(!((a=e.sent)&&a.status>=200&&a.status<300)){e.next=13;break}return s=a.clone(),e.prev=5,e.next=8,s.json();case 8:return e.abrupt("return",e.sent);case 11:e.prev=11,e.t0=e.catch(5);case 13:return e.abrupt("return",a);case 14:case"end":return e.stop()}}),e,this,[[5,11]])})));return function(t,n,r){return e.apply(this,arguments)}}(),n.delete=function(){var e=a(l().mark((function e(t,n,r){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.request("DELETE",n,t,r);case 2:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t,n,r){return e.apply(this,arguments)}}(),t}(U),It="https://us-west-2.api.dev.thenile.dev";function St(e,t){var n=v(e,"[server side login]"),r=n.info,s=n.error,u=n.debug,o=xt(e.routePrefix);return function(){var e=a(l().mark((function e(n){var a,c,f,p,h,d,v,b,g,w,m,y,E,x,k,I,S,T,N,R,U,L,_,O,P,D;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(p=n.password,(f=n.email)&&p){e.next=3;break}throw new Error("Server side login requires a user email and password.");case 3:return h=new URL(""+It+o.PROVIDERS),d={host:h.host,"niledb-origin":It},r("Obtaining providers for "+f),v=new Request(h,i({method:"GET"},d)),e.next=9,t.POST(v);case 9:if(404!==(null==(b=e.sent)?void 0:b.status)){e.next=12;break}throw new Error("Unable to login, cannot find region api.");case 12:return e.prev=12,e.next=15,null==b?void 0:b.json();case 15:g=e.sent,e.next=22;break;case 18:e.prev=18,e.t0=e.catch(12),r(h,{sessionRes:b}),s(e.t0);case 22:return r("Obtaining csrf"),w=new URL(""+It+o.CSRF),m=new Request(w,{method:"GET",headers:new Headers(i({},d))}),e.next=27,t.POST(m);case 27:return y=e.sent,e.prev=28,e.next=31,null==y?void 0:y.json();case 31:if(e.t1=x=e.sent,null==e.t1){e.next=36;break}e.t2=x,e.next=37;break;case 36:e.t2={};case 37:E=null==(k=e.t2)?void 0:k.csrfToken,e.next=45;break;case 41:e.prev=41,e.t3=e.catch(28),r(h,{csrfRes:y}),s(e.t3,{csrfRes:y});case 45:if(I=null!=(a=g)?a:{},S=I.credentials,T=null==y?void 0:y.headers.get("set-cookie"),S){e.next=49;break}throw new Error("Unable to obtain credential provider. Aborting server side login.");case 49:if(N=new URL(S.callbackUrl),T){e.next=53;break}throw u("CSRF failed",{headers:null==y?void 0:y.headers}),new Error("Unable to authenticate REST, CSRF missing.");case 53:return r("Attempting sign in with email "+f+" "+N.href),R=JSON.stringify({email:f,password:p,csrfToken:E,callbackUrl:S.callbackUrl}),U=new Request(N,{method:"POST",headers:new Headers(i({},d,{"content-type":"application/json",cookie:T.split(",").join("; ")})),body:R}),e.next=58,t.POST(U);case 58:if(_=null==(L=e.sent)?void 0:L.headers.get("set-cookie")){e.next=62;break}throw new Error("authentication failed");case 62:if(O=null!=(c=/((__Secure-)?nile\.session-token=.+?);/.exec(_))?c:[],P=O[1]){e.next=66;break}throw s("Unable to obtain auth token",{authCookie:_}),new Error("Server login failed");case 66:return r("Server login successful",{authCookie:_,csrfCookie:T}),D=new Headers(i({},d,{cookie:[P,T].join("; ")})),e.abrupt("return",D);case 69:case"end":return e.stop()}}),e,null,[[12,18],[28,41]])})));return function(t){return e.apply(this,arguments)}}()}var Tt,Nt=function(e){function t(t,n){var r;return(r=e.call(this,t)||this).headers=void 0,r.session=function(){var e=a(l().mark((function e(t,n){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new kt(r),s=r.handleHeaders(n),e.next=4,a.get(t,r.sessionUrl,s);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)}}(),r.headers=n,r}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:"sessionUrl",get:function(){return"/auth/session"}}])}(U),Rt=function(e){function t(t,n){var r;return(r=e.call(this,t)||this).headers=void 0,r.createTenant=function(){var e=a(l().mark((function e(t,n){var a,s,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a="string"==typeof t?new Request(""+r.api.basePath+r.tenantsUrl,{body:JSON.stringify({name:t}),method:"POST"}):t,s=new kt(r),u=r.handleHeaders(n),e.abrupt("return",s.post(a,r.tenantsUrl,u));case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.getTenant=function(){var e=a(l().mark((function e(t,n){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof t&&(r.tenantId=t),a=new kt(r),s=r.handleHeaders(n),e.abrupt("return",a.get(t,r.tenantUrl,s));case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.listTenants=function(){var e=a(l().mark((function e(t,n){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new kt(r),s=r.handleHeaders(n),e.abrupt("return",a.get(t,r.tenantListUrl,s));case 3:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.deleteTenant=function(){var e=a(l().mark((function e(t,n){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof t&&(r.tenantId=t),a=new kt(r),s=r.handleHeaders(n),e.abrupt("return",a.delete(t,r.tenantUrl,s));case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.updateTenant=function(){var e=a(l().mark((function e(t,n){var a,s,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t&&"name"in t?new Request(""+r.api.basePath+r.tenantUrl,{body:JSON.stringify(t),method:"PUT"}):t,s=new kt(r),u=r.handleHeaders(n),e.abrupt("return",s.put(a,r.tenantUrl,u));case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.headers=n,r}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}")}},{key:"tenantListUrl",get:function(){var e;return"/users/"+(null!=(e=this.userId)?e:"{userId}")+"/tenants"}}])}(U),Ut=function(e){function t(t,n){var r;return(r=e.call(this,t)||this).headers=void 0,r.createUser=function(){var e=a(l().mark((function e(t,n){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new kt(r),s=r.handleHeaders(n),e.next=4,a.post(t,r.usersUrl,s);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)}}(),r.createTenantUser=function(){var e=a(l().mark((function e(t,n){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new kt(r),s=r.handleHeaders(n),e.next=4,a.post(t,r.tenantUsersUrl,s);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)}}(),r.updateUser=function(){var e=a(l().mark((function e(t,n){var a,s,u;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t&&"id"in t?(a=new Request(""+r.api.basePath+r.tenantUserUrl,{body:JSON.stringify(t),method:"PUT"}),r.userId=String(t.id)):a=t,s=new kt(r),u=r.handleHeaders(n),e.next=5,s.put(a,r.tenantUserUrl,u);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.listUsers=function(){var e=a(l().mark((function e(t,n){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new kt(r),s=r.handleHeaders(n),e.next=4,a.get(t,r.tenantUsersUrl,s);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)}}(),r.linkUser=function(){var e=a(l().mark((function e(t,n){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new kt(r),"string"==typeof t?r.userId=t:("id"in t&&(r.userId=t.id),"tenantId"in t&&(r.tenantId=t.tenantId)),s=r.handleHeaders(n),e.next=5,a.put(t,r.linkUsersUrl,s);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.unlinkUser=function(){var e=a(l().mark((function e(t,n){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof t?r.userId=t:("id"in t&&(r.userId=t.id),"tenantId"in t&&(r.tenantId=t.tenantId)),a=new kt(r),s=r.handleHeaders(n),e.next=5,a.delete(t,r.linkUsersUrl,s);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.me=function(){var e=a(l().mark((function e(t,n){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new kt(r),s=r.handleHeaders(n),e.next=4,a.get(t,r.meUrl,s);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)}}(),r.updateMe=function(){var e=a(l().mark((function e(t,n){var a,s;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new kt(r),s=r.handleHeaders(n),e.next=4,a.put(t,r.meUrl,s);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)}}(),r.headers=n,r}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:"linkUsersUrl",get:function(){var e,t;return"/tenants/"+(null!=(e=this.tenantId)?e:"{tenantId}")+"/users/"+(null!=(t=this.userId)?t:"{userId}")+"/link"}},{key:"tenantUserUrl",get:function(){var e,t;return"/tenants/"+(null!=(e=this.tenantId)?e:"{tenantId}")+"/users/"+(null!=(t=this.userId)?t:"{userId}")}},{key:"meUrl",get:function(){return"/me"}}])}(U),Lt=function(){function e(e){this.config=void 0,this.users=void 0,this.auth=void 0,this.tenants=void 0,this.routes=void 0,this.handlers=void 0,this.config=e,this.auth=new Nt(e),this.users=new Ut(e),this.tenants=new Rt(e),this.routes=i({},xt(null==e?void 0:e.routePrefix),null==e?void 0:e.routes),this.handlers=Et(this.routes,e)}var t=e.prototype;return t.updateConfig=function(e){this.config=e,this.handlers=Et(this.routes,e)},t.login=function(){var e=a(l().mark((function e(t){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,St(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 Ut(this.config,e),this.tenants=new Rt(this.config,e),this.auth=new Nt(this.config,e)}}])}(),_t=function(){function e(e){var t=this;this.config=void 0,this.api=void 0,this.manager=void 0,this.config=new U(e,"[initial config]"),this.api=new Lt(this.config),this.manager=new B(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 U(e),this.api.updateConfig(this.config)},t.init=function(){var e=a(l().mark((function e(t){return l().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),e.abrupt("return",this);case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.getInstance=function(e){var t=i({},this.config,e),n=new U(t);return this.setConfig(n),this.tenantId=n.tenantId,this.userId=n.userId,n.api.token&&(this.token=n.api.token),this.databaseId=n.databaseId,this},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 Ot(e){return Pt.apply(this,arguments)}function Pt(){return(Pt=a(l().mark((function e(t){return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Tt||(Tt=new _t(t)),!t){e.next=5;break}return e.next=4,Tt.init(new U(t));case 4:case 7:return e.abrupt("return",e.sent);case 5:return e.next=7,Tt.init();case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}exports.LoginUserResponseTokenTypeEnum={AccessToken:"ACCESS_TOKEN",RefreshToken:"REFRESH_TOKEN",IdToken:"ID_TOKEN"},exports.Nile=Ot,exports.Server=_t,exports.default=Ot;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),require("dotenv/config");var e=require("pg"),t=require("jose");function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function r(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 a(e){return function(){var t=this,n=arguments;return new Promise((function(a,s){var u=e.apply(t,n);function o(e){r(u,a,s,o,i,"next",e)}function i(e){r(u,a,s,o,i,"throw",e)}o(void 0)}))}}function s(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,h(r.key),r)}}function u(e,t,n){return t&&s(e.prototype,t),n&&s(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var a=0;return function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}}}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 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)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(null,arguments)}function c(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,p(e,t)}function l(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}function f(){f=function(){return t};var e,t={},n=Object.prototype,r=n.hasOwnProperty,a=Object.defineProperty||function(e,t,n){e[t]=n.value},s="function"==typeof Symbol?Symbol:{},u=s.iterator||"@@iterator",o=s.asyncIterator||"@@asyncIterator",i=s.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function l(e,t,n,r){var s=Object.create((t&&t.prototype instanceof w?t:w).prototype),u=new _(r||[]);return a(s,"_invoke",{value:T(e,n,u)}),s}function p(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var h="suspendedStart",d="suspendedYield",v="executing",b="completed",g={};function w(){}function m(){}function y(){}var E={};c(E,u,(function(){return this}));var x=Object.getPrototypeOf,k=x&&x(x(O([])));k&&k!==n&&r.call(k,u)&&(E=k);var I=y.prototype=w.prototype=Object.create(E);function S(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function R(e,t){function n(a,s,u,o){var i=p(e[a],e,s);if("throw"!==i.type){var c=i.arg,l=c.value;return l&&"object"==typeof l&&r.call(l,"__await")?t.resolve(l.__await).then((function(e){n("next",e,u,o)}),(function(e){n("throw",e,u,o)})):t.resolve(l).then((function(e){c.value=e,u(c)}),(function(e){return n("throw",e,u,o)}))}o(i.arg)}var s;a(this,"_invoke",{value:function(e,r){function a(){return new t((function(t,a){n(e,r,t,a)}))}return s=s?s.then(a,a):a()}})}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=N(o,r);if(i){if(i===g)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=p(t,n,r);if("normal"===c.type){if(a=r.done?b:d,c.arg===g)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(a=b,r.method="throw",r.arg=c.arg)}}}function N(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,N(t,n),"throw"===n.method)||"return"!==r&&(n.method="throw",n.arg=new TypeError("The iterator does not provide a '"+r+"' method")),g;var s=p(a,t.iterator,n.arg);if("throw"===s.type)return n.method="throw",n.arg=s.arg,n.delegate=null,g;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,g):u:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,g)}function U(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 L(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(U,this),this.reset(!0)}function O(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 a=-1,s=function n(){for(;++a<t.length;)if(r.call(t,a))return n.value=t[a],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 m.prototype=y,a(I,"constructor",{value:y,configurable:!0}),a(y,"constructor",{value:m,configurable:!0}),m.displayName=c(y,i,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,y):(e.__proto__=y,c(e,i,"GeneratorFunction")),e.prototype=Object.create(I),e},t.awrap=function(e){return{__await:e}},S(R.prototype),c(R.prototype,o,(function(){return this})),t.AsyncIterator=R,t.async=function(e,n,r,a,s){void 0===s&&(s=Promise);var u=new R(l(e,n,r,a),s);return t.isGeneratorFunction(n)?u:u.next().then((function(e){return e.done?e.value:u.next()}))},S(I),c(I,i,"Generator"),c(I,u,(function(){return this})),c(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=O,_.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(L),!t)for(var n in this)"t"===n.charAt(0)&&r.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 a(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 a("end");if(u.tryLoc<=this.prev){var i=r.call(u,"catchLoc"),c=r.call(u,"finallyLoc");if(i&&c){if(this.prev<u.catchLoc)return a(u.catchLoc,!0);if(this.prev<u.finallyLoc)return a(u.finallyLoc)}else if(i){if(this.prev<u.catchLoc)return a(u.catchLoc,!0)}else{if(!c)throw Error("try statement without catch or finally");if(this.prev<u.finallyLoc)return a(u.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var s=a;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,g):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),g},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),L(n),g}},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;L(n)}return a}}throw Error("illegal catch attempt")},delegateYield:function(t,n,r){return this.delegate={iterator:O(t),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=e),g}},t}function p(e,t){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},p(e,t)}function h(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}var d="[0m";function v(e){for(var t,n,r,a,s,u,o,i,c=arguments.length,l=new Array(c>1?c-1:0),f=1;f<c;f++)l[f-1]=arguments[f];var p=function(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(t,r){null!=e&&e.debug&&console.info("[niledb][DEBUG]"+n.join("")+" "+t,r?"\n"+JSON.stringify(r,null,2):"")},debug:function(t,r){null!=e&&e.debug&&console.debug("[niledb][DEBUG]"+n.join("")+" "+t,r?"\n"+JSON.stringify(r,null,2):"")},warn:function(t,r){null!=e&&e.debug&&console.warn("[33m[niledb][WARN]"+d+n.join("")+" "+t,JSON.stringify(r,null,2))},error:function(e,t){console.error("[31m[niledb][ERROR]"+d+n.join("")+" "+e,t)}}}(e,l),h=null!=(t=null==e||null==(n=e.logger)?void 0:n.info)?t:p.info,v=null!=(r=null==e||null==(a=e.logger)?void 0:a.debug)?r:p.debug;return{info:h,warn:null!=(s=null==e||null==(u=e.logger)?void 0:u.warn)?s:p.warn,error:null!=(o=null==e||null==(i=e.logger)?void 0:i.error)?o:p.error,debug:v}}var b=function(e){var t=e.config,n=e.logger,r=v(t,"[username]").info;if(null!=t&&t.user)return n&&r(n+"[config] "+t.user),String(null==t?void 0:t.user);var a=S(process.env.NILEDB_POSTGRES_URL);if(a){var s=new URL(a);if(s.username)return s.username}return n&&r(n+"[NILEDB_USER] "+String(process.env.NILEDB_USER)),process.env.NILEDB_USER},g=function(e){var t=e.config,n=e.logger,r=v(t,"[password]").info;if(S(null==t?void 0:t.password))return String(null==t?void 0:t.password);var a=S(process.env.NILEDB_POSTGRES_URL);if(a){var s=new URL(a);if(s.password)return s.password}return n&&r(n+"[NILEDB_PASSWORD] "+String(process.env.NILEDB_PASSWORD)),process.env.NILEDB_PASSWORD},w=function(e){var t,n,r,a=e.config,s=e.logger,u=v(a,"[token]").info;return S(null==a||null==(t=a.api)?void 0:t.token)?(s&&u(s+"[config] "+(null==a||null==(n=a.api)?void 0:n.token)),String(null==a||null==(r=a.api)?void 0:r.token)):S(process.env.NILEDB_TOKEN)?(s&&u(s+"[NILEDB_TOKEN] "+process.env.NILEDB_TOKEN),process.env.NILEDB_TOKEN):void 0},m=function(e){var t=e.config,n=e.logger,r=v(t,"[databaseName]").info;if(S(null==t?void 0:t.databaseName))return n&&r(n+"[config] "+(null==t?void 0:t.databaseName)),String(null==t?void 0:t.databaseName);if(S(process.env.NILEDB_NAME))return n&&r(n+"[NILEDB_NAME] "+process.env.NILEDB_NAME),process.env.NILEDB_NAME;if(process.env.NILEDB_POSTGRES_URL)try{return new URL(process.env.NILEDB_POSTGRES_URL).pathname.substring(1)}catch(e){}return null},y=function(e){var t,n=e.config,r=e.logger,a=v(n,"[basePath]"),s=a.warn,u=a.info,o=a.error,i=null==n||null==(t=n.api)?void 0:t.basePath;if(S(i))return r&&u(r+"[config] "+i),i;var c=S(process.env.NILEDB_API_URL);if(c){r&&u(r+"[NILEDB_API_URL] "+process.env.NILEDB_API_URL);try{return new URL(c).href}catch(e){e instanceof Error&&o(e.stack)}}s("not set. Must run auto-configuration")},E=function(e){var t=e.config,n=e.logger,r=v(t,"[basePath]").info;if(S(null==t?void 0:t.configureUrl))return n&&r(n+"[config] "+(null==t?void 0:t.configureUrl)),String(null==t?void 0:t.configureUrl);var a=S(process.env.NILEDB_CONFIGURE);return a?(n&&r(n+"[NILEDB_CONFIGURE] "+process.env.NILEDB_CONFIGURE),a.startsWith("http")?process.env.NILEDB_CONFIGURE:"https://"+process.env.NILEDB_CONFIGURE):(n&&r(n+"[default] https://global.thenile.dev"),"https://global.thenile.dev")};function x(e){var t,n,r=e.config,a=e.logger,s=v(r,"[db.host]").info;if(S((null==r?void 0:r.db)&&r.db.host))return a&&s(a+"[config] "+(null==r||null==(t=r.db)?void 0:t.host)),String(null==r||null==(n=r.db)?void 0:n.host);var u=S(process.env.NILEDB_POSTGRES_URL);if(u)try{var o=new URL(u);return a&&s(a+"[NILEDB_POSTGRES_URL] "+o.hostname),o.hostname}catch(e){}return S(process.env.NILEDB_HOST)?(a&&s(a+"[NILEDB_HOST] "+process.env.NILEDB_HOST),process.env.NILEDB_HOST):(a&&s(a+"[default] db.thenile.dev"),"db.thenile.dev")}function k(e){var t,n,r=e.config,a=e.logger,s=v(r,"[db.port]").info;if(null!=r&&null!=(t=r.db)&&t.port&&null!=r.db.port)return a&&s(a+"[config] "+(null==r?void 0:r.db.port)),Number(null==(n=r.db)?void 0:n.port);if(S(process.env.NILEDB_PORT))return a&&s(a+"[NILEDB_PORT] "+process.env.NILEDB_PORT),Number(process.env.NILEDB_PORT);var u=S(process.env.NILEDB_POSTGRES_URL);if(u)try{var o=new URL(u);if(o.port)return Number(o.port)}catch(e){}return a&&s(a+"[default] 5432"),5432}var I,S=function(e){if(e&&""!==e)return e},R=["host","port"],T=["host","port"],N=function(){return u((function(e){var t=e.basePath,n=e.cookieKey,r=e.token;this.cookieKey=void 0,this.basePath=void 0,this._token=void 0,this.basePath=t,this.cookieKey=n,this._token=r}),[{key:"token",get:function(){return this._token},set:function(e){this._token=e}}])}(),U=function(){return u((function(e,t){var n,r,s,u=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.logger=void 0,this.secureCookies=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=a(f().mark((function e(t){var n,r,a,s,o,c,p,h,d,I,S,T,U,L,_,O,P,D,A,q,B,C,j,G,H,M,F,K,W,J,z;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=v(t,"[init]"),o=s.info,c=s.error,p=s.debug,h={config:t},d=null!=(n=t.db)?n:{},I=d.host,S=d.port,T=l(d,R),U=null!=I?I:x(h),L=null!=S?S:k(h),_=y(h),!(U&&u.databaseName&&u.databaseId&&_)){e.next=14;break}return o("Already configured, aborting fetch"),u.api=new N({basePath:_,cookieKey:null!=(O=null==t||null==(P=t.api)?void 0:P.cookieKey)?O:"token",token:w({config:t})}),u.db=i({user:u.user,password:u.password,host:U,port:L,database:u.databaseName},T),o("[config set]",{db:u.db,api:u.api}),e.abrupt("return",u);case 14:D=[],U||D.push("Database host"),u.databaseName||D.push("Database name"),u.databaseId||D.push("Database id"),_||D.push("API URL"),o("[autoconfigure] "+D.join(", ")+" "+(D.length>1?"are":"is")+" missing from the config. Autoconfiguration will run.");case 20:return A=E(h),q=m({config:t,logger:"getInfo"}),B=new URL(A+"/databases/configure"),q&&B.searchParams.set("databaseName",q),o("configuring from "+B.href),e.next=27,fetch(B,{headers:{Authorization:"Bearer "+(f={config:t},b(f)+":"+g(f))}}).catch((function(){c("Unable to auto-configure. is "+B+" available?")}));case 27:if(C=e.sent){e.next=30;break}return e.abrupt("return",u);case 30:return G=C.clone(),e.prev=31,e.next=34,C.json();case 34:H=e.sent,404===C.status&&o("is the configured databaseName correct?"),j=H.status&&"READY"!==H.status?{message:"Database is not ready yet"}:H,e.next=47;break;case 39:return e.prev=39,e.t0=e.catch(31),e.next=43,G.text();case 43:M=e.sent,p("Unable to auto-configure"),c(M),j={message:M};case 47:if(o("[fetched database]",j),!("message"in j)){e.next=56;break}if(!("statusCode"in j)){e.next=55;break}throw c(j),new Error("HTTP error has occurred");case 55: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 56:"object"==typeof j&&(K=(F=j).apiHost,W=F.dbHost,J=F.name,_=_||K,u.databaseId=F.id,u.databaseName=J,z=new URL(W),U=z.hostname);case 57:return u.api=new N({basePath:_,cookieKey:null!=(r=null==t||null==(a=t.api)?void 0:a.cookieKey)?r:"token",token:w({config:t})}),u.db=i({user:u.user,password:u.password,host:U,port:L,database:u.databaseName},T),o("[config set]",{db:u.db,api:u.api}),e.abrupt("return",u);case 61:case"end":return e.stop()}var f}),e,null,[[31,39]])})));return function(t){return e.apply(this,arguments)}}();var o,c={config:e,logger:t};if(this.user=b(c),this.logger=null==e?void 0:e.logger,this.password=g(c),!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.secureCookies=(o=c.config,S(process.env.NILEDB_SECURECOOKIES)?Boolean(process.env.NILEDB_SECURECOOKIES):null==o?void 0:o.secureCookies),this.databaseId=function(e){var t=e.config,n=e.logger,r=v(t,"[databaseId]").info;if(S(null==t?void 0:t.databaseId))return n&&r(n+"[config] "+(null==t?void 0:t.databaseId)),String(null==t?void 0:t.databaseId);var a=S(process.env.NILEDB_API_URL);if(a)try{return new URL(a).pathname.split("/")[3]}catch(e){}return n&&r(n+"[NILEDB_ID] "+String(process.env.NILEDB_ID)),process.env.NILEDB_ID}(c),this.databaseName=m(c),this._tenantId=function(e){var t=e.config,n=e.logger,r=v(t,"[tenantId]").info;return S(null==t?void 0:t.tenantId)?(n&&r(n+"[config] "+(null==t?void 0:t.tenantId)),String(null==t?void 0:t.tenantId)):S(process.env.NILEDB_TENANT)?(n&&r(n+"[NILEDB_TENANT] "+process.env.NILEDB_TENANT),String(process.env.NILEDB_TENANT)):null}(c),this.debug=Boolean(null==e?void 0:e.debug),this._userId=null==e?void 0:e.userId;var p=y(c),h=null!=(n=null==e?void 0:e.db)?n:{},d=h.host,I=h.port,U=l(h,T),L=null!=d?d:x(c),_=null!=I?I:k(c);this.api=new N({basePath:p,cookieKey:null!=(r=null==e||null==(s=e.api)?void 0:s.cookieKey)?r:"token",token:w({config:e})}),this.db=i({user:this.user,password:this.password,host:L,port:_},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={}}var t=e.prototype;return t.publish=function(e,t){var n=this.events[e];if(n)for(var r,a=o(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];if(n){var r=n.indexOf(t);-1!==r&&n.splice(r,1),0===n.length&&delete this.events[e]}},e}()),_=function(e){L.publish(I.Tenant,e)},O=function(e){L.publish(I.User,e)},P=function(e){L.publish(I.EvictPool,e)},D=["afterCreate"],A=function(){function t(t,n){var r=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 s=v(t,"[NileInstance]"),u=s.warn,o=s.info,c=s.debug;this.id=n;var p=i({min:0,max:10,idleTimeoutMillis:3e4},t.db),h=p.afterCreate,d=l(p,D);t.db=p,this.config=t,c("Connection pool config "+JSON.stringify(this.config.db)),this.pool=function(e,t){var n=v(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,["query"].concat(t)),s.apply(this,t)}}return e[n]}})}(new e.Pool(d),this.config),"function"==typeof h&&u("Providing an pool configuration will stop automatic tenant context setting."),this.startTimeout(),this.pool.on("connect",function(){var e=a(f().mark((function e(n){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c("pool connected "+r.id),r.startTimeout(),q(t,r.id+"-"+r.timer)(n,(function(e){var n=v(t,"[after create callback]").error;e&&(clearTimeout(r.timer),n("after create failed",{message:e.message,stack:e.stack}),P(r.id))}));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),this.pool.on("error",(function(e){clearTimeout(r.timer),o("pool "+r.id+" failed",{message:e.message,stack:e.stack}),P(r.id)})),this.pool.on("release",(function(e){e&&(clearTimeout(r.timer),P(r.id),c("destroying pool "+r.id))}))}var n=t.prototype;return n.startTimeout=function(){var e,t=this,n=v(this.config,"[NileInstance]").debug;this.timer&&clearTimeout(this.timer),this.timer=setTimeout((function(){var e;n("Pool reached idleTimeoutMillis. "+t.id+" evicted after "+(null!=(e=Number(t.config.db.idleTimeoutMillis))?e:3e4)+"ms"),t.pool.end((function(){clearTimeout(t.timer),P(t.id)}))}),null!=(e=Number(this.config.db.idleTimeoutMillis))?e:3e4)},n.shutdown=function(){var e=this,t=v(this.config,"[NileInstance]").debug;t("attempting to shut down "+this.id),clearTimeout(this.timer),this.pool.end((function(){t(e.id+" has been shut down")}))},t}();function q(e,t){var n=v(e,"[afterCreate]"),r=n.error,a=n.warn,s=n.debug;return function(n,u){if(n.on("error",(function(e){r("Connection "+t+" was terminated by server",{message:e.message,stack:e.stack}),u(e,n)})),e.tenantId){var o=["SET nile.tenant_id = '"+e.tenantId+"'"];e.userId&&(e.tenantId||a("A user id cannot be set in context without a tenant id"),o.push("SET nile.user_id = '"+e.userId+"'")),n.query(o.join(";"),(function(a){a?r("query connection failed",{cause:a.cause,stack:a.stack,message:a.message,name:a.name,id:t}):(1===o.length&&s("connection context set: tenantId="+e.tenantId),2===o.length&&s("connection context set: tenantId="+e.tenantId+" userId="+e.userId)),u(a,n)}))}u(null,n)}}var B=function(){function e(e){var t=this;this.connections=void 0,this.cleared=void 0,this.poolWatcherFn=void 0,this.poolWatcher=function(e){return function(n){var r=v(e,"[DBManager]"),a=r.info,s=r.warn;if(n&&t.connections.has(n)){a("Removing "+n+" from db connection pool.");var u=t.connections.get(n);null==u||u.shutdown(),t.connections.delete(n)}else s("missed eviction of "+n)}},this.getConnection=function(e){var n=v(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 A(new U(e),r);return t.connections.set(r,s),n("created new "+r),n("# of instances: "+t.connections.size),t.cleared&&(t.cleared=!1),s.pool},this.clear=function(e){(0,v(e,"[DBManager]").info)("Clearing all connections "+t.connections.size),t.cleared=!0,t.connections.clear()},this.cleared=!1,this.connections=new Map,this.poolWatcherFn=this.poolWatcher(e),L.subscribe(I.EvictPool,this.poolWatcherFn)}return e.prototype.makeId=function(e,t){return e&&t?e+":"+t:e?""+e:"base"},e}(),C=process.env.NILEDB_API_URL;function j(e,t,n){var r=e.api.basePath||C;if(!r)throw new Error("An API url is required. Set it via NILEDB_API_URL. Was auto configuration run?");var a=new URLSearchParams(function(e){if(e)return Object.fromEntries(Object.entries(e).filter((function(e){return null!=e[1]})))}(n)).toString();return[r,t.substring(1,t.length)].join("/")+(a?"?"+a:"")}var G=function(e){return{ME:j(e,"/me"),USERS:function(t){return j(e,"/users",t)},USER:function(t){return j(e,"/users/"+t)},TENANTS:j(e,"/tenants"),TENANT:function(t){return j(e,"/tenants/"+t)},SIGNUP:j(e,"/signup"),TENANT_USERS:function(t){return j(e,"/tenants/"+t+"/users")},TENANT_USER:function(t,n){return j(e,"/tenants/"+t+"/users/"+n)},USER_TENANTS:function(t){return j(e,"/users/"+t+"/tenants")}}};function H(e,t){return new URL(e).pathname.startsWith(t)}var M=["request"];function F(e,t,n){return K.apply(this,arguments)}function K(){return K=a(f().mark((function e(t,n,r){var a,s,u,o,c,p,h,d,b,g,w,m;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=v(r,"[REQUEST]"),s=a.info,u=a.error,o=n.request,c=l(n,M),p=new URL(o.url),(h=new Headers(o.headers)).set("host",p.host),h.set("niledb-origin",p.origin),"POST"!==(d=i({},c,{headers:h})).method&&"PUT"!==d.method||(d.body=null!=(b=c.body)?b:o.body,d.duplex="half"),e.prev=8,e.next=11,fetch(t,i({},d)).catch((function(e){return u("An error has occurred in the fetch",{message:e.message,stack:e.stack}),new Response("An unexpected (most likely configuration) problem has occurred",{status:500})}));case 11:return m="function"==typeof(null==(w=e.sent)?void 0:w.clone)?null==w?void 0:w.clone():null,e.t0=s,e.t1="["+(null!=(g=d.method)?g:"GET")+"] "+t,e.t2=null==w?void 0:w.status,e.t3=null==w?void 0:w.statusText,e.next=19,null==m?void 0:m.text();case 19:return e.t4=e.sent,e.t5={status:e.t2,statusText:e.t3,text:e.t4},(0,e.t0)(e.t1,e.t5),e.abrupt("return",w);case 25:return e.prev=25,e.t6=e.catch(8),e.t6 instanceof Error&&u("An error has occurred in the fetch",{message:e.t6.message,stack:e.t6.stack}),e.abrupt("return",new Response("An unexpected (most likely configuration) problem has occurred",{status:500}));case 29:case"end":return e.stop()}}),e,null,[[8,25]])}))),K.apply(this,arguments)}function W(e,t,n){return J.apply(this,arguments)}function J(){return(J=a(f().mark((function e(t,n,r){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,F(t,n,r);case 2:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function z(e,t){return V.apply(this,arguments)}function V(){return V=a(f().mark((function e(t,n){var r;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=G(n).ME,e.t0=t.method,e.next="GET"===e.t0?4:7;break;case 4:return e.next=6,W(r,{request:t},n);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)}))),V.apply(this,arguments)}function Y(e,t){return H(t.url,e.ME)}function Q(e,t){return $.apply(this,arguments)}function $(){return($=a(f().mark((function e(t,n){var r,a,s,u,o;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=v(n,"[nileauth]"),s=r.error,(a=r.info)("checking auth"),a("using session"+(u=n.api.basePath+"/auth/session")),t.headers.delete("content-length"),e.next=7,F(u,{request:t},n);case 7:if(o=e.sent){e.next=11;break}return a("no session found"),e.abrupt("return",void 0);case 11:return a("session active"),e.prev=12,e.next=15,new Response(o.body).json();case 15:return e.abrupt("return",e.sent);case 18:return e.prev=18,e.t0=e.catch(12),s(e.t0),e.abrupt("return",void 0);case 22:case"end":return e.stop()}}),e,null,[[12,18]])})))).apply(this,arguments)}var X=function(e,t){this.response=void 0,this.response=new Response(e,t)},Z="niledb-tenant-id";function ee(e,t){var n,r=null==(n=e.get("cookie"))?void 0:n.split("; "),a={};if(r)for(var s,u=o(r);!(s=u()).done;){var i=s.value.split("="),c=i.slice(1).join("=");a[i[0]]=c}if(r)for(var l,f=o(r);!(l=f()).done;){var p=l.value.split("="),h=p.slice(1).join("=");a[p[0]]=h}return t?a[t]:null}function te(e,t){var n,r=ee(e,Z);return null!=(n=null!=r?r:null==e?void 0:e.get(Z))?n:null==t?void 0:t.tenantId}function ne(e,n){var r,a=ee(e,n.api.cookieKey);return a?t.decodeJwt(a).sub:null!=(r=null==e?void 0:e.get("niledb-user-id"))?r:n.userId}function re(e,t){var n,r=new Headers(null==t?void 0:t.headers);r.set("content-type","application/json; charset=utf-8");var a=null==(n=e.api)?void 0:n.cookieKey;if(!r.get("Authorization")){var s=ee(r,a);s?r.set("Authorization","Bearer "+s):w({config:e})&&r.set("Authorization","Bearer "+w({config:e}))}return e.secureCookies&&r.set("niledb-useSecureCookies","true"),r}function ae(e,t,n){return se.apply(this,arguments)}function se(){return(se=a(f().mark((function e(t,n,r){var a,s,u,o,c,l,p,h,d,b,g,w,m,y,E,x,k,I,S;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=v(t,"[server]"),u=s.debug,o=s.error,c=""+(null==(a=t.api)?void 0:a.basePath)+n,l=new Headers(null==r?void 0:r.headers),p=te(l,t),h=re(t,r),_(p),d=ne(l,t),O(d),!c.includes("{tenantId}")||p){e.next=10;break}return e.abrupt("return",new X("tenantId is not set for request",{status:400}));case 10:return b=c.replace("{tenantId}",encodeURIComponent(String(p))).replace("{userId}",encodeURIComponent(String(d))),u("[fetch] "+b),e.prev=12,e.next=15,fetch(b,i({},r,{headers:h})).catch((function(e){return o("[fetch][response]",{message:e.message,stack:e.stack,debug:"Is nile-auth running?"}),new Error(e)}));case 15:if(!((w=e.sent)instanceof Error)){e.next=18;break}return e.abrupt("return",new X("Failed to connect to database",{status:400}));case 18:if(!(w&&w.status>=200&&w.status<300)){e.next=40;break}if("function"!=typeof w.clone){e.next=39;break}return e.prev=20,e.t0=u,e.t1="[fetch][response]["+(null!=(m=null==r?void 0:r.method)?m:"GET")+"] "+w.status+" "+b,e.next=25,w.clone().json();case 25:e.t2=e.sent,e.t3={body:e.t2},(0,e.t0)(e.t1,e.t3),e.next=39;break;case 30:return e.prev=30,e.t4=e.catch(20),e.t5=u,e.t6="[fetch][response]["+(null!=(y=null==r?void 0:r.method)?y:"GET")+"] "+w.status+" "+b,e.next=36,w.clone().text();case 36:e.t7=e.sent,e.t8={body:e.t7},(0,e.t5)(e.t6,e.t8);case 39:return e.abrupt("return",w);case 40:if(404!==(null==w?void 0:w.status)){e.next=42;break}return e.abrupt("return",new X("Not found",{status:404}));case 42:if(401!==(null==w?void 0:w.status)){e.next=44;break}return e.abrupt("return",new X("Unauthorized",{status:401}));case 44:if(405!==(null==w?void 0:w.status)){e.next=46;break}return e.abrupt("return",new X("Method not allowed",{status:405}));case 46:return x="function"==typeof(null==w?void 0:w.clone)?w.clone():null,k="",e.prev=48,e.next=51,null==w?void 0:w.json();case 51:E=e.sent,e.next=63;break;case 54:if(e.prev=54,e.t9=e.catch(48),!x){e.next=62;break}return e.next=59,x.text();case 59:return(k=e.sent)&&o("[fetch][response][status: "+x.status+"]",{message:k}),e.abrupt("return",e.t9);case 62:k||o("[fetch][response]",{e:e.t9});case 63:if(!k){e.next=65;break}return e.abrupt("return",new X(k,{status:null==x?void 0:x.status}));case 65:if(!E||!("message"in E)){e.next=69;break}return o("[fetch][response][status: "+(null==x?void 0:x.status)+"] "+(I=E.message)),e.abrupt("return",new X(I,{status:400}));case 69:if(!E||!("errors"in E)){e.next=73;break}return o("[fetch][response] [status: "+(null==x?void 0:x.status)+"] "+(S=E.errors[0])),e.abrupt("return",new X(S,{status:400}));case 73:return o("[fetch][response][status: "+(null==x?void 0:x.status)+"] UNHANDLED ERROR",{res:E}),e.abrupt("return",new X(null,{status:null!=(g=null==w?void 0:w.status)?g:500}));case 77:return e.prev=77,e.t10=e.catch(12),e.abrupt("return",new X("an unexpected error has occurred",{status:500}));case 80:case"end":return e.stop()}}),e,null,[[12,77],[20,30],[48,54]])})))).apply(this,arguments)}function ue(e,t){return oe.apply(this,arguments)}function oe(){return(oe=a(f().mark((function e(t,n){var r,a,s,u,o;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.body=n.request.body,n.method="POST",r=new URL(n.request.url),a=r.searchParams.get("tenantId"),s=r.searchParams.get("newTenantName"),u=null!=a?a:te(n.request.headers),o=G(t).USERS({tenantId:u,newTenantName:s}),e.next=9,F(o,n,t);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ie(e,t,n){return ce.apply(this,arguments)}function ce(){return(ce=a(f().mark((function e(t,n,r){var a,s,u,o;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=new URL(n.request.url),s=a.searchParams.get("tenantId"),u=null!=s?s:te(n.request.headers)){e.next=6;break}return r("[GET] No tenant id provided."),e.abrupt("return",new Response(null,{status:404}));case 6:return o=G(t).TENANT_USERS(u),n.method="GET",e.next=10,F(o,n,t);case 10:return e.abrupt("return",e.sent);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function le(e,t,n){return fe.apply(this,arguments)}function fe(){return(fe=a(f().mark((function e(t,n,r){var a,s,u;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n){e.next=2;break}return e.abrupt("return",new Response(null,{status:401}));case 2:return r.body=r.request.body,r.method="PUT",a=new URL(r.request.url).pathname.split("/").reverse(),s=a[0],u=G(t).USER(s),e.next=8,F(u,r,t);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function pe(e,t){return he.apply(this,arguments)}function he(){return he=a(f().mark((function e(t,n){var r,a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=v(i({},n,{debug:n.debug}),"[ROUTES][USERS]"),a=r.info,e.next=3,Q(t,n);case 3:s=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,ie(n,{request:t},a);case 9:case 12:case 15:return e.abrupt("return",e.sent);case 10:return e.next=12,ue(n,{request:t});case 13:return e.next=15,le(n,s,{request:t});case 16:return e.abrupt("return",new Response("method not allowed",{status:405}));case 17:case"end":return e.stop()}}),e)}))),he.apply(this,arguments)}function de(e,t){return H(t.url,e.USERS)}function ve(e,t){return be.apply(this,arguments)}function be(){return(be=a(f().mark((function e(t,n){var r,a,s,u;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL(n.request.url),a=r.pathname.split("/").reverse(),s=a[1],u=""+G(t).TENANT_USERS(s),e.next=5,F(u,n,t);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ge(e,t,n){return we.apply(this,arguments)}function we(){return(we=a(f().mark((function e(t,n,r){var a,s,u,o;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new URL(r.request.url),s=a.pathname.split("/").reverse(),u=s[1],r.body=JSON.stringify({email:n.email}),r.method="PUT",o=G(t).TENANT_USERS(u),e.next=7,F(o,r,t);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function me(e,t){return ye.apply(this,arguments)}function ye(){return(ye=a(f().mark((function e(t,n){var r,a,s,u,o;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL(n.request.url),a=r.pathname.split("/").reverse(),s=a[0],u=a[2],n.method="DELETE",n.body=JSON.stringify({email:s}),o=""+G(t).TENANT_USER(u,s),e.next=7,F(o,n,t);case 7:return e.abrupt("return",e.sent);case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ee(e,t){return xe.apply(this,arguments)}function xe(){return(xe=a(f().mark((function e(t,n){var r,a,s,u;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=new URL(n.request.url),a=r.pathname.split("/").reverse(),s=a[1],n.method="PUT",u=""+G(t).TENANT_USERS(s),e.next=6,F(u,n,t);case 6:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var ke="TENANT_USERS";function Ie(e,t){return Se.apply(this,arguments)}function Se(){return Se=a(f().mark((function e(t,n){var r,a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=v(i({},n,{debug:n.debug}),"[ROUTES]["+ke+"]"),a=r.info,e.next=3,Q(t,n);case 3:if(s=e.sent){e.next=7;break}return a("401"),e.abrupt("return",new Response(null,{status:401}));case 7:if(new URL(t.url).pathname.split("/").reverse()[1]){e.next=12;break}return a("No tenant id found in path"),e.abrupt("return",new Response(null,{status:404}));case 12:e.t0=t.method,e.next="GET"===e.t0?15:"POST"===e.t0?18:"PUT"===e.t0?21:"DELETE"===e.t0?24:27;break;case 15:return e.next=17,ve(n,{request:t});case 17:case 20:case 23:case 26:return e.abrupt("return",e.sent);case 18:return e.next=20,ge(n,s,{request:t});case 21:return e.next=23,Ee(n,{request:t});case 24:return e.next=26,me(n,{request:t});case 27:return e.abrupt("return",new Response("method not allowed",{status:405}));case 28:case"end":return e.stop()}}),e)}))),Se.apply(this,arguments)}function Re(e,t){var n=new URL(t.url).pathname.split("/").reverse(),r=n[0],a=n[1],s=e[ke].replace("{tenantId}",n[2]).replace("{userId}",r);return"users"===r&&(s=e[ke].replace("{tenantId}",a)),H(t.url,s)}function Te(e,t,n){return Ne.apply(this,arguments)}function Ne(){return(Ne=a(f().mark((function e(t,n,r){var a;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=""+G(t).USER_TENANTS(n.id),"object"==typeof n&&"user"in n&&n.user&&(a=""+G(t).USER_TENANTS(n.user.id)),e.next=4,F(a,r,t);case 4:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ue(e,t,n){return Le.apply(this,arguments)}function Le(){return(Le=a(f().mark((function e(t,n,r){var a,s,u,o;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=new URL(n.request.url),s=a.pathname.split("/").reverse(),u=s[0]){e.next=5;break}return r("[GET] No tenant id provided."),e.abrupt("return",new Response(null,{status:404}));case 5:return n.method="GET",o=""+G(t).TENANT(u),e.next=9,F(o,n,t);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function _e(e,t){return Oe.apply(this,arguments)}function Oe(){return(Oe=a(f().mark((function e(t,n){var r,a,s,u;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=new URL(n.request.url),a=r.pathname.split("/").reverse(),s=a[0]){e.next=4;break}return e.abrupt("return",new Response(null,{status:404}));case 4:return n.method="DELETE",u=""+G(t).TENANT(s),e.next=8,F(u,n,t);case 8:return e.abrupt("return",e.sent);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Pe(e,t){return De.apply(this,arguments)}function De(){return(De=a(f().mark((function e(t,n){var r,a,s,u;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=new URL(n.request.url),a=r.pathname.split("/").reverse(),s=a[0]){e.next=4;break}return e.abrupt("return",new Response(null,{status:404}));case 4:return n.body=n.request.body,n.method="PUT",u=""+G(t).TENANT(s),e.next=9,F(u,n,t);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ae(e,t){return qe.apply(this,arguments)}function qe(){return(qe=a(f().mark((function e(t,n){var r;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.body=n.request.body,n.method="POST",r=""+G(t).TENANTS,e.next=5,F(r,n,t);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Be="TENANTS";function Ce(e,t){return je.apply(this,arguments)}function je(){return je=a(f().mark((function e(t,n){var r,a,s,u,o;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=v(i({},n,{debug:n.debug}),"[ROUTES]["+Be+"]"),a=r.info,e.next=3,Q(t,n);case 3:if(s=e.sent){e.next=7;break}return a("401"),e.abrupt("return",new Response(null,{status:401}));case 7:u=t.url.split("/").reverse(),o=u[0],e.t0=t.method,e.next="GET"===e.t0?11:"POST"===e.t0?18:"DELETE"===e.t0?21:"PUT"===e.t0?24:27;break;case 11:if(!(c=o)||!/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5|7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(c)){e.next=15;break}return e.next=14,Ue(n,{request:t},a);case 14:case 17:case 20:case 23:case 26:return e.abrupt("return",e.sent);case 15:return e.next=17,Te(n,s,{request:t});case 18:return e.next=20,Ae(n,{request:t});case 21:return e.next=23,_e(n,{request:t});case 24:return e.next=26,Pe(n,{request:t});case 27:return e.abrupt("return",new Response("method not allowed",{status:405}));case 28:case"end":return e.stop()}var c}),e)}))),je.apply(this,arguments)}function Ge(e,t){return H(t.url,e[Be])}var He=function(e){return{SIGNIN:j(e,"/auth/signin"),PROVIDERS:j(e,"/auth/providers"),SESSION:j(e,"/auth/session"),CSRF:j(e,"/auth/csrf"),CALLBACK:j(e,"/auth/callback"),SIGNOUT:j(e,"/auth/signout"),ERROR:j(e,"/auth/error"),VERIFY_REQUEST:j(e,"/auth/verify-request"),PASSWORD_RESET:j(e,"/auth/reset-password")}},Me="SIGNIN";function Fe(e,t){return Ke.apply(this,arguments)}function Ke(){return(Ke=a(f().mark((function e(t,n){var r,a,s,u,o,c;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=He(n)[Me],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(),u=s[0],r=He(n)[Me]+"/"+u),o=new URL(t.url),c=new URLSearchParams(o.search),r+=""!==c.toString()?"?"+c.toString():"",e.next=8,F(r,i({},a,{request:t}),n);case 8:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function We(e,t){return H(t.url,e[Me])}function Je(e,t){return ze.apply(this,arguments)}function ze(){return(ze=a(f().mark((function e(t,n){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",F(He(n).SESSION,{method:t.method,request:t},n));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ve(e,t){return H(t.url,e.SESSION)}function Ye(e,t){return Qe.apply(this,arguments)}function Qe(){return(Qe=a(f().mark((function e(t,n){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",F(He(n).PROVIDERS,{method:t.method,request:t},n));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function $e(e,t){return H(t.url,e.PROVIDERS)}function Xe(e,t){return Ze.apply(this,arguments)}function Ze(){return(Ze=a(f().mark((function e(t,n){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",F(He(n).CSRF,{method:t.method,request:t},n));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function et(e,t){return H(t.url,e.CSRF)}var tt="CALLBACK";function nt(e,t){return rt.apply(this,arguments)}function rt(){return(rt=a(f().mark((function e(t,n){var r,a,s,u,o,c,l,p;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=v(i({},n,{debug:n.debug}),"[ROUTES]["+tt+"]"),a=r.error,s=new URL(t.url).pathname.split("/").reverse(),u=s[0],o=new URL(t.url),c=new URLSearchParams(o.search),l=He(n)[tt]+"/"+u+(""!==c.toString()?"?"+c.toString():""),e.next=7,F(l,{request:t,method:t.method},n).catch((function(e){a("an error as occurred",e)}));case 7:if(!(null==(p=e.sent)?void 0:p.headers.get("location"))){e.next=11;break}return e.abrupt("return",new Response(null==p?void 0:p.body,{status:302,headers:null==p?void 0:p.headers}));case 11:return e.abrupt("return",new Response(null==p?void 0:p.body,{status:null==p?void 0:p.status,headers:null==p?void 0:p.headers}));case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function at(e,t){return H(t.url,e.CALLBACK)}var st="SIGNOUT";function ut(e,t){return ot.apply(this,arguments)}function ot(){return(ot=a(f().mark((function e(t,n){var r,a,s,u;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=He(n)[st],a={method:t.method},"POST"===t.method&&(a.body=t.body,s=new URL(t.url).pathname.split("/").reverse(),u=s[0],r=He(n)[st]+"/"+u),e.next=5,F(r,i({},a,{request:t}),n);case 5:return e.abrupt("return",e.sent);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function it(e,t){return H(t.url,e[st])}var ct="ERROR";function lt(e,t){return ft.apply(this,arguments)}function ft(){return(ft=a(f().mark((function e(t,n){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",F(He(n)[ct],{method:t.method,request:t},n));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function pt(e,t){return H(t.url,e[ct])}var ht="VERIFY_REQUEST";function dt(e,t){return vt.apply(this,arguments)}function vt(){return(vt=a(f().mark((function e(t,n){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",F(He(n)[ht],{method:t.method,request:t},n));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function bt(e,t){return H(t.url,e[ht])}function gt(e,t){return wt.apply(this,arguments)}function wt(){return(wt=a(f().mark((function e(t,n){var r,a,s,u;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=He(n).PASSWORD_RESET,a=new URL(t.url),(s=a.searchParams).size>0&&(r=r+"?"+s.toString()),e.next=5,F(r,{method:t.method,request:t},n);case 5:if(!(null==(u=e.sent)?void 0:u.headers.get("location"))){e.next=9;break}return e.abrupt("return",new Response(null==u?void 0:u.body,{status:302,headers:null==u?void 0:u.headers}));case 9:return e.abrupt("return",new Response(null==u?void 0:u.body,{status:null==u?void 0:u.status,headers:null==u?void 0:u.headers}));case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function mt(e,t){return H(t.url,e.PASSWORD_RESET)}function yt(e,t){return Et.apply(this,arguments)}function Et(){return(Et=a(f().mark((function e(t,n){var r;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.body=n.request.body,n.method="POST",r=""+G(t).SIGNUP,e.next=5,F(r,n,t);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function xt(e,t){return kt.apply(this,arguments)}function kt(){return kt=a(f().mark((function e(t,n){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t.method,e.next="POST"===e.t0?3:6;break;case 3:return e.next=5,yt(n,{request:t});case 5:return e.abrupt("return",e.sent);case 6:return e.abrupt("return",new Response("method not allowed",{status:405}));case 7:case"end":return e.stop()}}),e)}))),kt.apply(this,arguments)}function It(e,t){return H(t.url,e.SIGNUP)}function St(e,t){var n=function(e,t){var n=v(t,"[GET MATCHER]"),r=n.info,s=n.warn;return function(){var n=a(f().mark((function n(a){return f().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Y(e,a)){n.next=3;break}return r("matches me"),n.abrupt("return",z(a,t));case 3:if(!Re(e,a)){n.next=6;break}return r("matches tenant users"),n.abrupt("return",Ie(a,t));case 6:if(!de(e,a)){n.next=9;break}return r("matches users"),n.abrupt("return",pe(a,t));case 9:if(!Ge(e,a)){n.next=12;break}return r("matches tenants"),n.abrupt("return",Ce(a,t));case 12:if(!Ve(e,a)){n.next=15;break}return r("matches session"),n.abrupt("return",Je(a,t));case 15:if(!We(e,a)){n.next=18;break}return r("matches signin"),n.abrupt("return",Fe(a,t));case 18:if(!$e(e,a)){n.next=21;break}return r("matches providers"),n.abrupt("return",Ye(a,t));case 21:if(!et(e,a)){n.next=24;break}return r("matches csrf"),n.abrupt("return",Xe(a,t));case 24:if(!mt(e,a)){n.next=27;break}return r("matches password reset"),n.abrupt("return",gt(a,t));case 27:if(!at(e,a)){n.next=30;break}return r("matches callback"),n.abrupt("return",nt(a,t));case 30:if(!it(e,a)){n.next=33;break}return r("matches signout"),n.abrupt("return",ut(a,t));case 33:if(!bt(e,a)){n.next=36;break}return r("matches verify-request"),n.abrupt("return",dt(a,t));case 36:if(!pt(e,a)){n.next=39;break}return r("matches error"),n.abrupt("return",lt(a,t));case 39:return s("No GET routes matched"),n.abrupt("return",new Response(null,{status:404}));case 41:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}(e,t),r=function(e,t){var n=v(t,"[POST MATCHER]"),r=n.info,s=n.warn;return function(){var n=a(f().mark((function n(a){return f().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Re(e,a)){n.next=3;break}return r("matches tenant users"),n.abrupt("return",Ie(a,t));case 3:if(!It(e,a)){n.next=6;break}return r("matches signup"),n.abrupt("return",xt(a,t));case 6:if(!de(e,a)){n.next=9;break}return r("matches users"),n.abrupt("return",pe(a,t));case 9:if(!Ge(e,a)){n.next=12;break}return r("matches tenants"),n.abrupt("return",Ce(a,t));case 12:if(!Ve(e,a)){n.next=15;break}return r("matches session"),n.abrupt("return",Je(a,t));case 15:if(!We(e,a)){n.next=18;break}return r("matches signin"),n.abrupt("return",Fe(a,t));case 18:if(!mt(e,a)){n.next=21;break}return r("matches password reset"),n.abrupt("return",gt(a,t));case 21:if(!$e(e,a)){n.next=24;break}return r("matches providers"),n.abrupt("return",Ye(a,t));case 24:if(!et(e,a)){n.next=27;break}return r("matches csrf"),n.abrupt("return",Xe(a,t));case 27:if(!at(e,a)){n.next=30;break}return r("matches callback"),n.abrupt("return",nt(a,t));case 30:if(!it(e,a)){n.next=33;break}return r("matches signout"),n.abrupt("return",ut(a,t));case 33:return s("No POST routes matched"),n.abrupt("return",new Response(null,{status:404}));case 35:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}(e,t),s=function(e,t){var n=v(t,"[DELETE MATCHER]"),r=n.info,s=n.warn;return function(){var n=a(f().mark((function n(a){return f().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Re(e,a)){n.next=3;break}return r("matches tenant users"),n.abrupt("return",Ie(a,t));case 3:if(!Ge(e,a)){n.next=6;break}return r("matches tenants"),n.abrupt("return",Ce(a,t));case 6:return s("No DELETE routes matched"),n.abrupt("return",new Response(null,{status:404}));case 8:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}(e,t),u=function(e,t){var n=v(t,"[PUT MATCHER]"),r=n.info,s=n.warn;return function(){var n=a(f().mark((function n(a){return f().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Re(e,a)){n.next=3;break}return r("matches tenant users"),n.abrupt("return",Ie(a,t));case 3:if(!de(e,a)){n.next=6;break}return r("matches users"),n.abrupt("return",pe(a,t));case 6:if(!Ge(e,a)){n.next=9;break}return r("matches tenants"),n.abrupt("return",Ce(a,t));case 9:if(!mt(e,a)){n.next=12;break}return r("matches reset password"),n.abrupt("return",gt(a,t));case 12:return s("No PUT routes matched"),n.abrupt("return",new Response(null,{status:404}));case 14:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}(e,t);return{GET:n,POST:r,DELETE:s,PUT:u}}var Rt=function(e){return void 0===e&&(e="/api"),{SIGNIN:e+"/auth/signin",PROVIDERS:e+"/auth/providers",SESSION:e+"/auth/session",CSRF:e+"/auth/csrf",CALLBACK:e+"/auth/callback",SIGNOUT:e+"/auth/signout",ERROR:e+"/auth/error",VERIFY_REQUEST:e+"/auth/verify-request",PASSWORD_RESET:e+"/auth/reset-password",ME:e+"/me",USERS:e+"/users",TENANTS:e+"/tenants",TENANT_USER:e+"/tenants/{tenantId}/users/{userId}",TENANT_USERS:e+"/tenants/{tenantId}/users",SIGNUP:e+"/signup"}},Tt=function(e){function t(t){return e.call(this,t)||this}c(t,e);var n=t.prototype;return n.rawRequest=function(){var e=a(f().mark((function e(t,n,r,a){var s,u;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=i({},r,{body:a,method:t}),e.next=3,ae(this,n,s);case 3:if(!((u=e.sent)instanceof X)){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)}}(),n.request=function(){var e=a(f().mark((function e(t,n,r,a){var s,u,o,c,l,p,h,d;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=new Headers(a?null==a?void 0:a.headers:{}),r instanceof Headers?(u=r.get(Z),o=r.get("cookie"),u&&s.set(Z,u),o&&s.set("cookie",o)):r instanceof Request&&(c=new Headers(null==r?void 0:r.headers),l=c.get(Z),p=c.get("cookie"),l&&s.set(Z,l),p&&s.set("cookie",p)),h=JSON.stringify(r),"GET"!==t){e.next=7;break}h=void 0,e.next=14;break;case 7:if(!(r instanceof Request)){e.next=13;break}return e.next=10,new Response(r.body).text();case 10:h=e.sent,e.next=14;break;case 13:(r instanceof Headers||"{}"===JSON.stringify(r)||r&&"object"==typeof r&&0===Object.values(r).length)&&(h=void 0);case 14:return d=i({},a,{headers:s}),e.next=17,this.rawRequest(t,n,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)}}(),n.post=function(){var e=a(f().mark((function e(t,n,r){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.request("POST",n,t,r);case 2:if(!((a=e.sent)&&a.status>=200&&a.status<300)){e.next=13;break}return s=a.clone(),e.prev=5,e.next=8,s.json();case 8:return e.abrupt("return",e.sent);case 11:e.prev=11,e.t0=e.catch(5);case 13:return e.abrupt("return",a);case 14:case"end":return e.stop()}}),e,this,[[5,11]])})));return function(t,n,r){return e.apply(this,arguments)}}(),n.get=function(){var e=a(f().mark((function e(t,n,r){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.request("GET",n,t,r);case 2:if(!((a=e.sent)&&a.status>=200&&a.status<300)){e.next=13;break}return s=a.clone(),e.prev=5,e.next=8,s.json();case 8:return e.abrupt("return",e.sent);case 11:e.prev=11,e.t0=e.catch(5);case 13:return e.abrupt("return",a);case 14:case"end":return e.stop()}}),e,this,[[5,11]])})));return function(t,n,r){return e.apply(this,arguments)}}(),n.put=function(){var e=a(f().mark((function e(t,n,r){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.request("PUT",n,t,r);case 2:if(!((a=e.sent)&&a.status>=200&&a.status<300)){e.next=13;break}return s=a.clone(),e.prev=5,e.next=8,s.json();case 8:return e.abrupt("return",e.sent);case 11:e.prev=11,e.t0=e.catch(5);case 13:return e.abrupt("return",a);case 14:case"end":return e.stop()}}),e,this,[[5,11]])})));return function(t,n,r){return e.apply(this,arguments)}}(),n.delete=function(){var e=a(f().mark((function e(t,n,r){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.request("DELETE",n,t,r);case 2:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));return function(t,n,r){return e.apply(this,arguments)}}(),t}(U),Nt="https://us-west-2.api.dev.thenile.dev";function Ut(e,t){var n=v(e,"[server side login]"),r=n.info,s=n.error,u=n.debug,o=Rt(e.routePrefix);return function(){var e=a(f().mark((function e(n){var a,c,l,p,h,d,v,b,g,w,m,y,E,x,k,I,S,R,T,N,U,L,_,O,P,D;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(p=n.password,(l=n.email)&&p){e.next=3;break}throw new Error("Server side login requires a user email and password.");case 3:return h=new URL(""+Nt+o.PROVIDERS),d={host:h.host,"niledb-origin":Nt},r("Obtaining providers for "+l),v=new Request(h,i({method:"GET"},d)),e.next=9,t.POST(v);case 9:if(404!==(null==(b=e.sent)?void 0:b.status)){e.next=12;break}throw new Error("Unable to login, cannot find region api.");case 12:return e.prev=12,e.next=15,null==b?void 0:b.json();case 15:g=e.sent,e.next=22;break;case 18:e.prev=18,e.t0=e.catch(12),r(h,{sessionRes:b}),s(e.t0);case 22:return r("Obtaining csrf"),w=new URL(""+Nt+o.CSRF),m=new Request(w,{method:"GET",headers:new Headers(i({},d))}),e.next=27,t.POST(m);case 27:return y=e.sent,e.prev=28,e.next=31,null==y?void 0:y.json();case 31:if(e.t1=x=e.sent,null==e.t1){e.next=36;break}e.t2=x,e.next=37;break;case 36:e.t2={};case 37:E=null==(k=e.t2)?void 0:k.csrfToken,e.next=45;break;case 41:e.prev=41,e.t3=e.catch(28),r(h,{csrfRes:y}),s(e.t3,{csrfRes:y});case 45:if(I=null!=(a=g)?a:{},S=I.credentials,R=null==y?void 0:y.headers.get("set-cookie"),S){e.next=49;break}throw new Error("Unable to obtain credential provider. Aborting server side login.");case 49:if(T=new URL(S.callbackUrl),R){e.next=53;break}throw u("CSRF failed",{headers:null==y?void 0:y.headers}),new Error("Unable to authenticate REST, CSRF missing.");case 53:return r("Attempting sign in with email "+l+" "+T.href),N=JSON.stringify({email:l,password:p,csrfToken:E,callbackUrl:S.callbackUrl}),U=new Request(T,{method:"POST",headers:new Headers(i({},d,{"content-type":"application/json",cookie:R.split(",").join("; ")})),body:N}),e.next=58,t.POST(U);case 58:if(_=null==(L=e.sent)?void 0:L.headers.get("set-cookie")){e.next=62;break}throw new Error("authentication failed");case 62:if(O=null!=(c=/((__Secure-)?nile\.session-token=.+?);/.exec(_))?c:[],P=O[1]){e.next=66;break}throw s("Unable to obtain auth token",{authCookie:_}),new Error("Server login failed");case 66:return r("Server login successful",{authCookie:_,csrfCookie:R}),D=new Headers(i({},d,{cookie:[P,R].join("; ")})),e.abrupt("return",D);case 69:case"end":return e.stop()}}),e,null,[[12,18],[28,41]])})));return function(t){return e.apply(this,arguments)}}()}var Lt,_t=function(e){function t(t,n){var r;return(r=e.call(this,t)||this).headers=void 0,r.session=function(){var e=a(f().mark((function e(t,n){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new Tt(r),s=r.handleHeaders(n),e.next=4,a.get(t,r.sessionUrl,s);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)}}(),r.headers=n,r}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:"sessionUrl",get:function(){return"/auth/session"}}])}(U),Ot=function(e){function t(t,n){var r;return(r=e.call(this,t)||this).headers=void 0,r.createTenant=function(){var e=a(f().mark((function e(t,n){var a,s,u;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a="string"==typeof t?new Request(""+r.api.basePath+r.tenantsUrl,{body:JSON.stringify({name:t}),method:"POST"}):t,s=new Tt(r),u=r.handleHeaders(n),e.abrupt("return",s.post(a,r.tenantsUrl,u));case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.getTenant=function(){var e=a(f().mark((function e(t,n){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof t&&(r.tenantId=t),a=new Tt(r),s=r.handleHeaders(n),e.abrupt("return",a.get(t,r.tenantUrl,s));case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.listTenants=function(){var e=a(f().mark((function e(t,n){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new Tt(r),s=r.handleHeaders(n),e.abrupt("return",a.get(t,r.tenantListUrl,s));case 3:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.deleteTenant=function(){var e=a(f().mark((function e(t,n){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof t&&(r.tenantId=t),a=new Tt(r),s=r.handleHeaders(n),e.abrupt("return",a.delete(t,r.tenantUrl,s));case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.updateTenant=function(){var e=a(f().mark((function e(t,n){var a,s,u;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t&&"name"in t?new Request(""+r.api.basePath+r.tenantUrl,{body:JSON.stringify(t),method:"PUT"}):t,s=new Tt(r),u=r.handleHeaders(n),e.abrupt("return",s.put(a,r.tenantUrl,u));case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.headers=n,r}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}")}},{key:"tenantListUrl",get:function(){var e;return"/users/"+(null!=(e=this.userId)?e:"{userId}")+"/tenants"}}])}(U),Pt=function(e){function t(t,n){var r;return(r=e.call(this,t)||this).headers=void 0,r.createUser=function(){var e=a(f().mark((function e(t,n){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new Tt(r),s=r.handleHeaders(n),e.next=4,a.post(t,r.usersUrl,s);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)}}(),r.createTenantUser=function(){var e=a(f().mark((function e(t,n){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new Tt(r),s=r.handleHeaders(n),e.next=4,a.post(t,r.tenantUsersUrl,s);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)}}(),r.updateUser=function(){var e=a(f().mark((function e(t,n){var a,s,u;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t&&"id"in t?(a=new Request(""+r.api.basePath+r.tenantUserUrl,{body:JSON.stringify(t),method:"PUT"}),r.userId=String(t.id)):a=t,s=new Tt(r),u=r.handleHeaders(n),e.next=5,s.put(a,r.tenantUserUrl,u);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.listUsers=function(){var e=a(f().mark((function e(t,n){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new Tt(r),s=r.handleHeaders(n),e.next=4,a.get(t,r.tenantUsersUrl,s);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)}}(),r.linkUser=function(){var e=a(f().mark((function e(t,n){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new Tt(r),"string"==typeof t?r.userId=t:("id"in t&&(r.userId=t.id),"tenantId"in t&&(r.tenantId=t.tenantId)),s=r.handleHeaders(n),e.next=5,a.put(t,r.linkUsersUrl,s);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.unlinkUser=function(){var e=a(f().mark((function e(t,n){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"string"==typeof t?r.userId=t:("id"in t&&(r.userId=t.id),"tenantId"in t&&(r.tenantId=t.tenantId)),a=new Tt(r),s=r.handleHeaders(n),e.next=5,a.delete(t,r.linkUsersUrl,s);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),r.me=function(){var e=a(f().mark((function e(t,n){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new Tt(r),s=r.handleHeaders(n),e.next=4,a.get(t,r.meUrl,s);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)}}(),r.updateMe=function(){var e=a(f().mark((function e(t,n){var a,s;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=new Tt(r),s=r.handleHeaders(n),e.next=4,a.put(t,r.meUrl,s);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)}}(),r.headers=n,r}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:"linkUsersUrl",get:function(){var e,t;return"/tenants/"+(null!=(e=this.tenantId)?e:"{tenantId}")+"/users/"+(null!=(t=this.userId)?t:"{userId}")+"/link"}},{key:"tenantUserUrl",get:function(){var e,t;return"/tenants/"+(null!=(e=this.tenantId)?e:"{tenantId}")+"/users/"+(null!=(t=this.userId)?t:"{userId}")}},{key:"meUrl",get:function(){return"/me"}}])}(U),Dt=function(){function e(e){this.config=void 0,this.users=void 0,this.auth=void 0,this.tenants=void 0,this.routes=void 0,this.handlers=void 0,this.config=e,this.auth=new _t(e),this.users=new Pt(e),this.tenants=new Ot(e),this.routes=i({},Rt(null==e?void 0:e.routePrefix),null==e?void 0:e.routes),this.handlers=St(this.routes,e)}var t=e.prototype;return t.updateConfig=function(e){this.config=e,this.handlers=St(this.routes,e)},t.login=function(){var e=a(f().mark((function e(t){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ut(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 Pt(this.config,e),this.tenants=new Ot(this.config,e),this.auth=new _t(this.config,e)}}])}(),At=function(){function e(e){var t=this;this.config=void 0,this.api=void 0,this.manager=void 0,this.config=new U(e,"[initial config]"),this.api=new Dt(this.config),this.manager=new B(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 U(e),this.api.updateConfig(this.config)},t.init=function(){var e=a(f().mark((function e(t){return f().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),e.abrupt("return",this);case 5:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),t.getInstance=function(e){var t=i({},this.config,e),n=new U(t);return this.setConfig(n),this.tenantId=n.tenantId,this.userId=n.userId,n.api.token&&(this.token=n.api.token),this.databaseId=n.databaseId,this},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 qt(e){return Bt.apply(this,arguments)}function Bt(){return(Bt=a(f().mark((function e(t){return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Lt||(Lt=new At(t)),!t){e.next=5;break}return e.next=4,Lt.init(new U(t));case 4:case 7:return e.abrupt("return",e.sent);case 5:return e.next=7,Lt.init();case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}exports.LoginUserResponseTokenTypeEnum={AccessToken:"ACCESS_TOKEN",RefreshToken:"REFRESH_TOKEN",IdToken:"ID_TOKEN"},exports.Nile=qt,exports.Server=At,exports.default=qt;
|
|
2
2
|
//# sourceMappingURL=server.cjs.production.min.js.map
|