@harperfast/harper 5.0.0-beta.6 → 5.0.0-beta.8
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/bin/cliOperations.js +3 -3
- package/bin/harper.js +1 -1
- package/bin/run.js +2 -2
- package/components/Application.ts +6 -3
- package/components/ApplicationScope.ts +1 -0
- package/components/componentLoader.ts +23 -12
- package/components/operations.js +13 -13
- package/components/operationsValidation.js +3 -3
- package/config/configUtils.js +20 -4
- package/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +3 -2
- package/dist/bin/cliOperations.js +3 -3
- package/dist/bin/cliOperations.js.map +1 -1
- package/dist/bin/harper.d.ts +1 -1
- package/dist/bin/harper.js +1 -1
- package/dist/bin/run.js +2 -2
- package/dist/bin/run.js.map +1 -1
- package/dist/components/Application.js +7 -2
- package/dist/components/Application.js.map +1 -1
- package/dist/components/ApplicationScope.d.ts +1 -0
- package/dist/components/ApplicationScope.js +1 -0
- package/dist/components/ApplicationScope.js.map +1 -1
- package/dist/components/componentLoader.js +21 -10
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/operations.js +13 -13
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.js +3 -3
- package/dist/components/operationsValidation.js.map +1 -1
- package/dist/config/configUtils.d.ts +6 -0
- package/dist/config/configUtils.js +23 -3
- package/dist/config/configUtils.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +3 -2
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -1
- package/dist/resources/DatabaseTransaction.d.ts +2 -1
- package/dist/resources/DatabaseTransaction.js +71 -35
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/Resource.d.ts +2 -0
- package/dist/resources/Resource.js +11 -4
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/RocksTransactionLogStore.d.ts +1 -0
- package/dist/resources/RocksTransactionLogStore.js +8 -1
- package/dist/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/resources/Table.d.ts +6 -6
- package/dist/resources/Table.js +15 -10
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.js +6 -0
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/databases.js +3 -2
- package/dist/resources/databases.js.map +1 -1
- package/dist/security/jsLoader.js +223 -116
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/server/REST.js +30 -14
- package/dist/server/REST.js.map +1 -1
- package/dist/server/http.d.ts +1 -0
- package/dist/server/http.js +6 -1
- package/dist/server/http.js.map +1 -1
- package/dist/server/itc/serverHandlers.js +1 -1
- package/dist/server/itc/serverHandlers.js.map +1 -1
- package/dist/utility/hdbTerms.d.ts +1 -0
- package/dist/utility/hdbTerms.js +1 -0
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/logging/harper_logger.js +24 -1
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/dist/utility/logging/readLog.js +2 -2
- package/dist/utility/logging/readLog.js.map +1 -1
- package/dist/utility/npmUtilities.js +2 -2
- package/dist/utility/npmUtilities.js.map +1 -1
- package/dist/validation/configValidator.js +18 -8
- package/dist/validation/configValidator.js.map +1 -1
- package/dist/validation/readLogValidator.js +2 -2
- package/dist/validation/readLogValidator.js.map +1 -1
- package/package.json +5 -5
- package/resources/DatabaseTransaction.ts +67 -32
- package/resources/Resource.ts +17 -6
- package/resources/RocksTransactionLogStore.ts +8 -1
- package/resources/Table.ts +29 -10
- package/resources/analytics/write.ts +6 -0
- package/resources/databases.ts +3 -2
- package/security/jsLoader.ts +258 -129
- package/server/REST.ts +32 -13
- package/server/http.ts +6 -3
- package/server/itc/serverHandlers.js +1 -1
- package/static/defaultConfig.yaml +1 -1
- package/studio/web/assets/{index-BckVDix4.js → index-CXQsBaYq.js} +5 -5
- package/studio/web/assets/{index-BckVDix4.js.map → index-CXQsBaYq.js.map} +1 -1
- package/studio/web/assets/{index.lazy-iG1_8dzm.js → index.lazy-C3Ejfvna.js} +2 -2
- package/studio/web/assets/{index.lazy-iG1_8dzm.js.map → index.lazy-C3Ejfvna.js.map} +1 -1
- package/studio/web/assets/{profile-CzjslUXv.js → profile-BbbbWJCN.js} +2 -2
- package/studio/web/assets/{profile-CzjslUXv.js.map → profile-BbbbWJCN.js.map} +1 -1
- package/studio/web/assets/{status-BP4TQJDR.js → status-CFe85l8C.js} +2 -2
- package/studio/web/assets/{status-BP4TQJDR.js.map → status-CFe85l8C.js.map} +1 -1
- package/studio/web/index.html +1 -1
- package/utility/hdbTerms.ts +1 -0
- package/utility/logging/harper_logger.js +22 -1
- package/utility/logging/readLog.js +2 -2
- package/utility/npmUtilities.js +2 -2
- package/validation/configValidator.js +16 -8
- package/validation/readLogValidator.js +2 -2
|
@@ -9,7 +9,7 @@ module.exports = {
|
|
|
9
9
|
installModules,
|
|
10
10
|
};
|
|
11
11
|
const { CONFIG_PARAMS } = require("./hdbTerms.js");
|
|
12
|
-
const {
|
|
12
|
+
const { getConfigPath } = require('../config/configUtils.js');
|
|
13
13
|
const { nonInteractiveSpawn } = require("../components/Application.js");
|
|
14
14
|
/**
|
|
15
15
|
* Executes npm install against specified custom function projects
|
|
@@ -25,7 +25,7 @@ async function installModules(req) {
|
|
|
25
25
|
throw handleHDBError(validation, validation.message, HTTP_STATUS_CODES.BAD_REQUEST);
|
|
26
26
|
}
|
|
27
27
|
let { projects, dryRun } = req;
|
|
28
|
-
const componentsRootDirPath =
|
|
28
|
+
const componentsRootDirPath = getConfigPath(CONFIG_PARAMS.COMPONENTSROOT);
|
|
29
29
|
const responseObject = {};
|
|
30
30
|
const args = ['install', '--force', '--omit=dev', '--json'];
|
|
31
31
|
if (dryRun)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npmUtilities.js","sourceRoot":"","sources":["../../utility/npmUtilities.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7B,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACtE,MAAM,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;AAExC,MAAM,SAAS,GAAG,OAAO,CAAC,oCAAoC,CAAC,CAAC;AAChE,MAAM,YAAY,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAE3D,MAAM,CAAC,OAAO,GAAG;IAChB,cAAc;CACd,CAAC;AAEF,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnD,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"npmUtilities.js","sourceRoot":"","sources":["../../utility/npmUtilities.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAE7B,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;AACtE,MAAM,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;AAExC,MAAM,SAAS,GAAG,OAAO,CAAC,oCAAoC,CAAC,CAAC;AAChE,MAAM,YAAY,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAE3D,MAAM,CAAC,OAAO,GAAG;IAChB,cAAc;CACd,CAAC;AAEF,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AACnD,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AAC9D,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAC;AAExE;;;;GAIG;AACH,KAAK,UAAU,cAAc,CAAC,GAAG;IAChC,MAAM,kBAAkB,GACvB,iFAAiF;QACjF,qEAAqE,CAAC;IACvE,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,UAAU,EAAE,CAAC;QAChB,MAAM,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACrF,CAAC;IAED,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IAE/B,MAAM,qBAAqB,GAAG,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IAE1E,MAAM,cAAc,GAAG,EAAE,CAAC;IAE1B,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IAC5D,IAAI,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEnC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC;YACJ,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAChF,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClD,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAElD,IAAI,CAAC;gBACJ,cAAc,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACR,cAAc,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC;YAC7C,CAAC;YAED,IAAI,CAAC;gBACJ,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACR,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC;YAC5C,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClB,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACP,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC;YACnD,CAAC;YACD,SAAS;QACV,CAAC;IACF,CAAC;IAED,YAAY,CAAC,IAAI,CAAC,yCAAyC,cAAc,EAAE,CAAC,CAAC;IAC7E,cAAc,CAAC,OAAO,GAAG,kBAAkB,CAAC;IAC5C,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,SAAS,cAAc,CAAC,MAAM;IAC7B,qHAAqH;IACrH,IAAI,iBAAiB,GAAG,YAAY,CAAC;IACrC,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;SAAM,CAAC;QACP,OAAO,MAAM,CAAC;IACf,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAAG;IAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;QAC7B,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3D,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACrC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -199,8 +199,18 @@ function doesPathExist(pathToCheck) {
|
|
|
199
199
|
return `Specified path ${pathToCheck} does not exist.`;
|
|
200
200
|
}
|
|
201
201
|
function validatePath(value, helpers) {
|
|
202
|
-
Joi.assert(value, string.pattern(/^[
|
|
203
|
-
|
|
202
|
+
Joi.assert(value, string.pattern(/^[\\/~]$|([\\/~a-zA-Z_0-9:-]+)+$/, 'directory path'));
|
|
203
|
+
let resolvedValue;
|
|
204
|
+
if (value.startsWith('~/')) {
|
|
205
|
+
resolvedValue = path.join(os.homedir(), value.slice(1));
|
|
206
|
+
}
|
|
207
|
+
else if (path.isAbsolute(value)) {
|
|
208
|
+
resolvedValue = value;
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
resolvedValue = path.join(hdbRoot, value);
|
|
212
|
+
}
|
|
213
|
+
const doesExistMsg = doesPathExist(resolvedValue);
|
|
204
214
|
if (doesExistMsg) {
|
|
205
215
|
return helpers.message(doesExistMsg);
|
|
206
216
|
}
|
|
@@ -262,18 +272,18 @@ function setDefaultRoot(parent, helpers) {
|
|
|
262
272
|
}
|
|
263
273
|
switch (configParam) {
|
|
264
274
|
case 'componentsRoot':
|
|
265
|
-
return
|
|
275
|
+
return DEFAULT_COMPONENTS_FOLDER;
|
|
266
276
|
case 'logging.root':
|
|
267
|
-
return
|
|
277
|
+
return DEFAULT_LOG_FOLDER;
|
|
268
278
|
case 'storage.path':
|
|
269
279
|
const legacyStoragePath = path.join(hdbRoot, hdbTerms.LEGACY_DATABASES_DIR_NAME);
|
|
270
280
|
if (fs.existsSync(legacyStoragePath))
|
|
271
|
-
return
|
|
272
|
-
return
|
|
281
|
+
return hdbTerms.LEGACY_DATABASES_DIR_NAME;
|
|
282
|
+
return hdbTerms.DATABASES_DIR_NAME;
|
|
273
283
|
case 'logging.rotation.path':
|
|
274
|
-
return
|
|
284
|
+
return DEFAULT_LOG_FOLDER;
|
|
275
285
|
case 'operationsApi.network.domainSocket':
|
|
276
|
-
return configParam == null ? null :
|
|
286
|
+
return configParam == null ? null : 'operations-server';
|
|
277
287
|
default:
|
|
278
288
|
throw new Error(`Error setting default root for config parameter: ${configParam}. Unrecognized config parameter`);
|
|
279
289
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../validation/configValidator.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"configValidator.js","sourceRoot":"","sources":["../../validation/configValidator.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACzB,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC;AACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AACnC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,qCAAqC,CAAC,CAAC;AACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAAC;AACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACnD,MAAM,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAEpD,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,yBAAyB,GAAG,YAAY,CAAC;AAC/C,MAAM,qBAAqB,GAAG,sEAAsE,CAAC;AACrG,MAAM,yBAAyB,GAAG,iFAAiF,CAAC;AACpH,MAAM,0BAA0B,GAC/B,8FAA8F,CAAC;AAChG,MAAM,0BAA0B,GAC/B,+FAA+F,CAAC;AACjG,MAAM,iBAAiB,GAAG,wCAAwC,CAAC;AAEnE,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;KAC/D,QAAQ,EAAE;KACV,KAAK,CAAC,IAAI,CAAC,CAAC;AACd,MAAM,gBAAgB,GAAG,GAAG,CAAC,YAAY,CAAC;IACzC,KAAK;SACH,KAAK,CACL,MAAM,EACN;QACC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;QACvB,IAAI,EAAE,eAAe;KACrB,EACD;QACC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,eAAe;KACrB,CACD;SACA,KAAK,CAAC,IAAI,CAAC;IACb,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,IAAI,OAAO,CAAC;AACZ,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,MAAM,CAAC,OAAO,GAAG;IAChB,eAAe;IACf,eAAe;IACf,gBAAgB;CAChB,CAAC;AAEF,SAAS,eAAe,CAAC,UAAU,EAAE,gBAAgB,GAAG,KAAK;IAC5D,SAAS,GAAG,gBAAgB,CAAC;IAC7B,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC;IAC9B,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,iBAAiB,CAAC;IACzB,CAAC;IAED,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC9C,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1F,MAAM,eAAe,GAAG,MAAM;SAC5B,OAAO,CAAC,gCAAgC,EAAE,gBAAgB,CAAC;SAC3D,KAAK,CAAC,IAAI,CAAC;SACX,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1B,MAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEzD,MAAM,sBAAsB,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC5F,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;QACjC,WAAW,EAAE,kBAAkB;QAC/B,oBAAoB,EAAE,kBAAkB;QACxC,UAAU,EAAE,kBAAkB;KAC9B,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC;QAC/B,cAAc,EAAE,GAAG,CAAC,YAAY,CAC/B,GAAG,CAAC,MAAM,CAAC;YACV,cAAc,EAAE,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;YAC3B,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;gBAClB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;gBACvC,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE;aAC1B,CAAC;YACF,cAAc,EAAE,OAAO;YACvB,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC9E,CAAC,EACF,OAAO,CACP,CAAC,QAAQ,EAAE;QACZ,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC;YACrB,eAAe,EAAE,MAAM;YACvB,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;SAC7B,CAAC;QACF,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC;YACvB,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;YACjE,GAAG,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;YAClC,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,eAAe;YAC3B,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;YACpC,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC;YAC1C,aAAa,EAAE,OAAO,CAAC,QAAQ,EAAE;YACjC,mBAAmB,EAAE,OAAO,CAAC,QAAQ,EAAE;SACvC,CAAC,CAAC,QAAQ,EAAE;QACb,cAAc,EAAE,eAAe,CAAC,QAAQ,EAAE;QAC1C,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC;YACvB,OAAO,EAAE,kBAAkB;SAC3B,CAAC,CAAC,QAAQ,EAAE;QACb,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC;YACnB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC;gBAC3B,SAAS,EAAE,OAAO;gBAClB,aAAa,EAAE,OAAO;aACtB,CAAC;YACF,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE;YACxB,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;YAC9E,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC;gBACpB,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAC5B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;gBACxE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;gBACtE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;aAC3D,CAAC,CAAC,QAAQ,EAAE;YACb,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;SAC5B,CAAC,CAAC,QAAQ,EAAE;QACb,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE;gBACxB,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE;gBAChC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACxC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBAC1C,IAAI,EAAE,eAAe;gBACrB,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;gBACnF,UAAU,EAAE,eAAe;gBAC3B,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;aACjC,CAAC,CAAC,QAAQ,EAAE;YACb,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC;SAC1E,CAAC,CAAC,QAAQ,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,gBAAgB,CAAC,CAAC,QAAQ,EAAE;QACvF,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;YAChB,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC;gBACnB,IAAI,EAAE,eAAe;gBACrB,UAAU,EAAE,eAAe;gBAC3B,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC;oBACtB,OAAO,CAAC,QAAQ,EAAE;oBAClB,GAAG,CAAC,MAAM,CAAC;wBACV,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;wBACvB,oBAAoB,EAAE,kBAAkB;wBACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;qBAC5B,CAAC;iBACF,CAAC;aACF,CAAC,CAAC,QAAQ,EAAE;YACb,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC7B,qBAAqB,EAAE,OAAO,CAAC,QAAQ,EAAE;SACzC,CAAC;QACF,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;YAChB,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE;YACxB,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE;YAChC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACxC,IAAI,EAAE,eAAe;YACrB,UAAU,EAAE,eAAe;YAC3B,aAAa,EAAE,MAAM,CAAC,QAAQ,EAAE;YAChC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC;gBACtB,OAAO,CAAC,QAAQ,EAAE;gBAClB,GAAG,CAAC,MAAM,CAAC;oBACV,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;oBACvB,oBAAoB,EAAE,kBAAkB;oBACxC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;iBAC5B,CAAC;aACF,CAAC;YACF,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SACpE,CAAC,CAAC,QAAQ,EAAE;QACb,OAAO,EAAE,GAAG,CAAC,YAAY,CACxB,kBAAkB,CAAC,QAAQ,EAAE,EAC7B,GAAG,CAAC,MAAM,CAAC;YACV,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE;YACpC,KAAK,EAAE,GAAG,CAAC,YAAY,CACtB,OAAO,CAAC,QAAQ,EAAE,EAClB,GAAG,CAAC,MAAM,CAAC;gBACV,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;gBACtC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE;gBACvB,eAAe,EAAE,OAAO,CAAC,QAAQ,EAAE;aACnC,CAAC,CACF;YACD,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;SACvC,CAAC,CACF;QACD,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC;YACnB,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC9B,eAAe,EAAE,OAAO,CAAC,QAAQ,EAAE;YACnC,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC3B,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC;gBAC7B,OAAO,CAAC,QAAQ,EAAE;gBAClB,GAAG,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;aAC3E,CAAC;YACF,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE;YAClC,wBAAwB,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC5C,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE;YAC/B,IAAI,EAAE,sBAAsB;YAC5B,cAAc,EAAE,OAAO,CAAC,QAAQ,EAAE;YAClC,kBAAkB,EAAE,MAAM,CAAC,QAAQ,EAAE;YACrC,oBAAoB,EAAE,MAAM,CAAC,QAAQ,EAAE;SACvC,CAAC,CAAC,QAAQ,EAAE;QACb,aAAa,EAAE,OAAO,CAAC,QAAQ,EAAE;QACjC,GAAG,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,CAAC;KAC1E,CAAC,CAAC;IAEH,uGAAuG;IACvG,qDAAqD;IACrD,OAAO,YAAY,CAAC,QAAQ,CAAC,UAAU,EAAE;QACxC,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;KAChC,CAAC,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,SAAS,aAAa,CAAC,WAAW;IACjC,IAAI,SAAS;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,kBAAkB,WAAW,kBAAkB,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,KAAK,EAAE,OAAO;IACnC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAExF,IAAI,aAAa,CAAC;IAClB,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,aAAa,GAAG,KAAK,CAAC;IACvB,CAAC;SAAM,CAAC;QACP,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,MAAM,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAK,EAAE,OAAO;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAK,EAAE,OAAO;IAC/C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAM,EAAE,OAAO;IACzC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,UAAU,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IAElC,yGAAyG;IACzG,8DAA8D;IAC9D,IAAI,YAAY,GAAG,UAAU,GAAG,CAAC,CAAC;IAClC,uGAAuG;IACvG,IAAI,YAAY,IAAI,CAAC;QAAE,YAAY,GAAG,CAAC,CAAC;IACxC,IAAI,eAAe,GAAG,OAAO,CAAC,iBAAiB,EAAE,EAAE,IAAI,QAAQ,EAAE,CAAC,CAAC,6CAA6C;IAChH,8BAA8B;IAC9B,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC;IAC9E,oCAAoC;IACpC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9F,SAAS,CAAC,IAAI,CACb,YAAY,UAAU,cAAc,eAAe,kCAAkC,WAAW,OAAO,YAAY,EAAE,CACrH,CAAC;IACF,OAAO,YAAY,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,MAAM,EAAE,OAAO;IACtC,2EAA2E;IAC3E,oCAAoC;IACpC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,WAAW,KAAK,oCAAoC,EAAE,CAAC;QACjG,OAAO,OAAO,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,mCAAmC,WAAW,2BAA2B,CAAC,CAAC;IAC5F,CAAC;IAED,QAAQ,WAAW,EAAE,CAAC;QACrB,KAAK,gBAAgB;YACpB,OAAO,yBAAyB,CAAC;QAClC,KAAK,cAAc;YAClB,OAAO,kBAAkB,CAAC;QAC3B,KAAK,cAAc;YAClB,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YACjF,IAAI,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC;gBAAE,OAAO,QAAQ,CAAC,yBAAyB,CAAC;YAChF,OAAO,QAAQ,CAAC,kBAAkB,CAAC;QACpC,KAAK,uBAAuB;YAC3B,OAAO,kBAAkB,CAAC;QAC3B,KAAK,oCAAoC;YACxC,OAAO,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACzD;YACC,MAAM,IAAI,KAAK,CAAC,oDAAoD,WAAW,iCAAiC,CAAC,CAAC;IACpH,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,WAAW;IACnC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,MAAM,EAAE,gBAAgB;KACxB,CAAC,CAAC;IACH,OAAO,SAAS,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
const envMangr = require('../utility/environment/environmentManager.js');
|
|
3
2
|
const Joi = require('joi');
|
|
4
3
|
const validator = require('./validationWrapper.js');
|
|
5
4
|
const moment = require('moment');
|
|
6
5
|
const fs = require('fs-extra');
|
|
7
6
|
const path = require('path');
|
|
8
7
|
const _ = require('lodash');
|
|
8
|
+
const { getConfigPath } = require('../config/configUtils.js');
|
|
9
9
|
const hdbTerms = require("../utility/hdbTerms.js");
|
|
10
10
|
const { LOG_LEVELS } = require("../utility/hdbTerms.js");
|
|
11
11
|
const LOG_DATE_FORMAT = 'YYYY-MM-DD hh:mm:ss';
|
|
@@ -34,7 +34,7 @@ function validateReadLogPath(value, helpers) {
|
|
|
34
34
|
if (processLogName[value] === undefined) {
|
|
35
35
|
return helpers.message(`'log_name' '${value}' is invalid.`);
|
|
36
36
|
}
|
|
37
|
-
const logPath =
|
|
37
|
+
const logPath = getConfigPath(hdbTerms.HDB_SETTINGS_NAMES.LOG_PATH_KEY);
|
|
38
38
|
const logName = value === undefined ? hdbTerms.LOG_NAMES.HDB : value;
|
|
39
39
|
const readLogPath = logName === hdbTerms.LOG_NAMES.INSTALL
|
|
40
40
|
? path.join(INSTALL_LOG_LOCATION, hdbTerms.LOG_NAMES.INSTALL)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readLogValidator.js","sourceRoot":"","sources":["../../validation/readLogValidator.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,MAAM,
|
|
1
|
+
{"version":3,"file":"readLogValidator.js","sourceRoot":"","sources":["../../validation/readLogValidator.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@harperfast/harper",
|
|
3
3
|
"description": "Harper is an open-source Node.js performance platform that unifies database, cache, application, and messaging layers into one in-memory process.",
|
|
4
|
-
"version": "5.0.0-beta.
|
|
4
|
+
"version": "5.0.0-beta.8",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://harper.fast",
|
|
7
7
|
"bugs": {
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"@types/sinon": "^17.0.4",
|
|
126
126
|
"@types/tar-fs": "^2.0.4",
|
|
127
127
|
"@typescript-eslint/parser": "^8.48.1",
|
|
128
|
-
"axios": "
|
|
128
|
+
"axios": "1.14.0",
|
|
129
129
|
"chai": "^6.2.0",
|
|
130
130
|
"chai-as-promised": "^8.0.2",
|
|
131
131
|
"chai-integer": "^0.1.0",
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
"@fastify/cors": "^11.2.0",
|
|
158
158
|
"@fastify/static": "^9.0.0",
|
|
159
159
|
"@harperfast/extended-iterable": "^1.0.1",
|
|
160
|
-
"@harperfast/rocksdb-js": "^0.1.
|
|
160
|
+
"@harperfast/rocksdb-js": "^0.1.14",
|
|
161
161
|
"@turf/area": "6.5.0",
|
|
162
162
|
"@turf/boolean-contains": "6.5.0",
|
|
163
163
|
"@turf/boolean-disjoint": "6.5.0",
|
|
@@ -192,7 +192,7 @@
|
|
|
192
192
|
"json-bigint-fixes": "1.1.0",
|
|
193
193
|
"jsonata": "1.8.7",
|
|
194
194
|
"jsonwebtoken": "9.0.3",
|
|
195
|
-
"lmdb": "3.5.
|
|
195
|
+
"lmdb": "3.5.3",
|
|
196
196
|
"lodash": "^4.17.23",
|
|
197
197
|
"mathjs": "11.12.0",
|
|
198
198
|
"micromatch": "^4.0.8",
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
"recursive-iterator": "3.3.0",
|
|
219
219
|
"semver": "7.7.3",
|
|
220
220
|
"send": "^1.2.0",
|
|
221
|
-
"ses": "^1.
|
|
221
|
+
"ses": "^1.15.0",
|
|
222
222
|
"stream-chain": "2.2.5",
|
|
223
223
|
"stream-json": "1.9.1",
|
|
224
224
|
"systeminformation": "^5.31.4",
|
|
@@ -35,6 +35,7 @@ export type CommitOptions = {
|
|
|
35
35
|
timestamp?: number;
|
|
36
36
|
retries?: number;
|
|
37
37
|
flush?: boolean;
|
|
38
|
+
transaction?: RocksTransaction;
|
|
38
39
|
};
|
|
39
40
|
|
|
40
41
|
type ReadTransaction = (LMDBTransaction | RocksTransaction) & {
|
|
@@ -116,8 +117,13 @@ export class DatabaseTransaction implements Transaction {
|
|
|
116
117
|
if (!this.transaction) return;
|
|
117
118
|
if (--this.readTxnsUsed === 0) {
|
|
118
119
|
trackedTxns.delete(this);
|
|
119
|
-
this.
|
|
120
|
-
|
|
120
|
+
if (this.open === TRANSACTION_STATE.LINGERING) {
|
|
121
|
+
// if we have lingering writes, we have to call commit to finish them
|
|
122
|
+
this.commit();
|
|
123
|
+
} else {
|
|
124
|
+
this.transaction?.abort();
|
|
125
|
+
this.transaction = null;
|
|
126
|
+
}
|
|
121
127
|
}
|
|
122
128
|
}
|
|
123
129
|
|
|
@@ -139,9 +145,6 @@ export class DatabaseTransaction implements Transaction {
|
|
|
139
145
|
}
|
|
140
146
|
|
|
141
147
|
addWrite(operation: TransactionWrite) {
|
|
142
|
-
if (this.open === TRANSACTION_STATE.CLOSED) {
|
|
143
|
-
throw new Error('Can not use a transaction that is no longer open');
|
|
144
|
-
}
|
|
145
148
|
this.writes.push(operation);
|
|
146
149
|
if (!operation.deferSave) {
|
|
147
150
|
// Setting saved to false means to defer saving
|
|
@@ -150,61 +153,94 @@ export class DatabaseTransaction implements Transaction {
|
|
|
150
153
|
return operation;
|
|
151
154
|
}
|
|
152
155
|
|
|
153
|
-
save(operation: TransactionWrite, reloadEntry = false) {
|
|
156
|
+
save(operation: TransactionWrite, transaction?: RocksTransaction, reloadEntry = false) {
|
|
154
157
|
let txnTime = this.timestamp;
|
|
155
|
-
|
|
156
|
-
|
|
158
|
+
transaction ??= this.transaction;
|
|
159
|
+
let immediateCommit = false;
|
|
160
|
+
if (!transaction) {
|
|
161
|
+
transaction = new RocksTransaction(this.db.store as RocksStore);
|
|
162
|
+
if (this.open === TRANSACTION_STATE.OPEN) {
|
|
163
|
+
this.transaction = transaction;
|
|
164
|
+
} else {
|
|
165
|
+
// if it is closed, we have to immediately commit, using our immediate transaction
|
|
166
|
+
immediateCommit = true;
|
|
167
|
+
}
|
|
157
168
|
if (txnTime) {
|
|
158
|
-
|
|
169
|
+
transaction.setTimestamp(txnTime);
|
|
159
170
|
}
|
|
160
171
|
}
|
|
161
172
|
if (this.retries > 0) {
|
|
162
173
|
// this is marks the rocks transaction as a retry so we don't write the transaction log again
|
|
163
|
-
|
|
174
|
+
transaction.isRetry = true;
|
|
164
175
|
}
|
|
165
|
-
if (!txnTime) txnTime = this.timestamp =
|
|
176
|
+
if (!txnTime) txnTime = this.timestamp = transaction.getTimestamp();
|
|
166
177
|
if (reloadEntry || operation.entry === undefined) {
|
|
167
|
-
operation.entry = operation.store.getEntry(operation.key, { transaction
|
|
178
|
+
operation.entry = operation.store.getEntry(operation.key, { transaction });
|
|
179
|
+
}
|
|
180
|
+
if (!operation.saved) {
|
|
181
|
+
operation.saved = true;
|
|
182
|
+
// immediately execute in this transaction
|
|
183
|
+
if (operation.validate?.(txnTime) === false) {
|
|
184
|
+
operation.commit = () => {}; // noop if we try again
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
let result: Promise<void> = operation.before?.() as Promise<void>;
|
|
188
|
+
if (result?.then) this.completions.push(result);
|
|
189
|
+
result = operation.beforeIntermediate?.() as Promise<void>;
|
|
190
|
+
if (result?.then) this.completions.push(result);
|
|
191
|
+
}
|
|
192
|
+
operation.commit(txnTime, operation.entry, this.retries > 0, transaction);
|
|
193
|
+
if (immediateCommit) {
|
|
194
|
+
return this.commit({ transaction }); // immediately commit if the harper transaction is closed
|
|
168
195
|
}
|
|
169
|
-
operation.saved = true;
|
|
170
|
-
// immediately execute in this transaction
|
|
171
|
-
if (operation.validate?.(txnTime) === false) return;
|
|
172
|
-
let result: Promise<void> = operation.before?.() as Promise<void>;
|
|
173
|
-
if (result?.then) this.completions.push(result);
|
|
174
|
-
result = operation.beforeIntermediate?.() as Promise<void>;
|
|
175
|
-
if (result?.then) this.completions.push(result);
|
|
176
|
-
operation.commit(txnTime, operation.entry, this.retries > 0, this.transaction);
|
|
177
196
|
}
|
|
178
197
|
|
|
179
198
|
/**
|
|
180
199
|
* Resolves with information on the timestamp and success of the commit
|
|
181
200
|
*/
|
|
182
201
|
commit(options: CommitOptions = {}): MaybePromise<CommitResolution> {
|
|
202
|
+
let transaction = options.transaction ?? this.transaction; // we need to preserve this transaction as we might to resurrect it if we have to retry
|
|
183
203
|
for (let i = 0; i < this.writes.length; i++) {
|
|
184
204
|
let operation = this.writes[i];
|
|
185
205
|
if (this.retries === 0 && operation.saved) continue;
|
|
186
|
-
this.save(operation, i < this.validated);
|
|
206
|
+
this.save(operation, transaction, i < this.validated);
|
|
187
207
|
}
|
|
188
208
|
this.validated = this.writes.length;
|
|
189
|
-
|
|
209
|
+
const completions = this.completions;
|
|
210
|
+
if (completions.length > 0) this.completions = []; // reset
|
|
211
|
+
return when(completions.length > 0 ? Promise.all(completions) : null, () => {
|
|
212
|
+
if (this.writes.length > this.validated) {
|
|
213
|
+
// check just in case we got any more transactions while we were waiting, if so just recursively continue to finish the additional writes now
|
|
214
|
+
return this.commit(options);
|
|
215
|
+
}
|
|
216
|
+
this.open = TRANSACTION_STATE.CLOSED;
|
|
190
217
|
let commitResolution: MaybePromise<void>;
|
|
191
218
|
if (--this.readTxnsUsed > 0) {
|
|
192
219
|
// we still have outstanding iterators using the transaction, we can't just commit/abort it, we will still
|
|
193
220
|
// need to use it
|
|
221
|
+
if (this.writes.length > 0) {
|
|
222
|
+
// if there are outstanding writes, we have to call commit later to finish them
|
|
223
|
+
this.open = TRANSACTION_STATE.LINGERING;
|
|
224
|
+
/* TODO: This is not really the intended behavior though, we want to immediately commit writes, but continue to use
|
|
225
|
+
* the transaction, as there is likely existing references to the transaction in other parts of the codebase,
|
|
226
|
+
* particularly in the query iterator */
|
|
227
|
+
}
|
|
228
|
+
/*
|
|
194
229
|
commitResolution =
|
|
195
230
|
this.writes.length > 0
|
|
196
|
-
?
|
|
197
|
-
|
|
231
|
+
? transaction?.commit({ renewAfterCommit: true }) // Try to use RocksDB's CommitAndTryCreateSnapshot
|
|
232
|
+
: // don't abort, we still have outstanding reads to complete
|
|
198
233
|
null;
|
|
234
|
+
*/
|
|
199
235
|
} else {
|
|
200
236
|
// no more reads need to be performed, just commit/abort based if there are any writes
|
|
201
237
|
trackedTxns.delete(this);
|
|
202
|
-
|
|
238
|
+
this.transaction = null; // clear transaction so any further operations operate immediately
|
|
239
|
+
if (transaction) {
|
|
203
240
|
if (this.writes.length > 0) {
|
|
204
|
-
commitResolution =
|
|
241
|
+
commitResolution = transaction.commit();
|
|
205
242
|
} else {
|
|
206
|
-
commitResolution =
|
|
207
|
-
this.transaction = null; // immediately clear transaction, no need to wait
|
|
243
|
+
commitResolution = transaction.abort();
|
|
208
244
|
}
|
|
209
245
|
}
|
|
210
246
|
}
|
|
@@ -220,8 +256,7 @@ export class DatabaseTransaction implements Transaction {
|
|
|
220
256
|
const completions = [];
|
|
221
257
|
return commitResolution.then(
|
|
222
258
|
() => {
|
|
223
|
-
|
|
224
|
-
this.transaction = null; // the native transaction is done (reset if needed)
|
|
259
|
+
transaction.onCommit?.();
|
|
225
260
|
if (this.next) {
|
|
226
261
|
completions.push(this.next.commit(options));
|
|
227
262
|
}
|
|
@@ -260,7 +295,7 @@ export class DatabaseTransaction implements Transaction {
|
|
|
260
295
|
// if the transaction failed due to concurrent changes, we need to retry. First record this as an increased risk of contention/retry
|
|
261
296
|
// for future transactions
|
|
262
297
|
this.retries++;
|
|
263
|
-
return this.commit(
|
|
298
|
+
return this.commit({ transaction }); // try again
|
|
264
299
|
} else throw error;
|
|
265
300
|
}
|
|
266
301
|
);
|
|
@@ -318,7 +353,7 @@ export class ImmediateTransaction extends DatabaseTransaction {
|
|
|
318
353
|
save(transaction: ImmediateTransaction) {
|
|
319
354
|
if (this.isCommitting) {
|
|
320
355
|
// if we are in the commit, do the save and force a reload so we get a read within the transaction
|
|
321
|
-
super.save(transaction, true);
|
|
356
|
+
super.save(transaction, null, true);
|
|
322
357
|
} else {
|
|
323
358
|
this.isCommitting = true;
|
|
324
359
|
return when(this.commit(), () => {
|
package/resources/Resource.ts
CHANGED
|
@@ -683,15 +683,26 @@ function transactional(
|
|
|
683
683
|
}
|
|
684
684
|
}
|
|
685
685
|
}
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
686
|
+
const KNOWN_METHODS = ['get', 'head', 'put', 'post', 'delete', 'patch', 'query', 'move', 'copy'];
|
|
687
|
+
type ClientErrorWithMethods = ClientError & { allow: string[]; method: string };
|
|
688
|
+
export function missingMethod(resource: any, method: string) {
|
|
689
|
+
const error = new ClientError(
|
|
690
|
+
`The ${resource.constructor.name} does not have a ${method} method implemented`,
|
|
691
|
+
405
|
|
692
|
+
) as ClientErrorWithMethods;
|
|
693
|
+
error.allow = allowedMethods(resource);
|
|
689
694
|
error.method = method;
|
|
690
|
-
for (const method of ['get', 'put', 'post', 'delete', 'query', 'move', 'copy']) {
|
|
691
|
-
if (typeof resource[method] === 'function') error.allow.push(method);
|
|
692
|
-
}
|
|
693
695
|
throw error;
|
|
694
696
|
}
|
|
697
|
+
|
|
698
|
+
export function allowedMethods(resource: any) {
|
|
699
|
+
const allow = [];
|
|
700
|
+
for (const method of KNOWN_METHODS) {
|
|
701
|
+
if (typeof resource[method] === 'function') allow.push(method);
|
|
702
|
+
}
|
|
703
|
+
return allow;
|
|
704
|
+
}
|
|
705
|
+
|
|
695
706
|
/**
|
|
696
707
|
* This is responsible for handling a select query parameter/call that selects specific
|
|
697
708
|
* properties from the returned record(s).
|
|
@@ -3,6 +3,7 @@ import { ExtendedIterable } from '@harperfast/extended-iterable';
|
|
|
3
3
|
import { Decoder, readAuditEntry, ENTRY_DATAVIEW, AuditRecord, createAuditEntry } from './auditStore.ts';
|
|
4
4
|
import { isMainThread } from 'node:worker_threads';
|
|
5
5
|
import { EventEmitter } from 'node:events';
|
|
6
|
+
import { asBinary } from 'lmdb';
|
|
6
7
|
|
|
7
8
|
if (!process.env.HARPER_NO_FLUSH_ON_EXIT && isMainThread) {
|
|
8
9
|
// we want to be able to test log replay
|
|
@@ -81,7 +82,7 @@ export class RocksTransactionLogStore extends EventEmitter {
|
|
|
81
82
|
|
|
82
83
|
putSync(suggestedKey: any, value: any, options: any) {
|
|
83
84
|
if (typeof suggestedKey === 'symbol') {
|
|
84
|
-
this.rootStore.putSync(suggestedKey, value, options);
|
|
85
|
+
this.rootStore.putSync(suggestedKey, asBinary(value), options);
|
|
85
86
|
} else {
|
|
86
87
|
this.put(suggestedKey, value, options);
|
|
87
88
|
}
|
|
@@ -107,6 +108,12 @@ export class RocksTransactionLogStore extends EventEmitter {
|
|
|
107
108
|
return this.rootStore.getSync(key);
|
|
108
109
|
}
|
|
109
110
|
}
|
|
111
|
+
getBinary(key: any) {
|
|
112
|
+
if (typeof key === 'number') {
|
|
113
|
+
throw new Error('Unsupported binary access by number');
|
|
114
|
+
}
|
|
115
|
+
return this.rootStore.getBinarySync(key);
|
|
116
|
+
}
|
|
110
117
|
getEntry() {
|
|
111
118
|
throw new Error('Not implemented');
|
|
112
119
|
}
|
package/resources/Table.ts
CHANGED
|
@@ -580,10 +580,16 @@ export function makeTable(options) {
|
|
|
580
580
|
// dictates not to go to source
|
|
581
581
|
if (!this.doesExist()) throw new ServerError('Entry is not cached', 504);
|
|
582
582
|
} else if (resourceOptions?.ensureLoaded) {
|
|
583
|
-
const loadingFromSource = ensureLoadedFromSource(
|
|
583
|
+
const loadingFromSource = ensureLoadedFromSource(
|
|
584
|
+
this.constructor.source,
|
|
585
|
+
id,
|
|
586
|
+
entry,
|
|
587
|
+
request,
|
|
588
|
+
this,
|
|
589
|
+
target
|
|
590
|
+
);
|
|
584
591
|
if (loadingFromSource) {
|
|
585
592
|
txn?.disregardReadTxn(); // this could take some time, so don't keep the transaction open if possible
|
|
586
|
-
target.loadedFromSource = true;
|
|
587
593
|
return when(loadingFromSource, (entry) => {
|
|
588
594
|
TableResource._updateResource(this, entry);
|
|
589
595
|
return this;
|
|
@@ -988,10 +994,16 @@ export function makeTable(options) {
|
|
|
988
994
|
// dictates not to go to source
|
|
989
995
|
if (!entry?.value) throw new ServerError('Entry is not cached', 504);
|
|
990
996
|
} else if (ensureLoaded) {
|
|
991
|
-
const loadingFromSource = ensureLoadedFromSource(
|
|
997
|
+
const loadingFromSource = ensureLoadedFromSource(
|
|
998
|
+
constructor.source,
|
|
999
|
+
id,
|
|
1000
|
+
entry,
|
|
1001
|
+
context,
|
|
1002
|
+
this,
|
|
1003
|
+
target
|
|
1004
|
+
);
|
|
992
1005
|
if (loadingFromSource) {
|
|
993
1006
|
txn?.disregardReadTxn(); // this could take some time, so don't keep the transaction open if possible
|
|
994
|
-
target.loadedFromSource = true;
|
|
995
1007
|
return loadingFromSource.then((entry) => entry?.value);
|
|
996
1008
|
}
|
|
997
1009
|
}
|
|
@@ -3732,7 +3744,7 @@ export function makeTable(options) {
|
|
|
3732
3744
|
}
|
|
3733
3745
|
}
|
|
3734
3746
|
|
|
3735
|
-
function ensureLoadedFromSource(source: typeof TableResource, id, entry, context, resource?) {
|
|
3747
|
+
function ensureLoadedFromSource(source: typeof TableResource, id, entry, context, resource?, target?) {
|
|
3736
3748
|
if (hasSourceGet) {
|
|
3737
3749
|
let needsSourceData = false;
|
|
3738
3750
|
if (context.noCache) needsSourceData = true;
|
|
@@ -3751,7 +3763,7 @@ export function makeTable(options) {
|
|
|
3751
3763
|
recordActionBinary(!needsSourceData, 'cache-hit', tableName);
|
|
3752
3764
|
}
|
|
3753
3765
|
if (needsSourceData) {
|
|
3754
|
-
const loadingFromSource = getFromSource(source, id, entry, context).then((entry) => {
|
|
3766
|
+
const loadingFromSource = getFromSource(source, id, entry, context, target).then((entry) => {
|
|
3755
3767
|
if (entry?.value && entry?.value.getRecord?.())
|
|
3756
3768
|
logger.error?.('Can not assign a record that is already a resource');
|
|
3757
3769
|
if (context) {
|
|
@@ -3921,7 +3933,8 @@ export function makeTable(options) {
|
|
|
3921
3933
|
source: typeof TableResource,
|
|
3922
3934
|
id: Id,
|
|
3923
3935
|
existingEntry: Entry,
|
|
3924
|
-
context: Context
|
|
3936
|
+
context: Context,
|
|
3937
|
+
target?
|
|
3925
3938
|
): Promise<Entry> {
|
|
3926
3939
|
const metadataFlags = existingEntry?.metadataFlags;
|
|
3927
3940
|
|
|
@@ -3943,9 +3956,13 @@ export function makeTable(options) {
|
|
|
3943
3956
|
entry.metadataFlags & (INVALIDATED | EVICTED) ||
|
|
3944
3957
|
(entry.expiresAt != undefined && entry.expiresAt < Date.now())
|
|
3945
3958
|
)
|
|
3946
|
-
// try again
|
|
3947
|
-
whenResolved(getFromSource(source, id, primaryStore.getEntry(id), context));
|
|
3948
|
-
else
|
|
3959
|
+
// try again — entry still not valid, need to actually fetch from source
|
|
3960
|
+
whenResolved(getFromSource(source, id, primaryStore.getEntry(id), context, target));
|
|
3961
|
+
else {
|
|
3962
|
+
// served from cache after waiting for another request to resolve
|
|
3963
|
+
if (target) target.loadedFromSource = false;
|
|
3964
|
+
whenResolved(entry);
|
|
3965
|
+
}
|
|
3949
3966
|
};
|
|
3950
3967
|
const lockAcquired = primaryStore.tryLock(id, callback);
|
|
3951
3968
|
|
|
@@ -3957,6 +3974,8 @@ export function makeTable(options) {
|
|
|
3957
3974
|
}, LOCK_TIMEOUT);
|
|
3958
3975
|
});
|
|
3959
3976
|
}
|
|
3977
|
+
// lock acquired — this request will actually load from source
|
|
3978
|
+
if (target) target.loadedFromSource = true;
|
|
3960
3979
|
|
|
3961
3980
|
const existingRecord = existingEntry?.value;
|
|
3962
3981
|
// it is important to remember that this is _NOT_ part of the current transaction; nothing is changing
|
|
@@ -402,7 +402,12 @@ export async function getDirectorySizeAsync(dirPath: string): Promise<number> {
|
|
|
402
402
|
}
|
|
403
403
|
}
|
|
404
404
|
|
|
405
|
+
const DEFAULT_STORAGE_INTERVAL = 10;
|
|
406
|
+
let nodeStorageInterval = DEFAULT_STORAGE_INTERVAL;
|
|
407
|
+
let nodeStorageCycleCount = 0;
|
|
408
|
+
|
|
405
409
|
async function storeNodeStorageMetric(analyticsTable: Table) {
|
|
410
|
+
if (nodeStorageInterval <= 0 || ++nodeStorageCycleCount % nodeStorageInterval !== 1) return;
|
|
406
411
|
try {
|
|
407
412
|
const size = await getDirectorySizeAsync(getHdbBasePath());
|
|
408
413
|
storeMetric(analyticsTable, {
|
|
@@ -689,6 +694,7 @@ if (!parentPort) onMessageByType(ANALYTICS_REPORT_TYPE, recordAnalytics);
|
|
|
689
694
|
let scheduledTasksRunning;
|
|
690
695
|
function startScheduledTasks() {
|
|
691
696
|
scheduledTasksRunning = true;
|
|
697
|
+
nodeStorageInterval = envGet(CONFIG_PARAMS.ANALYTICS_STORAGEINTERVAL) ?? DEFAULT_STORAGE_INTERVAL;
|
|
692
698
|
const AGGREGATE_PERIOD = envGet(CONFIG_PARAMS.ANALYTICS_AGGREGATEPERIOD) * 1000;
|
|
693
699
|
if (AGGREGATE_PERIOD) {
|
|
694
700
|
setInterval(
|
package/resources/databases.ts
CHANGED
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
import { makeTable } from './Table.ts';
|
|
13
13
|
import OpenEnvironmentObject from '../utility/lmdb/OpenEnvironmentObject.js';
|
|
14
14
|
import { CONFIG_PARAMS, LEGACY_DATABASES_DIR_NAME, DATABASES_DIR_NAME } from '../utility/hdbTerms.ts';
|
|
15
|
+
import { getConfigPath } from '../config/configUtils.js';
|
|
15
16
|
import { _assignPackageExport } from '../globals.js';
|
|
16
17
|
import { getIndexedValues } from '../utility/lmdb/commonUtility.js';
|
|
17
18
|
import * as signalling from '../utility/signalling.js';
|
|
@@ -176,7 +177,7 @@ export function getDatabases(): Databases {
|
|
|
176
177
|
if (process.env.SCHEMAS_DATA_PATH) schemaConfigs.data = { path: process.env.SCHEMAS_DATA_PATH };
|
|
177
178
|
databasePath =
|
|
178
179
|
process.env.STORAGE_PATH ||
|
|
179
|
-
|
|
180
|
+
getConfigPath(CONFIG_PARAMS.STORAGE_PATH) ||
|
|
180
181
|
(databasePath && (existsSync(databasePath) ? databasePath : join(getHdbBasePath(), LEGACY_DATABASES_DIR_NAME)));
|
|
181
182
|
if (!databasePath) return;
|
|
182
183
|
|
|
@@ -694,7 +695,7 @@ export function database({ database: databaseName, table: tableName }) {
|
|
|
694
695
|
tablePath ||
|
|
695
696
|
databaseConfig[databaseName]?.path ||
|
|
696
697
|
process.env.STORAGE_PATH ||
|
|
697
|
-
|
|
698
|
+
getConfigPath(CONFIG_PARAMS.STORAGE_PATH) ||
|
|
698
699
|
(existsSync(join(hdbBasePath, DATABASES_DIR_NAME))
|
|
699
700
|
? join(hdbBasePath, DATABASES_DIR_NAME)
|
|
700
701
|
: join(hdbBasePath, LEGACY_DATABASES_DIR_NAME));
|