@niledatabase/server 2.3.2 → 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.
@@ -479,6 +479,10 @@ var getDatbaseId = function getDatbaseId(cfg) {
479
479
  logger && info(logger, 'config', config.databaseId);
480
480
  return String(config == null ? void 0 : config.databaseId);
481
481
  }
482
+ if (process.env.NILEDB_POSTGRES_URL) {
483
+ var pgUrl = new URL(process.env.NILEDB_POSTGRES_URL);
484
+ return pgUrl.pathname.substring(1);
485
+ }
482
486
  logger && info(logger, 'env', process.env.NILEDB_ID);
483
487
  return process.env.NILEDB_ID;
484
488
  };
@@ -491,7 +495,7 @@ var getUsername = function getUsername(cfg) {
491
495
  logger && info(logger, 'config', config.user);
492
496
  return String(config == null ? void 0 : config.user);
493
497
  }
494
- logger && info(logger, '.env', process.env.NILEDB_USER);
498
+ logger && info(logger, 'NILEDB_USER', process.env.NILEDB_USER);
495
499
  return process.env.NILEDB_USER;
496
500
  };
497
501
  var getPassword = function getPassword(cfg) {
@@ -504,7 +508,7 @@ var getPassword = function getPassword(cfg) {
504
508
  log && info(logger, 'config', config.password);
505
509
  return String(config.password);
506
510
  }
507
- log && info(logger, '.env', process.env.NILEDB_PASSWORD);
511
+ log && info(logger, 'NILEDB_PASSWORD', process.env.NILEDB_PASSWORD);
508
512
  return process.env.NILEDB_PASSWORD;
509
513
  };
