@niledatabase/server 3.0.0-alpha.0 → 3.0.0-alpha.2

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.
Files changed (34) hide show
  1. package/dist/api/handlers/DELETE.d.ts +1 -1
  2. package/dist/api/handlers/GET.d.ts +1 -1
  3. package/dist/api/handlers/POST.d.ts +1 -1
  4. package/dist/api/handlers/PUT.d.ts +1 -1
  5. package/dist/api/handlers/index.d.ts +4 -4
  6. package/dist/api/routes/auth/csrf.d.ts +1 -1
  7. package/dist/api/routes/auth/error.d.ts +1 -1
  8. package/dist/api/routes/auth/providers.d.ts +1 -1
  9. package/dist/api/routes/auth/session.d.ts +2 -1
  10. package/dist/api/routes/auth/signin.d.ts +1 -1
  11. package/dist/api/routes/auth/signout.d.ts +1 -1
  12. package/dist/api/routes/me/index.d.ts +1 -1
  13. package/dist/api/routes/tenants/GET.d.ts +1 -1
  14. package/dist/api/routes/tenants/POST.d.ts +1 -1
  15. package/dist/api/routes/tenants/[tenantId]/DELETE.d.ts +1 -1
  16. package/dist/api/routes/tenants/[tenantId]/users/GET.d.ts +1 -1
  17. package/dist/api/routes/tenants/[tenantId]/users/POST.d.ts +1 -1
  18. package/dist/api/routes/tenants/[tenantId]/users/PUT.d.ts +1 -1
  19. package/dist/api/routes/tenants/[tenantId]/users/[userId]/DELETE.d.ts +1 -1
  20. package/dist/api/routes/tenants/[tenantId]/users/index.d.ts +1 -1
  21. package/dist/api/routes/tenants/index.d.ts +1 -1
  22. package/dist/api/routes/users/GET.d.ts +2 -2
  23. package/dist/api/routes/users/POST.d.ts +1 -1
  24. package/dist/api/routes/users/[userId]/PUT.d.ts +1 -1
  25. package/dist/api/routes/users/index.d.ts +1 -1
  26. package/dist/api/utils/auth.d.ts +8 -0
  27. package/dist/api/utils/request.d.ts +2 -1
  28. package/dist/server.cjs.development.js +68 -41
  29. package/dist/server.cjs.development.js.map +1 -1
  30. package/dist/server.cjs.production.min.js +1 -1
  31. package/dist/server.cjs.production.min.js.map +1 -1
  32. package/dist/server.esm.js +68 -41
  33. package/dist/server.esm.js.map +1 -1
  34. package/package.json +2 -2
@@ -1,3 +1,3 @@
1
1
  import { Routes } from '../types';
2
2
  import { Config } from '../../utils/Config';
3
- export default function DELETER(configRoutes: Routes, config: Config): (req: Request) => Promise<void | Response>;
3
+ export default function DELETER(configRoutes: Routes, config: Config): (req: Request) => Promise<Response>;
@@ -1,3 +1,3 @@
1
1
  import { Routes } from '../types';
2
2
  import { Config } from '../../utils/Config';
3
- export default function GETTER(configRoutes: Routes, config: Config): (req: Request) => Promise<void | Response>;
3
+ export default function GETTER(configRoutes: Routes, config: Config): (req: Request) => Promise<Response>;
@@ -1,3 +1,3 @@
1
1
  import { Routes } from '../types';
2
2
  import { Config } from '../../utils/Config';
3
- export default function POSTER(configRoutes: Routes, config: Config): (req: Request) => Promise<void | Response>;
3
+ export default function POSTER(configRoutes: Routes, config: Config): (req: Request) => Promise<Response>;
@@ -1,3 +1,3 @@
1
1
  import { Routes } from '../types';
2
2
  import { Config } from '../../utils/Config';
3
- export default function PUTER(configRoutes: Routes, config: Config): (req: Request) => Promise<void | Response>;
3
+ export default function PUTER(configRoutes: Routes, config: Config): (req: Request) => Promise<Response>;
@@ -1,8 +1,8 @@
1
1
  import { Config } from '../../utils/Config';
