@cryptexlabs/codex-nodejs-common 0.7.1 → 0.7.3

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/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptexlabs/codex-nodejs-common",
3
- "version": "0.7.1",
3
+ "version": "0.7.3",
4
4
  "description": "Common code for Assistant applications",
5
5
  "main": "lib/src/index.js",
6
6
  "repository": "git@gitlab.com:cryptexlabs/public/codex-nodejs-common.git",
@@ -12,12 +12,12 @@
12
12
  "Josh Woodcock <josh.woodcock@cryptexlabs.com>"
13
13
  ],
14
14
  "peerDependencies": {
15
- "@cryptexlabs/codex-data-model": "0.1.5"
15
+ "@cryptexlabs/codex-data-model": "0.1.6",
16
+ "@nestjs/common": "8.0.6",
17
+ "@nestjs/core": "8.0.6"
16
18
  },
17
19
  "dependencies": {
18
20
  "@elastic/elasticsearch": "8.2.1",
19
- "@nestjs/common": "8.0.6",
20
- "@nestjs/core": "8.0.6",
21
21
  "@nestjs/elasticsearch": "8.1.0",
22
22
  "@nestjs/platform-socket.io": "8.0.6",
23
23
  "@nestjs/platform-ws": "8.0.6",
@@ -1,6 +1,6 @@
1
1
  /// <reference types="i18n" />
2
2
  import { LoggerService } from "@nestjs/common";
3
- import { ClientInterface, LocaleInterface, MessageContextInterface, MessageMetaInterface } from "@cryptexlabs/codex-data-model";
3
+ import { ApiMetaHeadersInterface, ClientInterface, LocaleInterface, MessageContextInterface, MessageMetaInterface } from "@cryptexlabs/codex-data-model";
4
4
  import { DefaultConfig } from "../config";
5
5
  import { Context } from "./context";
6
6
  export declare class ContextBuilder {
@@ -15,8 +15,8 @@ export declare class ContextBuilder {
15
15
  constructor(logger: LoggerService, config: DefaultConfig, client: ClientInterface, messageContext: MessageContextInterface, i18nApi?: i18nAPI);
16
16
  build(): ContextBuilder;
17
17
  setI18nApi(i18nApi: i18nAPI): this;
18
- setMetaFromHeaders(headers: Record<string, string>): this;
19
- setMetaFromHeadersForNewMessage(headers: Record<string, string>): this;
18
+ setMetaFromHeaders(headers: ApiMetaHeadersInterface): this;
19
+ setMetaFromHeadersForNewMessage(headers: ApiMetaHeadersInterface): this;
20
20
  setMeta(meta: MessageMetaInterface): this;
21
21
  setCorrelationId(correlationId: string): ContextBuilder;
22
22
  setLocale(locale: LocaleInterface): this;
@@ -1 +1 @@
1
- {"version":3,"file":"context.builder.js","sourceRoot":"","sources":["../../../src/context/context.builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.builder.js","sourceRoot":"","sources":["../../../src/context/context.builder.ts"],"names":[],"mappings":"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"}
@@ -106,7 +106,7 @@ let ApiHeadersValidationMiddleware = class ApiHeadersValidationMiddleware {
106
106
  .getResult();
107
107
  for (const headerName of Object.keys(requiredHeaders)) {
108
108
  const validator = requiredHeaders[headerName];
109
- const header = req[headerName];
109
+ const header = req.headers[headerName];
110
110
  validator(validationContext, header);
111
111
  }
112
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-headers-validation.middleware.js","sourceRoot":"","sources":["../../../src/middleware/api-headers-validation.middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-headers-validation.middleware.js","sourceRoot":"","sources":["../../../src/middleware/api-headers-validation.middleware.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Locale } from "@cryptexlabs/codex-data-model";
1
+ import { ApiMetaHeadersInterface, Locale } from "@cryptexlabs/codex-data-model";
2
2
  import { Context } from "../context";
3
3
  export declare class LocaleUtil {
4
4
  static getLocaleFromAcceptLanguageHeader(context: Context, langCode: string): Locale;
5
- static getLocaleFromHeaders(headers: Record<string, string>, context: Context): Locale;
5
+ static getLocaleFromHeaders(headers: ApiMetaHeadersInterface, context: Context): Locale;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"locale.util.js","sourceRoot":"","sources":["../../../src/util/locale.util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locale.util.js","sourceRoot":"","sources":["../../../src/util/locale.util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptexlabs/codex-nodejs-common",
3
- "version": "0.7.1",
3
+ "version": "0.7.3",
4
4
  "description": "Common code for Assistant applications",
5
5
  "main": "lib/src/index.js",
6
6
  "repository": "git@gitlab.com:cryptexlabs/public/codex-nodejs-common.git",
@@ -12,12 +12,12 @@
12
12
  "Josh Woodcock <josh.woodcock@cryptexlabs.com>"
13
13
  ],
14
14
  "peerDependencies": {
15
- "@cryptexlabs/codex-data-model": "0.1.5"
15
+ "@cryptexlabs/codex-data-model": "0.1.6",
16
+ "@nestjs/common": "8.0.6",
17
+ "@nestjs/core": "8.0.6"
16
18
  },
17
19
  "dependencies": {
18
20
  "@elastic/elasticsearch": "8.2.1",
19
- "@nestjs/common": "8.0.6",
20
- "@nestjs/core": "8.0.6",
21
21
  "@nestjs/elasticsearch": "8.1.0",
22
22
  "@nestjs/platform-socket.io": "8.0.6",
23
23
  "@nestjs/platform-ws": "8.0.6",
@@ -1,5 +1,6 @@
1
1
  import { Injectable, LoggerService } from "@nestjs/common";
2
2
  import {
3
+ ApiMetaHeadersInterface,
3
4
  ClientInterface,
4
5
  Locale,
5
6
  LocaleI18nInterface,
@@ -41,7 +42,7 @@ export class ContextBuilder {
41
42
  return this;
42
43
  }
43
44
 
44
- public setMetaFromHeaders(headers: Record<string, string>) {
45
+ public setMetaFromHeaders(headers: ApiMetaHeadersInterface) {
45
46
  this.setMetaFromHeadersForNewMessage(headers);
46
47
  if (headers["x-client-version"]) {
47
48
  this.client.version = headers["x-client-version"];
@@ -59,7 +60,7 @@ export class ContextBuilder {
59
60
  return this;
60
61
  }
61
62
 
62
- public setMetaFromHeadersForNewMessage(headers: Record<string, string>) {
63
+ public setMetaFromHeadersForNewMessage(headers: ApiMetaHeadersInterface) {
63
64
  this.setCorrelationId(headers["x-correlation-id"]);
64
65
  this.setLocale(LocaleUtil.getLocaleFromHeaders(headers, this.getResult()));
65
66
  this.setStarted(headers["x-started"]);
@@ -187,7 +187,7 @@ export class ApiHeadersValidationMiddleware implements NestMiddleware {
187
187
 
188
188
  for (const headerName of Object.keys(requiredHeaders)) {
189
189
  const validator = requiredHeaders[headerName];
190
- const header = req[headerName];
190
+ const header = req.headers[headerName];
191
191
  validator(validationContext, header);
192
192
  }
193
193
  }
@@ -1,20 +1,24 @@
1
1
  import { LocaleUtil } from "./locale.util";
2
2
  import { HttpException } from "@nestjs/common";
3
3
  import { FriendlyHttpException } from "../exception";
4
+ import {
5
+ ApiMetaHeadersInterface,
6
+ CountryLanguageCombination,
7
+ } from "@cryptexlabs/codex-data-model";
4
8
 
5
9
  describe("LocaleUtil", () => {
6
10
  describe("getLocaleFromHeaders", () => {
7
11
  it("Should throw error when no accept language header is specified", () => {
8
12
  expect(() => {
9
- LocaleUtil.getLocaleFromHeaders({}, null);
13
+ LocaleUtil.getLocaleFromHeaders({} as ApiMetaHeadersInterface, null);
10
14
  }).toThrow(HttpException);
11
15
  });
12
16
 
13
17
  it("Should parse a normal header", () => {
14
18
  const locale = LocaleUtil.getLocaleFromHeaders(
15
19
  {
16
- "Accept-Language": "en-US",
17
- },
20
+ "accept-language": "en-US",
21
+ } as ApiMetaHeadersInterface,
18
22
  null
19
23
  );
20
24
  expect(locale.language).toBe("en");
@@ -25,7 +29,7 @@ describe("LocaleUtil", () => {
25
29
  const locale = LocaleUtil.getLocaleFromHeaders(
26
30
  {
27
31
  "accept-language": "en-US",
28
- },
32
+ } as ApiMetaHeadersInterface,
29
33
  null
30
34
  );
31
35
  expect(locale.language).toBe("en");
@@ -35,8 +39,8 @@ describe("LocaleUtil", () => {
35
39
  it("Should parse a double language", () => {
36
40
  const locale = LocaleUtil.getLocaleFromHeaders(
37
41
  {
38
- "accept-language": "en-US,us",
39
- },
42
+ "accept-language": "en-US,us" as CountryLanguageCombination,
43
+ } as ApiMetaHeadersInterface,
40
44
  null
41
45
  );
42
46
  expect(locale.language).toBe("en");
@@ -46,8 +50,8 @@ describe("LocaleUtil", () => {
46
50
  it("Should parse an uppercase language code in header", () => {
47
51
  const locale = LocaleUtil.getLocaleFromHeaders(
48
52
  {
49
- "accept-language": "EN-US",
50
- },
53
+ "accept-language": "EN-US" as CountryLanguageCombination,
54
+ } as ApiMetaHeadersInterface,
51
55
  null
52
56
  );
53
57
  expect(locale.language).toBe("en");
@@ -57,8 +61,8 @@ describe("LocaleUtil", () => {
57
61
  it("Should parse a lowercase country code in header", () => {
58
62
  const locale = LocaleUtil.getLocaleFromHeaders(
59
63
  {
60
- "accept-language": "en-us",
61
- },
64
+ "accept-language": "en-us" as CountryLanguageCombination,
65
+ } as ApiMetaHeadersInterface,
62
66
  null
63
67
  );
64
68
  expect(locale.language).toBe("en");
@@ -68,8 +72,8 @@ describe("LocaleUtil", () => {
68
72
  it("Should parse an accept language in the format: 'US,EN;Q=0.9'", () => {
69
73
  const locale = LocaleUtil.getLocaleFromHeaders(
70
74
  {
71
- "accept-language": "US,EN;Q=0.9",
72
- },
75
+ "accept-language": "US,EN;Q=0.9" as CountryLanguageCombination,
76
+ } as ApiMetaHeadersInterface,
73
77
  null
74
78
  );
75
79
  expect(locale.language).toBe("en");
@@ -79,8 +83,8 @@ describe("LocaleUtil", () => {
79
83
  it("Should parse an accept language in the format: 'en-US,en;q=0.9'", () => {
80
84
  const locale = LocaleUtil.getLocaleFromHeaders(
81
85
  {
82
- "accept-language": " en-US,en;q=0.9",
83
- },
86
+ "accept-language": " en-US,en;q=0.9" as CountryLanguageCombination,
87
+ } as ApiMetaHeadersInterface,
84
88
  null
85
89
  );
86
90
  expect(locale.language).toBe("en");
@@ -90,7 +94,9 @@ describe("LocaleUtil", () => {
90
94
  it("Should throw an error for an invalid country code", () => {
91
95
  expect(() => {
92
96
  LocaleUtil.getLocaleFromHeaders(
93
- { "accept-language": "asldkafsdj-*" },
97
+ {
98
+ "accept-language": "asldkafsdj-*" as CountryLanguageCombination,
99
+ } as ApiMetaHeadersInterface,
94
100
  null
95
101
  );
96
102
  }).toThrow(FriendlyHttpException);
@@ -1,4 +1,5 @@
1
1
  import {
2
+ ApiMetaHeadersInterface,
2
3
  CountryCode,
3
4
  LanguageCode,
4
5
  Locale,
@@ -80,7 +81,7 @@ export class LocaleUtil {
80
81
  }
81
82
 
82
83
  public static getLocaleFromHeaders(
83
- headers: Record<string, string>,
84
+ headers: ApiMetaHeadersInterface,
84
85
  context: Context
85
86
  ) {
86
87
  const langCode = headers["accept-language"] || headers["Accept-Language"];