evaengine 0.11.2 → 1.0.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 (105) 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/index.js +57 -0
  11. package/bin/engine-babel +0 -38
  12. package/lib/commands/index.js +0 -25
  13. package/lib/commands/index.js.map +0 -1
  14. package/lib/commands/interface.js +0 -51
  15. package/lib/commands/interface.js.map +0 -1
  16. package/lib/commands/make_entity.js +0 -549
  17. package/lib/commands/make_entity.js.map +0 -1
  18. package/lib/commands/tramp.js +0 -53
  19. package/lib/commands/tramp.js.map +0 -1
  20. package/lib/config/index.js +0 -98
  21. package/lib/config/index.js.map +0 -1
  22. package/lib/di.js +0 -99
  23. package/lib/di.js.map +0 -1
  24. package/lib/engine.js +0 -558
  25. package/lib/engine.js.map +0 -1
  26. package/lib/entities/index.js +0 -283
  27. package/lib/entities/index.js.map +0 -1
  28. package/lib/exceptions/index.js +0 -522
  29. package/lib/exceptions/index.js.map +0 -1
  30. package/lib/index.js +0 -105
  31. package/lib/index.js.map +0 -1
  32. package/lib/middlewares/auth.js +0 -97
  33. package/lib/middlewares/auth.js.map +0 -1
  34. package/lib/middlewares/auth_kong.js +0 -48
  35. package/lib/middlewares/auth_kong.js.map +0 -1
  36. package/lib/middlewares/debug.js +0 -68
  37. package/lib/middlewares/debug.js.map +0 -1
  38. package/lib/middlewares/index.js +0 -45
  39. package/lib/middlewares/index.js.map +0 -1
  40. package/lib/middlewares/providers.js +0 -102
  41. package/lib/middlewares/providers.js.map +0 -1
  42. package/lib/middlewares/session.js +0 -76
  43. package/lib/middlewares/session.js.map +0 -1
  44. package/lib/middlewares/trace.js +0 -241
  45. package/lib/middlewares/trace.js.map +0 -1
  46. package/lib/middlewares/validator.js +0 -71
  47. package/lib/middlewares/validator.js.map +0 -1
  48. package/lib/middlewares/view_cache.js +0 -160
  49. package/lib/middlewares/view_cache.js.map +0 -1
  50. package/lib/services/cache.js +0 -234
  51. package/lib/services/cache.js.map +0 -1
  52. package/lib/services/config.js +0 -140
  53. package/lib/services/config.js.map +0 -1
  54. package/lib/services/env.js +0 -40
  55. package/lib/services/env.js.map +0 -1
  56. package/lib/services/event_manager.js +0 -110
  57. package/lib/services/event_manager.js.map +0 -1
  58. package/lib/services/http_client.js +0 -178
  59. package/lib/services/http_client.js.map +0 -1
  60. package/lib/services/index.js +0 -70
  61. package/lib/services/index.js.map +0 -1
  62. package/lib/services/interface.js +0 -12
  63. package/lib/services/interface.js.map +0 -1
  64. package/lib/services/joi.js +0 -28
  65. package/lib/services/joi.js.map +0 -1
  66. package/lib/services/jwt_token.js +0 -120
  67. package/lib/services/jwt_token.js.map +0 -1
  68. package/lib/services/jwt_token_kong.js +0 -111
  69. package/lib/services/jwt_token_kong.js.map +0 -1
  70. package/lib/services/logger.js +0 -172
  71. package/lib/services/logger.js.map +0 -1
  72. package/lib/services/namespace.js +0 -188
  73. package/lib/services/namespace.js.map +0 -1
  74. package/lib/services/now.js +0 -69
  75. package/lib/services/now.js.map +0 -1
  76. package/lib/services/providers.js +0 -195
  77. package/lib/services/providers.js.map +0 -1
  78. package/lib/services/redis.js +0 -77
  79. package/lib/services/redis.js.map +0 -1
  80. package/lib/services/rest_client.js +0 -136
  81. package/lib/services/rest_client.js.map +0 -1
  82. package/lib/swagger/index.js +0 -684
  83. package/lib/swagger/index.js.map +0 -1
  84. package/lib/utils/api_scaffold.js +0 -253
  85. package/lib/utils/api_scaffold.js.map +0 -1
  86. package/lib/utils/case_converter.js +0 -48
  87. package/lib/utils/case_converter.js.map +0 -1
  88. package/lib/utils/crc32.js +0 -22
  89. package/lib/utils/crc32.js.map +0 -1
  90. package/lib/utils/datetime.js +0 -21
  91. package/lib/utils/datetime.js.map +0 -1
  92. package/lib/utils/host.js +0 -48
  93. package/lib/utils/host.js.map +0 -1
  94. package/lib/utils/index.js +0 -61
  95. package/lib/utils/index.js.map +0 -1
  96. package/lib/utils/pagination.js +0 -269
  97. package/lib/utils/pagination.js.map +0 -1
  98. package/lib/utils/random.js +0 -33
  99. package/lib/utils/random.js.map +0 -1
  100. package/lib/utils/smart_query.js +0 -342
  101. package/lib/utils/smart_query.js.map +0 -1
  102. package/lib/utils/test.js +0 -62
  103. package/lib/utils/test.js.map +0 -1
  104. package/lib/utils/wrapper.js +0 -9
  105. package/lib/utils/wrapper.js.map +0 -1
