From 63713f4cd200e842006acc015813a55888db3f34 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Sun, 25 Nov 2018 22:02:57 +0100 Subject: [PATCH] fix(core): update --- package-lock.json | 174 +++++++++++++++++++++-- package.json | 2 +- ts/elasticsearch.classes.elasticindex.ts | 10 +- ts/elasticsearch.plugins.ts | 3 +- 4 files changed, 172 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index d66534c..710842a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -75,16 +75,34 @@ } }, "@pushrocks/lik": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@pushrocks/lik/-/lik-3.0.1.tgz", - "integrity": "sha512-6dwRg7WMdY9drlqfo6NzOcw5ubVWYvIOSSMZz4Jsojpa8aDVwXd2VkD7sxO/PJRrbZzHkx/JXoY/epcWRjngUw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@pushrocks/lik/-/lik-3.0.2.tgz", + "integrity": "sha512-E2kI0jmPBGVfvXpmGEZOiv7amZrAIBpI49WL/gIdMy9MVeo6+k2VLDvYtdjzayVviE+LEt3//Xe08xE74FbP1A==", "requires": { + "@pushrocks/smartdelay": "^2.0.2", "@pushrocks/smartpromise": "^2.0.5", - "@types/lodash": "^4.14.112", + "@pushrocks/smartrx": "^2.0.2", + "@pushrocks/smarttime": "^3.0.5", "@types/minimatch": "^3.0.3", - "lodash": "^4.17.10", "minimatch": "^3.0.4", "symbol-tree": "^3.2.2" + }, + "dependencies": { + "@pushrocks/smarttime": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@pushrocks/smarttime/-/smarttime-3.0.5.tgz", + "integrity": "sha512-nHjJ8xRZ87OE8tBBIAOgjHJmJrc3MaPZtEZ5JDY2U9gjaED6JdRcdQ+vhSaLJT+U2u8YzXOuA6LfNN+X4jZm6A==", + "requires": { + "@pushrocks/smartpromise": "^2.0.5", + "@types/luxon": "^1.4.1", + "luxon": "^1.8.0" + } + }, + "luxon": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.8.0.tgz", + "integrity": "sha512-F742cYUYB7X+LXY3cIn6THZUBqRBjeAvF+CWE2i3+eKcv2bzsCsnRsBYL8Qrqzp1dfs6HsVcSjfKt2RcrtUElw==" + } } }, "@pushrocks/qenv": { @@ -187,6 +205,17 @@ "form-data": "^2.3.2" } }, + "@pushrocks/smartrx": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@pushrocks/smartrx/-/smartrx-2.0.2.tgz", + "integrity": "sha512-3lQONWp/Q/al8O6Cm9v6aSamNAzJimGHNFgHBKKmyBOVZaYrvhd6OMgDDicHE6vkYHXNtltXj5q3aIunz+bKwQ==", + "requires": { + "@pushrocks/lik": "^3.0.1", + "@pushrocks/smartpromise": "^2.0.5", + "rxjs": "^6.3.3", + "smartevent": "^1.0.1" + } + }, "@pushrocks/smartshell": { "version": "2.0.8", "resolved": "https://registry.npmjs.org/@pushrocks/smartshell/-/smartshell-2.0.8.tgz", @@ -265,11 +294,6 @@ "@types/node": "*" } }, - "@types/lodash": { - "version": "4.14.118", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.118.tgz", - "integrity": "sha512-iiJbKLZbhSa6FYRip/9ZDX6HXhayXLDGY2Fqws9cOkEQ6XeKfaxB0sC541mowZJueYyMnVUmmG+al5/4fCDrgw==" - }, "@types/luxon": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-1.4.1.tgz", @@ -521,6 +545,14 @@ "type-detect": "^4.0.0" } }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -543,6 +575,28 @@ "lodash": "^4.17.10" } }, + "es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "requires": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, "es6-error": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", @@ -601,6 +655,11 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, "get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", @@ -627,6 +686,14 @@ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, "has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -641,6 +708,11 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" + }, "humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", @@ -665,6 +737,32 @@ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", "dev": true }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "requires": { + "has": "^1.0.1" + } + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "requires": { + "has-symbols": "^1.0.0" + } + }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -800,6 +898,20 @@ "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==", "dev": true }, + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" + }, + "object.getownpropertydescriptors": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz", + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", + "requires": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + } + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -881,6 +993,14 @@ "path-parse": "^1.0.5" } }, + "rxjs": { + "version": "6.3.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz", + "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==", + "requires": { + "tslib": "^1.9.0" + } + }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -907,6 +1027,23 @@ "chai-string": "^1.4.0" } }, + "smartevent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/smartevent/-/smartevent-1.0.1.tgz", + "integrity": "sha1-E9K/LPCU698XgT+g1GBB+BejAqo=", + "requires": { + "smartq": "^1.1.1", + "typings-global": "^1.0.16" + } + }, + "smartq": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/smartq/-/smartq-1.1.8.tgz", + "integrity": "sha512-FURlYW/C3bLeZjJcBVyw7bxCyQoCXiXbLCZcDUKznhXHaLu35c8m33/a2H8CA0rtb82lvzN8dRLnBZAcNMzNHQ==", + "requires": { + "util.promisify": "^1.0.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -1003,8 +1140,7 @@ "tslib": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz", - "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==", - "dev": true + "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ==" }, "tslint": { "version": "5.11.0", @@ -1084,6 +1220,11 @@ "integrity": "sha512-zQIMOmC+372pC/CCVLqnQ0zSBiY7HHodU7mpQdjiZddek4GMj31I3dUJ7gAs9o65X7mnRma6OokOkc6f9jjfBg==", "dev": true }, + "typings-global": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/typings-global/-/typings-global-1.0.28.tgz", + "integrity": "sha512-6VOwJWEY2971HOMHu/7sURzUXiD4/LiMJPsMAOqkHHAtS3MVpLFE5gzTiHilsH9KY5VE1mBQirWIgWFsDuo90A==" + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -1096,6 +1237,15 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, "vinyl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz", diff --git a/package.json b/package.json index 78be086..5ddf634 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "tslint-config-prettier": "^1.15.0" }, "dependencies": { - "@pushrocks/lik": "^3.0.1", + "@pushrocks/lik": "^3.0.2", "@pushrocks/smartdelay": "^2.0.2", "@pushrocks/smartlog-interfaces": "^2.0.2", "@pushrocks/smartpromise": "^2.0.5", diff --git a/ts/elasticsearch.classes.elasticindex.ts b/ts/elasticsearch.classes.elasticindex.ts index 1dc014e..7d0cd99 100644 --- a/ts/elasticsearch.classes.elasticindex.ts +++ b/ts/elasticsearch.classes.elasticindex.ts @@ -15,6 +15,7 @@ export class ElasticIndex { public async ensureIndex(indexArg: string) { const done = plugins.smartpromise.defer(); if (this.stringmap.checkString(indexArg)) { + done.resolve(); return; } this.elasticSearchRef.client.cat.indices( @@ -28,18 +29,20 @@ export class ElasticIndex { return indexObjectArg.index.startsWith('smartlog'); }); const filteredIndexNames = filteredIndices.map(indexObjectArg => { - return indexObjectArg.name; + return indexObjectArg.index; }); const todayAsUnix: number = Date.now(); const rententionPeriodAsUnix: number = plugins.smarttime.units.days( this.elasticSearchRef.indexRetention ); + console.log(filteredIndexNames); for (const indexName of filteredIndexNames) { - const regexResult = /^smartlog-([0-9]*)\.([0-9]*)\.([0-9]*)$/; + const regexResult = /^smartlog-([0-9]*)\.([0-9]*)\.([0-9]*)$/.exec(indexName); const dateAsUnix: number = new Date( `${regexResult[1]}-${regexResult[2]}-${regexResult[3]}` ).getTime(); if (todayAsUnix - rententionPeriodAsUnix > dateAsUnix) { + console.log(`found old index ${indexName}`); const done2 = plugins.smartpromise.defer(); this.elasticSearchRef.client.indices.delete({ index: indexName @@ -47,7 +50,8 @@ export class ElasticIndex { if(err2) { console.log(err2); } - done.resolve(); + console.log(`deleted ${indexName}`); + done2.resolve(); }); await done2.promise; } diff --git a/ts/elasticsearch.plugins.ts b/ts/elasticsearch.plugins.ts index 6aff9a2..41fe09d 100644 --- a/ts/elasticsearch.plugins.ts +++ b/ts/elasticsearch.plugins.ts @@ -1,7 +1,8 @@ import * as elasticsearch from 'elasticsearch'; +import * as lik from '@pushrocks/lik'; import * as smartdelay from '@pushrocks/smartdelay'; import * as smartlogInterfaces from '@pushrocks/smartlog-interfaces'; import * as smartpromise from '@pushrocks/smartpromise'; import * as smarttime from '@pushrocks/smarttime'; -export { elasticsearch, smartdelay, smartlogInterfaces, smartpromise, smarttime }; +export { elasticsearch, lik, smartdelay, smartlogInterfaces, smartpromise, smarttime };