@niledatabase/server 2.4.0-alpha.0 → 2.4.0-alpha.1
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/README.md +1 -1
- package/dist/server.cjs.development.js +62 -38
- 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 +63 -39
- package/dist/server.esm.js.map +1 -1
- package/dist/utils/Config/envVars.d.ts +1 -0
- package/dist/utils/Config/index.d.ts +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ Configuration passed to `Server` takes precedence over `.env` vars.
|
|
|
55
55
|
| db | `PoolConfig` | | Configuration object for [pg.Pool](https://node-postgres.com/apis/pool). |
|
|
56
56
|
| db.host | `string` | NILEDB_HOST | Base host for DB. Defaut is `db.thenile.dev` |
|
|
57
57
|
| api | `object` | | Configuration object for API settings. |
|
|
58
|
-
| api.basePath | `string` |
|
|
58
|
+
| api.basePath | `string` | NILEDB_API_URL | Base host for API for a specific region. |
|
|
59
59
|
| api.cookieKey | `string` | | Key for API cookie. Default is `token`. |
|
|
60
60
|
| api.token | `string` | NILEDB_TOKEN | Token for API authentication. Mostly for debugging. |
|
|
61
61
|
| debug | `boolean` | | Flag for enabling debug logging. |
|
|
@@ -483,6 +483,10 @@ var getDatbaseId = function getDatbaseId(cfg) {
|
|
|
483
483
|
logger && info(logger, 'config', config.databaseId);
|
|
484
484
|
return String(config == null ? void 0 : config.databaseId);
|
|
485
485
|
}
|
|
486
|
+
if (process.env.NILEDB_POSTGRES_URL) {
|
|
487
|
+
var pgUrl = new URL(process.env.NILEDB_POSTGRES_URL);
|
|
488
|
+
return pgUrl.pathname.substring(1);
|
|
489
|
+
}
|
|
486
490
|
logger && info(logger, 'env', process.env.NILEDB_ID);
|
|
487
491
|
return process.env.NILEDB_ID;
|
|
488
492
|
};
|
|
@@ -495,7 +499,7 @@ var getUsername = function getUsername(cfg) {
|
|
|
495
499
|
logger && info(logger, 'config', config.user);
|
|
496
500
|
return String(config == null ? void 0 : config.user);
|
|
497
501
|
}
|
|
498
|
-
logger && info(logger, '
|
|
502
|
+
logger && info(logger, 'NILEDB_USER', process.env.NILEDB_USER);
|
|
499
503
|
return process.env.NILEDB_USER;
|
|
500
504
|
};
|
|
501
505
|
var getPassword = function getPassword(cfg) {
|
|
@@ -508,7 +512,7 @@ var getPassword = function getPassword(cfg) {
|
|
|
508
512
|
log && info(logger, 'config', config.password);
|
|
509
513
|
return String(config.password);
|
|
510
514
|
}
|
|
511
|
-
log && info(logger, '
|
|
515
|
+
log && info(logger, 'NILEDB_PASSWORD', process.env.NILEDB_PASSWORD);
|
|
512
516
|
return process.env.NILEDB_PASSWORD;
|
|
513
517
|
};
|
|
514
518
|
var getInfoBearer = function getInfoBearer(cfg) {
|
|
@@ -526,7 +530,7 @@ var getToken = function getToken(cfg) {
|
|
|
526
530
|
return String((_config$api3 = config.api) == null ? void 0 : _config$api3.token);
|
|
527
531
|
}
|
|
528
532
|
if (process.env.NILEDB_TOKEN) {
|
|
529
|
-
logger && info(logger, '
|
|
533
|
+
logger && info(logger, 'NILEDB_TOKEN', process.env.NILEDB_TOKEN);
|
|
530
534
|
return process.env.NILEDB_TOKEN;
|
|
531
535
|
}
|
|
532
536
|
return undefined;
|
|
@@ -541,7 +545,7 @@ var getDatabaseName = function getDatabaseName(cfg) {
|
|
|
541
545
|
return String(config.databaseName);
|
|
542
546
|
}
|
|
543
547
|
if (process.env.NILEDB_NAME) {
|
|
544
|
-
logger && info(logger, '
|
|
548
|
+
logger && info(logger, 'NILEDB_NAME', process.env.NILEDB_NAME);
|
|
545
549
|
return process.env.NILEDB_NAME;
|
|
546
550
|
}
|
|
547
551
|
return null;
|
|
@@ -556,7 +560,7 @@ var getTenantId = function getTenantId(cfg) {
|
|
|
556
560
|
return config.tenantId;
|
|
557
561
|
}
|
|
558
562
|
if (process.env.NILEDB_TENANT) {
|
|
559
|
-
logger && info(logger, '
|
|
563
|
+
logger && info(logger, 'NILEDB_TENANT', process.env.NILEDB_TENANT);
|
|
560
564
|
return process.env.NILEDB_TENANT;
|
|
561
565
|
}
|
|
562
566
|
return null;
|
|
@@ -573,24 +577,42 @@ var getBasePath = function getBasePath(cfg) {
|
|
|
573
577
|
logger && info(logger, 'config', config == null || (_config$api5 = config.api) == null ? void 0 : _config$api5.basePath);
|
|
574
578
|
return basePath;
|
|
575
579
|
}
|
|
576
|
-
if (process.env.
|
|
577
|
-
logger && info(logger, '
|
|
578
|
-
|
|
580
|
+
if (process.env.NILEDB_API_URL) {
|
|
581
|
+
logger && info(logger, 'NILEDB_API_URL', process.env.NILEDB_API_URL);
|
|
582
|
+
var apiUrl = new URL(process.env.NILEDB_API_URL);
|
|
583
|
+
return apiUrl.origin;
|
|
579
584
|
}
|
|
580
|
-
logger && info(logger, 'default',
|
|
585
|
+
logger && info(logger, 'default', 'https://api.thenile.dev');
|
|
581
586
|
return 'https://api.thenile.dev';
|
|
582
587
|
};
|
|
583
|
-
function
|
|
588
|
+
var getControlPlane = function getControlPlane(cfg) {
|
|
584
589
|
var config = cfg.config,
|
|
585
590
|
logger = cfg.logger;
|
|
586
|
-
var _Logger8 = Logger(config, '[
|
|
591
|
+
var _Logger8 = Logger(config, '[basePath]'),
|
|
587
592
|
info = _Logger8.info;
|
|
593
|
+
if (process.env.NILEDB_CONFIGURE) {
|
|
594
|
+
logger && info(logger, 'NILEDB_CONFIGURE', process.env.NILEDB_CONFIGURE);
|
|
595
|
+
return "https://" + process.env.NILEDB_CONFIGURE;
|
|
596
|
+
}
|
|
597
|
+
logger && info(logger, 'default', process.env.NILEDB_CONFIGURE);
|
|
598
|
+
return 'https://api.thenile.dev';
|
|
599
|
+
};
|
|
600
|
+
function getDbHost(cfg) {
|
|
601
|
+
var config = cfg.config,
|
|
602
|
+
logger = cfg.logger;
|
|
603
|
+
var _Logger9 = Logger(config, '[db.host]'),
|
|
604
|
+
info = _Logger9.info;
|
|
588
605
|
if (config != null && config.db && config.db.host) {
|
|
589
606
|
logger && info(logger, 'config', config == null ? void 0 : config.db.host);
|
|
590
607
|
return config.db.host;
|
|
591
608
|
}
|
|
609
|
+
if (process.env.NILEDB_POSTGRES_URL) {
|
|
610
|
+
var pgUrl = new URL(process.env.NILEDB_POSTGRES_URL);
|
|
611
|
+
logger && info(logger, 'NILEDB_POSTGRES_URL', pgUrl.host);
|
|
612
|
+
return pgUrl.host;
|
|
613
|
+
}
|
|
592
614
|
if (process.env.NILEDB_HOST) {
|
|
593
|
-
logger && info(logger, '
|
|
615
|
+
logger && info(logger, 'NILEDB_HOST', process.env.NILEDB_HOST);
|
|
594
616
|
return process.env.NILEDB_HOST;
|
|
595
617
|
}
|
|
596
618
|
logger && info(logger, 'default', 'db.thenile.dev');
|
|
@@ -600,8 +622,8 @@ function getDbPort(cfg) {
|
|
|
600
622
|
var _config$db;
|
|
601
623
|
var config = cfg.config,
|
|
602
624
|
logger = cfg.logger;
|
|
603
|
-
var
|
|
604
|
-
info =
|
|
625
|
+
var _Logger10 = Logger(config, '[db.port]'),
|
|
626
|
+
info = _Logger10.info;
|
|
605
627
|
if (config != null && (_config$db = config.db) != null && _config$db.port && config.db.port != null) {
|
|
606
628
|
var _config$db2;
|
|
607
629
|
logger && info(logger, 'config', config == null ? void 0 : config.db.port);
|
|
@@ -644,7 +666,7 @@ var ApiConfig = /*#__PURE__*/function () {
|
|
|
644
666
|
}]);
|
|
645
667
|
}();
|
|
646
668
|
var Config = /*#__PURE__*/function () {
|
|
647
|
-
function Config(_config) {
|
|
669
|
+
function Config(_config, logger) {
|
|
648
670
|
var _this = this,
|
|
649
671
|
_config$db2,
|
|
650
672
|
_config$api$cookieKey2,
|
|
@@ -661,7 +683,7 @@ var Config = /*#__PURE__*/function () {
|
|
|
661
683
|
this.configure = /*#__PURE__*/function () {
|
|
662
684
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(config) {
|
|
663
685
|
var _config$db, _config$api$cookieKey, _config$api;
|
|
664
|
-
var _Logger, info, error, envVarConfig, _ref3, host, port, dbConfig, configuredHost, configuredPort, basePath, databaseName, url, res, database, possibleError, json, message, _database, apiHost, dbHost, name, id, dburl, apiurl;
|
|
686
|
+
var _Logger, info, error, envVarConfig, _ref3, host, port, dbConfig, configuredHost, configuredPort, basePath, cp, databaseName, url, res, database, possibleError, json, message, _database, apiHost, dbHost, name, id, dburl, apiurl;
|
|
665
687
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
666
688
|
while (1) switch (_context.prev = _context.next) {
|
|
667
689
|
case 0:
|
|
@@ -680,16 +702,17 @@ var Config = /*#__PURE__*/function () {
|
|
|
680
702
|
return _context.abrupt("return", _this);
|
|
681
703
|
case 8:
|
|
682
704
|
basePath = getBasePath(envVarConfig);
|
|
705
|
+
cp = getControlPlane(envVarConfig);
|
|
683
706
|
databaseName = getDatabaseName({
|
|
684
707
|
config: config,
|
|
685
708
|
logger: 'getInfo'
|
|
686
709
|
});
|
|
687
|
-
url = new URL(
|
|
710
|
+
url = new URL(cp + "/databases/configure");
|
|
688
711
|
if (databaseName) {
|
|
689
712
|
url.searchParams.set('databaseName', databaseName);
|
|
690
713
|
}
|
|
691
714
|
info(url.href);
|
|
692
|
-
_context.next =
|
|
715
|
+
_context.next = 16;
|
|
693
716
|
return fetch(url, {
|
|
694
717
|
headers: {
|
|
695
718
|
Authorization: "Bearer " + getInfoBearer({
|
|
@@ -697,13 +720,13 @@ var Config = /*#__PURE__*/function () {
|
|
|
697
720
|
})
|
|
698
721
|
}
|
|
699
722
|
});
|
|
700
|
-
case
|
|
723
|
+
case 16:
|
|
701
724
|
res = _context.sent;
|
|
702
725
|
possibleError = res.clone();
|
|
703
|
-
_context.prev =
|
|
704
|
-
_context.next =
|
|
726
|
+
_context.prev = 18;
|
|
727
|
+
_context.next = 21;
|
|
705
728
|
return res.json();
|
|
706
|
-
case
|
|
729
|
+
case 21:
|
|
707
730
|
json = _context.sent;
|
|
708
731
|
if (res.status === 404) {
|
|
709
732
|
info('is the configured databaseName correct?');
|
|
@@ -715,34 +738,34 @@ var Config = /*#__PURE__*/function () {
|
|
|
715
738
|
} else {
|
|
716
739
|
database = json;
|
|
717
740
|
}
|
|
718
|
-
_context.next =
|
|
741
|
+
_context.next = 33;
|
|
719
742
|
break;
|
|
720
|
-
case
|
|
721
|
-
_context.prev =
|
|
722
|
-
_context.t0 = _context["catch"](
|
|
723
|
-
_context.next =
|
|
743
|
+
case 26:
|
|
744
|
+
_context.prev = 26;
|
|
745
|
+
_context.t0 = _context["catch"](18);
|
|
746
|
+
_context.next = 30;
|
|
724
747
|
return possibleError.text();
|
|
725
|
-
case
|
|
748
|
+
case 30:
|
|
726
749
|
message = _context.sent;
|
|
727
750
|
error(message);
|
|
728
751
|
database = {
|
|
729
752
|
message: message
|
|
730
753
|
};
|
|
731
|
-
case
|
|
754
|
+
case 33:
|
|
732
755
|
info('[fetched database]', database);
|
|
733
756
|
if (!('message' in database)) {
|
|
734
|
-
_context.next =
|
|
757
|
+
_context.next = 42;
|
|
735
758
|
break;
|
|
736
759
|
}
|
|
737
760
|
if (!('statusCode' in database)) {
|
|
738
|
-
_context.next =
|
|
761
|
+
_context.next = 41;
|
|
739
762
|
break;
|
|
740
763
|
}
|
|
741
764
|
error(database);
|
|
742
765
|
throw new Error('HTTP error has occured');
|
|
743
|
-
case 40:
|
|
744
|
-
throw new Error('Unable to auto-configure. Please set or remove NILEDB_API, NILEDB_NAME, and NILEDB_HOST in your .env file.');
|
|
745
766
|
case 41:
|
|
767
|
+
throw new Error('Unable to auto-configure. Please set or remove NILEDB_API, NILEDB_NAME, and NILEDB_HOST in your .env file.');
|
|
768
|
+
case 42:
|
|
746
769
|
if (typeof database === 'object') {
|
|
747
770
|
_database = database, apiHost = _database.apiHost, dbHost = _database.dbHost, name = _database.name, id = _database.id;
|
|
748
771
|
_this.databaseId = id;
|
|
@@ -752,7 +775,7 @@ var Config = /*#__PURE__*/function () {
|
|
|
752
775
|
configuredHost = dburl.host;
|
|
753
776
|
basePath = apiurl.origin;
|
|
754
777
|
}
|
|
755
|
-
case
|
|
778
|
+
case 43:
|
|
756
779
|
_this.api = new ApiConfig({
|
|
757
780
|
basePath: basePath,
|
|
758
781
|
cookieKey: (_config$api$cookieKey = config == null || (_config$api = config.api) == null ? void 0 : _config$api.cookieKey) != null ? _config$api$cookieKey : 'token',
|
|
@@ -769,18 +792,19 @@ var Config = /*#__PURE__*/function () {
|
|
|
769
792
|
}, dbConfig);
|
|
770
793
|
info('[config set]', _this);
|
|
771
794
|
return _context.abrupt("return", _this);
|
|
772
|
-
case
|
|
795
|
+
case 47:
|
|
773
796
|
case "end":
|
|
774
797
|
return _context.stop();
|
|
775
798
|
}
|
|
776
|
-
}, _callee, null, [[
|
|
799
|
+
}, _callee, null, [[18, 26]]);
|
|
777
800
|
}));
|
|
778
801
|
return function (_x) {
|
|
779
802
|
return _ref2.apply(this, arguments);
|
|
780
803
|
};
|
|
781
804
|
}();
|
|
782
805
|
var _envVarConfig = {
|
|
783
|
-
config: _config
|
|
806
|
+
config: _config,
|
|
807
|
+
logger: logger
|
|
784
808
|
};
|
|
785
809
|
this.databaseId = getDatbaseId(_envVarConfig);
|
|
786
810
|
this.user = getUsername(_envVarConfig);
|
|
@@ -2021,7 +2045,7 @@ var Server = /*#__PURE__*/function () {
|
|
|
2021
2045
|
this.api = void 0;
|
|
2022
2046
|
this.manager = void 0;
|
|
2023
2047
|
this.servers = void 0;
|
|
2024
|
-
this.config = new Config(config);
|
|
2048
|
+
this.config = new Config(config, '[initial config]');
|
|
2025
2049
|
this.servers = new Map();
|
|
2026
2050
|
this.api = _init(this.config);
|
|
2027
2051
|
this.manager = new DBManager(this.config);
|