evaengine 0.11.2 → 1.0.1

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 (141) hide show
  1. package/.ai/analysis.md +657 -0
  2. package/.ai/architecture/runtime.md +504 -0
  3. package/.ai/contracts/public-api.md +447 -0
  4. package/.ai/external-project-guide.md +248 -0
  5. package/.ai/vision.md +314 -0
  6. package/README.md +51 -62
  7. package/bin/engine +15 -21
  8. package/index.js +2 -18
  9. package/package.json +60 -64
  10. package/src/commands/index.js +12 -0
  11. package/{lib → src}/commands/interface.js +5 -11
  12. package/src/commands/make_entity.js +490 -0
  13. package/src/commands/tramp.js +34 -0
  14. package/{lib → src}/config/index.js +7 -9
  15. package/{lib → src}/di.js +11 -26
  16. package/src/engine.js +551 -0
  17. package/{lib → src}/entities/index.js +72 -82
  18. package/{lib → src}/exceptions/index.js +71 -92
  19. package/src/index.js +57 -0
  20. package/src/middlewares/auth.js +67 -0
  21. package/src/middlewares/auth_kong.js +28 -0
  22. package/src/middlewares/debug.js +88 -0
  23. package/src/middlewares/index.js +18 -0
  24. package/src/middlewares/providers.js +73 -0
  25. package/src/middlewares/session.js +58 -0
  26. package/{lib → src}/middlewares/trace.js +74 -86
  27. package/src/middlewares/validator.js +50 -0
  28. package/src/middlewares/view_cache.js +127 -0
  29. package/{lib → src}/services/cache.js +45 -56
  30. package/src/services/config.js +111 -0
  31. package/src/services/env.js +28 -0
  32. package/src/services/event_manager.js +84 -0
  33. package/src/services/http_client.js +160 -0
  34. package/src/services/index.js +27 -0
  35. package/src/services/interface.js +5 -0
  36. package/src/services/joi.js +13 -0
  37. package/src/services/jwt_token.js +89 -0
  38. package/src/services/jwt_token_kong.js +75 -0
  39. package/src/services/logger.js +148 -0
  40. package/src/services/namespace.js +176 -0
  41. package/src/services/now.js +49 -0
  42. package/src/services/providers.js +158 -0
  43. package/src/services/redis.js +55 -0
  44. package/src/services/rest_client.js +112 -0
  45. package/src/swagger/index.js +668 -0
  46. package/{lib → src}/utils/api_scaffold.js +26 -39
  47. package/src/utils/case_converter.js +33 -0
  48. package/src/utils/crc32.js +44 -0
  49. package/src/utils/datetime.js +13 -0
  50. package/src/utils/host.js +39 -0
  51. package/src/utils/index.js +35 -0
  52. package/{lib → src}/utils/pagination.js +22 -31
  53. package/src/utils/random.js +23 -0
  54. package/{lib → src}/utils/smart_query.js +27 -27
  55. package/src/utils/test.js +48 -0
  56. package/src/utils/wrapper.js +8 -0
  57. package/bin/engine-babel +0 -38
  58. package/lib/commands/index.js +0 -25
  59. package/lib/commands/index.js.map +0 -1
  60. package/lib/commands/interface.js.map +0 -1
  61. package/lib/commands/make_entity.js +0 -549
  62. package/lib/commands/make_entity.js.map +0 -1
  63. package/lib/commands/tramp.js +0 -53
  64. package/lib/commands/tramp.js.map +0 -1
  65. package/lib/config/index.js.map +0 -1
  66. package/lib/di.js.map +0 -1
  67. package/lib/engine.js +0 -558
  68. package/lib/engine.js.map +0 -1
  69. package/lib/entities/index.js.map +0 -1
  70. package/lib/exceptions/index.js.map +0 -1
  71. package/lib/index.js +0 -105
  72. package/lib/index.js.map +0 -1
  73. package/lib/middlewares/auth.js +0 -97
  74. package/lib/middlewares/auth.js.map +0 -1
  75. package/lib/middlewares/auth_kong.js +0 -48
  76. package/lib/middlewares/auth_kong.js.map +0 -1
  77. package/lib/middlewares/debug.js +0 -68
  78. package/lib/middlewares/debug.js.map +0 -1
  79. package/lib/middlewares/index.js +0 -45
  80. package/lib/middlewares/index.js.map +0 -1
  81. package/lib/middlewares/providers.js +0 -102
  82. package/lib/middlewares/providers.js.map +0 -1
  83. package/lib/middlewares/session.js +0 -76
  84. package/lib/middlewares/session.js.map +0 -1
  85. package/lib/middlewares/trace.js.map +0 -1
  86. package/lib/middlewares/validator.js +0 -71
  87. package/lib/middlewares/validator.js.map +0 -1
  88. package/lib/middlewares/view_cache.js +0 -160
  89. package/lib/middlewares/view_cache.js.map +0 -1
  90. package/lib/services/cache.js.map +0 -1
  91. package/lib/services/config.js +0 -140
  92. package/lib/services/config.js.map +0 -1
  93. package/lib/services/env.js +0 -40
  94. package/lib/services/env.js.map +0 -1
  95. package/lib/services/event_manager.js +0 -110
  96. package/lib/services/event_manager.js.map +0 -1
  97. package/lib/services/http_client.js +0 -178
  98. package/lib/services/http_client.js.map +0 -1
  99. package/lib/services/index.js +0 -70
  100. package/lib/services/index.js.map +0 -1
  101. package/lib/services/interface.js +0 -12
  102. package/lib/services/interface.js.map +0 -1
  103. package/lib/services/joi.js +0 -28
  104. package/lib/services/joi.js.map +0 -1
  105. package/lib/services/jwt_token.js +0 -120
  106. package/lib/services/jwt_token.js.map +0 -1
  107. package/lib/services/jwt_token_kong.js +0 -111
  108. package/lib/services/jwt_token_kong.js.map +0 -1
  109. package/lib/services/logger.js +0 -172
  110. package/lib/services/logger.js.map +0 -1
  111. package/lib/services/namespace.js +0 -188
  112. package/lib/services/namespace.js.map +0 -1
  113. package/lib/services/now.js +0 -69
  114. package/lib/services/now.js.map +0 -1
  115. package/lib/services/providers.js +0 -195
  116. package/lib/services/providers.js.map +0 -1
  117. package/lib/services/redis.js +0 -77
  118. package/lib/services/redis.js.map +0 -1
  119. package/lib/services/rest_client.js +0 -136
  120. package/lib/services/rest_client.js.map +0 -1
  121. package/lib/swagger/index.js +0 -684
  122. package/lib/swagger/index.js.map +0 -1
  123. package/lib/utils/api_scaffold.js.map +0 -1
  124. package/lib/utils/case_converter.js +0 -48
  125. package/lib/utils/case_converter.js.map +0 -1
  126. package/lib/utils/crc32.js +0 -22
  127. package/lib/utils/crc32.js.map +0 -1
  128. package/lib/utils/datetime.js +0 -21
  129. package/lib/utils/datetime.js.map +0 -1
  130. package/lib/utils/host.js +0 -48
  131. package/lib/utils/host.js.map +0 -1
  132. package/lib/utils/index.js +0 -61
  133. package/lib/utils/index.js.map +0 -1
  134. package/lib/utils/pagination.js.map +0 -1
  135. package/lib/utils/random.js +0 -33
  136. package/lib/utils/random.js.map +0 -1
  137. package/lib/utils/smart_query.js.map +0 -1
  138. package/lib/utils/test.js +0 -62
  139. package/lib/utils/test.js.map +0 -1
  140. package/lib/utils/wrapper.js +0 -9
  141. package/lib/utils/wrapper.js.map +0 -1
