@creatioart-js/express-storage 0.1.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.
Files changed (40) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +192 -0
  3. package/README.md +87 -0
  4. package/lib/enum/database.type.d.ts +4 -0
  5. package/lib/enum/database.type.js +9 -0
  6. package/lib/enum/database.type.js.map +1 -0
  7. package/lib/index.d.ts +11 -0
  8. package/lib/index.js +16 -0
  9. package/lib/index.js.map +1 -0
  10. package/lib/repository/base.datastore.repository.d.ts +14 -0
  11. package/lib/repository/base.datastore.repository.js +161 -0
  12. package/lib/repository/base.datastore.repository.js.map +1 -0
  13. package/lib/repository/base.firestore.repository.d.ts +14 -0
  14. package/lib/repository/base.firestore.repository.js +165 -0
  15. package/lib/repository/base.firestore.repository.js.map +1 -0
  16. package/lib/repository/interfaces/iRepository.d.ts +9 -0
  17. package/lib/repository/interfaces/iRepository.js +3 -0
  18. package/lib/repository/interfaces/iRepository.js.map +1 -0
  19. package/lib/repository/interfaces/iRepository.manager.repository.d.ts +4 -0
  20. package/lib/repository/interfaces/iRepository.manager.repository.js +3 -0
  21. package/lib/repository/interfaces/iRepository.manager.repository.js.map +1 -0
  22. package/lib/service/base.service.d.ts +15 -0
  23. package/lib/service/base.service.js +114 -0
  24. package/lib/service/base.service.js.map +1 -0
  25. package/lib/service/big.query.service.d.ts +6 -0
  26. package/lib/service/big.query.service.js +183 -0
  27. package/lib/service/big.query.service.js.map +1 -0
  28. package/lib/service/interfaces/ibase.service.d.ts +10 -0
  29. package/lib/service/interfaces/ibase.service.js +3 -0
  30. package/lib/service/interfaces/ibase.service.js.map +1 -0
  31. package/lib/service/interfaces/ibig.query.service.d.ts +4 -0
  32. package/lib/service/interfaces/ibig.query.service.js +3 -0
  33. package/lib/service/interfaces/ibig.query.service.js.map +1 -0
  34. package/lib/service/interfaces/iredis.cache.service.d.ts +7 -0
  35. package/lib/service/interfaces/iredis.cache.service.js +3 -0
  36. package/lib/service/interfaces/iredis.cache.service.js.map +1 -0
  37. package/lib/service/redis.cache.service.d.ts +18 -0
  38. package/lib/service/redis.cache.service.js +172 -0
  39. package/lib/service/redis.cache.service.js.map +1 -0
  40. package/package.json +124 -0