2
2
  import { Routes } from '../types';
3
3
  export default function Handlers(configRoutes: Routes, config: Config): {
4
- GET: (req: Request) => Promise<void | Response>;
5
- POST: (req: Request) => Promise<void | Response>;
6
- DELETE: (req: Request) => Promise<void | Response>;
7
- PUT: (req: Request) => Promise<void | Response>;
4
+ GET: (req: Request) => Promise<Response>;
5
+ POST: (req: Request) => Promise<Response>;
6
+ DELETE: (req: Request) => Promise<Response>;
7
+ PUT: (req: Request) => Promise<Response>;
8
8
  };
@@ -1,3 +1,3 @@
1
1
  import { Routes } from '../../types';
2
- export default function route(req: Request): Promise<void | Response>;
2
+ export default function route(req: Request): Promise<Response>;
3
3
  export declare function matches(configRoutes: Routes, request: Request): boolean;
@@ -1,3 +1,3 @@
1
1
  import { Routes } from '../../types';
2
- export default function route(req: Request): Promise<void | Response>;
2
+ export default function route(req: Request): Promise<Response>;
3
3
  export declare function matches(configRoutes: Routes, request: Request): boolean;
@@ -1,3 +1,3 @@
1
1
  import { Routes } from '../../types';
2
- export default function route(req: Request): Promise<void | Response>;
2
+ export default function route(req: Request): Promise<Response>;
3
3
  export declare function matches(configRoutes: Routes, request: Request): boolean;
@@ -1,3 +1,4 @@
1
1
  import { Routes } from '../../types';
2
- export default function route(req: Request): Promise<void | Response>;
2
+ import { Config } from '../../../utils/Config';
3
+ export default function route(req: Request, config: Config): Promise<Response>;
3
4
  export declare function matches(configRoutes: Routes, request: Request): boolean;
@@ -29,5 +29,5 @@
29
29
  * content: {}
30
30
  */
31
31
  import { Routes } from '../../types';
32
- export default function route(request: Request): Promise<void | Response>;
32
+ export default function route(req: Request): Promise<Response>;
33
33
  export declare function matches(configRoutes: Routes, request: Request): boolean;
@@ -1,3 +1,3 @@
1
1
  import { Routes } from '../../types';
2
- export default function route(request: Request): Promise<void | Response>;
2
+ export default function route(request: Request): Promise<Response>;
3
3
  export declare function matches(configRoutes: Routes, request: Request): boolean;
@@ -1,4 +1,4 @@
1
1
  import { Routes } from '../../types';
2
2
  import { Config } from '../../../utils/Config';
3
- export default function route(request: Request, config: Config): Promise<void | Response>;
3
+ export default function route(request: Request, config: Config): Promise<Response>;
4
4
  export declare function matches(configRoutes: Routes, request: Request): boolean;
@@ -29,4 +29,4 @@ import { ActiveSession } from '../../utils/auth';
29
29
  */
30
30
  export declare function GET(session: ActiveSession, init: RequestInit & {
31
31
  request: Request;
32
- }, log: (...args: string[]) => void): Promise<void | Response>;
32
+ }, log: (...args: string[]) => void): Promise<Response>;
@@ -42,4 +42,4 @@ import { ActiveSession } from '../../utils/auth';
42
42
  */
43
43
  export declare function POST(session: ActiveSession, init: RequestInit & {
44
44
  request: Request;
45
- }, log: (...args: string[]) => void): Promise<void | Response>;
45
+ }, log: (...args: string[]) => void): Promise<Response>;
@@ -31,4 +31,4 @@ import { ActiveSession } from '../../../utils/auth';
31
31
  */
32
32
  export declare function DELETE(session: ActiveSession, init: RequestInit & {
33
33
  request: Request;
34
- }, log: (...args: string[]) => void): Promise<void | Response>;
34
+ }, log: (...args: string[]) => void): Promise<Response>;
@@ -32,4 +32,4 @@ import { ActiveSession } from '../../../../utils/auth';
32
32
  */
