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.
- package/.ai/analysis.md +657 -0
- package/.ai/architecture/runtime.md +504 -0
- package/.ai/contracts/public-api.md +447 -0
- package/.ai/external-project-guide.md +248 -0
- package/.ai/vision.md +314 -0
- package/README.md +51 -62
- package/bin/engine +15 -21
- package/index.js +2 -18
- package/package.json +60 -64
- package/src/commands/index.js +12 -0
- package/{lib → src}/commands/interface.js +5 -11
- package/src/commands/make_entity.js +490 -0
- package/src/commands/tramp.js +34 -0
- package/{lib → src}/config/index.js +7 -9
- package/{lib → src}/di.js +11 -26
- package/src/engine.js +551 -0
- package/{lib → src}/entities/index.js +72 -82
- package/{lib → src}/exceptions/index.js +71 -92
- package/src/index.js +57 -0
- package/src/middlewares/auth.js +67 -0
- package/src/middlewares/auth_kong.js +28 -0
- package/src/middlewares/debug.js +88 -0
- package/src/middlewares/index.js +18 -0
- package/src/middlewares/providers.js +73 -0
- package/src/middlewares/session.js +58 -0
- package/{lib → src}/middlewares/trace.js +74 -86
- package/src/middlewares/validator.js +50 -0
- package/src/middlewares/view_cache.js +127 -0
- package/{lib → src}/services/cache.js +45 -56
- package/src/services/config.js +111 -0
- package/src/services/env.js +28 -0
- package/src/services/event_manager.js +84 -0
- package/src/services/http_client.js +160 -0
- package/src/services/index.js +27 -0
- package/src/services/interface.js +5 -0
- package/src/services/joi.js +13 -0
- package/src/services/jwt_token.js +89 -0
- package/src/services/jwt_token_kong.js +75 -0
- package/src/services/logger.js +148 -0
- package/src/services/namespace.js +176 -0
- package/src/services/now.js +49 -0
- package/src/services/providers.js +158 -0
- package/src/services/redis.js +55 -0
- package/src/services/rest_client.js +112 -0
- package/src/swagger/index.js +668 -0
- package/{lib → src}/utils/api_scaffold.js +26 -39
- package/src/utils/case_converter.js +33 -0
- package/src/utils/crc32.js +44 -0
- package/src/utils/datetime.js +13 -0
- package/src/utils/host.js +39 -0
- package/src/utils/index.js +35 -0
- package/{lib → src}/utils/pagination.js +22 -31
- package/src/utils/random.js +23 -0
- package/{lib → src}/utils/smart_query.js +27 -27
- package/src/utils/test.js +48 -0
- package/src/utils/wrapper.js +8 -0
- package/bin/engine-babel +0 -38
- package/lib/commands/index.js +0 -25
- package/lib/commands/index.js.map +0 -1
- package/lib/commands/interface.js.map +0 -1
- package/lib/commands/make_entity.js +0 -549
- package/lib/commands/make_entity.js.map +0 -1
- package/lib/commands/tramp.js +0 -53
- package/lib/commands/tramp.js.map +0 -1
- package/lib/config/index.js.map +0 -1
- package/lib/di.js.map +0 -1
- package/lib/engine.js +0 -558
- package/lib/engine.js.map +0 -1
- package/lib/entities/index.js.map +0 -1
- package/lib/exceptions/index.js.map +0 -1
- package/lib/index.js +0 -105
- package/lib/index.js.map +0 -1
- package/lib/middlewares/auth.js +0 -97
- package/lib/middlewares/auth.js.map +0 -1
- package/lib/middlewares/auth_kong.js +0 -48
- package/lib/middlewares/auth_kong.js.map +0 -1
- package/lib/middlewares/debug.js +0 -68
- package/lib/middlewares/debug.js.map +0 -1
- package/lib/middlewares/index.js +0 -45
- package/lib/middlewares/index.js.map +0 -1
- package/lib/middlewares/providers.js +0 -102
- package/lib/middlewares/providers.js.map +0 -1
- package/lib/middlewares/session.js +0 -76
- package/lib/middlewares/session.js.map +0 -1
- package/lib/middlewares/trace.js.map +0 -1
- package/lib/middlewares/validator.js +0 -71
- package/lib/middlewares/validator.js.map +0 -1
- package/lib/middlewares/view_cache.js +0 -160
- package/lib/middlewares/view_cache.js.map +0 -1
- package/lib/services/cache.js.map +0 -1
- package/lib/services/config.js +0 -140
- package/lib/services/config.js.map +0 -1
- package/lib/services/env.js +0 -40
- package/lib/services/env.js.map +0 -1
- package/lib/services/event_manager.js +0 -110
- package/lib/services/event_manager.js.map +0 -1
- package/lib/services/http_client.js +0 -178
- package/lib/services/http_client.js.map +0 -1
- package/lib/services/index.js +0 -70
- package/lib/services/index.js.map +0 -1
- package/lib/services/interface.js +0 -12
- package/lib/services/interface.js.map +0 -1
- package/lib/services/joi.js +0 -28
- package/lib/services/joi.js.map +0 -1
- package/lib/services/jwt_token.js +0 -120
- package/lib/services/jwt_token.js.map +0 -1
- package/lib/services/jwt_token_kong.js +0 -111
- package/lib/services/jwt_token_kong.js.map +0 -1
- package/lib/services/logger.js +0 -172
- package/lib/services/logger.js.map +0 -1
- package/lib/services/namespace.js +0 -188
- package/lib/services/namespace.js.map +0 -1
- package/lib/services/now.js +0 -69
- package/lib/services/now.js.map +0 -1
- package/lib/services/providers.js +0 -195
- package/lib/services/providers.js.map +0 -1
- package/lib/services/redis.js +0 -77
- package/lib/services/redis.js.map +0 -1
- package/lib/services/rest_client.js +0 -136
- package/lib/services/rest_client.js.map +0 -1
- package/lib/swagger/index.js +0 -684
- package/lib/swagger/index.js.map +0 -1
- package/lib/utils/api_scaffold.js.map +0 -1
- package/lib/utils/case_converter.js +0 -48
- package/lib/utils/case_converter.js.map +0 -1
- package/lib/utils/crc32.js +0 -22
- package/lib/utils/crc32.js.map +0 -1
- package/lib/utils/datetime.js +0 -21
- package/lib/utils/datetime.js.map +0 -1
- package/lib/utils/host.js +0 -48
- package/lib/utils/host.js.map +0 -1
- package/lib/utils/index.js +0 -61
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/pagination.js.map +0 -1
- package/lib/utils/random.js +0 -33
- package/lib/utils/random.js.map +0 -1
- package/lib/utils/smart_query.js.map +0 -1
- package/lib/utils/test.js +0 -62
- package/lib/utils/test.js.map +0 -1
- package/lib/utils/wrapper.js +0 -9
- package/lib/utils/wrapper.js.map +0 -1
|
@@ -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":";;;;;;;AAAA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;AACA;;;;;;IAEaA,e,WAAAA,e,GAAN,MAAMA,eAAN,CAAsB;AAC3BC,cAAYC,MAAZ,EAAoB;AAClB,SAAKA,MAAL,GAAcA,MAAd;AACD;;AAED,MAAIC,IAAJ,GAAW;AACT,WAAO,SAAP;AACD;;AAEDC,aAAW,CACV;AAV0B,C;IAahBC,W,WAAAA,W,GAAN,MAAMA,WAAN,SAA0BL,eAA1B,CAA0C;AAC/C,MAAIG,IAAJ,GAAW;AACT,WAAO,KAAP;AACD;;AAEDC,aAAW;AACTE,iBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwBK,aAAxB;AACD;AAP8C,C;IAUpCC,c,WAAAA,c,GAAN,MAAMA,cAAN,SAA6BT,eAA7B,CAA6C;AAClD,MAAIG,IAAJ,GAAW;AACT,WAAO,QAAP;AACD;;AAEDC,aAAW;AACT,UAAMM,SAASJ,aAAGK,GAAH,CAAOC,gBAAP,CAAf;AACAF,WAAOG,OAAP,CAAe,KAAKX,MAAL,CAAYY,OAAZ,GAAsBC,UAArC;AACAT,iBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwBS,gBAAxB,EAAgC,CAACF,MAAD,CAAhC;AACD;AATiD,C;IAYvCM,c,WAAAA,c,GAAN,MAAMA,cAAN,SAA6BhB,eAA7B,CAA6C;AAClD,MAAIG,IAAJ,GAAW;AACT,WAAO,QAAP;AACD;;AAEDC,aAAW;AACT,UAAMa,SAASX,aAAGK,GAAH,CAAOO,gBAAP,CAAf;AACA,UAAM,EAAEC,IAAF,KAAW,KAAKjB,MAAL,CAAYY,OAAZ,EAAjB;AACA,UAAMM,cAAcD,SAAS,KAAT,GAAiBA,OAAO,KAAKjB,MAAL,CAAYY,OAAZ,GAAsBO,IAA9C,GAChBC,QAAQC,GAAR,CAAYC,QAAZ,IAAwB,KAD5B;AAEAP,WAAOQ,QAAP,CAAgBL,WAAhB;AACAd,iBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwBe,gBAAxB,EAAgC,CAACD,MAAD,CAAhC;AACD;AAZiD,C;IAevCS,a,WAAAA,a,GAAN,MAAMA,aAAN,SAA4B1B,eAA5B,CAA4C;AACjD,MAAIG,IAAJ,GAAW;AACT,WAAO,OAAP;AACD;;AAEDC,aAAW;AACTE,iBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwBwB,eAAxB;AACD;AAPgD,C;IAUtCC,oB,WAAAA,oB,GAAN,MAAMA,oBAAN,SAAmC5B,eAAnC,CAAmD;AACxD,MAAIG,IAAJ,GAAW;AACT,WAAO,KAAP;AACD;;AAEDC,aAAW;AACT,QAAIE,aAAGK,GAAH,CAAO,QAAP,EAAiBA,GAAjB,CAAqB,gBAArB,MAA2C,MAA/C,EAAuD;AACrDL,mBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwB0B,wBAAxB;AACD,KAFD,MAEO;AACLvB,mBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwB2B,mBAAxB;AACD;AACF;AAXuD,C;IAc7CC,kB,WAAAA,kB,GAAN,MAAMA,kBAAN,SAAiC/B,eAAjC,CAAiD;AACtD,MAAIG,IAAJ,GAAW;AACT,WAAO,aAAP;AACD;;AAEDC,aAAW;AACTE,iBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwB6B,qBAAxB;AACD;AAPqD,C;IAU3CC,kB,WAAAA,kB,GAAN,MAAMA,kBAAN,SAAiCjC,eAAjC,CAAiD;AACtD,MAAIG,IAAJ,GAAW;AACT,WAAO,aAAP;AACD;;AAEDC,aAAW;AACTE,iBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwB+B,qBAAxB;AACD;AAPqD,C;IAU3CC,a,WAAAA,a,GAAN,MAAMA,aAAN,SAA4BnC,eAA5B,CAA4C;AACjD,MAAIG,IAAJ,GAAW;AACT,WAAO,OAAP;AACD;;AAEDC,aAAW;AACTE,iBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwBiC,eAAxB;AACD;AAPgD,C;IAUtCC,iB,WAAAA,iB,GAAN,MAAMA,iBAAN,SAAgCrC,eAAhC,CAAgD;AACrD,MAAIG,IAAJ,GAAW;AACT,WAAO,WAAP;AACD;;AAEDC,aAAW;AACTE,iBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwBmC,mBAAxB;AACD;AAPoD,C;IAU1CC,qB,WAAAA,qB,GAAN,MAAMA,qBAAN,SAAoCvC,eAApC,CAAoD;AACzD,MAAIG,IAAJ,GAAW;AACT,WAAO,gBAAP;AACD;;AAEDC,aAAW;AACTE,iBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwBqC,aAAxB;AACD;AAPwD,C;IAU9CC,oB,WAAAA,oB,GAAN,MAAMA,oBAAN,SAAmCzC,eAAnC,CAAmD;AACxD,MAAIG,IAAJ,GAAW;AACT,WAAO,eAAP;AACD;;AAEDC,aAAW;AACTE,iBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwBuC,uBAAxB;AACD;AAPuD,C;IAU7CC,W,WAAAA,W,GAAN,MAAMA,WAAN,SAA0B3C,eAA1B,CAA0C;AAC/C,MAAIG,IAAJ,GAAW;AACT,WAAO,KAAP;AACD;;AAEDC,aAAW;AACTE,iBAAGC,SAAH,CAAa,KAAKJ,IAAlB,EAAwByC,aAAxB;AACD;AAP8C,C","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"]}
|
package/lib/services/redis.js
DELETED
|
@@ -1,77 +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 _ioredis = require('ioredis');
|
|
11
|
-
|
|
12
|
-
var _ioredis2 = _interopRequireDefault(_ioredis);
|
|
13
|
-
|
|
14
|
-
var _constitute = require('constitute');
|
|
15
|
-
|
|
16
|
-
var _config = require('./config');
|
|
17
|
-
|
|
18
|
-
var _config2 = _interopRequireDefault(_config);
|
|
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
|
-
let redisClient = null;
|
|
27
|
-
|
|
28
|
-
//eslint-disable-line new-cap
|
|
29
|
-
let Redis = (_dec = (0, _constitute.Dependencies)(_config2.default), _dec(_class = class Redis extends _interface2.default {
|
|
30
|
-
/**
|
|
31
|
-
* @param config Config
|
|
32
|
-
*/
|
|
33
|
-
constructor(config) {
|
|
34
|
-
super();
|
|
35
|
-
this.config = config;
|
|
36
|
-
this.options = null;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
getProto() {
|
|
40
|
-
return _ioredis2.default;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
getRedis() {
|
|
44
|
-
return _ioredis2.default;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
setOptions(options) {
|
|
48
|
-
this.options = options;
|
|
49
|
-
return this;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
isConnected() {
|
|
53
|
-
return redisClient !== null;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
cleanup() {
|
|
57
|
-
return this.getInstance().end();
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* @returns {Ioredis}
|
|
62
|
-
*/
|
|
63
|
-
getInstance() {
|
|
64
|
-
if (redisClient) {
|
|
65
|
-
return redisClient;
|
|
66
|
-
}
|
|
67
|
-
redisClient = new _ioredis2.default(Object.assign({
|
|
68
|
-
enableOfflineQueue: true //make redis connect failings throw error
|
|
69
|
-
}, this.options || this.config.get('redis')));
|
|
70
|
-
redisClient.on('error', e => {
|
|
71
|
-
throw e;
|
|
72
|
-
});
|
|
73
|
-
return redisClient;
|
|
74
|
-
}
|
|
75
|
-
}) || _class);
|
|
76
|
-
exports.default = Redis;
|
|
77
|
-
//# sourceMappingURL=redis.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/redis.js"],"names":["redisClient","Redis","Config","ServiceInterface","constructor","config","options","getProto","Ioredis","getRedis","setOptions","isConnected","cleanup","getInstance","end","Object","assign","enableOfflineQueue","get","on","e"],"mappings":";;;;;;;;;AAAA;;;;AACA;;AACA;;;;AACA;;;;;;AAEA,IAAIA,cAAc,IAAlB;;AAEsB;IACDC,K,WADpB,8BAAaC,gBAAb,C,gBACc,MAAMD,KAAN,SAAoBE,mBAApB,CAAqC;AAClD;;;AAGAC,cAAYC,MAAZ,EAAoB;AAClB;AACA,SAAKA,MAAL,GAAcA,MAAd;AACA,SAAKC,OAAL,GAAe,IAAf;AACD;;AAEDC,aAAW;AACT,WAAOC,iBAAP;AACD;;AAEDC,aAAW;AACT,WAAOD,iBAAP;AACD;;AAEDE,aAAWJ,OAAX,EAAoB;AAClB,SAAKA,OAAL,GAAeA,OAAf;AACA,WAAO,IAAP;AACD;;AAEDK,gBAAc;AACZ,WAAOX,gBAAgB,IAAvB;AACD;;AAEDY,YAAU;AACR,WAAO,KAAKC,WAAL,GAAmBC,GAAnB,EAAP;AACD;;AAED;;;AAGAD,gBAAc;AACZ,QAAIb,WAAJ,EAAiB;AACf,aAAOA,WAAP;AACD;AACDA,kBAAc,IAAIQ,iBAAJ,CAAYO,OAAOC,MAAP,CAAc;AACtCC,0BAAoB,IADkB,CACb;AADa,KAAd,EAEvB,KAAKX,OAAL,IAAgB,KAAKD,MAAL,CAAYa,GAAZ,CAAgB,OAAhB,CAFO,CAAZ,CAAd;AAGAlB,gBAAYmB,EAAZ,CAAe,OAAf,EAAyBC,CAAD,IAAO;AAC7B,YAAMA,CAAN;AACD,KAFD;AAGA,WAAOpB,WAAP;AACD;AA7CiD,C;kBAA/BC,K","file":"redis.js","sourcesContent":["import Ioredis from 'ioredis';\nimport { Dependencies } from 'constitute';\nimport Config from './config';\nimport ServiceInterface from './interface';\n\nlet redisClient = null;\n\n@Dependencies(Config) //eslint-disable-line new-cap\nexport default class Redis extends ServiceInterface {\n /**\n * @param config Config\n */\n constructor(config) {\n super();\n this.config = config;\n this.options = null;\n }\n\n getProto() {\n return Ioredis;\n }\n\n getRedis() {\n return Ioredis;\n }\n\n setOptions(options) {\n this.options = options;\n return this;\n }\n\n isConnected() {\n return redisClient !== null;\n }\n\n cleanup() {\n return this.getInstance().end();\n }\n\n /**\n * @returns {Ioredis}\n */\n getInstance() {\n if (redisClient) {\n return redisClient;\n }\n redisClient = new Ioredis(Object.assign({\n enableOfflineQueue: true //make redis connect failings throw error\n }, this.options || this.config.get('redis')));\n redisClient.on('error', (e) => {\n throw e;\n });\n return redisClient;\n }\n}\n\n"]}
|
|
@@ -1,136 +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 _http_client = require('./http_client');
|
|
13
|
-
|
|
14
|
-
var _http_client2 = _interopRequireDefault(_http_client);
|
|
15
|
-
|
|
16
|
-
var _namespace = require('./namespace');
|
|
17
|
-
|
|
18
|
-
var _namespace2 = _interopRequireDefault(_namespace);
|
|
19
|
-
|
|
20
|
-
var _exceptions = require('../exceptions');
|
|
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
|
-
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"); }); }; }
|
|
29
|
-
|
|
30
|
-
//eslint-disable-line new-cap
|
|
31
|
-
let RestClient = (_dec = (0, _constitute.Dependencies)(_http_client2.default, _namespace2.default), _dec(_class = class RestClient extends _interface2.default {
|
|
32
|
-
/**
|
|
33
|
-
* @param {HttpClient} client
|
|
34
|
-
* @param {Namespace} ns
|
|
35
|
-
*/
|
|
36
|
-
constructor(client, ns) {
|
|
37
|
-
super();
|
|
38
|
-
this.client = client;
|
|
39
|
-
this.ns = ns;
|
|
40
|
-
this.baseUrl = null;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
setBaseUrl(baseUrl) {
|
|
44
|
-
this.baseUrl = baseUrl;
|
|
45
|
-
return this;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
getBaseUrl() {
|
|
49
|
-
return this.baseUrl;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
getProto() {
|
|
53
|
-
return this.client.getProto();
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
getInstance() {
|
|
57
|
-
return this.client.getInstance();
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
populateTrace(params) {
|
|
61
|
-
const {
|
|
62
|
-
traceId, spanId, sampled
|
|
63
|
-
} = this.ns.get('tracer') || {};
|
|
64
|
-
if (!traceId || !spanId) {
|
|
65
|
-
return params;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
if (!params.headers) {
|
|
69
|
-
Object.assign(params, { headers: {} });
|
|
70
|
-
}
|
|
71
|
-
Object.assign(params.headers, {
|
|
72
|
-
'X-B3-TraceId': traceId,
|
|
73
|
-
'X-B3-SpanId': spanId,
|
|
74
|
-
'X-B3-Sampled': sampled
|
|
75
|
-
});
|
|
76
|
-
return params;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
saveToTracer(headers) {
|
|
80
|
-
if (!headers || Object.keys(headers).length < 1) {
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
const tracer = this.ns.get('tracer');
|
|
85
|
-
if (!tracer) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
Object.entries(headers).forEach(([key, value]) => {
|
|
89
|
-
if (key.startsWith('x-debug-')) {
|
|
90
|
-
tracer.debug[key] = value;
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
rawRequest(params) {
|
|
96
|
-
if (this.baseUrl) {
|
|
97
|
-
Object.assign(params, { url: this.baseUrl + (params.url || params.uri) });
|
|
98
|
-
if (params.uri) {
|
|
99
|
-
delete params.uri; //eslint-disable-line no-param-reassign
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return this.client.getInstance()(this.populateTrace(params));
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
request(params) {
|
|
106
|
-
var _this = this;
|
|
107
|
-
|
|
108
|
-
return _asyncToGenerator(function* () {
|
|
109
|
-
if (_this.baseUrl) {
|
|
110
|
-
Object.assign(params, {
|
|
111
|
-
url: _this.baseUrl + (params.url || params.uri)
|
|
112
|
-
});
|
|
113
|
-
if (params.uri) {
|
|
114
|
-
delete params.uri; //eslint-disable-line no-param-reassign
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
try {
|
|
118
|
-
const { headers, body } = yield _this.client.getInstance()(Object.assign(_this.populateTrace(params), {
|
|
119
|
-
json: true,
|
|
120
|
-
resolveWithFullResponse: true
|
|
121
|
-
}));
|
|
122
|
-
_this.saveToTracer(headers);
|
|
123
|
-
return body;
|
|
124
|
-
} catch (e) {
|
|
125
|
-
//FIXME TypeError无法被记录?
|
|
126
|
-
const { statusCode } = e;
|
|
127
|
-
if (statusCode && statusCode >= 400 && statusCode < 500) {
|
|
128
|
-
throw new _exceptions.RestServiceLogicException(e);
|
|
129
|
-
}
|
|
130
|
-
throw new _exceptions.RestServiceIOException(e);
|
|
131
|
-
}
|
|
132
|
-
})();
|
|
133
|
-
}
|
|
134
|
-
}) || _class);
|
|
135
|
-
exports.default = RestClient;
|
|
136
|
-
//# sourceMappingURL=rest_client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/services/rest_client.js"],"names":["RestClient","HttpClient","Namespace","ServiceInterface","constructor","client","ns","baseUrl","setBaseUrl","getBaseUrl","getProto","getInstance","populateTrace","params","traceId","spanId","sampled","get","headers","Object","assign","saveToTracer","keys","length","tracer","entries","forEach","key","value","startsWith","debug","rawRequest","url","uri","request","body","json","resolveWithFullResponse","e","statusCode","RestServiceLogicException","RestServiceIOException"],"mappings":"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","file":"rest_client.js","sourcesContent":["import { Dependencies } from 'constitute';\nimport HttpClient from './http_client';\nimport Namespace from './namespace';\nimport { RestServiceLogicException, RestServiceIOException } from '../exceptions';\nimport ServiceInterface from './interface';\n\n@Dependencies(HttpClient, Namespace) //eslint-disable-line new-cap\nexport default class RestClient extends ServiceInterface {\n /**\n * @param {HttpClient} client\n * @param {Namespace} ns\n */\n constructor(client, ns) {\n super();\n this.client = client;\n this.ns = ns;\n this.baseUrl = null;\n }\n\n setBaseUrl(baseUrl) {\n this.baseUrl = baseUrl;\n return this;\n }\n\n getBaseUrl() {\n return this.baseUrl;\n }\n\n getProto() {\n return this.client.getProto();\n }\n\n getInstance() {\n return this.client.getInstance();\n }\n\n populateTrace(params) {\n const {\n traceId, spanId, sampled\n } = this.ns.get('tracer') || {};\n if (!traceId || !spanId) {\n return params;\n }\n\n if (!params.headers) {\n Object.assign(params, { headers: {} });\n }\n Object.assign(params.headers, {\n 'X-B3-TraceId': traceId,\n 'X-B3-SpanId': spanId,\n 'X-B3-Sampled': sampled\n });\n return params;\n }\n\n saveToTracer(headers) {\n if (!headers || Object.keys(headers).length < 1) {\n return;\n }\n\n const tracer = this.ns.get('tracer');\n if (!tracer) {\n return;\n }\n Object.entries(headers).forEach(([key, value]) => {\n if (key.startsWith('x-debug-')) {\n tracer.debug[key] = value;\n }\n });\n }\n\n rawRequest(params) {\n if (this.baseUrl) {\n Object.assign(params, { url: this.baseUrl + (params.url || params.uri) });\n if (params.uri) {\n delete params.uri; //eslint-disable-line no-param-reassign\n }\n }\n return this.client.getInstance()(this.populateTrace(params));\n }\n\n async request(params) {\n if (this.baseUrl) {\n Object.assign(params, {\n url: this.baseUrl + (params.url || params.uri)\n });\n if (params.uri) {\n delete params.uri; //eslint-disable-line no-param-reassign\n }\n }\n try {\n const { headers, body } = await this.client.getInstance()(Object.assign(\n this.populateTrace(params),\n {\n json: true,\n resolveWithFullResponse: true\n }\n ));\n this.saveToTracer(headers);\n return body;\n } catch (e) {\n //FIXME TypeError无法被记录?\n const { statusCode } = e;\n if (statusCode && statusCode >= 400 && statusCode < 500) {\n throw new RestServiceLogicException(e);\n }\n throw new RestServiceIOException(e);\n }\n }\n}\n"]}
|