@@ -1,111 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = undefined;
7
-
8
- var _dec, _class;
9
-
10
- var _constitute = require('constitute');
11
-
12
- var _jwtSimple = require('jwt-simple');
13
-
14
- var _jwtSimple2 = _interopRequireDefault(_jwtSimple);
15
-
16
- var _lodash = require('lodash');
17
-
18
- var _lodash2 = _interopRequireDefault(_lodash);
19
-
20
- var _exceptions = require('../exceptions');
21
-
22
- var _config = require('./config');
23
-
24
- var _config2 = _interopRequireDefault(_config);
25
-
26
- var _rest_client = require('../services/rest_client');
27
-
28
- var _rest_client2 = _interopRequireDefault(_rest_client);
29
-
30
- var _interface = require('./interface');
31
-
32
- var _interface2 = _interopRequireDefault(_interface);
33
-
34
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
-
36
- function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
37
-
38
- //eslint-disable-line new-cap
39
- let KongJsonWebToken = (_dec = (0, _constitute.Dependencies)(_config2.default, _rest_client2.default), _dec(_class = class KongJsonWebToken extends _interface2.default {
40
- /**
41
- * @param config {Config}
42
- * @param restClient {RestClient}
43
- */
44
- constructor(config, restClient) {
45
- super();
46
- this.restClient = restClient;
47
- this.config = config.get('token');
48
- if (!_lodash2.default.get(this.config, 'kong.endpoint')) {
49
- throw new _exceptions.RuntimeException('config item `token.kong.endpoint` can not be null');
50
- }
51
- }
52
-
53
- getProto() {
54
- return _jwtSimple2.default;
55
- }
56
-
57
- save(uid, item) {
58
- var _this = this;
59
-
60
- return _asyncToGenerator(function* () {
61
- const toSaveItem = Object.assign({ uid }, item);
62
- const tokenString = _this.encode(toSaveItem);
63
- yield _this.restClient.request({
64
- url: `${_this.config.kong.endpoint}/rbac/credentials`,
65
- method: 'post',
66
- body: {
67
- custom_id: uid.toString(),
68
- username: item.username || null,
69
- key: tokenString,
70
- expired_at: item.expiredAt ? item.expiredAt * 1000 : null
71
- }
72
- });
73
- return tokenString;
74
- })();
75
- }
76
-
77
- find(tokenString) {
78
- var _this2 = this;
79
-
80
- return _asyncToGenerator(function* () {
81
- if (!tokenString) {
82
- return { uid: null, expiredAt: 0 };
83
- }
84
- const parsedToken = _this2.decode(tokenString);
85
- if (!parsedToken || !{}.hasOwnProperty.call(parsedToken, 'uid')) {
86
- return { uid: null, expiredAt: 0 };
87
- }
88
- return parsedToken;
89
- })();
90
- }
91
-
92
- clear(tokenString) {
93
- if (!tokenString) {
94
- return true;
95
- }
96
- return this.restClient.request({
97
- url: `${this.config.kong.endpoint}/rbac/credentials/${tokenString}`,
98
- method: 'delete'
99
- });
100
- }
101
-
102
- encode(item, secret = this.config.secret) {
103
- return _jwtSimple2.default.encode(item, secret);
104
- }
105
-
106
- decode(str, secret = this.config.secret) {
107
- return _jwtSimple2.default.decode(str, secret);
108
- }
109
- }) || _class);
110
- exports.default = KongJsonWebToken;
111
- //# sourceMappingURL=jwt_token_kong.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/services/jwt_token_kong.js"],"names":["KongJsonWebToken","Config","RestClient","ServiceInterface","constructor","config","restClient","get","_","RuntimeException","getProto","jwt","save","uid","item","toSaveItem","Object","assign","tokenString","encode","request","url","kong","endpoint","method","body","custom_id","toString","username","key","expired_at","expiredAt","find","parsedToken","decode","hasOwnProperty","call","clear","secret","str"],"mappings":";;;;;;;;;AAAA;;AACA;;;;AACA;;;;AAEA;;AACA;;;;AACA;;;;AACA;;;;;;;;AAEkC;IACbA,gB,WADpB,8BAAaC,gBAAb,EAAqBC,qBAArB,C,gBACc,MAAMF,gBAAN,SAA+BG,mBAA/B,CAAgD;AAC7D;;;;AAIAC,cAAYC,MAAZ,EAAoBC,UAApB,EAAgC;AAC9B;AACA,SAAKA,UAAL,GAAkBA,UAAlB;AACA,SAAKD,MAAL,GAAcA,OAAOE,GAAP,CAAW,OAAX,CAAd;AACA,QAAI,CAACC,iBAAED,GAAF,CAAM,KAAKF,MAAX,EAAmB,eAAnB,CAAL,EAA0C;AACxC,YAAM,IAAII,4BAAJ,CAAqB,mDAArB,CAAN;AACD;AACF;;AAEDC,aAAW;AACT,WAAOC,mBAAP;AACD;;AAEKC,MAAN,CAAWC,GAAX,EAAgBC,IAAhB,EAAsB;AAAA;;AAAA;AACpB,YAAMC,aAAaC,OAAOC,MAAP,CAAc,EAAEJ,GAAF,EAAd,EAAuBC,IAAvB,CAAnB;AACA,YAAMI,cAAc,MAAKC,MAAL,CAAYJ,UAAZ,CAApB;AACA,YAAM,MAAKT,UAAL,CAAgBc,OAAhB,CAAwB;AAC5BC,aAAM,GAAE,MAAKhB,MAAL,CAAYiB,IAAZ,CAAiBC,QAAS,mBADN;AAE5BC,gBAAQ,MAFoB;AAG5BC,cAAM;AACJC,qBAAWb,IAAIc,QAAJ,EADP;AAEJC,oBAAUd,KAAKc,QAAL,IAAiB,IAFvB;AAGJC,eAAKX,WAHD;AAIJY,sBAAYhB,KAAKiB,SAAL,GAAiBjB,KAAKiB,SAAL,GAAiB,IAAlC,GAAyC;AAJjD;AAHsB,OAAxB,CAAN;AAUA,aAAOb,WAAP;AAboB;AAcrB;;AAEKc,MAAN,CAAWd,WAAX,EAAwB;AAAA;;AAAA;AACtB,UAAI,CAACA,WAAL,EAAkB;AAChB,eAAO,EAAEL,KAAK,IAAP,EAAakB,WAAW,CAAxB,EAAP;AACD;AACD,YAAME,cAAc,OAAKC,MAAL,CAAYhB,WAAZ,CAApB;AACA,UAAI,CAACe,WAAD,IAAgB,CAAC,GAAGE,cAAH,CAAkBC,IAAlB,CAAuBH,WAAvB,EAAoC,KAApC,CAArB,EAAiE;AAC/D,eAAO,EAAEpB,KAAK,IAAP,EAAakB,WAAW,CAAxB,EAAP;AACD;AACD,aAAOE,WAAP;AARsB;AASvB;;AAEDI,QAAMnB,WAAN,EAAmB;AACjB,QAAI,CAACA,WAAL,EAAkB;AAChB,aAAO,IAAP;AACD;AACD,WAAO,KAAKZ,UAAL,CAAgBc,OAAhB,CAAwB;AAC7BC,WAAM,GAAE,KAAKhB,MAAL,CAAYiB,IAAZ,CAAiBC,QAAS,qBAAoBL,WAAY,EADrC;AAE7BM,cAAQ;AAFqB,KAAxB,CAAP;AAID;;AAEDL,SAAOL,IAAP,EAAawB,SAAS,KAAKjC,MAAL,CAAYiC,MAAlC,EAA0C;AACxC,WAAO3B,oBAAIQ,MAAJ,CAAWL,IAAX,EAAiBwB,MAAjB,CAAP;AACD;;AAEDJ,SAAOK,GAAP,EAAYD,SAAS,KAAKjC,MAAL,CAAYiC,MAAjC,EAAyC;AACvC,WAAO3B,oBAAIuB,MAAJ,CAAWK,GAAX,EAAgBD,MAAhB,CAAP;AACD;AA7D4D,C;kBAA1CtC,gB","file":"jwt_token_kong.js","sourcesContent":["import { Dependencies } from 'constitute';\nimport jwt from 'jwt-simple';\nimport _ from 'lodash';\n\nimport { RuntimeException } from '../exceptions';\nimport Config from './config';\nimport RestClient from '../services/rest_client';\nimport ServiceInterface from './interface';\n\n@Dependencies(Config, RestClient) //eslint-disable-line new-cap\nexport default class KongJsonWebToken extends ServiceInterface {\n /**\n * @param config {Config}\n * @param restClient {RestClient}\n */\n constructor(config, restClient) {\n super();\n this.restClient = restClient;\n this.config = config.get('token');\n if (!_.get(this.config, 'kong.endpoint')) {\n throw new RuntimeException('config item `token.kong.endpoint` can not be null');\n }\n }\n\n getProto() {\n return jwt;\n }\n\n async save(uid, item) {\n const toSaveItem = Object.assign({ uid }, item);\n const tokenString = this.encode(toSaveItem);\n await this.restClient.request({\n url: `${this.config.kong.endpoint}/rbac/credentials`,\n method: 'post',\n body: {\n custom_id: uid.toString(),\n username: item.username || null,\n key: tokenString,\n expired_at: item.expiredAt ? item.expiredAt * 1000 : null\n }\n });\n return tokenString;\n }\n\n async find(tokenString) {\n if (!tokenString) {\n return { uid: null, expiredAt: 0 };\n }\n const parsedToken = this.decode(tokenString);\n if (!parsedToken || !{}.hasOwnProperty.call(parsedToken, 'uid')) {\n return { uid: null, expiredAt: 0 };\n }\n return parsedToken;\n }\n\n clear(tokenString) {\n if (!tokenString) {\n return true;\n }\n return this.restClient.request({\n url: `${this.config.kong.endpoint}/rbac/credentials/${tokenString}`,\n method: 'delete'\n });\n }\n\n encode(item, secret = this.config.secret) {\n return jwt.encode(item, secret);\n }\n\n decode(str, secret = this.config.secret) {\n return jwt.decode(str, secret);\n }\n}\n"]}
@@ -1,172 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = undefined;
7
-
8
- var _dec, _class;
9
-
10
- var _constitute = require('constitute');
11
-
12
- var _momentTimezone = require('moment-timezone');
13
-
14
- var _momentTimezone2 = _interopRequireDefault(_momentTimezone);
15
-
16
- var _winston = require('winston');
17
-
18
- var _winston2 = _interopRequireDefault(_winston);
19
-
20
- var _util = require('util');
21
-
22
- var _env = require('./env');
23
-
24
- var _env2 = _interopRequireDefault(_env);
25
-
26
- var _config = require('./config');
27
-
28
- var _config2 = _interopRequireDefault(_config);
29
-
30
- var _namespace = require('./namespace');
31
-
32
- var _namespace2 = _interopRequireDefault(_namespace);
33
-
34
- var _interface = require('./interface');
35
-
36
- var _interface2 = _interopRequireDefault(_interface);
37
-
38
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
-
40
- //eslint-disable-line new-cap
41
- let Logger = (_dec = (0, _constitute.Dependencies)(_env2.default, _config2.default, _namespace2.default), _dec(_class = class Logger extends _interface2.default {
42
- /**
43
- * @param env {Env}
44
- * @param config {Config}
45
- * @param namespace {Namespace}
46
- */
47
- constructor(env, config, namespace) {
48
- super();
49
- this.env = env;
50
- this.config = config;
51
- this.namespace = namespace;
52
-
53
- let level = env.isProduction() ? 'info' : 'debug';
54
- if (process.env.LOG_LEVEL) {
55
- level = process.env.LOG_LEVEL;
56
- }
57
- this.level = level;
58
- _winston2.default.level = level;
59
- this.instance = null;
60
- this.label = null;
61
- this.logfile = null;
62
- }
63
-
64
- getProto() {
65
- return _winston2.default;
66
- }
67
-
68
- getWinston() {
69
- return _winston2.default;
70
- }
71
-
72
- setLogFile(logfile) {
73
- this.logfile = logfile;
74
- return this;
75
- }
76
-
77
- setLabel(label) {
78
- this.label = label;
79
- return this;
80
- }
81
-
82
- setLevel(level) {
83
- this.level = level;
84
- return this;
85
- }
86
-
87
- /**
88
- * @returns {winston.Logger}
89
- */
90
- getInstance() {
91
- if (this.instance) {
92
- return this.instance;
93
- }
94
- const logPath = this.logfile || this.config.get('logger.file');
95
- this.instance = this.factory(logPath);
96
- return this.instance;
97
- }
98
-
99
- /**
100
- * @param logPath
101
- * @param key
102
- * @param level
103
- * @returns {winston.Logger}
104
- */
105
- factory(logPath, key = 'global', level = this.level) {
106
- const timestamp = () => (0, _momentTimezone2.default)().format();
107
- return logPath ? new _winston2.default.Logger({
108
- transports: [new _winston2.default.transports.Console({
109
- name: `${key}-console`,
110
- timestamp,
111
- level,
112
- label: this.label
113
- }), new _winston2.default.transports.File({
114
- name: `${key}-file`,
115
- timestamp,
116
- json: false,
117
- level,
118
- label: this.label,
119
- filename: logPath
120
- })]
121
- }) : new _winston2.default.Logger({
122
- transports: [new _winston2.default.transports.Console({
123
- name: `${key}-console`,
124
- timestamp,
125
- level,
126
- label: this.label,
127
- colorize: !this.env.isProduction(),
128
- prettyPrint: !this.env.isProduction()
129
- })]
130
- });
131
- }
132
-
133
- populateTraceId(args) {
134
- if (!this.namespace.get('tracer')) {
135
- return args;
136
- }
137
- const { spanId, traceId } = this.namespace.get('tracer') || {};
138
- if (spanId) {
139
- args.push(spanId);
140
- }
141
- if (spanId !== traceId) {
142
- args.push(traceId);
143
- }
144
- return args;
145
- }
146
-
147
- debug(...args) {
148
- return this.getInstance().debug(...this.populateTraceId(args));
149
- }
150
-
151
- verbose(...args) {
152
- return this.getInstance().verbose(...this.populateTraceId(args));
153
- }
154
-
155
- info(...args) {
156
- return this.getInstance().info(...this.populateTraceId(args));
157
- }
158
-
159
- warn(...args) {
160
- return this.getInstance().warn(...this.populateTraceId(args));
161
- }
162
-
163
- error(...args) {
164
- return this.getInstance().error(...this.populateTraceId(args));
165
- }
166
-
167
- dump(obj) {
168
- return this.debug((0, _util.inspect)(obj, { depth: null, colors: true }));
169
- }
170
- }) || _class);
171
- exports.default = Logger;
172
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/services/logger.js"],"names":["Logger","Env","Config","Namespace","ServiceInterface","constructor","env","config","namespace","level","isProduction","process","LOG_LEVEL","winston","instance","label","logfile","getProto","getWinston","setLogFile","setLabel","setLevel","getInstance","logPath","get","factory","key","timestamp","format","transports","Console","name","File","json","filename","colorize","prettyPrint","populateTraceId","args","spanId","traceId","push","debug","verbose","info","warn","error","dump","obj","depth","colors"],"mappings":"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","file":"logger.js","sourcesContent":["import { Dependencies } from 'constitute';\nimport moment from 'moment-timezone';\nimport winston from 'winston';\nimport { inspect } from 'util';\nimport Env from './env';\nimport Config from './config';\nimport Namespace from './namespace';\nimport ServiceInterface from './interface';\n\n\n@Dependencies(Env, Config, Namespace) //eslint-disable-line new-cap\nexport default class Logger extends ServiceInterface {\n /**\n * @param env {Env}\n * @param config {Config}\n * @param namespace {Namespace}\n */\n constructor(env, config, namespace) {\n super();\n this.env = env;\n this.config = config;\n this.namespace = namespace;\n\n let level = env.isProduction() ? 'info' : 'debug';\n if (process.env.LOG_LEVEL) {\n level = process.env.LOG_LEVEL;\n }\n this.level = level;\n winston.level = level;\n this.instance = null;\n this.label = null;\n this.logfile = null;\n }\n\n getProto() {\n return winston;\n }\n\n getWinston() {\n return winston;\n }\n\n setLogFile(logfile) {\n this.logfile = logfile;\n return this;\n }\n\n setLabel(label) {\n this.label = label;\n return this;\n }\n\n setLevel(level) {\n this.level = level;\n return this;\n }\n\n /**\n * @returns {winston.Logger}\n */\n getInstance() {\n if (this.instance) {\n return this.instance;\n }\n const logPath = this.logfile || this.config.get('logger.file');\n this.instance = this.factory(logPath);\n return this.instance;\n }\n\n /**\n * @param logPath\n * @param key\n * @param level\n * @returns {winston.Logger}\n */\n factory(logPath, key = 'global', level = this.level) {\n const timestamp = () => moment().format();\n return logPath ? new (winston.Logger)({\n transports: [\n new (winston.transports.Console)({\n name: `${key}-console`,\n timestamp,\n level,\n label: this.label\n }),\n new (winston.transports.File)({\n name: `${key}-file`,\n timestamp,\n json: false,\n level,\n label: this.label,\n filename: logPath\n })\n ]\n }) : new (winston.Logger)({\n transports: [\n new (winston.transports.Console)({\n name: `${key}-console`,\n timestamp,\n level,\n label: this.label,\n colorize: !this.env.isProduction(),\n prettyPrint: !this.env.isProduction()\n })\n ]\n });\n }\n\n populateTraceId(args) {\n if (!this.namespace.get('tracer')) {\n return args;\n }\n const { spanId, traceId } = this.namespace.get('tracer') || {};\n if (spanId) {\n args.push(spanId);\n }\n if (spanId !== traceId) {\n args.push(traceId);\n }\n return args;\n }\n\n debug(...args) {\n return this.getInstance().debug(...this.populateTraceId(args));\n }\n\n verbose(...args) {\n return this.getInstance().verbose(...this.populateTraceId(args));\n }\n\n info(...args) {\n return this.getInstance().info(...this.populateTraceId(args));\n }\n\n warn(...args) {\n return this.getInstance().warn(...this.populateTraceId(args));\n }\n\n error(...args) {\n return this.getInstance().error(...this.populateTraceId(args));\n }\n\n dump(obj) {\n return this.debug(inspect(obj, { depth: null, colors: true }));\n }\n}\n"]}
@@ -1,188 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.NsStore = exports.NullStore = exports.Store = undefined;
7
-
8
- var _dec, _class;
9
-
10
- var _constitute = require('constitute');
11
-
12
- var _continuationLocalStorage = require('continuation-local-storage');
13
-
14
- var _config = require('./config');
15
-
16
- var _config2 = _interopRequireDefault(_config);
17
-
18
- var _exceptions = require('../exceptions');
19
-
20
- var _interface = require('./interface');
21
-
22
- var _interface2 = _interopRequireDefault(_interface);
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- const stores = {};
27
-
28
- let Store = exports.Store = class Store {
29
- get() {
30
- return null;
31
- }
32
-
33
- set() {
34
- return this;
35
- }
36
-
37
- bind() {
38
- return this;
39
- }
40
-
41
- reset() {
42
- return this;
43
- }
44
-
45
- active() {}
46
-
47
- run(callback) {
48
- return callback();
49
- }
50
-
51
- bindEmitter() {
52
- return this;
53
- }
54
-
55
- getContext() {
56
- throw new _exceptions.UnsupportedOperationException('Not able to get namespace context when it be disabled');
57
- }
58
-
59
- createContext() {}
60
- };
61
- let NullStore = exports.NullStore = class NullStore extends Store {};
62
- let NsStore = exports.NsStore = class NsStore extends Store {
63
- constructor(name) {
64
- super();
65
- this.name = name;
66
- (0, _continuationLocalStorage.createNamespace)(name);
67
- }
68
-
69
- get(key) {
70
- return (0, _continuationLocalStorage.getNamespace)(this.name).get(key);
71
- }
72
-
73
- set(key, value) {
74
- (0, _continuationLocalStorage.getNamespace)(this.name).set(key, value);
75
- return this;
76
- }
77
-
78
- bind(...args) {
79
- return (0, _continuationLocalStorage.getNamespace)(this.name).bind(...args);
80
- }
81
-
82
- active() {
83
- return (0, _continuationLocalStorage.getNamespace)(this.name).active();
84
- }
85
-
86
- run(...args) {
87
- return (0, _continuationLocalStorage.getNamespace)(this.name).run(...args);
88
- }
89
-
90
- bindEmitter(...args) {
91
- return (0, _continuationLocalStorage.getNamespace)(this.name).bindEmitter(...args);
92
- }
93
-
94
- getContext() {
95
- return (0, _continuationLocalStorage.getNamespace)(this.name);
96
- }
97
-
98
- createContext() {
99
- return (0, _continuationLocalStorage.getNamespace)(this.name).createContext();
100
- }
101
-
102
- reset() {
103
- (0, _continuationLocalStorage.reset)(this.name);
104
- return this;
105
- }
106
- };
107
- //eslint-disable-line new-cap
108
- let Namespace = (_dec = (0, _constitute.Dependencies)(_config2.default), _dec(_class = class Namespace extends _interface2.default {
109
- /**
110
- * @param config {Config}
111
- */
112
- constructor(config) {
113
- super();
114
- this.config = config.get('namespace');
115
- this.defaultName = config.defaultName || 'eva.ns';
116
- this.store = null;
117
- this.name = null;
118
- }
119
-
120
- isEnabled() {
121
- return this.config.enable;
122
- }
123
-
124
- getDefaultName() {
125
- return this.defaultName;
126
- }
127
-
128
- setDefaultName(name) {
129
- this.defaultName = name;
130
- return this;
131
- }
132
-
133
- getName() {
134
- return this.name;
135
- }
136
-
137
- /**
138
- * @returns {Store}
139
- */
140
- getStore() {
141
- if ({}.hasOwnProperty.call(stores, this.name)) {
142
- return stores[this.name];
143
- }
144
- stores[this.name] = this.config.enable === true ? new NsStore(this.name) : new NullStore(this.name);
145
- return stores[this.name];
146
- }
147
-
148
- destroy(name) {
149
- (0, _continuationLocalStorage.destroyNamespace)(name);
150
- delete stores[name];
151
- return this;
152
- }
153
-
154
- use(ns) {
155
- this.name = ns || this.defaultName;
156
- return this.getStore();
157
- }
158
-
159
- get(key) {
160
- return this.use().get(key);
161
- }
162
-
163
- set(key, value) {
164
- return this.use().set(key, value);
165
- }
166
-
167
- bind(...args) {
168
- return this.use().bind(...args);
169
- }
170
-
171
- active() {
172
- return this.use().active();
173
- }
174
-
175
- run(...args) {
176
- return this.use().run(...args);
177
- }
178
-
179
- bindEmitter(...args) {
180
- return this.use().bindEmitter(...args);
181
- }
182
-
183
- createContext() {
184
- return this.use().createContext();
185
- }
186
- }) || _class);
187
- exports.default = Namespace;
188
- //# sourceMappingURL=namespace.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/services/namespace.js"],"names":["stores","Store","get","set","bind","reset","active","run","callback","bindEmitter","getContext","UnsupportedOperationException","createContext","NullStore","NsStore","constructor","name","key","value","args","Namespace","Config","ServiceInterface","config","defaultName","store","isEnabled","enable","getDefaultName","setDefaultName","getName","getStore","hasOwnProperty","call","destroy","use","ns"],"mappings":"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","file":"namespace.js","sourcesContent":["import { Dependencies } from 'constitute';\nimport { createNamespace, getNamespace, destroyNamespace, reset } from 'continuation-local-storage';\nimport Config from './config';\nimport { UnsupportedOperationException } from '../exceptions';\nimport ServiceInterface from './interface';\n\nconst stores = {};\n\nexport class Store {\n get() {\n return null;\n }\n\n set() {\n return this;\n }\n\n bind() {\n return this;\n }\n\n reset() {\n return this;\n }\n\n active() {\n }\n\n run(callback) {\n return callback();\n }\n\n bindEmitter() {\n return this;\n }\n\n getContext() {\n throw new UnsupportedOperationException('Not able to get namespace context when it be disabled');\n }\n\n createContext() {\n }\n}\n\nexport class NullStore extends Store {\n}\n\nexport class NsStore extends Store {\n constructor(name) {\n super();\n this.name = name;\n createNamespace(name);\n }\n\n get(key) {\n return getNamespace(this.name).get(key);\n }\n\n set(key, value) {\n getNamespace(this.name).set(key, value);\n return this;\n }\n\n bind(...args) {\n return getNamespace(this.name).bind(...args);\n }\n\n active() {\n return getNamespace(this.name).active();\n }\n\n run(...args) {\n return getNamespace(this.name).run(...args);\n }\n\n bindEmitter(...args) {\n return getNamespace(this.name).bindEmitter(...args);\n }\n\n getContext() {\n return getNamespace(this.name);\n }\n\n createContext() {\n return getNamespace(this.name).createContext();\n }\n\n reset() {\n reset(this.name);\n return this;\n }\n}\n\n@Dependencies(Config) //eslint-disable-line new-cap\nexport default class Namespace extends ServiceInterface {\n /**\n * @param config {Config}\n */\n constructor(config) {\n super();\n this.config = config.get('namespace');\n this.defaultName = config.defaultName || 'eva.ns';\n this.store = null;\n this.name = null;\n }\n\n isEnabled() {\n return this.config.enable;\n }\n\n getDefaultName() {\n return this.defaultName;\n }\n\n setDefaultName(name) {\n this.defaultName = name;\n return this;\n }\n\n getName() {\n return this.name;\n }\n\n /**\n * @returns {Store}\n */\n getStore() {\n if ({}.hasOwnProperty.call(stores, this.name)) {\n return stores[this.name];\n }\n stores[this.name] = this.config.enable === true ?\n new NsStore(this.name) : new NullStore(this.name);\n return stores[this.name];\n }\n\n destroy(name) {\n destroyNamespace(name);\n delete stores[name];\n return this;\n }\n\n use(ns) {\n this.name = ns || this.defaultName;\n return this.getStore();\n }\n\n get(key) {\n return this.use().get(key);\n }\n\n set(key, value) {\n return this.use().set(key, value);\n }\n\n bind(...args) {\n return this.use().bind(...args);\n }\n\n active() {\n return this.use().active();\n }\n\n run(...args) {\n return this.use().run(...args);\n }\n\n bindEmitter(...args) {\n return this.use().bindEmitter(...args);\n }\n\n createContext() {\n return this.use().createContext();\n }\n}\n"]}
@@ -1,69 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = undefined;
7
-
8
- var _dec, _class;
9
-
10
- var _constitute = require('constitute');
11
-
12
- var _momentTimezone = require('moment-timezone');
13
-
14
- var _momentTimezone2 = _interopRequireDefault(_momentTimezone);
15
-
16
- var _datetime = require('../utils/datetime');
17
-
18
- var _logger = require('./logger');
19
-
20
- var _logger2 = _interopRequireDefault(_logger);
21
-
22
- var _interface = require('./interface');
23
-
24
- var _interface2 = _interopRequireDefault(_interface);
25
-
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
- //eslint-disable-line new-cap
29
- let Now = (_dec = (0, _constitute.Dependencies)(_logger2.default), _dec(_class = class Now extends _interface2.default {
30
- /**
31
- * @param {Logger} logger
32
- */
33
- constructor(logger) {
34
- super();
35
- this.logger = logger;
36
- this.now = null;
37
- }
38
-
39
- setNow(now) {
40
- if (typeof now === 'number') {
41
- this.now = now;
42
- } else if (now instanceof _momentTimezone2.default) {
43
- this.now = now.unix();
44
- } else {
45
- this.now = (0, _momentTimezone2.default)(now).unix();
46
- }
47
- this.logger.warn('Now has been force changed to %s', _momentTimezone2.default.unix(this.now));
48
- return this;
49
- }
50
-
51
- clear() {
52
- this.now = null;
53
- return this;
54
- }
55
-
56
- getTimestamp() {
57
- return this.now || (0, _datetime.getTimestamp)();
58
- }
59
-
60
- getMoment() {
61
- return this.now ? _momentTimezone2.default.unix(this.now) : (0, _momentTimezone2.default)();
62
- }
63
-
64
- getDatabaseDatetime() {
65
- return this.now ? _momentTimezone2.default.unix(this.now).format('YYYY-MM-DD HH:mm:ss') : (0, _datetime.getDatabaseDatetime)();
66
- }
67
- }) || _class);
68
- exports.default = Now;
69
- //# sourceMappingURL=now.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/services/now.js"],"names":["Now","Logger","ServiceInterface","constructor","logger","now","setNow","moment","unix","warn","clear","getTimestamp","getMoment","getDatabaseDatetime","format"],"mappings":";;;;;;;;;AAAA;;AACA;;;;AACA;;AACA;;;;AACA;;;;;;AAEsB;IACDA,G,WADpB,8BAAaC,gBAAb,C,gBACc,MAAMD,GAAN,SAAkBE,mBAAlB,CAAmC;AAChD;;;AAGAC,cAAYC,MAAZ,EAAoB;AAClB;AACA,SAAKA,MAAL,GAAcA,MAAd;AACA,SAAKC,GAAL,GAAW,IAAX;AACD;;AAEDC,SAAOD,GAAP,EAAY;AACV,QAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B,WAAKA,GAAL,GAAWA,GAAX;AACD,KAFD,MAEO,IAAIA,eAAeE,wBAAnB,EAA2B;AAChC,WAAKF,GAAL,GAAWA,IAAIG,IAAJ,EAAX;AACD,KAFM,MAEA;AACL,WAAKH,GAAL,GAAW,8BAAOA,GAAP,EAAYG,IAAZ,EAAX;AACD;AACD,SAAKJ,MAAL,CAAYK,IAAZ,CAAiB,kCAAjB,EAAqDF,yBAAOC,IAAP,CAAY,KAAKH,GAAjB,CAArD;AACA,WAAO,IAAP;AACD;;AAEDK,UAAQ;AACN,SAAKL,GAAL,GAAW,IAAX;AACA,WAAO,IAAP;AACD;;AAEDM,iBAAe;AACb,WAAO,KAAKN,GAAL,IAAY,6BAAnB;AACD;;AAEDO,cAAY;AACV,WAAO,KAAKP,GAAL,GAAWE,yBAAOC,IAAP,CAAY,KAAKH,GAAjB,CAAX,GAAmC,+BAA1C;AACD;;AAEDQ,wBAAsB;AACpB,WAAO,KAAKR,GAAL,GAAWE,yBAAOC,IAAP,CAAY,KAAKH,GAAjB,EAAsBS,MAAtB,CAA6B,qBAA7B,CAAX,GAAiE,oCAAxE;AACD;AArC+C,C;kBAA7Bd,G","file":"now.js","sourcesContent":["import { Dependencies } from 'constitute';\nimport moment from 'moment-timezone';\nimport { getTimestamp, getDatabaseDatetime } from '../utils/datetime';\nimport Logger from './logger';\nimport ServiceInterface from './interface';\n\n@Dependencies(Logger) //eslint-disable-line new-cap\nexport default class Now extends ServiceInterface {\n /**\n * @param {Logger} logger\n */\n constructor(logger) {\n super();\n this.logger = logger;\n this.now = null;\n }\n\n setNow(now) {\n if (typeof now === 'number') {\n this.now = now;\n } else if (now instanceof moment) {\n this.now = now.unix();\n } else {\n this.now = moment(now).unix();\n }\n this.logger.warn('Now has been force changed to %s', moment.unix(this.now));\n return this;\n }\n\n clear() {\n this.now = null;\n return this;\n }\n\n getTimestamp() {\n return this.now || getTimestamp();\n }\n\n getMoment() {\n return this.now ? moment.unix(this.now) : moment();\n }\n\n getDatabaseDatetime() {\n return this.now ? moment.unix(this.now).format('YYYY-MM-DD HH:mm:ss') : getDatabaseDatetime();\n }\n}\n\n"]}