33
33
  export declare function GET(session: ActiveSession, init: RequestInit & {
34
34
  request: Request;
35
- }, log: (...args: string[]) => void): Promise<void | Response>;
35
+ }, log: (...args: string[]) => void): Promise<Response>;
@@ -41,4 +41,4 @@ import { ActiveSession } from '../../../../utils/auth';
41
41
  */
42
42
  export declare function POST(session: ActiveSession, init: RequestInit & {
43
43
  request: Request;
44
- }, log: (...args: string[]) => void): Promise<void | Response>;
44
+ }, log: (...args: string[]) => void): Promise<Response>;
@@ -27,4 +27,4 @@ import { ActiveSession } from '../../../../utils/auth';
27
27
  */
28
28
  export declare function PUT(session: ActiveSession, init: RequestInit & {
29
29
  request: Request;
30
- }, log: (...args: string[]) => void): Promise<void | Response>;
30
+ }, log: (...args: string[]) => void): Promise<Response>;
@@ -27,4 +27,4 @@ import { ActiveSession } from '../../../../../utils/auth';
27
27
  */
28
28
  export declare function DELETE(session: ActiveSession, init: RequestInit & {
29
29
  request: Request;
30
- }, log: (...args: string[]) => void): Promise<void | Response>;
30
+ }, log: (...args: string[]) => void): Promise<Response>;
@@ -1,4 +1,4 @@
1
1
  import { Config } from '../../../../../utils/Config';
2
2
  import { Routes } from '../../../../types';
3
- export default function route(request: Request, config: Config): Promise<void | Response>;
3
+ export default function route(request: Request, config: Config): Promise<Response>;
4
4
  export declare function matches(configRoutes: Routes, request: Request): boolean;
@@ -1,4 +1,4 @@
1
1
  import { Config } from '../../../utils/Config';
2
2
  import { Routes } from '../../types';
3
- export default function route(request: Request, config: Config): Promise<void | Response>;
3
+ export default function route(request: Request, config: Config): Promise<Response>;
4
4
  export declare function matches(configRoutes: Routes, request: Request): boolean;
@@ -6,7 +6,7 @@
6
6
  * - users
7
7
  * summary: lists users in the tenant
8
8
  * description: Returns information about the users within the tenant
9
- * provided. You can also pass the a `niledb-tenantId` in the header or in a cookie.
9
+ * provided. You can also pass the a `niledb-tenant-id` in the header or in a cookie.
10
10
  * operationId: listUsers
11
11
  * parameters:
12
12
  * - name: tenantId
@@ -31,4 +31,4 @@
31
31
  */
32
32
  export declare function GET(init: RequestInit & {
33
33
  request: Request;
34
- }, log: (...args: string[]) => void): Promise<void | Response>;
34
+ }, log: (...args: string[]) => void): Promise<Response>;
@@ -63,4 +63,4 @@ import { ActiveSession } from '../../utils/auth';
63
63
  */
64
64
  export declare function POST(session: void | ActiveSession, init: RequestInit & {
65
65
  request: Request;
66
- }, log?: (...args: string[]) => void): Promise<void | Response>;
66
+ }, log?: (...args: string[]) => void): Promise<Response>;
@@ -37,4 +37,4 @@ import { ActiveSession } from '../../../utils/auth';
37
37
  */
38
38
  export declare function PUT(session: void | ActiveSession, init: RequestInit & {
39
39
  request: Request;
40
- }, log: (...args: string[]) => void): Promise<void | Response>;
40
+ }, log: (...args: string[]) => void): Promise<Response>;
@@ -1,4 +1,4 @@
1
1
  import { Routes } from '../../types';
2
2
  import { Config } from '../../../utils/Config';
3
- export default function route(request: Request, config: Config): Promise<void | Response>;
3
+ export default function route(request: Request, config: Config): Promise<Response>;
4
4
  export declare function matches(configRoutes: Routes, request: Request): boolean;
