@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.d.mts +10 -8
- package/dist/index.d.ts +10 -8
- package/dist/index.js +71 -34
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +71 -34
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
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
|
-
|
|
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
|
-
|
|
150
|
-
|
|
151
|
-
|
|
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
|
-
|
|
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
|
-
|
|
168
|
-
|
|
169
|
-
|
|
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
|
-
|
|
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] ${
|
|
188
|
-
return
|
|
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] ${
|
|
202
|
-
return
|
|
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
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
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
|
-
|
|
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 {
|
|
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
|
-
|
|
1968
|
+
getSession = async (req, init) => {
|
|
1946
1969
|
const _requester = new Requester(this);
|
|
1947
1970
|
const _init = this.handleHeaders(init);
|
|
1948
|
-
|
|
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
|