@niledatabase/server 4.2.0-alpha.2 → 4.2.0-alpha.4

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/index.d.mts CHANGED
@@ -315,9 +315,18 @@ declare class Api {
315
315
  response: void | Response;
316
316
  nile: Server;
317
317
  }>;
318
- POST: (req: Request) => Promise<void | Response>;
319
- DELETE: (req: Request) => Promise<void | Response>;
320
- PUT: (req: Request) => Promise<void | Response>;
318
+ POST: (req: Request) => Promise<{
319
+ response: void | Response;
320
+ nile: Server;
321
+ }>;
322
+ DELETE: (req: Request) => Promise<{
323
+ response: void | Response;
324
+ nile: Server;
325
+ }>;
326
+ PUT: (req: Request) => Promise<{
327
+ response: void | Response;
328
+ nile: Server;
329
+ }>;
321
330
  };
322
331
  paths: {
323
332
  get: string[];
@@ -329,6 +338,9 @@ declare class Api {
329
338
  reset: () => void;
330
339
  updateConfig: (config: Config) => void;
331
340
  resetHeaders: (headers?: Headers) => void;
341
+ /**
342
+ * Merge headers together
343
+ */
332
344
  set headers(headers: Headers | Record<string, string>);
333
345
  get headers(): Headers | undefined;
334
346
  getCookie(req?: Request | Headers): string | null | undefined;
@@ -339,7 +351,7 @@ declare class Api {
339
351
  returnResponse?: boolean;
340
352
  }) => Promise<Response | undefined>;
341
353
  session: (req?: Request | Headers | null | undefined) => Promise<Response | JWT | ActiveSession | null | undefined>;
342
- setContext: (req: Request | Headers | Record<string, string>) => void;
354
+ setContext: (req: Request | Headers | Record<string, string> | unknown) => void;
343
355
  }
344
356
 
345
357
  declare class Server {
package/dist/index.d.ts CHANGED
@@ -315,9 +315,18 @@ declare class Api {
315
315
  response: void | Response;
316
316
  nile: Server;
317
317
  }>;
318
- POST: (req: Request) => Promise<void | Response>;
319
- DELETE: (req: Request) => Promise<void | Response>;
320
- PUT: (req: Request) => Promise<void | Response>;
318
+ POST: (req: Request) => Promise<{
319
+ response: void | Response;
320
+ nile: Server;
321
+ }>;
322
+ DELETE: (req: Request) => Promise<{
323
+ response: void | Response;
324
+ nile: Server;
325
+ }>;
326
+ PUT: (req: Request) => Promise<{
327
+ response: void | Response;
328
+ nile: Server;
329
+ }>;
321
330
  };
322
331
  paths: {
323
332
  get: string[];
@@ -329,6 +338,9 @@ declare class Api {
329
338
  reset: () => void;
330
339
  updateConfig: (config: Config) => void;
331
340
  resetHeaders: (headers?: Headers) => void;
341
+ /**
342
+ * Merge headers together
343
+ */
332
344
  set headers(headers: Headers | Record<string, string>);
333
345
  get headers(): Headers | undefined;
334
346
  getCookie(req?: Request | Headers): string | null | undefined;
@@ -339,7 +351,7 @@ declare class Api {
339
351
  returnResponse?: boolean;
340
352
  }) => Promise<Response | undefined>;
341
353
  session: (req?: Request | Headers | null | undefined) => Promise<Response | JWT | ActiveSession | null | undefined>;
342
- setContext: (req: Request | Headers | Record<string, string>) => void;
354
+ setContext: (req: Request | Headers | Record<string, string> | unknown) => void;
343
355
  }
344
356
 
345
357
  declare class Server {
package/dist/index.js CHANGED
@@ -2438,24 +2438,38 @@ function handlersWithContext(configRoutes, config) {
2438
2438
  const updatedConfig = updateConfig(response, config);
2439
2439
  return { response, nile: new Server(updatedConfig) };
2440
2440
  },
2441
- POST: POST5,
2442
- DELETE: DELETE3,
2443
- PUT: PUT4
2441
+ POST: async (req) => {
2442
+ const response = await POST5(req);
2443
+ const updatedConfig = updateConfig(response, config);
2444
+ return { response, nile: new Server(updatedConfig) };
2445
+ },
2446
+ DELETE: async (req) => {
2447
+ const response = await DELETE3(req);
2448
+ const updatedConfig = updateConfig(response, config);
2449
+ return { response, nile: new Server(updatedConfig) };
2450
+ },
2451
+ PUT: async (req) => {
2452
+ const response = await PUT4(req);
2453
+ const updatedConfig = updateConfig(response, config);
2454
+ return { response, nile: new Server(updatedConfig) };
2455
+ }
2444
2456
  };
