@niledatabase/server 3.0.0-alpha.44 → 3.0.0-alpha.46

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.mjs CHANGED
@@ -126,6 +126,11 @@ var getDatabaseId = (cfg) => {
126
126
  logger && info(`${logger}[config] ${config?.databaseId}`);
127
127
  return String(config?.databaseId);
128
128
  }
129
+ const dbFromEnv = stringCheck(process.env.NILEDB_ID);
130
+ if (dbFromEnv) {
131
+ logger && info(`${logger}[NILEDB_ID] ${dbFromEnv}`);
132
+ return dbFromEnv;
133
+ }
129
134
  const dbId = stringCheck(process.env.NILEDB_API_URL);
130
135
  if (dbId) {
131
136
  try {
@@ -134,8 +139,7 @@ var getDatabaseId = (cfg) => {
134
139
  } catch (e) {
135
140
  }
136
141
  }
137
- logger && info(`${logger}[NILEDB_ID] ${String(process.env.NILEDB_ID)}`);
138
- return process.env.NILEDB_ID;
142
+ return null;
139
143
  };
140
144
  var getUsername = (cfg) => {
141
145
  const { config, logger } = cfg;
@@ -144,15 +148,22 @@ var getUsername = (cfg) => {
144
148
  logger && info(`${logger}[config] ${config.user}`);
145
149
  return String(config?.user);
146
150
  }
151
+ const user = stringCheck(process.env.NILEDB_USER);
152
+ if (user) {
153
+ logger && info(`${logger}[NILEDB_USER] ${user}`);
154
+ return user;
155
+ }
147
156
  const pg2 = stringCheck(process.env.NILEDB_POSTGRES_URL);
148
157
  if (pg2) {
149
- const url = new URL(pg2);
150
- if (url.username) {
151
- return url.username;
158
+ try {
159
+ const url = new URL(pg2);
160
+ if (url.username) {
161
+ return url.username;
162
+ }
163
+ } catch (e) {
152
164
  }
153
165
  }
154
- logger && info(`${logger}[NILEDB_USER] ${String(process.env.NILEDB_USER)}`);
155
- return process.env.NILEDB_USER;
166
+ return void 0;
156
167
  };
157
168
  var getPassword = (cfg) => {
158
169
  const { config, logger } = cfg;
@@ -162,15 +173,22 @@ var getPassword = (cfg) => {
162
173
  log && info(`${logger}[config] ${config?.password}`);
163
174
  return String(config?.password);
164
175
  }
176
+ const pass = stringCheck(process.env.NILEDB_PASSWORD);
177
+ if (pass) {
178
+ logger && info(`${logger}[NILEDB_PASSWORD] ${pass}`);
179
+ return pass;
180
+ }
165
181
  const pg2 = stringCheck(process.env.NILEDB_POSTGRES_URL);
166
182
  if (pg2) {
167
- const url = new URL(pg2);
168
- if (url.password) {
169
- return url.password;
183
+ try {
184
+ const url = new URL(pg2);
185
+ if (url.password) {
186
+ return url.password;
187
+ }
188
+ } catch (e) {
170
189
  }
171
190
  }
172
- logger && info(`${logger}[NILEDB_PASSWORD] ${String(process.env.NILEDB_PASSWORD)}`);
173
- return process.env.NILEDB_PASSWORD;
191
+ return void 0;
174
192
  };
175
193
  var getInfoBearer = (cfg) => {
176
194
  return `${getUsername(cfg)}:${getPassword(cfg)}`;
@@ -184,8 +202,8 @@ var getToken = (cfg) => {
184
202
  }
185
203
  const token = stringCheck(process.env.NILEDB_TOKEN);
186
204
  if (token) {
187
- logger && info(`${logger}[NILEDB_TOKEN] ${process.env.NILEDB_TOKEN}`);
188
- return process.env.NILEDB_TOKEN;
205
+ logger && info(`${logger}[NILEDB_TOKEN] ${token}`);
206
+ return token;
189
207
  }
190
208
  return void 0;
191
209
  };
@@ -198,8 +216,8 @@ var getDatabaseName = (cfg) => {
198
216
  }
199
217
  const name = stringCheck(process.env.NILEDB_NAME);
200
218
  if (name) {
201
- logger && info(`${logger}[NILEDB_NAME] ${process.env.NILEDB_NAME}`);
202
- return process.env.NILEDB_NAME;
219
+ logger && info(`${logger}[NILEDB_NAME] ${name}`);
220
+ return name;
203
221
  }
204
222
  if (process.env.NILEDB_POSTGRES_URL) {
205
223
  try {
@@ -271,6 +289,10 @@ function getDbHost(cfg) {
271
289
  logger && info(`${logger}[config] ${config?.db?.host}`);
272
290
  return String(config?.db?.host);
273
291
  }
292
+ if (stringCheck(process.env.NILEDB_HOST)) {
293
+ logger && info(`${logger}[NILEDB_HOST] ${process.env.NILEDB_HOST}`);
294
+ return process.env.NILEDB_HOST;
295
+ }
274
296
  const pg2 = stringCheck(process.env.NILEDB_POSTGRES_URL);
275
297
  if (pg2) {
276
298
  try {
@@ -280,10 +302,6 @@ function getDbHost(cfg) {
280
302
  } catch (e) {
281
303
  }
282
304
  }
283
- if (stringCheck(process.env.NILEDB_HOST)) {
284
- logger && info(`${logger}[NILEDB_HOST] ${process.env.NILEDB_HOST}`);
285
- return process.env.NILEDB_HOST;
286
- }
287
305
  logger && info(`${logger}[default] db.thenile.dev`);
288
306
  return "db.thenile.dev";
289
307
  }
@@ -510,10 +528,17 @@ async function request(url, _init, config) {
510
528
  updatedHeaders.set("niledb-origin", requestUrl.origin);
511
529
  const params = { ...init, headers: updatedHeaders };
512
530
  if (params.method === "POST" || params.method === "PUT") {
513
- updatedHeaders.set("content-type", "application/json");
514
- const initBody = await new Response(_init.request.clone().body).json();
515
- const requestBody = await new Response(request2.clone().body).json();
516
- params.body = JSON.stringify(initBody ?? requestBody);
531
+ try {
532
+ updatedHeaders.set("content-type", "application/json");
533
+ const initBody = await new Response(_init.request.clone().body).json();
534
+ const requestBody = await new Response(request2.clone().body).json();
535
+ params.body = JSON.stringify(initBody ?? requestBody);
536
+ } catch (e) {
537
+ updatedHeaders.set("content-type", "application/x-www-form-urlencoded");
538
+ const initBody = await new Response(_init.request.clone().body).text();
539
+ const requestBody = await new Response(request2.clone().body).text();
540
+ params.body = initBody ?? requestBody;
541
+ }
517
542
  }
518
543
  try {
519
544
  const res = await fetch(url, { ...params }).catch((e) => {
@@ -561,7 +586,11 @@ async function auth(req, config) {
561
586
  }
562
587
  info("session active");
563
588
  try {
564
- return await new Response(res.body).json();
589
+ const session = await new Response(res.body).json();
590
+ if (Object.keys(session).length === 0) {
591
+ return void 0;
592
+ }
593
+ return session;
565
594
  } catch (e) {
566
595
  error(e);
567
596
  return void 0;
@@ -1316,9 +1345,6 @@ async function route5(req, config) {
1316
1345
  headers: req.headers
1317
1346
  };
1318
1347
  if (req.method === "POST") {
1319
- if (typeof req.clone === "function") {
1320
- init.body = req.clone().body;
1321
- }
1322
1348
  const [provider] = new URL(req.url).pathname.split("/").reverse();
1323
1349
  url = `${proxyRoutes(config)[key5]}/${provider}`;
1324
1350
  }
@@ -1380,17 +1406,15 @@ function matches8(configRoutes, request2) {
1380
1406
  // src/api/routes/auth/callback.ts
1381
1407
  var key6 = "CALLBACK";
1382
1408
  async function route9(req, config) {
1383
- const { debug, error } = Logger(
1409
+ const { error } = Logger(
1384
1410
  { ...config, debug: config.debug },
1385
1411
  `[ROUTES][${key6}]`
1386
1412
  );
1387
1413
  const [provider] = new URL(req.url).pathname.split("/").reverse();
1388
- debug(provider);
1389
1414
  try {
1390
1415
  const passThroughUrl = new URL(req.url);
1391
1416
  const params = new URLSearchParams(passThroughUrl.search);
1392
1417
  const url = `${proxyRoutes(config)[key6]}/${provider}${params.toString() !== "" ? `?${params.toString()}` : ""}`;
1393
- debug("params", { params, passThroughUrl, url, req });
1394
1418
  const res = await request(
1395
1419
  url,
1396
1420
  {
@@ -1401,7 +1425,6 @@ async function route9(req, config) {
1401
1425
  ).catch((e) => {
1402
1426
  error("an error as occurred", e);
1403
1427
  });
1404
- debug("did the res come back?", { res });
1405
1428
  const location = res?.headers.get("location");
1406
1429
  if (location) {
1407
1430
  return new Response(res?.body, {
@@ -1942,10 +1965,14 @@ var Auth = class extends Config {
1942
1965
  get sessionUrl() {
1943
1966
  return "/auth/session";
1944
1967
  }
1945
- session = async (req, init) => {
1968
+ getSession = async (req, init) => {
1946
1969
  const _requester = new Requester(this);
1947
1970
  const _init = this.handleHeaders(init);
1948
- return await _requester.get(req, this.sessionUrl, _init);
1971
+ const session = await _requester.get(req, this.sessionUrl, _init);
1972
+ if (Object.keys(session).length === 0) {
1973
+ return void 0;
1974
+ }
1975
+ return session;
1949
1976
  };
1950
1977
  };
1951
1978
 
@@ -2148,6 +2175,7 @@ var Api = class {
2148
2175
  auth;
2149
2176
  tenants;
2150
2177
  routes;
2178
+ _headers;
2151
2179
  handlers;
2152
2180
  paths;
2153
2181
  constructor(config) {
@@ -2206,10 +2234,19 @@ var Api = class {
2206
2234
  this.users = new Users(this.config, headers);
2207
2235
  this.tenants = new Tenants(this.config, headers);
2208
2236
  this.auth = new Auth(this.config, headers);
2237
+ this._headers = headers;
2209
2238
  }
2210
2239
  async login(payload) {
2211
2240
  this.headers = await serverLogin(this.config, this.handlers)(payload);
2212
2241
  }
2242
+ async session(req) {
2243
+ if (req instanceof Headers) {
2244
+ return this.auth.getSession(req);
2245
+ } else if (req instanceof Request) {
2246
+ return auth(req, this.config);
2247
+ }
2248
+ return this.auth.getSession(this._headers);
2249
+ }
2213
2250
  };
2214
2251
 
2215
2252
  // src/Server.ts