@axinom/mosaic-service-common 0.11.0-rc.6 → 0.11.0
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/CHANGELOG.md +10 -0
- package/dist/common/config/basic-config-definitions.d.ts +2 -2
- package/dist/common/config/basic-config-definitions.d.ts.map +1 -1
- package/dist/common/config/basic-config-definitions.js +13 -10
- package/dist/common/config/basic-config-definitions.js.map +1 -1
- package/dist/common/config/config-validation.d.ts +2 -2
- package/dist/common/config/config-validation.js +2 -2
- package/dist/common/config/env-var-extensions.d.ts +12 -0
- package/dist/common/config/env-var-extensions.d.ts.map +1 -1
- package/dist/common/config/env-var-extensions.js +29 -2
- package/dist/common/config/env-var-extensions.js.map +1 -1
- package/dist/common/helpers/test.helpers.d.ts +2 -0
- package/dist/common/helpers/test.helpers.d.ts.map +1 -1
- package/dist/common/helpers/test.helpers.js +13 -3
- package/dist/common/helpers/test.helpers.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,16 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.11.0](https://dev.azure.com/axinom/CMS/_git/Navy/branchCompare?baseVersion=GT@axinom/mosaic-service-common@0.10.0&targetVersion=GT@axinom/mosaic-service-common@0.11.0) (2022-01-19)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* db identifiers are now validated more strictly ([71a9bf3](https://dev.azure.com/axinom/CMS/_git/Navy/commit/71a9bf3f121b0c65732dbbe12e6ec1706a6085a9)), closes [#33914](https://dev.azure.com/axinom/CMS/_workitems/edit/33914)
|
|
12
|
+
* jwt masking in context of defaultMaskMiddleware improved to also mask payload part ([c2864f7](https://dev.azure.com/axinom/CMS/_git/Navy/commit/c2864f74f69a0fb9102e6ee70ab321e4555cc7d3)), closes [#33491](https://dev.azure.com/axinom/CMS/_workitems/edit/33491)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
6
16
|
## [0.10.0](https://dev.azure.com/axinom/CMS/_git/Navy/branchCompare?baseVersion=GT@axinom/mosaic-service-common@0.9.0&targetVersion=GT@axinom/mosaic-service-common@0.10.0) (2021-12-09)
|
|
7
17
|
|
|
8
18
|
|
|
@@ -6,7 +6,7 @@ import { Dict } from '../types';
|
|
|
6
6
|
* @param variables process.env variables or custom provided values
|
|
7
7
|
*/
|
|
8
8
|
export declare const getBasicConfigDefinitions: (variables?: Dict<string | undefined>, logger?: LoggerFn | undefined) => {
|
|
9
|
-
environment: () => "
|
|
9
|
+
environment: () => "development" | "production" | "test";
|
|
10
10
|
serviceId: () => string;
|
|
11
11
|
logLevel: () => "" | "FATAL" | "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE";
|
|
12
12
|
secureLoggingMode: () => MaskMode;
|
|
@@ -89,7 +89,7 @@ export declare const getBasicManagedConfigDefinitions: (variables?: Dict<string
|
|
|
89
89
|
*/
|
|
90
90
|
export declare const getValidatedBasicConfig: (variables?: Dict<string | undefined>) => BasicConfig;
|
|
91
91
|
declare const config: import("./config-validation").ValueObject<{
|
|
92
|
-
environment: () => "
|
|
92
|
+
environment: () => "development" | "production" | "test";
|
|
93
93
|
serviceId: () => string;
|
|
94
94
|
logLevel: () => "" | "FATAL" | "ERROR" | "WARN" | "INFO" | "DEBUG" | "TRACE";
|
|
95
95
|
secureLoggingMode: () => MaskMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-config-definitions.d.ts","sourceRoot":"","sources":["../../../src/common/config/basic-config-definitions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGzC,OAAO,EAAuB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAQhC;;;GAGG;AACH,eAAO,MAAM,yBAAyB,eACzB,KAAK,MAAM,GAAG,SAAS,CAAC;;;;;;;;
|
|
1
|
+
{"version":3,"file":"basic-config-definitions.d.ts","sourceRoot":"","sources":["../../../src/common/config/basic-config-definitions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAQ,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGzC,OAAO,EAAuB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAQhC;;;GAGG;AACH,eAAO,MAAM,yBAAyB,eACzB,KAAK,MAAM,GAAG,SAAS,CAAC;;;;;;;;CA+BpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gCAAgC,gBAC9B,MAAM,cACR,KAAK,MAAM,GAAG,SAAS,CAAC;;;CASpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,eAC3B,KAAK,MAAM,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;CA8CpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iCAAiC,eACjC,KAAK,MAAM,GAAG,SAAS,CAAC;;;;;;;;;;;;CAsBpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qCAAqC,eACrC,KAAK,MAAM,GAAG,SAAS,CAAC;;;;;;CAcpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gCAAgC,eAChC,KAAK,MAAM,GAAG,SAAS,CAAC;;;;;;;CAgCpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,eACvB,KAAK,MAAM,GAAG,SAAS,CAAC,KAClC,WAEF,CAAC;AAEF,QAAA,MAAM,MAAM;;;;;;;;EAA6C,CAAC;AAC1D;;GAEG;AACH,oBAAY,WAAW,GAAG,OAAO,MAAM,CAAC;AAExC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAmCrC,CAAC"}
|
|
@@ -16,7 +16,10 @@ const env_var_extensions_1 = require("./env-var-extensions");
|
|
|
16
16
|
const getBasicConfigDefinitions = (variables = process.env, logger) => {
|
|
17
17
|
const env = env_var_1.from(variables, { asLogLevel: env_var_extensions_1.asLogLevel }, logger);
|
|
18
18
|
return {
|
|
19
|
-
environment: () => env
|
|
19
|
+
environment: () => env
|
|
20
|
+
.get('NODE_ENV')
|
|
21
|
+
.required()
|
|
22
|
+
.asEnum(['development', 'production', 'test']),
|
|
20
23
|
serviceId: () => env.get('SERVICE_ID').required().asString(),
|
|
21
24
|
logLevel: () => env.get('LOG_LEVEL').default('INFO').asLogLevel(),
|
|
22
25
|
secureLoggingMode: () => env
|
|
@@ -29,10 +32,10 @@ const getBasicConfigDefinitions = (variables = process.env, logger) => {
|
|
|
29
32
|
]),
|
|
30
33
|
logMaskKeywords: () => env.get('LOG_MASK_KEYWORDS').default(logging_1.defaultMaskKeywords).asArray(),
|
|
31
34
|
isDev: function () {
|
|
32
|
-
return this.environment() === '
|
|
35
|
+
return this.environment() === 'development';
|
|
33
36
|
},
|
|
34
37
|
isProd: function () {
|
|
35
|
-
return this.environment() === '
|
|
38
|
+
return this.environment() === 'production';
|
|
36
39
|
},
|
|
37
40
|
};
|
|
38
41
|
};
|
|
@@ -54,7 +57,7 @@ exports.getBasicGraphQlConfigDefinitions = getBasicGraphQlConfigDefinitions;
|
|
|
54
57
|
* @param variables process.env variables or custom provided values
|
|
55
58
|
*/
|
|
56
59
|
const getBasicDbConfigDefinitions = (variables = process.env, logger) => {
|
|
57
|
-
const env = env_var_1.from(variables,
|
|
60
|
+
const env = env_var_1.from(variables, { asDbIdentifier: env_var_extensions_1.asDbIdentifier }, logger);
|
|
58
61
|
return {
|
|
59
62
|
pgHost: () => env.get('POSTGRESQL_HOST').required().asString(),
|
|
60
63
|
pgPort: () => env.get('POSTGRESQL_PORT').default(5432).asPortNumber(),
|
|
@@ -70,14 +73,14 @@ const getBasicDbConfigDefinitions = (variables = process.env, logger) => {
|
|
|
70
73
|
'verify-ca',
|
|
71
74
|
'verify-full',
|
|
72
75
|
]),
|
|
73
|
-
pgRoot: () => env.get('POSTGRESQL_ROOT').required().
|
|
76
|
+
pgRoot: () => env.get('POSTGRESQL_ROOT').required().asDbIdentifier(),
|
|
74
77
|
pgRootPassword: () => env.get('POSTGRESQL_ROOT_PASSWORD').required().asString(),
|
|
75
78
|
dbName: () => env.get('DATABASE_NAME').required().asString(),
|
|
76
|
-
dbOwner: () => env.get('DATABASE_OWNER').required().
|
|
79
|
+
dbOwner: () => env.get('DATABASE_OWNER').required().asDbIdentifier(),
|
|
77
80
|
dbOwnerPassword: () => env.get('DATABASE_OWNER_PASSWORD').required().asString(),
|
|
78
|
-
dbLogin: () => env.get('DATABASE_LOGIN').required().
|
|
81
|
+
dbLogin: () => env.get('DATABASE_LOGIN').required().asDbIdentifier(),
|
|
79
82
|
dbLoginPassword: () => env.get('DATABASE_LOGIN_PASSWORD').required().asString(),
|
|
80
|
-
dbGqlRole: () => env.get('DATABASE_GQL_ROLE').required().
|
|
83
|
+
dbGqlRole: () => env.get('DATABASE_GQL_ROLE').required().asDbIdentifier(),
|
|
81
84
|
pgRootConnectionString: function () {
|
|
82
85
|
return helpers_1.encodeUri `postgres://${this.pgRoot()}${this.pgUserSuffix()}:${this.pgRootPassword()}@${this.pgHost()}:${this.pgPort()}/template1`;
|
|
83
86
|
},
|
|
@@ -136,12 +139,12 @@ exports.getBasicCustomizableConfigDefinitions = getBasicCustomizableConfigDefini
|
|
|
136
139
|
* @param variables process.env variables or custom provided values
|
|
137
140
|
*/
|
|
138
141
|
const getBasicManagedConfigDefinitions = (variables = process.env, logger) => {
|
|
139
|
-
const env = env_var_1.from(variables,
|
|
142
|
+
const env = env_var_1.from(variables, { asDbIdentifier: env_var_extensions_1.asDbIdentifier }, logger);
|
|
140
143
|
return {
|
|
141
144
|
idServiceAuthEndpointUrl: () => env.get('ID_SERVICE_AUTH_ENDPOINT_URL').required().asUrlString(),
|
|
142
145
|
managedServiceAccountClientId: () => env.get('MANAGED_SERVICE_CLIENT_ID').required().asString(),
|
|
143
146
|
managedServiceAccountClientSecret: () => env.get('MANAGED_SERVICE_CLIENT_SECRET').required().asString(),
|
|
144
|
-
dbEnvOwner: () => env.get('DATABASE_ENV_OWNER').required().
|
|
147
|
+
dbEnvOwner: () => env.get('DATABASE_ENV_OWNER').required().asDbIdentifier(),
|
|
145
148
|
dbEnvOwnerPassword: () => env.get('DATABASE_ENV_OWNER_PASSWORD').required().asString(),
|
|
146
149
|
dbEnvOwnerConnectionString: function () {
|
|
147
150
|
const { validationErrors, values: dbDefs } = config_validation_1.getConfig(exports.getBasicDbConfigDefinitions(variables));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-config-definitions.js","sourceRoot":"","sources":["../../../src/common/config/basic-config-definitions.ts"],"names":[],"mappings":";;;AAAA,qEAAqE;AACrE,sEAAsE;AACtE,qCAAyC;AACzC,2BAAyB;AACzB,wCAAuC;AACvC,wCAA2D;AAE3D,2DAI6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"basic-config-definitions.js","sourceRoot":"","sources":["../../../src/common/config/basic-config-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@ export declare function getValidatedConfig<T extends {
|
|
|
31
31
|
* const env = from(variables);
|
|
32
32
|
*
|
|
33
33
|
* return {
|
|
34
|
-
* environment: () => env.get('NODE_ENV').required().asEnum(['
|
|
34
|
+
* environment: () => env.get('NODE_ENV').required().asEnum(['development', 'production', 'test']),
|
|
35
35
|
* serviceId: () => env.get('SERVICE_ID').required().asString(),
|
|
36
36
|
* port: () => env.get('PORT').default(10100).asPortNumber(),
|
|
37
37
|
* // many more...
|
|
@@ -61,7 +61,7 @@ export declare function getConfig<T extends {
|
|
|
61
61
|
* const env = from(variables);
|
|
62
62
|
*
|
|
63
63
|
* return {
|
|
64
|
-
* environment: () => env.get('NODE_ENV').required().asEnum(['
|
|
64
|
+
* environment: () => env.get('NODE_ENV').required().asEnum(['development', 'production', 'test']),
|
|
65
65
|
* serviceId: () => env.get('SERVICE_ID').required().asString(),
|
|
66
66
|
* port: () => env.get('PORT').default(10100).asPortNumber(),
|
|
67
67
|
* // many more...
|
|
@@ -34,7 +34,7 @@ exports.getValidatedConfig = getValidatedConfig;
|
|
|
34
34
|
* const env = from(variables);
|
|
35
35
|
*
|
|
36
36
|
* return {
|
|
37
|
-
* environment: () => env.get('NODE_ENV').required().asEnum(['
|
|
37
|
+
* environment: () => env.get('NODE_ENV').required().asEnum(['development', 'production', 'test']),
|
|
38
38
|
* serviceId: () => env.get('SERVICE_ID').required().asString(),
|
|
39
39
|
* port: () => env.get('PORT').default(10100).asPortNumber(),
|
|
40
40
|
* // many more...
|
|
@@ -77,7 +77,7 @@ exports.getConfig = getConfig;
|
|
|
77
77
|
* const env = from(variables);
|
|
78
78
|
*
|
|
79
79
|
* return {
|
|
80
|
-
* environment: () => env.get('NODE_ENV').required().asEnum(['
|
|
80
|
+
* environment: () => env.get('NODE_ENV').required().asEnum(['development', 'production', 'test']),
|
|
81
81
|
* serviceId: () => env.get('SERVICE_ID').required().asString(),
|
|
82
82
|
* port: () => env.get('PORT').default(10100).asPortNumber(),
|
|
83
83
|
* // many more...
|
|
@@ -10,4 +10,16 @@ export declare const asLogLevel: ExtensionFn<keyof typeof LogLevel | ''>;
|
|
|
10
10
|
export declare const exportedForTestingVarExtensions: {
|
|
11
11
|
resetWarningWasNotYetLogged: () => void;
|
|
12
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* Checks if string matches provided regex and throws an error with either default or custom message, if match failed.
|
|
15
|
+
* Custom message is useful, in case you want to have a more human-readable message.
|
|
16
|
+
*/
|
|
17
|
+
export declare const asRegExpValidatedString: ExtensionFn<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Checks that string
|
|
20
|
+
* - only contains lowercase letters, numbers, underscores,
|
|
21
|
+
* - is not longer than 63 characters,
|
|
22
|
+
* - does not start with a number.
|
|
23
|
+
*/
|
|
24
|
+
export declare const asDbIdentifier: ExtensionFn<string>;
|
|
13
25
|
//# sourceMappingURL=env-var-extensions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-var-extensions.d.ts","sourceRoot":"","sources":["../../../src/common/config/env-var-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAe,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOnD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,MAAM,OAAO,QAAQ,GAAG,EAAE,CAyB9D,CAAC;AAEF,eAAO,MAAM,+BAA+B;uCACT,IAAI;CAGtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"env-var-extensions.d.ts","sourceRoot":"","sources":["../../../src/common/config/env-var-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,OAAO,EAAe,QAAQ,EAAE,MAAM,YAAY,CAAC;AAOnD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,MAAM,OAAO,QAAQ,GAAG,EAAE,CAyB9D,CAAC;AAEF,eAAO,MAAM,+BAA+B;uCACT,IAAI;CAGtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAiBvD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAM9C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.exportedForTestingVarExtensions = exports.asLogLevel = void 0;
|
|
3
|
+
exports.asDbIdentifier = exports.asRegExpValidatedString = exports.exportedForTestingVarExtensions = exports.asLogLevel = void 0;
|
|
4
4
|
const errors_1 = require("../errors");
|
|
5
5
|
const logging_1 = require("../logging");
|
|
6
6
|
/**
|
|
@@ -29,7 +29,7 @@ const asLogLevel = (logLevel) => {
|
|
|
29
29
|
level: logging_1.LogLevel.WARN,
|
|
30
30
|
loggerContext: 'asLogLevel',
|
|
31
31
|
});
|
|
32
|
-
//
|
|
32
|
+
// Unlike with our default logger - this will log string with both dev and prod env, since we cannot rely on config object here.
|
|
33
33
|
if (warningWasNotYetLogged) {
|
|
34
34
|
((_a = global.mosaicConsole) !== null && _a !== void 0 ? _a : console).warn(JSON.stringify(log));
|
|
35
35
|
warningWasNotYetLogged = false;
|
|
@@ -43,4 +43,31 @@ exports.exportedForTestingVarExtensions = {
|
|
|
43
43
|
warningWasNotYetLogged = true;
|
|
44
44
|
},
|
|
45
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Checks if string matches provided regex and throws an error with either default or custom message, if match failed.
|
|
48
|
+
* Custom message is useful, in case you want to have a more human-readable message.
|
|
49
|
+
*/
|
|
50
|
+
const asRegExpValidatedString = (value, regexp, customMessage) => {
|
|
51
|
+
if (!value) {
|
|
52
|
+
throw new Error(`is a required variable, but it was not set.`);
|
|
53
|
+
}
|
|
54
|
+
if (!regexp) {
|
|
55
|
+
throw new Error(`cannot be validated, as regexp parameter is not provided.`);
|
|
56
|
+
}
|
|
57
|
+
if (!value.match(regexp)) {
|
|
58
|
+
throw new Error(customMessage !== null && customMessage !== void 0 ? customMessage : `must match provided RegExp: ${regexp}`);
|
|
59
|
+
}
|
|
60
|
+
return value;
|
|
61
|
+
};
|
|
62
|
+
exports.asRegExpValidatedString = asRegExpValidatedString;
|
|
63
|
+
/**
|
|
64
|
+
* Checks that string
|
|
65
|
+
* - only contains lowercase letters, numbers, underscores,
|
|
66
|
+
* - is not longer than 63 characters,
|
|
67
|
+
* - does not start with a number.
|
|
68
|
+
*/
|
|
69
|
+
const asDbIdentifier = (value) => {
|
|
70
|
+
return exports.asRegExpValidatedString(value, /^[a-z_]{1}[a-z0-9_]{0,62}$/, 'must only contain lowercase letters, numbers, or underscores. It must not be longer than 63 characters and must not start with a number.');
|
|
71
|
+
};
|
|
72
|
+
exports.asDbIdentifier = asDbIdentifier;
|
|
46
73
|
//# sourceMappingURL=env-var-extensions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-var-extensions.js","sourceRoot":"","sources":["../../../src/common/config/env-var-extensions.ts"],"names":[],"mappings":";;;AACA,sCAAsC;AACtC,wCAAmD;AAEnD;;GAEG;AACH,IAAI,sBAAsB,GAAG,IAAI,CAAC;AAElC;;;;;GAKG;AACI,MAAM,UAAU,GAA4C,CACjE,
|
|
1
|
+
{"version":3,"file":"env-var-extensions.js","sourceRoot":"","sources":["../../../src/common/config/env-var-extensions.ts"],"names":[],"mappings":";;;AACA,sCAAsC;AACtC,wCAAmD;AAEnD;;GAEG;AACH,IAAI,sBAAsB,GAAG,IAAI,CAAC;AAElC;;;;;GAKG;AACI,MAAM,UAAU,GAA4C,CACjE,QAAgB,EACY,EAAE;;IAC9B,MAAM,WAAW,GAAG,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,kBAAQ,CAAC,WAAoC,CAAC,CAAC;IAC7D,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QACpD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAQ,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,GAAG,GAAG,qBAAW,CAAC;YACtB,OAAO,EAAE;gBACP,OAAO,EAAE,cAAc,QAAQ,2DAA2D,cAAc,EAAE;gBAC1G,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAS,CAAC,YAAY,EAAE;aAC1C;YACD,KAAK,EAAE,kBAAQ,CAAC,IAAI;YACpB,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAC;QAEH,gIAAgI;QAChI,IAAI,sBAAsB,EAAE;YAC1B,CAAC,MAAA,MAAM,CAAC,aAAa,mCAAI,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5D,sBAAsB,GAAG,KAAK,CAAC;SAChC;KACF;IACD,OAAO,MAAC,QAAkC,mCAAI,EAAE,CAAC;AACnD,CAAC,CAAC;AAzBW,QAAA,UAAU,cAyBrB;AAEW,QAAA,+BAA+B,GAAG;IAC7C,2BAA2B,EAAE,GAAS,EAAE;QACtC,sBAAsB,GAAG,IAAI,CAAC;IAChC,CAAC;CACF,CAAC;AAEF;;;GAGG;AACI,MAAM,uBAAuB,GAAwB,CAC1D,KAAa,EACb,MAAe,EACf,aAAsB,EACd,EAAE;IACV,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;KAChE;IACD,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,IAAI,KAAK,CACb,2DAA2D,CAC5D,CAAC;KACH;IACD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,+BAA+B,MAAM,EAAE,CAAC,CAAC;KAC3E;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAjBW,QAAA,uBAAuB,2BAiBlC;AAEF;;;;;GAKG;AACI,MAAM,cAAc,GAAwB,CAAC,KAAa,EAAU,EAAE;IAC3E,OAAO,+BAAuB,CAC5B,KAAK,EACL,4BAA4B,EAC5B,0IAA0I,CAC3I,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB"}
|
|
@@ -54,6 +54,8 @@ export declare const testIsNullOrWhitespaceArray: (value: string) => (string | n
|
|
|
54
54
|
*
|
|
55
55
|
* Used to generate test-specific databases.
|
|
56
56
|
*
|
|
57
|
+
* `value` is expected to be a valid PostgreSQL identifier.
|
|
58
|
+
*
|
|
57
59
|
* Resulting value is truncated to maximum of 63 characters, dots and dashes are replaced with underscores and .db.spec.* ending is removed from an attached filename postfix.
|
|
58
60
|
*
|
|
59
61
|
* Result example: `value_t_shorthash_test_file_name_without_extension`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.helpers.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/test.helpers.ts"],"names":[],"mappings":";AAAA,OAAO,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"test.helpers.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/test.helpers.ts"],"names":[],"mappings":";AAAA,OAAO,qBAAqB,CAAC;AAI7B;;;GAGG;AACH,eAAO,MAAM,gBAAgB,aACjB,OAAO,MAAM,EAAE,OAAO,CAAC,YACvB,OAAO,MAAM,EAAE,OAAO,CAAC,KAChC,IAKF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,aACpB,MAAM,GAAG,IAAI,YACb,MAAM,GAAG,IAAI,KACtB,IAIF,CAAC;AAIF;;GAEG;AACH,eAAO,MAAM,iBAAiB,aAAc,MAAM,KAAG,IAKpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,aAAc,MAAM,KAAG,IAK3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,aAAc,MAAM,KAAG,IAGjD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,YAAa,MAAM,KAAG,IAIlD,CAAC;AAGF;;;GAGG;AACH,eAAO,MAAM,eAAe,aAChB,MAAM,GAAG,IAAI,OAClB,IAAI,6BAER,IAMF,CAAC;AAEF;;;;;;;;;GASG;AAEH,eAAO,MAAM,WAAW,YAAa,QAAQ,GAAG,CAAC,KAAG,QAAQ,GAAG,CAS9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,UAC/B,MAAM,KACZ,CAAC,MAAM,GAAG,IAAI,CAAC,EAYjB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,8FAIhC,MA6BF,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,yBAChB,KAAK,WAAW,YAS9B,CAAC"}
|
|
@@ -117,6 +117,8 @@ exports.testIsNullOrWhitespaceArray = testIsNullOrWhitespaceArray;
|
|
|
117
117
|
*
|
|
118
118
|
* Used to generate test-specific databases.
|
|
119
119
|
*
|
|
120
|
+
* `value` is expected to be a valid PostgreSQL identifier.
|
|
121
|
+
*
|
|
120
122
|
* Resulting value is truncated to maximum of 63 characters, dots and dashes are replaced with underscores and .db.spec.* ending is removed from an attached filename postfix.
|
|
121
123
|
*
|
|
122
124
|
* Result example: `value_t_shorthash_test_file_name_without_extension`
|
|
@@ -132,10 +134,18 @@ const createTestDbIdentifier = (value, testFilePath, testIdentifier = 't') => {
|
|
|
132
134
|
const filename = (_a = string_helpers_1.popPathSegment(testFilePath)) === null || _a === void 0 ? void 0 : _a.replace(/\.db\.spec\.[^/.]+$/, '');
|
|
133
135
|
dbPostfix = `_${dbId}_${filename}`;
|
|
134
136
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
+
// If original value is too long - resulting identifier will not be unique enough
|
|
138
|
+
// We allocate half of the resulting value length to original value, but hash part of it
|
|
139
|
+
let originalPart = value;
|
|
140
|
+
if (value.length > 31) {
|
|
141
|
+
const partToKeep = value.substring(0, 22);
|
|
142
|
+
const hashedPart = hash(value.substring(22));
|
|
143
|
+
originalPart = `${partToKeep}_${hashedPart}`; // length = 22 + _ + 8 = 31
|
|
144
|
+
}
|
|
145
|
+
const testPostfix = `${testIdentifier}${dbPostfix}`
|
|
146
|
+
.replace(/[^a-z0-9]/gi, '_') //Replace anything except for letters and numbers with underscore
|
|
137
147
|
.replace(/(_)+/g, '$1'); //Replace multiple occasions of _ with a single underscore
|
|
138
|
-
return string_helpers_1.
|
|
148
|
+
return string_helpers_1.truncate(`${originalPart}_${testPostfix}`, 63).toLowerCase();
|
|
139
149
|
};
|
|
140
150
|
exports.createTestDbIdentifier = createTestDbIdentifier;
|
|
141
151
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.helpers.js","sourceRoot":"","sources":["../../../src/common/helpers/test.helpers.ts"],"names":[],"mappings":";;;AAAA,+BAA6B;AAC7B,mCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"test.helpers.js","sourceRoot":"","sources":["../../../src/common/helpers/test.helpers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axinom/mosaic-service-common",
|
|
3
|
-
"version": "0.11.0
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Common helpers and PostgreSQL-related functionality",
|
|
5
5
|
"author": "Axinom",
|
|
6
6
|
"license": "PROPRIETARY",
|
|
@@ -62,5 +62,5 @@
|
|
|
62
62
|
"publishConfig": {
|
|
63
63
|
"access": "public"
|
|
64
64
|
},
|
|
65
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "32ef847d338438108eb5f642c36a127658f951f5"
|
|
66
66
|
}
|