2445
2457
  }
2446
2458
  function updateConfig(response, config) {
2447
2459
  let origin = "http://localhost:3000";
2448
2460
  let headers = null;
2449
- if (response.status === 302) {
2461
+ if (response?.status === 302) {
2450
2462
  const location = response.headers.get("location");
2451
2463
  if (location) {
2452
2464
  origin = location;
2453
2465
  }
2454
2466
  }
2455
2467
  const setCookies = [];
2456
- for (const [key12, value] of response.headers) {
2457
- if (key12.toLowerCase() === "set-cookie") {
2458
- setCookies.push(value);
2468
+ if (response?.headers) {
2469
+ for (const [key12, value] of response.headers) {
2470
+ if (key12.toLowerCase() === "set-cookie") {
2471
+ setCookies.push(value);
2472
+ }
2459
2473
  }
2460
2474
  }
2461
2475
  if (setCookies.length > 0) {
@@ -2552,6 +2566,9 @@ var Api = class {
2552
2566
  this.#headers = new Headers(headers ?? {});
2553
2567
  this.reset();
2554
2568
  };
2569
+ /**
2570
+ * Merge headers together
2571
+ */
2555
2572
  set headers(headers) {
2556
2573
  const updates = [];
2557
2574
  if (headers instanceof Headers) {
@@ -2565,7 +2582,9 @@ var Api = class {
2565
2582
  }
2566
2583
  const merged = {};
2567
2584
  this.#headers?.forEach((value, key12) => {
2568
- merged[key12.toLowerCase()] = value;
2585
+ if (key12.toLowerCase() !== "cookie") {
2586
+ merged[key12.toLowerCase()] = value;
2587
+ }
2569
2588
  });
2570
2589
  for (const [key12, value] of updates) {
2571
2590
  merged[key12] = value;
@@ -2592,8 +2611,18 @@ var Api = class {
2592
2611
  this.config,
2593
2612
  this.handlers
2594
2613
  )(payload);
2595
- this.headers = headers;
2596
2614
  this.setContext(headers);
2615
+ try {
2616
+ const res = await loginRes.json();
2617
+ if (res.id) {
2618
+ this.config.userId = res.id;
2619
+ }
2620
+ } catch (e) {
2621
+ const { warn } = Logger(this.config, "[API][login]");
2622
+ if (warn) {
2623
+ warn("Unable to set user id from login attempt.");
2624
+ }
2625
+ }
2597
2626
  if (config?.returnResponse) {
2598
2627
  return loginRes;
2599
2628
  }
@@ -2608,23 +2637,26 @@ var Api = class {
2608
2637
  return this.auth.getSession(this.#headers);
2609
2638
  };
2610
2639
  setContext = (req) => {
2611
- if (req instanceof Headers) {
2612
- this.headers = req;
2613
- return;
2614
- } else if (req instanceof Request) {
2615
- this.headers = new Headers(req.headers);
2616
- return;
2617
- }
2618
- const headers = new Headers(req);
2619
- if (headers) {
2620
- this.headers = headers;
2621
- } else {
2622
- const { warn } = Logger(this.config, "[API]");
2623
- if (warn) {
2624
- warn(
2625
- "Set context expects a Request, Header instance or an object of Record<string, string>"
2626
- );
2640
+ try {
2641
+ if (req instanceof Headers) {
2642
+ this.headers = req;
2643
+ return;
2644
+ } else if (req instanceof Request) {
2645
+ this.headers = new Headers(req.headers);
2646
+ return;
2627
2647
  }
2648
+ const headers = new Headers(req);
2649
+ if (headers) {
2650
+ this.headers = headers;
2651
+ return;
2652
+ }
2653
+ } catch {
2654
+ }
2655
+ const { warn } = Logger(this.config, "[API]");
2656
+ if (warn) {
2657
+ warn(
2658
+ "Set context expects a Request, Header instance or an object of Record<string, string>"
2659
+ );
2628
2660
  }
2629
2661
  };
2630
2662
  };