510
514
  var getInfoBearer = function getInfoBearer(cfg) {
@@ -522,7 +526,7 @@ var getToken = function getToken(cfg) {
522
526
  return String((_config$api3 = config.api) == null ? void 0 : _config$api3.token);
523
527
  }
524
528
  if (process.env.NILEDB_TOKEN) {
525
- logger && info(logger, '.env', process.env.NILEDB_TOKEN);
529
+ logger && info(logger, 'NILEDB_TOKEN', process.env.NILEDB_TOKEN);
526
530
  return process.env.NILEDB_TOKEN;
527
531
  }
528
532
  return undefined;
@@ -537,7 +541,7 @@ var getDatabaseName = function getDatabaseName(cfg) {
537
541
  return String(config.databaseName);
538
542
  }
539
543
  if (process.env.NILEDB_NAME) {
540
- logger && info(logger, 'config', process.env.NILEDB_NAME);
544
+ logger && info(logger, 'NILEDB_NAME', process.env.NILEDB_NAME);
541
545
  return process.env.NILEDB_NAME;
542
546
  }
543
547
  return null;
@@ -552,7 +556,7 @@ var getTenantId = function getTenantId(cfg) {
552
556
  return config.tenantId;
553
557
  }
554
558
  if (process.env.NILEDB_TENANT) {
555
- logger && info(logger, '.env', process.env.NILEDB_TENANT);
559
+ logger && info(logger, 'NILEDB_TENANT', process.env.NILEDB_TENANT);
556
560
  return process.env.NILEDB_TENANT;
557
561
  }
558
562
  return null;
@@ -569,24 +573,42 @@ var getBasePath = function getBasePath(cfg) {
569
573
  logger && info(logger, 'config', config == null || (_config$api5 = config.api) == null ? void 0 : _config$api5.basePath);
570
574
  return basePath;
571
575
  }
572
- if (process.env.NILEDB_API) {
573
- logger && info(logger, '.env', process.env.NILEDB_API);
574
- return "https://" + process.env.NILEDB_API;
576
+ if (process.env.NILEDB_API_URL) {
577
+ logger && info(logger, 'NILEDB_API_URL', process.env.NILEDB_API_URL);
578
+ var apiUrl = new URL(process.env.NILEDB_API_URL);
579
+ return apiUrl.origin;
575
580
  }
576
- logger && info(logger, 'default', process.env.NILEDB_API);
581
+ logger && info(logger, 'default', 'https://api.thenile.dev');
577
582
  return 'https://api.thenile.dev';
578
583
  };
579
- function getDbHost(cfg) {
584
+ var getControlPlane = function getControlPlane(cfg) {
580
585
  var config = cfg.config,
581
586
  logger = cfg.logger;
582
- var _Logger8 = Logger(config, '[db.host]'),
587
+ var _Logger8 = Logger(config, '[basePath]'),
583
588
  info = _Logger8.info;
589
+ if (process.env.NILEDB_CONFIGURE) {
590
+ logger && info(logger, 'NILEDB_CONFIGURE', process.env.NILEDB_CONFIGURE);
591
+ return "https://" + process.env.NILEDB_CONFIGURE;
592
+ }
593
+ logger && info(logger, 'default', process.env.NILEDB_CONFIGURE);
594
+ return 'https://api.thenile.dev';
595
+ };
596
+ function getDbHost(cfg) {
597
+ var config = cfg.config,
598
+ logger = cfg.logger;
599
+ var _Logger9 = Logger(config, '[db.host]'),
600
+ info = _Logger9.info;
584
601
  if (config != null && config.db && config.db.host) {
585
602
  logger && info(logger, 'config', config == null ? void 0 : config.db.host);
586
603
  return config.db.host;
587
604
  }
605
+ if (process.env.NILEDB_POSTGRES_URL) {
606
+ var pgUrl = new URL(process.env.NILEDB_POSTGRES_URL);
607
+ logger && info(logger, 'NILEDB_POSTGRES_URL', pgUrl.host);
608
+ return pgUrl.host;
609
+ }
588
610
  if (process.env.NILEDB_HOST) {
589
- logger && info(logger, '.env', process.env.NILEDB_HOST);
611
+ logger && info(logger, 'NILEDB_HOST', process.env.NILEDB_HOST);
590
612
  return process.env.NILEDB_HOST;
591
613
  }
592
614
  logger && info(logger, 'default', 'db.thenile.dev');
@@ -596,8 +618,8 @@ function getDbPort(cfg) {
596
618
  var _config$db;
597
619
  var config = cfg.config,
598
620
  logger = cfg.logger;
599
- var _Logger9 = Logger(config, '[db.port]'),
600
- info = _Logger9.info;
621
+ var _Logger10 = Logger(config, '[db.port]'),
622
+ info = _Logger10.info;
601
623
  if (config != null && (_config$db = config.db) != null && _config$db.port && config.db.port != null) {
602
624
  var _config$db2;
603
625
  logger && info(logger, 'config', config == null ? void 0 : config.db.port);
@@ -640,7 +662,7 @@ var ApiConfig = /*#__PURE__*/function () {
640
662
  }]);
641
663
  }();
642
664
  var Config = /*#__PURE__*/function () {
643
- function Config(_config) {
665
+ function Config(_config, logger) {
644
666
  var _this = this,
645
667
  _config$db2,
646
668
  _config$api$cookieKey2,
@@ -657,7 +679,7 @@ var Config = /*#__PURE__*/function () {
657
679
  this.configure = /*#__PURE__*/function () {
658
680
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(config) {
659
681
  var _config$db, _config$api$cookieKey, _config$api;
660
- 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;
682
+ 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;
661
683
  return _regeneratorRuntime().wrap(function _callee$(_context) {
662
684
  while (1) switch (_context.prev = _context.next) {
663
685
  case 0:
@@ -676,16 +698,17 @@ var Config = /*#__PURE__*/function () {
676
698
  return _context.abrupt("return", _this);
677
699
  case 8:
678
700
  basePath = getBasePath(envVarConfig);
701
+ cp = getControlPlane(envVarConfig);
679
702
  databaseName = getDatabaseName({
680
703
  config: config,
681
704
  logger: 'getInfo'
682
705
  });
683
- url = new URL(basePath + "/databases/configure");
706
+ url = new URL(cp + "/databases/configure");
684
707
  if (databaseName) {
685
708
  url.searchParams.set('databaseName', databaseName);
686
709
  }
687
710
  info(url.href);
688
- _context.next = 15;
711
+ _context.next = 16;
689
712
  return fetch(url, {
690
713
  headers: {
691
714
  Authorization: "Bearer " + getInfoBearer({
@@ -693,13 +716,13 @@ var Config = /*#__PURE__*/function () {
693
716
  })
694
717
  }
695
718
  });
696
- case 15:
719
+ case 16:
697
720
  res = _context.sent;
698
721
  possibleError = res.clone();
699
- _context.prev = 17;
700
- _context.next = 20;
722
+ _context.prev = 18;
723
+ _context.next = 21;
701
724
  return res.json();
702
- case 20:
725
+ case 21:
703
726
  json = _context.sent;
704
727
  if (res.status === 404) {
705
728
  info('is the configured databaseName correct?');
@@ -711,38 +734,38 @@ var Config = /*#__PURE__*/function () {
711
734
  } else {
712
735
  database = json;
713
736
  }
714
- _context.next = 32;
737
+ _context.next = 33;
715
738
  break;
716
- case 25:
717
- _context.prev = 25;
718
- _context.t0 = _context["catch"](17);
719
- _context.next = 29;
739
+ case 26:
740
+ _context.prev = 26;
741
+ _context.t0 = _context["catch"](18);
742
+ _context.next = 30;
720
743
  return possibleError.text();
721
- case 29:
744
+ case 30:
722
745
  message = _context.sent;
723
746
  error(message);
724
747
  database = {
725
748
  message: message
726
749
  };
727
- case 32:
750
+ case 33:
728
751
  info('[fetched database]', database);
729
752
  if (!(process.env.NODE_ENV !== 'TEST')) {
730
- _context.next = 42;
753
+ _context.next = 43;
731
754
  break;
732
755
  }
733
756
  if (!('message' in database)) {
734
- _context.next = 41;
757
+ _context.next = 42;
735
758
  break;
736
759
  }
737
760
  if (!('statusCode' in database)) {
738
- _context.next = 40;
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 42:
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 46:
795
+ case 47:
773
796
  case "end":
774
797
  return _context.stop();
775
798
  }
776
- }, _callee, null, [[17, 25]]);
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);