@@ -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"]}
@@ -1,195 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.NowProvider = exports.EventManagerProvider = exports.ValidatorBaseProvider = exports.NamespaceProvider = exports.CacheProvider = exports.RestClientProvider = exports.HttpClientProvider = exports.JsonWebTokenProvider = exports.RedisProvider = exports.LoggerProvider = exports.ConfigProvider = exports.EnvProvider = exports.ServiceProvider = undefined;
7
-
8
- var _cache = require('./cache');
9
-
10
- var _cache2 = _interopRequireDefault(_cache);
11
-
12
- var _config = require('./config');
13
-
14
- var _config2 = _interopRequireDefault(_config);
15
-
16
- var _env = require('./env');
17
-
18
- var _env2 = _interopRequireDefault(_env);
19
-
20
- var _http_client = require('./http_client');
21
-
22
- var _http_client2 = _interopRequireDefault(_http_client);
23
-
24
- var _jwt_token = require('./jwt_token');
25
-
26
- var _jwt_token2 = _interopRequireDefault(_jwt_token);
27
-
28
- var _jwt_token_kong = require('./jwt_token_kong');
29
-
30
- var _jwt_token_kong2 = _interopRequireDefault(_jwt_token_kong);
31
-
32
- var _logger = require('./logger');
33
-
34
- var _logger2 = _interopRequireDefault(_logger);
35
-
36
- var _redis = require('./redis');
37
-
38
- var _redis2 = _interopRequireDefault(_redis);
39
-
40
- var _rest_client = require('./rest_client');
41
-
42
- var _rest_client2 = _interopRequireDefault(_rest_client);
43
-
44
- var _namespace = require('./namespace');
45
-
46
- var _namespace2 = _interopRequireDefault(_namespace);
47
-
48
- var _now = require('./now');
49
-
50
- var _now2 = _interopRequireDefault(_now);
51
-
52
- var _joi = require('./joi');
53
-
54
- var _joi2 = _interopRequireDefault(_joi);
55
-
56
- var _event_manager = require('./event_manager');
57
-
58
- var _event_manager2 = _interopRequireDefault(_event_manager);
59
-
60
- var _di = require('../di');
61
-
62
- var _di2 = _interopRequireDefault(_di);
63
-
64
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
65
-
66
- let ServiceProvider = exports.ServiceProvider = class ServiceProvider {
67
- constructor(engine) {
68
- this.engine = engine;
69
- }
70
-
71
- get name() {
72
- return 'default';
73
- }
74
-
75
- register() {}
76
- };
77
- let EnvProvider = exports.EnvProvider = class EnvProvider extends ServiceProvider {
78
- get name() {
79
- return 'env';
80
- }
81
-
82
- register() {
83
- _di2.default.bindClass(this.name, _env2.default);
84
- }
85
- };
86
- let ConfigProvider = exports.ConfigProvider = class ConfigProvider extends ServiceProvider {
87
- get name() {
88
- return 'config';
89
- }
90
-
91
- register() {
92
- const config = _di2.default.get(_config2.default);
93
- config.setPath(this.engine.getMeta().configPath);
94
- _di2.default.bindClass(this.name, _config2.default, [config]);
95
- }
96
- };
97
- let LoggerProvider = exports.LoggerProvider = class LoggerProvider extends ServiceProvider {
98
- get name() {
99
- return 'logger';
100
- }
101
-
102
- register() {
103
- const logger = _di2.default.get(_logger2.default);
104
- const { mode } = this.engine.getMeta();
105
- const loggerLabel = mode === 'web' ? mode + this.engine.getMeta().port : process.env.CLI_NAME || 'cli';
106
- logger.setLabel(loggerLabel);
107
- _di2.default.bindClass(this.name, _logger2.default, [logger]);
108
- }
109
- };
110
- let RedisProvider = exports.RedisProvider = class RedisProvider extends ServiceProvider {
111
- get name() {
112
- return 'redis';
113
- }
114
-
115
- register() {
116
- _di2.default.bindClass(this.name, _redis2.default);
117
- }
118
- };
119
- let JsonWebTokenProvider = exports.JsonWebTokenProvider = class JsonWebTokenProvider extends ServiceProvider {
120
- get name() {
121
- return 'jwt';
122
- }
123
-
124
- register() {
125
- if (_di2.default.get('config').get('token.provider') === 'kong') {
126
- _di2.default.bindClass(this.name, _jwt_token_kong2.default);
127
- } else {
128
- _di2.default.bindClass(this.name, _jwt_token2.default);
129
- }
130
- }
131
- };
132
- let HttpClientProvider = exports.HttpClientProvider = class HttpClientProvider extends ServiceProvider {
133
- get name() {
134
- return 'http_client';
135
- }
136
-
137
- register() {
138
- _di2.default.bindClass(this.name, _http_client2.default);
139
- }
140
- };
141
- let RestClientProvider = exports.RestClientProvider = class RestClientProvider extends ServiceProvider {
142
- get name() {
143
- return 'rest_client';
144
- }
145
-
146
- register() {
147
- _di2.default.bindClass(this.name, _rest_client2.default);
148
- }
149
- };
150
- let CacheProvider = exports.CacheProvider = class CacheProvider extends ServiceProvider {
151
- get name() {
152
- return 'cache';
153
- }
154
-
155
- register() {
156
- _di2.default.bindClass(this.name, _cache2.default);
157
- }
158
- };
159
- let NamespaceProvider = exports.NamespaceProvider = class NamespaceProvider extends ServiceProvider {
160
- get name() {
161
- return 'namespace';
162
- }
163
-
164
- register() {
165
- _di2.default.bindClass(this.name, _namespace2.default);
166
- }
167
- };
168
- let ValidatorBaseProvider = exports.ValidatorBaseProvider = class ValidatorBaseProvider extends ServiceProvider {
169
- get name() {
170
- return 'validator_base';
171
- }
172
-
173
- register() {
174
- _di2.default.bindClass(this.name, _joi2.default);
175
- }
176
- };
177
- let EventManagerProvider = exports.EventManagerProvider = class EventManagerProvider extends ServiceProvider {
178
- get name() {
179
- return 'event_manager';
180
- }
181
-
182
- register() {
183
- _di2.default.bindClass(this.name, _event_manager2.default);
184
- }
185
- };
186
- let NowProvider = exports.NowProvider = class NowProvider extends ServiceProvider {
187
- get name() {
188
- return 'now';
189
- }
190
-
191
- register() {
192
- _di2.default.bindClass(this.name, _now2.default);
193
- }
194
- };
195
- //# sourceMappingURL=providers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/services/providers.js"],"names":["ServiceProvider","constructor","engine","name","register","EnvProvider","DI","bindClass","Env","ConfigProvider","config","get","Config","setPath","getMeta","configPath","LoggerProvider","logger","Logger","mode","loggerLabel","port","process","env","CLI_NAME","setLabel","RedisProvider","Redis","JsonWebTokenProvider","KongJsonWebToken","JsonWebToken","HttpClientProvider","HttpClient","RestClientProvider","RestClient","CacheProvider","Cache","NamespaceProvider","Namespace","ValidatorBaseProvider","ValidatorBase","EventManagerProvider","EventManager","NowProvider","Now"],"mappings":"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","file":"providers.js","sourcesContent":["import Cache from './cache';\nimport Config from './config';\nimport Env from './env';\nimport HttpClient from './http_client';\nimport JsonWebToken from './jwt_token';\nimport KongJsonWebToken from './jwt_token_kong';\nimport Logger from './logger';\nimport Redis from './redis';\nimport RestClient from './rest_client';\nimport Namespace from './namespace';\nimport Now from './now';\nimport ValidatorBase from './joi';\nimport EventManager from './event_manager';\nimport DI from '../di';\n\nexport class ServiceProvider {\n constructor(engine) {\n this.engine = engine;\n }\n\n get name() {\n return 'default';\n }\n\n register() {\n }\n}\n\nexport class EnvProvider extends ServiceProvider {\n get name() {\n return 'env';\n }\n\n register() {\n DI.bindClass(this.name, Env);\n }\n}\n\nexport class ConfigProvider extends ServiceProvider {\n get name() {\n return 'config';\n }\n\n register() {\n const config = DI.get(Config);\n config.setPath(this.engine.getMeta().configPath);\n DI.bindClass(this.name, Config, [config]);\n }\n}\n\nexport class LoggerProvider extends ServiceProvider {\n get name() {\n return 'logger';\n }\n\n register() {\n const logger = DI.get(Logger);\n const { mode } = this.engine.getMeta();\n const loggerLabel = mode === 'web' ? mode + this.engine.getMeta().port\n : process.env.CLI_NAME || 'cli';\n logger.setLabel(loggerLabel);\n DI.bindClass(this.name, Logger, [logger]);\n }\n}\n\nexport class RedisProvider extends ServiceProvider {\n get name() {\n return 'redis';\n }\n\n register() {\n DI.bindClass(this.name, Redis);\n }\n}\n\nexport class JsonWebTokenProvider extends ServiceProvider {\n get name() {\n return 'jwt';\n }\n\n register() {\n if (DI.get('config').get('token.provider') === 'kong') {\n DI.bindClass(this.name, KongJsonWebToken);\n } else {\n DI.bindClass(this.name, JsonWebToken);\n }\n }\n}\n\nexport class HttpClientProvider extends ServiceProvider {\n get name() {\n return 'http_client';\n }\n\n register() {\n DI.bindClass(this.name, HttpClient);\n }\n}\n\nexport class RestClientProvider extends ServiceProvider {\n get name() {\n return 'rest_client';\n }\n\n register() {\n DI.bindClass(this.name, RestClient);\n }\n}\n\nexport class CacheProvider extends ServiceProvider {\n get name() {\n return 'cache';\n }\n\n register() {\n DI.bindClass(this.name, Cache);\n }\n}\n\nexport class NamespaceProvider extends ServiceProvider {\n get name() {\n return 'namespace';\n }\n\n register() {\n DI.bindClass(this.name, Namespace);\n }\n}\n\nexport class ValidatorBaseProvider extends ServiceProvider {\n get name() {\n return 'validator_base';\n }\n\n register() {\n DI.bindClass(this.name, ValidatorBase);\n }\n}\n\nexport class EventManagerProvider extends ServiceProvider {\n get name() {\n return 'event_manager';\n }\n\n register() {\n DI.bindClass(this.name, EventManager);\n }\n}\n\nexport class NowProvider extends ServiceProvider {\n get name() {\n return 'now';\n }\n\n register() {\n DI.bindClass(this.name, Now);\n }\n}\n"]}