@squiz/db-lib 1.39.1-alpha.11 → 1.39.1-alpha.14

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,37 +1,37 @@
1
1
  0 verbose cli /usr/local/bin/node /usr/local/bin/npm
2
2
  1 info using npm@9.5.0
3
3
  2 info using node@v18.15.0
4
- 3 timing npm:load:whichnode Completed in 3ms
5
- 4 timing config:load:defaults Completed in 3ms
6
- 5 timing config:load:file:/usr/local/lib/node_modules/npm/npmrc Completed in 0ms
7
- 6 timing config:load:builtin Completed in 0ms
4
+ 3 timing npm:load:whichnode Completed in 1ms
5
+ 4 timing config:load:defaults Completed in 2ms
6
+ 5 timing config:load:file:/usr/local/lib/node_modules/npm/npmrc Completed in 1ms
7
+ 6 timing config:load:builtin Completed in 1ms
8
8
  7 timing config:load:cli Completed in 2ms
9
- 8 timing config:load:env Completed in 2ms
9
+ 8 timing config:load:env Completed in 1ms
10
10
  9 info found workspace root at /builds/developer-experience/cmp
11
11
  10 timing config:load:file:/builds/developer-experience/cmp/.npmrc Completed in 0ms
12
12
  11 timing config:load:project Completed in 25ms
13
13
  12 timing config:load:file:/root/.npmrc Completed in 1ms
14
14
  13 timing config:load:user Completed in 1ms
15
- 14 timing config:load:file:/usr/local/etc/npmrc Completed in 1ms
16
- 15 timing config:load:global Completed in 1ms
15
+ 14 timing config:load:file:/usr/local/etc/npmrc Completed in 0ms
16
+ 15 timing config:load:global Completed in 0ms
17
17
  16 timing config:load:setEnvs Completed in 1ms
18
- 17 timing config:load Completed in 36ms
19
- 18 timing npm:load:configload Completed in 36ms
18
+ 17 timing config:load Completed in 34ms
19
+ 18 timing npm:load:configload Completed in 34ms
20
20
  19 timing npm:load:mkdirpcache Completed in 0ms
21
- 20 timing npm:load:mkdirplogs Completed in 1ms
21
+ 20 timing npm:load:mkdirplogs Completed in 0ms
22
22
  21 verbose title npm run compile
23
23
  22 verbose argv "run" "compile" "--"
24
- 23 timing npm:load:setTitle Completed in 1ms
25
- 24 timing config:load:flatten Completed in 5ms
26
- 25 timing npm:load:display Completed in 6ms
27
- 26 verbose logfile logs-max:10 dir:/builds/developer-experience/cmp/packages/db-lib/.npm/_logs/2023-06-27T01_19_20_774Z-
28
- 27 verbose logfile /builds/developer-experience/cmp/packages/db-lib/.npm/_logs/2023-06-27T01_19_20_774Z-debug-0.log
24
+ 23 timing npm:load:setTitle Completed in 2ms
25
+ 24 timing config:load:flatten Completed in 4ms
26
+ 25 timing npm:load:display Completed in 5ms
27
+ 26 verbose logfile logs-max:10 dir:/builds/developer-experience/cmp/packages/db-lib/.npm/_logs/2023-06-27T07_36_59_846Z-
28
+ 27 verbose logfile /builds/developer-experience/cmp/packages/db-lib/.npm/_logs/2023-06-27T07_36_59_846Z-debug-0.log
29
29
  28 timing npm:load:logFile Completed in 4ms
30
30
  29 timing npm:load:timers Completed in 0ms
31
31
  30 timing npm:load:configScope Completed in 0ms
32
- 31 timing npm:load Completed in 53ms
32
+ 31 timing npm:load Completed in 47ms
33
33
  32 silly logfile done cleaning log files
34
- 33 timing command:run Completed in 3683ms
34
+ 33 timing command:run Completed in 3378ms
35
35
  34 verbose exit 0
36
- 35 timing npm Completed in 3750ms
36
+ 35 timing npm Completed in 3437ms
37
37
  36 info ok
