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