@@ -2,5 +2,13 @@ import { Config } from '../../utils/Config';
2
2
  export type ActiveSession = {
3
3
  id: string;
4
4
  email: string;
5
+ expires: Date;
6
+ user?: {
7
+ id: string;
8
+ name: string;
9
+ image: string;
10
+ email: string;
11
+ emailVerified: void | Date;
12
+ };
5
13
  };
6
14
  export default function auth(req: Request, config: Config): Promise<void | ActiveSession>;
@@ -1,3 +1,4 @@
1
+ import { Config } from '../../utils/Config';
1
2
  export default function request(url: string, _init: RequestInit & {
2
3
  request: Request;
3
- }): Promise<void | Response>;
4
+ }, config?: Config): Promise<Response>;
@@ -2103,40 +2103,56 @@ function urlMatches(requestUrl, route) {
2103
2103
  }
2104
2104
 
2105
2105
  var _excluded = ["request"];
2106
- // const { log } = console;
2107
- function request(_x, _x2) {
2106
+ var _console$1 = console,
2107
+ log$1 = _console$1.log;
2108
+ function request(_x, _x2, _x3) {
2108
2109
  return _request.apply(this, arguments);
2109
2110
  }
2110
2111
  function _request() {
2111
- _request = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(url, _init) {
2112
- var request, init, requestUrl, updatedHeaders, params, _init$body, res;
2112
+ _request = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(url, _init, config) {
2113
+ var _params$method;
2114
+ var _Logger, info, error, request, init, requestUrl, updatedHeaders, params, _init$body, res, loggingRes;
2113
2115
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2114
2116
  while (1) switch (_context.prev = _context.next) {
2115
2117
  case 0:
2118
+ _Logger = Logger(_extends({}, config, {
2119
+ debug: config == null ? void 0 : config.debug
2120
+ }), '[REQUEST]', "[" + url + "]"), info = _Logger.info, error = _Logger.error;
2116
2121
  request = _init.request, init = _objectWithoutPropertiesLoose(_init, _excluded);
2117
2122
  requestUrl = new URL(request.url);
2118
- updatedHeaders = new Headers(request.headers); // updatedHeaders.delete('content-length');
2119
- // updatedHeaders.delete('transfer-encoding');
2123
+ updatedHeaders = new Headers(request.headers);
2124
+ updatedHeaders.set('host', requestUrl.host);
2120
2125
  updatedHeaders.set('niledb-origin', requestUrl.origin);
2121
2126
  updatedHeaders.set('niledb-creds', Buffer.from(process.env.NILEDB_USER + ":" + process.env.NILEDB_PASSWORD).toString('base64'));
2122
2127
  params = _extends({}, init, {
2123
2128
  headers: updatedHeaders
2124
2129
  });
2125
2130
  if (params.method === 'POST' || params.method === 'PUT') {
2126
- updatedHeaders.set('content-type', 'text/plain;charset=UTF-8');
2127
2131
  params.body = (_init$body = init.body) != null ? _init$body : request.body;
2128
2132
  // @ts-expect-error - its there
2129
2133
  params.duplex = 'half';
2130
2134
  }
2131
- // log(`[${params.method ?? 'GET'}]`, url);
2132
- _context.next = 9;
2133
- return fetch(url, _extends({}, params))["catch"](function () {
2134
- // log('An error has occurred in the fetch', e);
2135
+ log$1("[" + ((_params$method = params.method) != null ? _params$method : 'GET') + "]", url);
2136
+ _context.next = 12;
2137
+ return fetch(url, _extends({}, params))["catch"](function (e) {
2138
+ error('An error has occurred in the fetch', e);
2139
+ return new Response('An unexpected (most likely configuration) problem has occurred', {
2140
+ status: 500
2141
+ });
2135
2142
  });
2136
- case 9:
2143
+ case 12:
2137
2144
  res = _context.sent;
2145
+ loggingRes = typeof (res == null ? void 0 : res.clone) === 'function' ? res == null ? void 0 : res.clone() : null;
2146
+ _context.t0 = info;
2147
+ _context.t1 = res == null ? void 0 : res.status;
2148
+ _context.t2 = res == null ? void 0 : res.statusText;
2149
+ _context.next = 19;
2150
+ return loggingRes == null ? void 0 : loggingRes.text();
2151
+ case 19:
2152
+ _context.t3 = _context.sent;
2153
+ (0, _context.t0)('[Response]', _context.t1, _context.t2, _context.t3);
2138
2154
  return _context.abrupt("return", res);
2139
- case 11:
2155
+ case 22:
2140
2156
  case "end":
2141
2157
  return _context.stop();
2142
2158
  }
@@ -2180,15 +2196,17 @@ function GET$3(_x, _x2) {
2180
2196
  }
2181
2197
  function _GET$3() {
2182
2198
  _GET$3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(init, log) {
2199
+ var res;
2183
2200
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2184
2201
  while (1) switch (_context.prev = _context.next) {
2185
2202
  case 0:
2186
- log('[GET]');
2203
+ log('[GET]', url);
2187
2204
  _context.next = 3;
2188
2205
  return request(url, init);
2189
2206
  case 3:
2190
- return _context.abrupt("return", _context.sent);
2191
- case 4:
2207
+ res = _context.sent;
2208
+ return _context.abrupt("return", res);
2209
+ case 5:
2192
2210
  case "end":
2193
2211
  return _context.stop();
2194
2212
  }
@@ -2244,30 +2262,32 @@ function _auth() {
2244
2262
  while (1) switch (_context.prev = _context.next) {
2245
2263
  case 0:
2246
2264
  _Logger = Logger(_extends({}, config, {
2247
- debug: true
2265
+ debug: config.debug
2248
2266
  }), '[nileauth]'), info = _Logger.info;
2249
2267
  info('checking auth');
2250
2268
  sessionUrl = config.api.basePath + "/auth/session";
2251
2269
  info('using session', sessionUrl);
2252
- _context.next = 6;
2270
+ // handle the pass through with posts
2271
+ req.headers["delete"]('content-length');
2272
+ _context.next = 7;
2253
2273
  return request(sessionUrl, {
2254
2274
  request: req
2255
2275
  });
2256
- case 6:
2276
+ case 7:
2257
2277
  res = _context.sent;
2258
2278
  if (res) {
2259
- _context.next = 10;
2279
+ _context.next = 11;
2260
2280
  break;
2261
2281
  }
2262
2282
  info('no session found');
2263
2283
  return _context.abrupt("return", undefined);
2264
- case 10:
2284
+ case 11:
2265
2285
  info('session active');
2266
- _context.next = 13;
2286
+ _context.next = 14;
2267
2287
  return new Response(res.body).json();
2268
- case 13:
2269
- return _context.abrupt("return", _context.sent);
2270
2288
  case 14:
2289
+ return _context.abrupt("return", _context.sent);
2290
+ case 15:
2271
2291
  case "end":
2272
2292
  return _context.stop();
2273
2293
  }
@@ -2383,7 +2403,7 @@ function _POST$2() {
2383
2403
  * - users
2384
2404
  * summary: lists users in the tenant
2385
2405
  * description: Returns information about the users within the tenant
2386
- * provided. You can also pass the a `niledb-tenantId` in the header or in a cookie.
2406
+ * provided. You can also pass the a `niledb-tenant-id` in the header or in a cookie.
2387
2407
  * operationId: listUsers
2388
2408
  * parameters:
2389
2409
  * - name: tenantId
@@ -2945,17 +2965,21 @@ function GET(_x, _x2, _x3) {
2945
2965
  }
2946
2966
  function _GET() {
2947
2967
  _GET = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(session, init, log) {
2948
- var url;
2968
+ var url, res;
2949
2969
  return _regeneratorRuntime().wrap(function _callee$(_context) {
2950
2970
  while (1) switch (_context.prev = _context.next) {
2951
2971
  case 0:
2952
2972
  url = "" + apiRoutes.USER_TENANTS(session.id);
2973
+ if (typeof session === 'object' && 'user' in session && session.user) {
2974
+ url = "" + apiRoutes.USER_TENANTS(session.user.id);
2975
+ }
2953
2976
  log('[GET]', url);
2954
- _context.next = 4;
2977
+ _context.next = 5;
2955
2978
  return request(url, init);
2956
- case 4:
2957
- return _context.abrupt("return", _context.sent);
2958
2979
  case 5:
2980
+ res = _context.sent;
2981
+ return _context.abrupt("return", res);
2982
+ case 7:
2959
2983
  case "end":
2960
2984
  return _context.stop();
2961
2985
  }
@@ -3177,26 +3201,29 @@ function route$6(_x) {
3177
3201
  return _route$6.apply(this, arguments);
3178
3202
  }
3179
3203
  function _route$6() {
3180
- _route$6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(request$1) {
3204
+ _route$6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(req) {
3181
3205
  var url, init, _URL$pathname$split$r, provider, passThroughUrl, params, res;
3182
3206
  return _regeneratorRuntime().wrap(function _callee$(_context) {
3183
3207
  while (1) switch (_context.prev = _context.next) {
3184
3208
  case 0:
3185
3209
  url = proxyRoutes[key$2];
3186
3210
  init = {
3187
- method: request$1.method
3211
+ method: req.method,
3212
+ headers: req.headers
3188
3213
  };
3189
- if (request$1.method === 'POST') {
3190
- init.body = request$1.body;
3191
- _URL$pathname$split$r = new URL(request$1.url).pathname.split('/').reverse(), provider = _URL$pathname$split$r[0];
3214
+ if (req.method === 'POST') {
3215
+ if (typeof req.clone === 'function') {
3216
+ init.body = req.clone().body;
3217
+ }
3218
+ _URL$pathname$split$r = new URL(req.url).pathname.split('/').reverse(), provider = _URL$pathname$split$r[0];
3192
3219
  url = proxyRoutes[key$2] + "/" + provider;
3193
3220
  }
3194
- passThroughUrl = new URL(request$1.url);
3221
+ passThroughUrl = new URL(req.url);
3195
3222
  params = new URLSearchParams(passThroughUrl.search);
3196
3223
  url = "" + url + (params.toString() !== '' ? "?" + params.toString() : '');
3197
3224
  _context.next = 8;
3198
3225
  return request(url, _extends({}, init, {
3199
- request: request$1
3226
+ request: req
3200
3227
  }));
3201
3228
  case 8:
3202
3229
  res = _context.sent;
@@ -3213,18 +3240,18 @@ function matches$6(configRoutes, request) {
3213
3240
  return urlMatches(request.url, configRoutes[key$2]);
3214
3241
  }
3215
3242
 
3216
- function route$5(_x) {
3243
+ function route$5(_x, _x2) {
3217
3244
  return _route$5.apply(this, arguments);
3218
3245
  }
3219
3246
  function _route$5() {
3220
- _route$5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(req) {
3247
+ _route$5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(req, config) {
3221
3248
  return _regeneratorRuntime().wrap(function _callee$(_context) {
3222
3249
  while (1) switch (_context.prev = _context.next) {
3223
3250
  case 0:
3224
3251
  return _context.abrupt("return", request(proxyRoutes.SESSION, {
3225
3252
  method: req.method,
3226
3253
  request: req
3227
- }));
3254
+ }, config));
3228
3255
  case 1:
3229
3256
  case "end":
3230
3257
  return _context.stop();
@@ -3434,7 +3461,7 @@ function GETTER(configRoutes, config) {
3434
3461
  _context.next = 10;
3435
3462
  break;
3436
3463
  }
3437
- return _context.abrupt("return", route$5(req));
3464
+ return _context.abrupt("return", route$5(req, config));
3438
3465
  case 10:
3439
3466
  if (!matches$6(configRoutes, req)) {
3440
3467
  _context.next = 12;
@@ -3516,7 +3543,7 @@ function POSTER(configRoutes, config) {
3516
3543
  _context.next = 8;
3517
3544
  break;
3518
3545
  }
3519
- return _context.abrupt("return", route$5(req));
3546
+ return _context.abrupt("return", route$5(req, config));
3520
3547
  case 8:
3521
3548
  if (!matches$6(configRoutes, req)) {
3522
3549
  _context.next = 10;