@minimaltech/node-infra 0.3.23 → 0.4.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/dist/base/applications/default.application.d.ts +0 -3
- package/dist/base/applications/default.application.js.map +1 -1
- package/dist/base/repositories/base.repository.js.map +1 -1
- package/dist/base/repositories/searchable-tz-crud.repository.d.ts +1 -0
- package/dist/base/repositories/searchable-tz-crud.repository.js +43 -24
- package/dist/base/repositories/searchable-tz-crud.repository.js.map +1 -1
- package/dist/base/repositories/tz-crud.repository.d.ts +14 -0
- package/dist/base/repositories/tz-crud.repository.js +13 -0
- package/dist/base/repositories/tz-crud.repository.js.map +1 -1
- package/dist/common/environments.d.ts +9 -0
- package/dist/common/environments.js +11 -1
- package/dist/common/environments.js.map +1 -1
- package/dist/components/crash-report/providers/third-parties/base.d.ts +0 -1
- package/dist/components/crash-report/providers/third-parties/base.js.map +1 -1
- package/dist/components/grpc/helpers/grpc-server.js.map +1 -1
- package/dist/datasources/redis/datasource.d.ts +1 -1
- package/dist/datasources/redis/datasource.js.map +1 -1
- package/dist/helpers/application-environment.helper.d.ts +1 -0
- package/dist/helpers/application-environment.helper.js +3 -0
- package/dist/helpers/application-environment.helper.js.map +1 -1
- package/dist/helpers/logger/application-logger.d.ts +6 -4
- package/dist/helpers/logger/application-logger.js +23 -19
- package/dist/helpers/logger/application-logger.js.map +1 -1
- package/dist/helpers/logger/common/index.d.ts +1 -0
- package/dist/helpers/logger/common/index.js +18 -0
- package/dist/helpers/logger/common/index.js.map +1 -0
- package/dist/helpers/logger/common/types.d.ts +15 -0
- package/dist/helpers/logger/common/types.js +32 -0
- package/dist/helpers/logger/common/types.js.map +1 -0
- package/dist/helpers/logger/default-logger.d.ts +21 -8
- package/dist/helpers/logger/default-logger.js +90 -29
- package/dist/helpers/logger/default-logger.js.map +1 -1
- package/dist/helpers/logger/index.d.ts +2 -1
- package/dist/helpers/logger/index.js +2 -1
- package/dist/helpers/logger/index.js.map +1 -1
- package/dist/helpers/logger/transports/dgram.transport.d.ts +28 -0
- package/dist/helpers/logger/transports/dgram.transport.js +84 -0
- package/dist/helpers/logger/transports/dgram.transport.js.map +1 -0
- package/dist/helpers/logger/transports/index.d.ts +1 -0
- package/dist/helpers/logger/transports/index.js +18 -0
- package/dist/helpers/logger/transports/index.js.map +1 -0
- package/dist/helpers/queue/queue.helper.d.ts +0 -1
- package/dist/helpers/queue/queue.helper.js.map +1 -1
- package/dist/tsconfig.base.json +19 -8
- package/dist/utilities/query.utility.d.ts +16 -1
- package/dist/utilities/query.utility.js +106 -1
- package/dist/utilities/query.utility.js.map +1 -1
- package/package.json +3 -2
@@ -1,16 +1,29 @@
|
|
1
|
-
import
|
1
|
+
import winston from 'winston';
|
2
2
|
import 'winston-daily-rotate-file';
|
3
|
-
|
3
|
+
import { IDgramTransportOptions } from './transports';
|
4
|
+
export declare const applicationLogFormatter: ReturnType<typeof winston.format.combine>;
|
4
5
|
export declare const defineCustomLogger: (opts: {
|
6
|
+
logLevels?: {
|
7
|
+
[name: string | symbol]: number;
|
8
|
+
};
|
9
|
+
logColors?: {
|
10
|
+
[name: string | symbol]: string;
|
11
|
+
};
|
5
12
|
transports: {
|
6
13
|
info: {
|
7
|
-
|
8
|
-
|
14
|
+
file?: {
|
15
|
+
prefix: string;
|
16
|
+
folder: string;
|
17
|
+
};
|
18
|
+
dgram?: Partial<IDgramTransportOptions>;
|
9
19
|
};
|
10
20
|
error: {
|
11
|
-
|
12
|
-
|
21
|
+
file: {
|
22
|
+
prefix: string;
|
23
|
+
folder: string;
|
24
|
+
};
|
25
|
+
dgram?: Partial<IDgramTransportOptions>;
|
13
26
|
};
|
14
27
|
};
|
15
|
-
}) =>
|
16
|
-
export declare const applicationLogger:
|
28
|
+
}) => winston.Logger;
|
29
|
+
export declare const applicationLogger: winston.Logger;
|
@@ -2,49 +2,110 @@
|
|
2
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
|
-
var _a;
|
5
|
+
var _a, _b, _c;
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
7
7
|
exports.applicationLogger = exports.defineCustomLogger = exports.applicationLogFormatter = void 0;
|
8
|
+
const common_1 = require("../../common");
|
8
9
|
const path_1 = __importDefault(require("path"));
|
9
|
-
const winston_1 = require("winston");
|
10
|
+
const winston_1 = __importDefault(require("winston"));
|
10
11
|
require("winston-daily-rotate-file");
|
11
|
-
const
|
12
|
+
const transports_1 = require("./transports");
|
13
|
+
const utilities_1 = require("../../utilities");
|
12
14
|
const LOGGER_FOLDER_PATH = (_a = process.env.APP_ENV_LOGGER_FOLDER_PATH) !== null && _a !== void 0 ? _a : './';
|
13
15
|
const LOGGER_PREFIX = common_1.App.APPLICATION_NAME;
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
exports.applicationLogFormatter = winston_1.format.combine(winston_1.format.label({ label: LOGGER_PREFIX }), winston_1.format.splat(), winston_1.format.align(), winston_1.format.timestamp(), winston_1.format.simple(), winston_1.format.colorize(), winston_1.format.printf(({ level, message, label, timestamp }) => `${timestamp} [${label}] ${level}: ${message}`), winston_1.format.errors({ stack: true }));
|
16
|
+
// -------------------------------------------------------------------------------------------
|
17
|
+
exports.applicationLogFormatter = winston_1.default.format.combine(winston_1.default.format.label({ label: LOGGER_PREFIX }), winston_1.default.format.splat(), winston_1.default.format.align(), winston_1.default.format.timestamp(), winston_1.default.format.simple(), winston_1.default.format.colorize(), winston_1.default.format.printf(({ level, message, label, timestamp }) => `${timestamp} [${label}] ${level}: ${message}`), winston_1.default.format.errors({ stack: true }));
|
18
|
+
// -------------------------------------------------------------------------------------------
|
18
19
|
const defineCustomLogger = (opts) => {
|
19
|
-
const {
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
20
|
+
const { logLevels = {
|
21
|
+
error: 1,
|
22
|
+
alert: 1,
|
23
|
+
emerg: 1,
|
24
|
+
warn: 2,
|
25
|
+
info: 3,
|
26
|
+
http: 4,
|
27
|
+
verbose: 5,
|
28
|
+
debug: 6,
|
29
|
+
silly: 7,
|
30
|
+
}, logColors = {
|
31
|
+
error: 'red',
|
32
|
+
alert: 'red',
|
33
|
+
emerg: 'red',
|
34
|
+
warn: 'yellow',
|
35
|
+
info: 'green',
|
36
|
+
http: 'magenta',
|
37
|
+
verbose: 'gray',
|
38
|
+
debug: 'blue',
|
39
|
+
silly: 'gray',
|
40
|
+
}, transports: { info: infoTransportOptions, error: errorTransportOptions }, } = opts;
|
41
|
+
const consoleLogTransport = new winston_1.default.transports.Console({ level: 'debug' });
|
42
|
+
const transports = {
|
43
|
+
general: [consoleLogTransport],
|
44
|
+
exception: [consoleLogTransport],
|
45
|
+
};
|
46
|
+
// File configure
|
47
|
+
if (infoTransportOptions.file) {
|
48
|
+
const transport = new winston_1.default.transports.DailyRotateFile({
|
49
|
+
frequency: '1h',
|
50
|
+
maxSize: '100m',
|
51
|
+
maxFiles: '5d',
|
52
|
+
datePattern: 'YYYYMMDD_HH',
|
53
|
+
filename: path_1.default.join(infoTransportOptions.file.folder, `/${infoTransportOptions.file.prefix}-info-%DATE%.log`),
|
54
|
+
level: 'info',
|
55
|
+
});
|
56
|
+
transports.general.push(transport);
|
57
|
+
}
|
58
|
+
if (errorTransportOptions.file) {
|
59
|
+
const transport = new winston_1.default.transports.DailyRotateFile({
|
60
|
+
frequency: '1h',
|
61
|
+
maxSize: '100m',
|
62
|
+
maxFiles: '5d',
|
63
|
+
datePattern: 'YYYYMMDD_HH',
|
64
|
+
filename: path_1.default.join(errorTransportOptions.file.folder, `/${errorTransportOptions.file.prefix}-error-%DATE%.log`),
|
65
|
+
level: 'error',
|
66
|
+
});
|
67
|
+
transports.general.push(transport);
|
68
|
+
transports.exception.push(transport);
|
69
|
+
}
|
70
|
+
// Stream configure
|
71
|
+
if (infoTransportOptions.dgram) {
|
72
|
+
const transport = transports_1.DgramTransport.fromPartial(infoTransportOptions.dgram);
|
73
|
+
if (transport) {
|
74
|
+
transports.general.push(transport);
|
75
|
+
}
|
76
|
+
}
|
77
|
+
if (errorTransportOptions.dgram) {
|
78
|
+
const transport = transports_1.DgramTransport.fromPartial(errorTransportOptions.dgram);
|
79
|
+
if (transport) {
|
80
|
+
transports.exception.push(transport);
|
81
|
+
}
|
82
|
+
}
|
83
|
+
// Color configure
|
84
|
+
winston_1.default.addColors(logColors);
|
85
|
+
// Logger
|
86
|
+
return winston_1.default.createLogger({
|
87
|
+
levels: logLevels,
|
37
88
|
format: exports.applicationLogFormatter,
|
38
89
|
exitOnError: false,
|
39
|
-
transports:
|
40
|
-
exceptionHandlers:
|
90
|
+
transports: transports.general,
|
91
|
+
exceptionHandlers: transports.exception,
|
41
92
|
});
|
42
93
|
};
|
43
94
|
exports.defineCustomLogger = defineCustomLogger;
|
95
|
+
// -------------------------------------------------------------------------------------------
|
96
|
+
const fileOptions = { folder: LOGGER_FOLDER_PATH, prefix: LOGGER_PREFIX };
|
97
|
+
const dgramOptions = {
|
98
|
+
socketOptions: { type: 'udp4' },
|
99
|
+
host: process.env.APP_ENV_LOGGER_DGRAM_HOST,
|
100
|
+
port: (0, utilities_1.int)(process.env.APP_ENV_LOGGER_DGRAM_PORT),
|
101
|
+
label: process.env.APP_ENV_LOGGER_DGRAM_LABEL,
|
102
|
+
levels: (_c = (_b = process.env.APP_ENV_LOGGER_DGRAM_LEVELS) === null || _b === void 0 ? void 0 : _b.split(',').map(el => el.trim())) !== null && _c !== void 0 ? _c : [],
|
103
|
+
};
|
104
|
+
// -------------------------------------------------------------------------------------------
|
44
105
|
exports.applicationLogger = (0, exports.defineCustomLogger)({
|
45
106
|
transports: {
|
46
|
-
info: {
|
47
|
-
error: {
|
107
|
+
info: { file: fileOptions, dgram: dgramOptions },
|
108
|
+
error: { file: fileOptions, dgram: dgramOptions },
|
48
109
|
},
|
49
110
|
});
|
50
111
|
//# sourceMappingURL=default-logger.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../../../src/helpers/logger/default-logger.ts"],"names":[],"mappings":";;;;;;;AAAA,gDAAwB;
|
1
|
+
{"version":3,"file":"default-logger.js","sourceRoot":"","sources":["../../../src/helpers/logger/default-logger.ts"],"names":[],"mappings":"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"}
|
@@ -14,7 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
__exportStar(require("./default-logger"), exports);
|
18
17
|
__exportStar(require("./application-logger"), exports);
|
18
|
+
__exportStar(require("./default-logger"), exports);
|
19
19
|
__exportStar(require("./factory"), exports);
|
20
|
+
__exportStar(require("./transports"), exports);
|
20
21
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/logger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/logger/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,mDAAiC;AACjC,4CAA0B;AAC1B,+CAA6B"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import dgram from 'dgram';
|
2
|
+
import Transport from 'winston-transport';
|
3
|
+
export interface IDgramTransportOptions extends Transport.TransportStreamOptions {
|
4
|
+
label: string;
|
5
|
+
host: string;
|
6
|
+
port: number;
|
7
|
+
levels: Array<string>;
|
8
|
+
socketOptions: dgram.SocketOptions;
|
9
|
+
}
|
10
|
+
export declare class DgramTransport extends Transport {
|
11
|
+
private label;
|
12
|
+
private host;
|
13
|
+
private port;
|
14
|
+
private triggerLevels;
|
15
|
+
private socketOptions;
|
16
|
+
private client;
|
17
|
+
constructor(opts: IDgramTransportOptions);
|
18
|
+
static fromPartial(opts?: Partial<IDgramTransportOptions>): DgramTransport | null;
|
19
|
+
private establish;
|
20
|
+
private formatMessage;
|
21
|
+
log(opts: {
|
22
|
+
level: string;
|
23
|
+
message: string;
|
24
|
+
label?: string;
|
25
|
+
timestamp?: string;
|
26
|
+
[extra: symbol]: any;
|
27
|
+
}, callback: Function): void;
|
28
|
+
}
|
@@ -0,0 +1,84 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
3
|
+
var t = {};
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
5
|
+
t[p] = s[p];
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
9
|
+
t[p[i]] = s[p[i]];
|
10
|
+
}
|
11
|
+
return t;
|
12
|
+
};
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
exports.DgramTransport = void 0;
|
18
|
+
const common_1 = require("../../../common");
|
19
|
+
const utilities_1 = require("../../../utilities");
|
20
|
+
const dgram_1 = __importDefault(require("dgram"));
|
21
|
+
const winston_transport_1 = __importDefault(require("winston-transport"));
|
22
|
+
class DgramTransport extends winston_transport_1.default {
|
23
|
+
constructor(opts) {
|
24
|
+
const { label, host, port, levels, socketOptions } = opts, defaultTransportOptions = __rest(opts, ["label", "host", "port", "levels", "socketOptions"]);
|
25
|
+
super(defaultTransportOptions);
|
26
|
+
this.label = label;
|
27
|
+
this.host = host;
|
28
|
+
this.port = port;
|
29
|
+
this.triggerLevels = new Set(levels);
|
30
|
+
this.socketOptions = socketOptions;
|
31
|
+
this.establish({ socketOptions: this.socketOptions });
|
32
|
+
}
|
33
|
+
static fromPartial(opts) {
|
34
|
+
var _a;
|
35
|
+
if (!(opts === null || opts === void 0 ? void 0 : opts.label) ||
|
36
|
+
!(opts === null || opts === void 0 ? void 0 : opts.host) ||
|
37
|
+
!(opts === null || opts === void 0 ? void 0 : opts.port) ||
|
38
|
+
!((_a = opts === null || opts === void 0 ? void 0 : opts.levels) === null || _a === void 0 ? void 0 : _a.length) ||
|
39
|
+
!(opts === null || opts === void 0 ? void 0 : opts.socketOptions)) {
|
40
|
+
return null;
|
41
|
+
}
|
42
|
+
return new DgramTransport(opts);
|
43
|
+
}
|
44
|
+
establish(opts) {
|
45
|
+
this.client = dgram_1.default.createSocket(opts.socketOptions);
|
46
|
+
this.client.on('error', error => {
|
47
|
+
var _a;
|
48
|
+
(_a = this.client) === null || _a === void 0 ? void 0 : _a.close();
|
49
|
+
this.client = null;
|
50
|
+
throw (0, utilities_1.getError)({
|
51
|
+
statusCode: common_1.ResultCodes.RS_5.InternalServerError,
|
52
|
+
message: `[DgramTransport][error] Error: ${error.message}`,
|
53
|
+
});
|
54
|
+
});
|
55
|
+
}
|
56
|
+
formatMessage(opts) {
|
57
|
+
var _a;
|
58
|
+
const { timestamp, label, message } = opts, rest = __rest(opts, ["timestamp", "label", "message"]);
|
59
|
+
return [timestamp, `[${(_a = this.label) !== null && _a !== void 0 ? _a : label}]`, rest[Symbol.for('level')], message].join(' ');
|
60
|
+
}
|
61
|
+
log(opts, callback) {
|
62
|
+
var _a;
|
63
|
+
setImmediate(() => {
|
64
|
+
this.emit('logged', opts);
|
65
|
+
});
|
66
|
+
const logLevel = opts[Symbol.for('level')];
|
67
|
+
if (!this.triggerLevels.has(logLevel)) {
|
68
|
+
callback();
|
69
|
+
return;
|
70
|
+
}
|
71
|
+
if (!this.client) {
|
72
|
+
this.establish({ socketOptions: this.socketOptions });
|
73
|
+
}
|
74
|
+
const message = this.formatMessage(opts);
|
75
|
+
(_a = this.client) === null || _a === void 0 ? void 0 : _a.send(message, this.port, this.host, error => {
|
76
|
+
if (error) {
|
77
|
+
this.emit('error', error);
|
78
|
+
}
|
79
|
+
callback();
|
80
|
+
});
|
81
|
+
}
|
82
|
+
}
|
83
|
+
exports.DgramTransport = DgramTransport;
|
84
|
+
//# sourceMappingURL=dgram.transport.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"dgram.transport.js","sourceRoot":"","sources":["../../../../src/helpers/logger/transports/dgram.transport.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './dgram.transport';
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./dgram.transport"), exports);
|
18
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/helpers/logger/transports/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
|
@@ -29,7 +29,6 @@ interface IQueueCallback<TElementPayload> {
|
|
29
29
|
}) => ValueOrPromise<void>;
|
30
30
|
}
|
31
31
|
export declare class QueueHelper<TElementPayload> extends BaseHelper {
|
32
|
-
identifier: string;
|
33
32
|
storage: Array<TQueueElement<TElementPayload>>;
|
34
33
|
private processingEvents;
|
35
34
|
private generator;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"queue.helper.js","sourceRoot":"","sources":["../../../src/helpers/queue/queue.helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAgD;AAEhD,6DAAqC;AAErC,2DAA2D;AAC3D,MAAa,aAAa;IAQxB,MAAM,CAAC,OAAO,CAAC,MAAc;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;;AAVH,sCAWC;;AAViB,qBAAO,GAAG,aAAa,AAAhB,CAAiB;AACxB,wBAAU,GAAG,gBAAgB,AAAnB,CAAoB;AAC9B,oBAAM,GAAG,YAAY,AAAf,CAAgB;AACtB,qBAAO,GAAG,aAAa,AAAhB,CAAiB;AAExB,wBAAU,GAAG,IAAI,GAAG,CAAC,CAAC,EAAI,CAAC,OAAO,EAAE,EAAI,CAAC,UAAU,EAAE,EAAI,CAAC,MAAM,EAAE,EAAI,CAAC,OAAO,CAAC,CAAC,AAAtE,CAAuE;AA4BnG,2DAA2D;AAC3D,MAAa,WAA6B,SAAQ,wBAAU;
|
1
|
+
{"version":3,"file":"queue.helper.js","sourceRoot":"","sources":["../../../src/helpers/queue/queue.helper.ts"],"names":[],"mappings":"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"}
|
package/dist/tsconfig.base.json
CHANGED
@@ -3,19 +3,30 @@
|
|
3
3
|
"extends": "@loopback/build/config/tsconfig.common.json",
|
4
4
|
"compilerOptions": {
|
5
5
|
"target": "es2015",
|
6
|
+
"module": "nodenext",
|
7
|
+
|
8
|
+
/* Bundler mode */
|
9
|
+
"emitDecoratorMetadata": true,
|
10
|
+
"experimentalDecorators": true,
|
11
|
+
"importHelpers": false,
|
12
|
+
"esModuleInterop": true,
|
13
|
+
"removeComments": false,
|
14
|
+
"moduleResolution": "nodenext",
|
15
|
+
|
16
|
+
/* Linting */
|
17
|
+
"strict": true,
|
18
|
+
"noUnusedLocals": true,
|
19
|
+
"noUnusedParameters": true,
|
20
|
+
"noImplicitOverride": true,
|
21
|
+
"noFallthroughCasesInSwitch": true,
|
22
|
+
|
23
|
+
/* Paths */
|
6
24
|
"outDir": "dist",
|
7
25
|
"rootDir": "src",
|
8
26
|
"baseUrl": "src",
|
9
27
|
"paths": {
|
10
28
|
"@/*": ["./*"]
|
11
|
-
}
|
12
|
-
"module": "nodenext",
|
13
|
-
"moduleResolution": "nodenext",
|
14
|
-
"esModuleInterop": true,
|
15
|
-
"emitDecoratorMetadata": true,
|
16
|
-
"experimentalDecorators": true,
|
17
|
-
"importHelpers": false,
|
18
|
-
"removeComments": false
|
29
|
+
}
|
19
30
|
},
|
20
31
|
"include": ["src", "./*.config.*", ".prettierrc.*"],
|
21
32
|
"exclude": ["node_modules", "dist"]
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { BaseTzEntity } from '../base';
|
2
|
-
import { EntityClassType } from '../common';
|
2
|
+
import { AnyType, EntityClassType } from '../common';
|
3
3
|
export declare const getTableDefinition: <T extends BaseTzEntity>(opts: {
|
4
4
|
model: EntityClassType<T>;
|
5
5
|
alias?: string;
|
@@ -13,3 +13,18 @@ export declare const getTableDefinition: <T extends BaseTzEntity>(opts: {
|
|
13
13
|
columns: { [key in keyof T]: string; };
|
14
14
|
columnsNoAlias: { [key in keyof T]: string; };
|
15
15
|
};
|
16
|
+
export declare const getValue: (value: AnyType) => any;
|
17
|
+
export declare const buildBatchUpdateQuery: <E>(opts: {
|
18
|
+
tableName: string;
|
19
|
+
keys: (keyof E)[];
|
20
|
+
data: AnyType[];
|
21
|
+
setKeys: (keyof E | {
|
22
|
+
sourceKey: keyof E;
|
23
|
+
targetKey: keyof E;
|
24
|
+
})[];
|
25
|
+
whereKeys: (keyof E | {
|
26
|
+
sourceKey: keyof E;
|
27
|
+
targetKey: keyof E;
|
28
|
+
})[];
|
29
|
+
whereRaws?: string[];
|
30
|
+
}) => string;
|
@@ -1,6 +1,14 @@
|
|
1
1
|
"use strict";
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
|
+
};
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getTableDefinition = void 0;
|
6
|
+
exports.buildBatchUpdateQuery = exports.getValue = exports.getTableDefinition = void 0;
|
7
|
+
const helpers_1 = require("../helpers");
|
8
|
+
const get_1 = __importDefault(require("lodash/get"));
|
9
|
+
const pick_1 = __importDefault(require("lodash/pick"));
|
10
|
+
const snakeCase_1 = __importDefault(require("lodash/snakeCase"));
|
11
|
+
const error_utility_1 = require("./error.utility");
|
4
12
|
const getTableDefinition = (opts) => {
|
5
13
|
const { model, alias } = opts;
|
6
14
|
const tableAlias = alias !== null && alias !== void 0 ? alias : model.name.toLowerCase();
|
@@ -35,4 +43,101 @@ const getTableDefinition = (opts) => {
|
|
35
43
|
};
|
36
44
|
};
|
37
45
|
exports.getTableDefinition = getTableDefinition;
|
46
|
+
// --------------------------------------------------------------------------------
|
47
|
+
const getValue = (value) => {
|
48
|
+
switch (typeof value) {
|
49
|
+
case null: {
|
50
|
+
return 'null';
|
51
|
+
}
|
52
|
+
case 'number': {
|
53
|
+
return value === null || value === void 0 ? void 0 : value.toString();
|
54
|
+
}
|
55
|
+
case 'boolean': {
|
56
|
+
return value;
|
57
|
+
}
|
58
|
+
case 'string': {
|
59
|
+
if ((value === null || value === void 0 ? void 0 : value.toString().trim()) === '') {
|
60
|
+
return "''";
|
61
|
+
}
|
62
|
+
return `'${value === null || value === void 0 ? void 0 : value.toString().replace(/'/g, "''")}'`;
|
63
|
+
}
|
64
|
+
default: {
|
65
|
+
return `'${value}'`;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
};
|
69
|
+
exports.getValue = getValue;
|
70
|
+
// --------------------------------------------------------------------------------
|
71
|
+
const buildBatchUpdateQuery = (opts) => {
|
72
|
+
const { data, tableName, keys, setKeys, whereKeys, whereRaws = [] } = opts;
|
73
|
+
const withAlias = 't';
|
74
|
+
if (!data.length || !keys.length || !setKeys.length || !whereKeys.length) {
|
75
|
+
helpers_1.applicationLogger.error('[batchUpdate] Missing required fields | Data: %d | Keys: %d | Set Keys: %d | Where Keys: %d', data.length, keys.length, setKeys.length, whereKeys.length);
|
76
|
+
throw (0, error_utility_1.getError)({
|
77
|
+
message: '[batchUpdate] Missing required fields',
|
78
|
+
});
|
79
|
+
}
|
80
|
+
// ----------------------------------------
|
81
|
+
const formattedData = data.map(obj => (0, pick_1.default)(obj, ...keys));
|
82
|
+
const withValues = formattedData.map(obj => {
|
83
|
+
const values = [];
|
84
|
+
for (const k of Object.keys(obj).sort()) {
|
85
|
+
const value = (0, get_1.default)(obj, k, null);
|
86
|
+
switch (typeof value) {
|
87
|
+
case 'object': {
|
88
|
+
values.push((0, exports.getValue)(JSON.stringify(value)));
|
89
|
+
break;
|
90
|
+
}
|
91
|
+
default: {
|
92
|
+
values.push((0, exports.getValue)(value));
|
93
|
+
break;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
97
|
+
return `(${values.toString()})`;
|
98
|
+
});
|
99
|
+
const withKeys = keys.map(key => (0, snakeCase_1.default)(String(key))).sort();
|
100
|
+
// ----------------------------------------
|
101
|
+
const updateSets = [];
|
102
|
+
for (const key of setKeys) {
|
103
|
+
switch (typeof key) {
|
104
|
+
case 'string': {
|
105
|
+
updateSets.push(`"${(0, snakeCase_1.default)(key)}" = ${withAlias}."${(0, snakeCase_1.default)(key)}"`);
|
106
|
+
break;
|
107
|
+
}
|
108
|
+
case 'object': {
|
109
|
+
updateSets.push(`"${(0, snakeCase_1.default)(String(key.targetKey))}" = ${withAlias}."${(0, snakeCase_1.default)(String(key.sourceKey))}"::JSONB`);
|
110
|
+
break;
|
111
|
+
}
|
112
|
+
default: {
|
113
|
+
break;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
}
|
117
|
+
// ----------------------------------------
|
118
|
+
const updateWheres = [];
|
119
|
+
for (const key of whereKeys) {
|
120
|
+
switch (typeof key) {
|
121
|
+
case 'string': {
|
122
|
+
updateWheres.push(`"${tableName}"."${(0, snakeCase_1.default)(key)}" = ${withAlias}."${(0, snakeCase_1.default)(key)}"`);
|
123
|
+
break;
|
124
|
+
}
|
125
|
+
case 'object': {
|
126
|
+
updateWheres.push(`${(0, snakeCase_1.default)(String(key.targetKey))} = ${withAlias}."${(0, snakeCase_1.default)(String(key.sourceKey))}"`);
|
127
|
+
break;
|
128
|
+
}
|
129
|
+
default: {
|
130
|
+
break;
|
131
|
+
}
|
132
|
+
}
|
133
|
+
}
|
134
|
+
// ----------------------------------------
|
135
|
+
return `WITH ${withAlias} (${withKeys}) AS (VALUES ${withValues})
|
136
|
+
UPDATE "${tableName}"
|
137
|
+
SET ${updateSets.join(', ')}
|
138
|
+
FROM ${withAlias}
|
139
|
+
WHERE ${updateWheres.join(' AND ')}
|
140
|
+
${whereRaws.length ? `AND ${whereRaws.join(', AND')}` : ''};`;
|
141
|
+
};
|
142
|
+
exports.buildBatchUpdateQuery = buildBatchUpdateQuery;
|
38
143
|
//# sourceMappingURL=query.utility.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"query.utility.js","sourceRoot":"","sources":["../../src/utilities/query.utility.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"query.utility.js","sourceRoot":"","sources":["../../src/utilities/query.utility.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@minimaltech/node-infra",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.4.0",
|
4
4
|
"description": "Minimal Technology NodeJS Infrastructure - Loopback 4 Framework",
|
5
5
|
"keywords": [
|
6
6
|
"web",
|
@@ -145,7 +145,8 @@
|
|
145
145
|
"socket.io": "^4.8.1",
|
146
146
|
"socket.io-client": "^4.8.1",
|
147
147
|
"winston": "^3.17.0",
|
148
|
-
"winston-daily-rotate-file": "^5.0.0"
|
148
|
+
"winston-daily-rotate-file": "^5.0.0",
|
149
|
+
"winston-transport": "^4.9.0"
|
149
150
|
},
|
150
151
|
"devDependencies": {
|
151
152
|
"@loopback/build": "^11.0.7",
|