package/lib/index.js CHANGED
@@ -49348,8 +49348,8 @@ var require_CloudflareApiKeyService = __commonJS({
49348
49348
  var UnAuthenticatedRequestError_1 = require_UnAuthenticatedRequestError();
49349
49349
  var dx_logger_lib_1 = require_lib4();
49350
49350
  var validKeys = {
49351
- keys: [],
49352
- "matrix-keys": []
49351
+ "matrix-keys": [],
49352
+ "inter-service-keys": []
49353
49353
  };
49354
49354
  var refreshInterval;
49355
49355
  var REFRESH_TIMER = 7 * 24 * 3600 * 1e3;
@@ -49364,17 +49364,28 @@ var require_CloudflareApiKeyService = __commonJS({
49364
49364
  }
49365
49365
  this.logger = logger2;
49366
49366
  }
49367
- keyIsValid(key) {
49368
- if (validKeys.keys.length == 0) {
49367
+ /**
49368
+ * @deprecated Suggest moving towards using JWT authentication.
49369
+ */
49370
+ matrixKeyIsValid(key, request) {
49371
+ var _a;
49372
+ if (validKeys["matrix-keys"].length == 0) {
49369
49373
  throw new UnAuthenticatedRequestError_1.UnAuthenticatedRequestError("No api keys to check against");
49370
49374
  }
49371
- return validKeys.keys.includes(key);
49375
+ if (validKeys["matrix-keys"].includes(key)) {
49376
+ this.logger.info("Request authenticated using legacy Matrix API key", {
49377
+ url: request.url,
49378
+ userAgent: (_a = request.headers) === null || _a === void 0 ? void 0 : _a["user-agent"]
49379
+ });
49380
+ return true;
49381
+ }
49382
+ return false;
49372
49383
  }
49373
- matrixKeyIsValid(key) {
49374
- if (validKeys["matrix-keys"].length == 0) {
49375
- throw new UnAuthenticatedRequestError_1.UnAuthenticatedRequestError("No api keys to check against");
49384
+ interServiceKeyIsValid(key) {
49385
+ if (validKeys["inter-service-keys"].length == 0) {
49386
+ throw new UnAuthenticatedRequestError_1.UnAuthenticatedRequestError("No inter service api keys to check against");
49376
49387
  }
49377
- return validKeys["matrix-keys"].includes(key);
49388
+ return validKeys["inter-service-keys"].includes(key);
49378
49389
  }
49379
49390
  async getValidApiKeys() {
49380
49391
  let secretValue;
@@ -49391,7 +49402,7 @@ var require_CloudflareApiKeyService = __commonJS({
49391
49402
  throw new Error("cloudflare api key SecretString undefined");
49392
49403
  }
49393
49404
  const secret = JSON.parse(secretValue.SecretString);
49394
- if (secret.keys) {
49405
+ if (secret["matrix-keys"] && secret["inter-service-keys"]) {
49395
49406
  return secret;
49396
49407
  }
49397
49408
  throw new Error("api keys retrieved and decoded successfully but contained no values");
@@ -49402,7 +49413,8 @@ var require_CloudflareApiKeyService = __commonJS({
49402
49413
  async refreshApiKeys() {
49403
49414
  this.logger.info("refreshing keys");
49404
49415
  validKeys = await this.getValidApiKeys();
49405
- this.logger.info(`number of valid keys found: ${validKeys.keys.length}`);
49416
+ this.logger.info(`found ${validKeys["matrix-keys"].length} valid matrix keys`);
49417
+ this.logger.info(`found ${validKeys["inter-service-keys"].length} valid inter service keys`);
49406
49418
  if (!refreshInterval) {
49407
49419
  refreshInterval = setInterval(async () => {
49408
49420
  await this.refreshApiKeys();
@@ -49410,8 +49422,8 @@ var require_CloudflareApiKeyService = __commonJS({
49410
49422
  }
49411
49423
  }
49412
49424
  // temporary method, to be removed when DXP auth is properly implemented
49413
- getMatrixKeys() {
49414
- return validKeys["matrix-keys"];
49425
+ getInterServiceKeys() {
49426
+ return validKeys["inter-service-keys"];
49415
49427
  }
49416
49428
  };
49417
49429
  exports2.CloudflareApiKeyService = CloudflareApiKeyService;
@@ -49424,16 +49436,25 @@ var require_DevelopmentApiKeyService = __commonJS({
49424
49436
  "use strict";
49425
49437
  Object.defineProperty(exports2, "__esModule", { value: true });
49426
49438
  exports2.DevelopmentApiKeyService = void 0;
49439
+ var dx_logger_lib_1 = require_lib4();
49427
49440
  var DevelopmentApiKeyService = class {
49428
- keyIsValid() {
49429
- return true;
49441
+ constructor(logger2) {
49442
+ this.logger = logger2 || (0, dx_logger_lib_1.getLogger)({ name: "DevelopmentApiKeyService" });
49430
49443
  }
49431
- matrixKeyIsValid() {
49444
+ matrixKeyIsValid(key, request) {
49445
+ var _a;
49446
+ this.logger.info("Request authenticated using legacy Matrix API key", {
49447
+ url: request.url,
49448
+ userAgent: (_a = request.headers) === null || _a === void 0 ? void 0 : _a["user-agent"]
49449
+ });
49432
49450
  return true;
49433
49451
  }
49452
+ interServiceKeyIsValid(key) {
49453
+ return Boolean(key && this.getInterServiceKeys().includes(key));
49454
+ }
49434
49455
  // temporary method, to be removed when DXP auth is properly implemented
49435
- getMatrixKeys() {
49436
- return ["matrix-api-key"];
49456
+ getInterServiceKeys() {
49457
+ return ["inter-service-api-key"];
49437
49458
  }
49438
49459
  };
49439
49460
  exports2.DevelopmentApiKeyService = DevelopmentApiKeyService;
@@ -49467,31 +49488,6 @@ var require_getApiKeyService = __commonJS({
49467
49488
  }
49468
49489
  });
49469
49490
 
49470
- // ../dx-common-lib/lib/server-utils/apiKeyMiddleware.js
49471
- var require_apiKeyMiddleware = __commonJS({
49472
- "../dx-common-lib/lib/server-utils/apiKeyMiddleware.js"(exports2) {
49473
- "use strict";
49474
- Object.defineProperty(exports2, "__esModule", { value: true });
49475
- exports2.apiKeyMiddleware = void 0;
49476
- var UnAuthenticatedRequestError_1 = require_UnAuthenticatedRequestError();
49477
- function apiKeyMiddleware(apiKeyService) {
49478
- return function(req, res, next) {
49479
- const key = req.header("x-api-key");
49480
- if (req.path == "/health") {
49481
- next();
49482
- return;
49483
- }
49484
- if (apiKeyService.keyIsValid(key) || apiKeyService.matrixKeyIsValid(key)) {
49485
- next();
49486
- return;
49487
- }
49488
- throw new UnAuthenticatedRequestError_1.UnAuthenticatedRequestError(`API KEY IS INVALID`);
49489
- };
49490
- }
49491
- exports2.apiKeyMiddleware = apiKeyMiddleware;
49492
- }
49493
- });
49494
-
49495
49491
  // ../dx-common-lib/lib/cache/applyDefaultRulesToCacheControlObject.js
49496
49492
  var require_applyDefaultRulesToCacheControlObject = __commonJS({
49497
49493
  "../dx-common-lib/lib/cache/applyDefaultRulesToCacheControlObject.js"(exports2) {
@@ -58310,7 +58306,6 @@ var require_lib6 = __commonJS({
58310
58306
  __exportStar2(require_CloudflareApiKeyService(), exports2);
58311
58307
  __exportStar2(require_DevelopmentApiKeyService(), exports2);
58312
58308
  __exportStar2(require_getApiKeyService(), exports2);
58313
- __exportStar2(require_apiKeyMiddleware(), exports2);
58314
58309
  __exportStar2(require_cache(), exports2);
58315
58310
  __exportStar2(require_formattedTextToHtmlString(), exports2);
58316
58311
  __exportStar2(require_json_order(), exports2);