@@ -0,0 +1,18 @@
1
+ import 'reflect-metadata';
2
+ import { IRedisCacheService } from './interfaces/iredis.cache.service';
3
+ import { RedisClientType } from 'redis';
4
+ export declare class RedisCacheService implements IRedisCacheService {
5
+ connectRetryTimeMls: number;
6
+ reconnecAfterMls: number;
7
+ connectAttempt: number;
8
+ private host;
9
+ private port;
10
+ private auth;
11
+ private db;
12
+ constructor(host: any, port: any, auth: any, db: any, connectRetryTimeMls?: number, reconnecAfterMls?: number);
13
+ getElement(key: string, traceId: string): Promise<any>;
14
+ setElement(key: string, data: any, timeSeg: number, traceId: string): Promise<void>;
15
+ removeElement(key: string, traceId: string): Promise<void>;
16
+ disconnect(client: RedisClientType<any> | undefined, traceId: string): Promise<void>;
17
+ private connect;
18
+ }
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedisCacheService = void 0;
4
+ require("reflect-metadata");
5
+ const express_logging_1 = require("@creatioart-js/express-logging");
6
+ const redis_1 = require("redis");
7
+ const express_core_1 = require("@creatioart-js/express-core");
8
+ class RedisCacheService {
9
+ connectRetryTimeMls;
10
+ reconnecAfterMls;
11
+ connectAttempt;
12
+ host;
13
+ port;
14
+ auth;
15
+ db;
16
+ constructor(host, port, auth, db, connectRetryTimeMls = 30000, reconnecAfterMls = 2000) {
17
+ this.host = host;
18
+ this.port = port;
19
+ this.auth = auth;
20
+ this.db = db;
21
+ if (connectRetryTimeMls > 1000 && reconnecAfterMls > 1000 && connectRetryTimeMls >= reconnecAfterMls) {
22
+ this.connectRetryTimeMls = connectRetryTimeMls;
23
+ this.reconnecAfterMls = reconnecAfterMls;
24
+ this.connectAttempt = Math.round(connectRetryTimeMls / reconnecAfterMls);
25
+ }
26
+ else {
27
+ this.connectRetryTimeMls = 30000;
28
+ this.reconnecAfterMls = 2000;
29
+ this.connectAttempt = 15;
30
+ }
31
+ }
32
+ async getElement(key, traceId) {
33
+ let client;
34
+ let response;
35
+ try {
36
+ client = await this.connect(traceId);
37
+ if (client !== undefined) {
38
+ (0, express_logging_1.Logger)().info(`[Cache Manager - GET] Get the element in cache by ${key} key. Trace: ${traceId}`);
39
+ const reply = await client.get(key);
40
+ if (reply !== undefined && reply !== null) {
41
+ response = JSON.parse(Buffer.from(reply, 'base64').toString());
42
+ }
43
+ }
44
+ }
45
+ catch (error) {
46
+ (0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(error, traceId));
47
+ (0, express_logging_1.Logger)().error(`[Cache Manager - GET] Warn to Get the element in cache by ${key} key. Not Found. ` +
48
+ `Trace: ${traceId}`);
49
+ }
50
+ finally {
51
+ if (client !== undefined) {
52
+ await this.disconnect(client, traceId);
53
+ }
54
+ }
55
+ return response;
56
+ }
57
+ async setElement(key, data, timeSeg, traceId) {
58
+ let client;
59
+ try {
60
+ client = await this.connect(traceId);
61
+ if (client !== undefined) {
62
+ (0, express_logging_1.Logger)().info(`[Cache Manager - SET] Set the element in cache by ${key} key for the time ${timeSeg} seg. ` +
63
+ `Trace: ${traceId}`);
64
+ const value = Buffer.from(JSON.stringify(data)).toString('base64');
65
+ await client.set(key, value, {
66
+ 'EX': timeSeg
67
+ });
68
+ }
69
+ }
70
+ catch (error) {
71
+ (0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(error, traceId));
72
+ (0, express_logging_1.Logger)().error(`[Cache Manager - SET PROMISE] Unexpected error on Set the element in cache by ${key} key ` +
73
+ `for the time ${timeSeg} seg. Trace: ${traceId}`);
74
+ }
75
+ finally {
76
+ if (client !== undefined) {
77
+ await this.disconnect(client, traceId);
78
+ }
79
+ }
80
+ }
81
+ async removeElement(key, traceId) {
82
+ let client;
83
+ try {
84
+ client = await this.connect(traceId);
85
+ if (client !== undefined) {
86
+ (0, express_logging_1.Logger)().info(`[Cache Manager - REMOVE] Remove the element in cache by ${key} key. Trace: ${traceId}`);
87
+ await client.del(key);
88
+ }
89
+ }
90
+ catch (error) {
91
+ (0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(error, traceId));
92
+ (0, express_logging_1.Logger)().error(`[Cache Manager - REMOVE] Unexpected error on Remove the element in cache by ${key} key. ` +
93
+ `Trace: ${traceId}`);
94
+ }
95
+ finally {
96
+ if (client !== undefined) {
97
+ await this.disconnect(client, traceId);
98
+ }
99
+ }
100
+ }
101
+ async disconnect(client, traceId) {
102
+ (0, express_logging_1.Logger)().info(`[Cache Manager - DISCONECT] Disconect the Redis Client. Trace: ${traceId}`);
103
+ try {
104
+ if (client !== undefined) {
105
+ await client.quit();
106
+ }
107
+ }
108
+ catch (error) {
109
+ (0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(error, traceId));
110
+ (0, express_logging_1.Logger)().error(`[Cache Manager - DISCONECT] Error to Disconect Cache Manager Service. Trace: ${traceId}`);
111
+ }
112
+ }
113
+ async connect(traceId) {
114
+ (0, express_logging_1.Logger)().info(`[Cache Manager] Conect to Cache Manager. Trace: ${traceId}`);
115
+ let client;
116
+ try {
117
+ const connectRetryTimeMls = this.connectRetryTimeMls;
118
+ const reconnecAfterMls = this.reconnecAfterMls;
119
+ const connectAttempt = this.connectAttempt;
120
+ const host = this.host;
121
+ const port = this.port;
122
+ const auth = this.auth;
123
+ const db = this.db;
124
+ client = (0, redis_1.createClient)({
125
+ url: `redis://${host}:${port}/${db}`,
126
+ password: auth,
127
+ socket: {
128
+ tls: false,
129
+ connectTimeout: 5000,
130
+ reconnectStrategy: function (options) {
131
+ if (options.error && (options.error.code === 'ECONNREFUSED' || options.error.code === 'NR_CLOSED')) {
132
+ (0, express_logging_1.Logger)().warn(`[Cache Manager - CONNECT EVENT] The redis server refused the connection. ` +
133
+ `Retrying connection... Trace: ${traceId}`);
134
+ }
135
+ if (options.total_retry_time > connectRetryTimeMls) {
136
+ (0, express_logging_1.Logger)().error(`[Cache Manager - CONNECT EVENT] Retry time exhausted. Trace: ${traceId}`);
137
+ return new Error('[Cache Manager - CONNECT EVENT] Retry time exhausted');
138
+ }
139
+ if (options.attempt > connectAttempt) {
140
+ (0, express_logging_1.Logger)().error(`[Cache Manager - CONNECT EVENT] Retry attempt exhausted. Trace: ${traceId}`);
141
+ return new Error('[Cache Manager - CONNECT EVENT] Retry attempt exhausted');
142
+ }
143
+ return reconnecAfterMls;
144
+ }
145
+ }
146
+ });
147
+ client.on('connect', function () {
148
+ });
149
+ client.on('ready', function () {
150
+ (0, express_logging_1.Logger)().info(`[Cache Manager] Connected to the Redis Cache. Trace: ${traceId}`);
151
+ });
152
+ client.on('error', function (err) {
153
+ if (err) {
154
+ (0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(err, traceId));
155
+ (0, express_logging_1.Logger)().error(`[Cache Manager - CONNECT EVENT] Error to Connect the Redis Cache Manager for host on db. ` +
156
+ `Trace: ${traceId}`);
157
+ }
158
+ client = undefined;
159
+ });
160
+ await client.connect();
161
+ }
162
+ catch (error) {
163
+ (0, express_logging_1.Logger)().error(express_core_1.ErrorHelper.toErrorString(error, traceId));
164
+ (0, express_logging_1.Logger)().error(`[Cache Manager - CONNECT EVENT PROMISE] Error to Connect the Redis Cache Manager for ` +
165
+ `${this.host} host on ${this.db} db. Trace: ${traceId}`);
166
+ client = undefined;
167
+ }
168
+ return client;
169
+ }
170
+ }
171
+ exports.RedisCacheService = RedisCacheService;
172
+ //# sourceMappingURL=redis.cache.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redis.cache.service.js","sourceRoot":"","sources":["../../src/service/redis.cache.service.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,124 @@
1
+ {
2
+ "name": "@creatioart-js/express-storage",
3
+ "version": "0.1.0",
4
+ "description": "CreatioART - Core storage library package for Express framework that contains storage management class",
5
+ "keywords": [
6
+ "package",
7
+ "core",
8
+ "express",
9
+ "storage",
10
+ "big query",
11
+ "redis",
12
+ "datastore",
13
+ "firestore"
14
+ ],
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://creatioart@dev.azure.com/creatioart/common/_git/lib-creatio-express-storage"
18
+ },
19
+ "license": "Apache-2.0",
20
+ "author": "CreatioART - CreatioART Support <support@creatioart.com>",
21
+ "main": "lib/index.js",
22
+ "types": "lib/index.d.ts",
23
+ "scripts": {
24
+ "build": "npm-run-all build:*",
25
+ "build:clean": "rimraf ./lib/",
26
+ "build:format": "npm run mdformat",
27
+ "build:lint": "npx eslint ./src/** --max-warnings=0 --config=.eslintrc.json",
28
+ "build:compile": "tsc",
29
+ "mdformat": "npx prettier --write *.md",
30
+ "prewatch": "npm run build",
31
+ "watch": "npm run prewatch -- -w",
32
+ "test": "npm-run-all test:*",
33
+ "test:build": "npm run build",
34
+ "test:clean": "rimraf ./.nyc_output/ ./coverage/",
35
+ "test:lint": "npx eslint ./test/** --max-warnings=0 --config=.eslintrc.json",
36
+ "test:start": "nyc mocha -r ts-node/register 'test/**/*.spec.ts' --exit --timeout 4000",
37
+ "tdd": "nodemon -e ts --watch ./test --exec \"npm run test\"",
38
+ "prepare": "husky",
39
+ "prepublishOnly": "npm run build && npm run test",
40
+ "publish": "npm publish --access public",
41
+ "version": "git add -A src",
42
+ "postversion": "git push && git push --tags",
43
+ "docs": "typedoc --out docs/typedoc/ src/ --tsconfig tsconfig.json"
44
+ },
45
+ "lint-staged": {
46
+ "*.{js,jsx,ts,tsx}": "npx eslint ./src --max-warnings=0 --config=.eslintrc.json",
47
+ "*.md": "npx prettier --write *.md"
48
+ },
49
+ "nodemonConfig": {
50
+ "exec": "node_modules/.bin/ts-node ./src/index.ts",
51
+ "ext": "ts",
52
+ "watch": [
53
+ "src"
54
+ ]
55
+ },
56
+ "nyc": {
57
+ "branches": 100,
58
+ "check-coverage": false,
59
+ "exclude": [
60
+ "**/.mock/*.ts",
61
+ "**/*.spec.ts"
62
+ ],
63
+ "extension": [
64
+ ".ts"
65
+ ],
66
+ "functions": 100,
67
+ "lines": 100,
68
+ "per-file": true,
69
+ "reporter": [
70
+ "text-summary",
71
+ "html"
72
+ ],
73
+ "require": [
74
+ "ts-node/register"
75
+ ],
76
+ "sourceMap": true,
77
+ "statements": 100
78
+ },
79
+ "dependencies": {
80
+ "@creatioart-js/express-core": "^0.4.0",
81
+ "@creatioart-js/express-error": "^0.3.0",
82
+ "@creatioart-js/express-error-handler": "^0.2.0",
83
+ "@creatioart-js/express-logging": "^0.4.0",
84
+ "@types/node": "^22.8.2",
85
+ "class-transformer": "^0.5.1",
86
+ "class-validator": "^0.14.1",
87
+ "redis": "^4.7.0",
88
+ "reflect-metadata": "0.2.2",
89
+ "typedi": "0.10.0"
90
+ },
91
+ "devDependencies": {
92
+ "@npm/types": "^2.0.0",
93
+ "@types/chai": "^5.0.1",
94
+ "@types/eslint": "<9.0.0",
95
+ "@types/glob": "^8.1.0",
96
+ "@types/mocha": "^10.0.9",
97
+ "@types/morgan": "^1.9.9",
98
+ "@types/sinon-chai": "^4.0.0",
99
+ "@types/validator": "^13.12.2",
100
+ "@typescript-eslint/eslint-plugin": "^8.12.1",
101
+ "@typescript-eslint/parser": "^8.12.1",
102
+ "chai": "^5.1.2",
103
+ "chai-http": "^5.1.1",
104
+ "eslint": "<9.0.0",
105
+ "eslint-plugin-n": "^17.11.1",
106
+ "eslint-plugin-promise": "^7.1.0",
107
+ "husky": "^9.1.6",
108
+ "lint-staged": "^15.2.10",
109
+ "mocha": "^10.7.3",
110
+ "nock": "^13.5.5",
111
+ "nodemon": "^3.1.7",
112
+ "npm-run-all": "^4.1.5",
113
+ "nyc": "^17.1.0",
114
+ "prettier": "^3.3.3",
115
+ "sinon": "^19.0.2",
116
+ "sinon-chai": "^4.0.0",
117
+ "ts-node": "^10.9.2",
118
+ "typedoc": "^0.26.10",
119
+ "typescript": "^5.6.3"
120
+ },
121
+ "engines": {
122
+ "node": "20.x.x"
123
+ }
124
+ }