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,98 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = {
7
- app: {
8
- name: 'evaengine'
9
- },
10
- sequelize: {
11
- logging: true
12
- },
13
- logger: {
14
- file: false //set to false to disable file logger
15
- },
16
- trace: {
17
- enable: true,
18
- header: false,
19
- api: false
20
- },
21
- namespace: {
22
- enable: true,
23
- defaultName: 'eva.ns'
24
- },
25
- cache: {
26
- prefix: 'eva',
27
- driver: 'redis'
28
- },
29
- redis: {
30
- host: '127.0.0.1',
31
- port: 6379,
32
- lazyConnect: true
33
- },
34
- db: {
35
- dialect: 'mysql',
36
- port: 3306,
37
- database: '',
38
- dialectOptions: {
39
- multipleStatements: true,
40
- timeout: 3
41
- },
42
- replication: {
43
- write: {
44
- host: '',
45
- username: '',
46
- password: '',
47
- pool: {}
48
- },
49
- read: []
50
- }
51
- },
52
- session: {
53
- cookie: {
54
- path: '/',
55
- httpOnly: false,
56
- secure: false,
57
- maxAge: 3600 * 1000 //这里单位是ms
58
- },
59
- store: null,
60
- secret: 'evaengine',
61
- resave: true,
62
- saveUninitialized: true
63
- },
64
- token: {
65
- prefix: '',
66
- secret: '',
67
- faker: {
68
- enable: false,
69
- key: 'eva',
70
- uid: 1
71
- }
72
- },
73
- swagger: {
74
- swagger: '2.0',
75
- info: {
76
- title: '',
77
- description: '',
78
- version: ''
79
- },
80
- produces: ['application/json'],
81
- host: '',
82
- basePath: '/',
83
- schemes: ['http'],
84
- securityDefinitions: {
85
- api_key: {
86
- type: 'apiKey',
87
- name: 'api_key',
88
- in: 'query'
89
- }
90
- },
91
- security: [{
92
- api_key: []
93
- }],
94
- paths: {},
95
- definitions: {}
96
- }
97
- };
98
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/config/index.js"],"names":["app","name","sequelize","logging","logger","file","trace","enable","header","api","namespace","defaultName","cache","prefix","driver","redis","host","port","lazyConnect","db","dialect","database","dialectOptions","multipleStatements","timeout","replication","write","username","password","pool","read","session","cookie","path","httpOnly","secure","maxAge","store","secret","resave","saveUninitialized","token","faker","key","uid","swagger","info","title","description","version","produces","basePath","schemes","securityDefinitions","api_key","type","in","security","paths","definitions"],"mappings":";;;;;kBAAe;AACbA,OAAK;AACHC,UAAM;AADH,GADQ;AAIbC,aAAW;AACTC,aAAS;AADA,GAJE;AAObC,UAAQ;AACNC,UAAM,KADA,CACM;AADN,GAPK;AAUbC,SAAO;AACLC,YAAQ,IADH;AAELC,YAAQ,KAFH;AAGLC,SAAK;AAHA,GAVM;AAebC,aAAW;AACTH,YAAQ,IADC;AAETI,iBAAa;AAFJ,GAfE;AAmBbC,SAAO;AACLC,YAAQ,KADH;AAELC,YAAQ;AAFH,GAnBM;AAuBbC,SAAO;AACLC,UAAM,WADD;AAELC,UAAM,IAFD;AAGLC,iBAAa;AAHR,GAvBM;AA4BbC,MAAI;AACFC,aAAS,OADP;AAEFH,UAAM,IAFJ;AAGFI,cAAU,EAHR;AAIFC,oBAAgB;AACdC,0BAAoB,IADN;AAEdC,eAAS;AAFK,KAJd;AAQFC,iBAAa;AACXC,aAAO;AACLV,cAAM,EADD;AAELW,kBAAU,EAFL;AAGLC,kBAAU,EAHL;AAILC,cAAM;AAJD,OADI;AAOXC,YAAM;AAPK;AARX,GA5BS;AA8CbC,WAAS;AACPC,YAAQ;AACNC,YAAM,GADA;AAENC,gBAAU,KAFJ;AAGNC,cAAQ,KAHF;AAINC,cAAQ,OAAO,IAJT,CAIc;AAJd,KADD;AAOPC,WAAO,IAPA;AAQPC,YAAQ,WARD;AASPC,YAAQ,IATD;AAUPC,uBAAmB;AAVZ,GA9CI;AA0DbC,SAAO;AACL5B,YAAQ,EADH;AAELyB,YAAQ,EAFH;AAGLI,WAAO;AACLnC,cAAQ,KADH;AAELoC,WAAK,KAFA;AAGLC,WAAK;AAHA;AAHF,GA1DM;AAmEbC,WAAS;AACPA,aAAS,KADF;AAEPC,UAAM;AACJC,aAAO,EADH;AAEJC,mBAAa,EAFT;AAGJC,eAAS;AAHL,KAFC;AAOPC,cAAU,CACR,kBADQ,CAPH;AAUPlC,UAAM,EAVC;AAWPmC,cAAU,GAXH;AAYPC,aAAS,CACP,MADO,CAZF;AAePC,yBAAqB;AACnBC,eAAS;AACPC,cAAM,QADC;AAEPtD,cAAM,SAFC;AAGPuD,YAAI;AAHG;AADU,KAfd;AAsBPC,cAAU,CAAC;AACTH,eAAS;AADA,KAAD,CAtBH;AAyBPI,WAAO,EAzBA;AA0BPC,iBAAa;AA1BN;AAnEI,C","file":"index.js","sourcesContent":["export default {\n app: {\n name: 'evaengine'\n },\n sequelize: {\n logging: true\n },\n logger: {\n file: false //set to false to disable file logger\n },\n trace: {\n enable: true,\n header: false,\n api: false\n },\n namespace: {\n enable: true,\n defaultName: 'eva.ns'\n },\n cache: {\n prefix: 'eva',\n driver: 'redis'\n },\n redis: {\n host: '127.0.0.1',\n port: 6379,\n lazyConnect: true\n },\n db: {\n dialect: 'mysql',\n port: 3306,\n database: '',\n dialectOptions: {\n multipleStatements: true,\n timeout: 3\n },\n replication: {\n write: {\n host: '',\n username: '',\n password: '',\n pool: {}\n },\n read: []\n }\n },\n session: {\n cookie: {\n path: '/',\n httpOnly: false,\n secure: false,\n maxAge: 3600 * 1000 //这里单位是ms\n },\n store: null,\n secret: 'evaengine',\n resave: true,\n saveUninitialized: true\n },\n token: {\n prefix: '',\n secret: '',\n faker: {\n enable: false,\n key: 'eva',\n uid: 1\n }\n },\n swagger: {\n swagger: '2.0',\n info: {\n title: '',\n description: '',\n version: ''\n },\n produces: [\n 'application/json'\n ],\n host: '',\n basePath: '/',\n schemes: [\n 'http'\n ],\n securityDefinitions: {\n api_key: {\n type: 'apiKey',\n name: 'api_key',\n in: 'query'\n }\n },\n security: [{\n api_key: []\n }],\n paths: {},\n definitions: {}\n }\n};\n"]}
package/lib/di.js DELETED
@@ -1,99 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = undefined;
7
-
8
- var _constitute = require('constitute');
9
-
10
- var _constitute2 = _interopRequireDefault(_constitute);
11
-
12
- var _exceptions = require('./exceptions');
13
-
14
- var _providers = require('./services/providers');
15
-
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
- let container = new _constitute2.default.Container();
19
- let bound = {};
20
-
21
- let DI = class DI {
22
- static getContainer() {
23
- return container;
24
- }
25
-
26
- static getBound() {
27
- return bound;
28
- }
29
-
30
- static get(service) {
31
- if (typeof service !== 'string') {
32
- return container.constitute(service);
33
- }
34
-
35
- if (!bound[service]) {
36
- throw new _exceptions.RuntimeException(`Service ${service} not bound yet`);
37
- }
38
- return container.constitute(bound[service]);
39
- }
40
-
41
- static bindClass(...args) {
42
- if (typeof args[0] === 'string') {
43
- [, bound[args[0]]] = args;
44
- }
45
- return container.bindClass(...args);
46
- }
47
-
48
- static bindValue(...args) {
49
- if (typeof args[0] === 'string') {
50
- [, bound[args[0]]] = args;
51
- }
52
- return container.bindValue(...args);
53
- }
54
-
55
- static bindMethod(...args) {
56
- if (typeof args[0] === 'string') {
57
- [, bound[args[0]]] = args;
58
- }
59
- return container.bindMethod(...args);
60
- }
61
-
62
- static reset() {
63
- container = new _constitute2.default.Container();
64
- bound = {};
65
- }
66
-
67
- /**
68
- * @param {Array} providers
69
- * @param {EvaEngine} engine
70
- */
71
- static registerServiceProviders(providers = [], engine) {
72
- for (const providerClass of providers) {
73
- DI.registerService(providerClass, engine);
74
- }
75
- }
76
-
77
- /**
78
- * @param {constructor} ProviderClass
79
- * @param {EvaEngine} engine
80
- */
81
- static registerService(ProviderClass, engine) {
82
- const provider = new ProviderClass(engine);
83
- if (!(provider instanceof _providers.ServiceProvider)) {
84
- throw new _exceptions.RuntimeException(`Input provider ${provider.name} not service provider`);
85
- }
86
- provider.register();
87
- }
88
-
89
- static registerMockedProviders(providers, configPath) {
90
- const mockEngine = {
91
- getMeta: () => ({
92
- configPath
93
- })
94
- };
95
- DI.registerServiceProviders(providers, mockEngine);
96
- }
97
- };
98
- exports.default = DI;
99
- //# sourceMappingURL=di.js.map
package/lib/di.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/di.js"],"names":["container","constitute","Container","bound","DI","getContainer","getBound","get","service","RuntimeException","bindClass","args","bindValue","bindMethod","reset","registerServiceProviders","providers","engine","providerClass","registerService","ProviderClass","provider","ServiceProvider","name","register","registerMockedProviders","configPath","mockEngine","getMeta"],"mappings":";;;;;;;AAAA;;;;AACA;;AACA;;;;AAEA,IAAIA,YAAY,IAAIC,qBAAWC,SAAf,EAAhB;AACA,IAAIC,QAAQ,EAAZ;;IAEqBC,E,GAAN,MAAMA,EAAN,CAAS;AACtB,SAAOC,YAAP,GAAsB;AACpB,WAAOL,SAAP;AACD;;AAED,SAAOM,QAAP,GAAkB;AAChB,WAAOH,KAAP;AACD;;AAED,SAAOI,GAAP,CAAWC,OAAX,EAAoB;AAClB,QAAI,OAAOA,OAAP,KAAmB,QAAvB,EAAiC;AAC/B,aAAOR,UAAUC,UAAV,CAAqBO,OAArB,CAAP;AACD;;AAED,QAAI,CAACL,MAAMK,OAAN,CAAL,EAAqB;AACnB,YAAM,IAAIC,4BAAJ,CAAsB,WAAUD,OAAQ,gBAAxC,CAAN;AACD;AACD,WAAOR,UAAUC,UAAV,CAAqBE,MAAMK,OAAN,CAArB,CAAP;AACD;;AAED,SAAOE,SAAP,CAAiB,GAAGC,IAApB,EAA0B;AACxB,QAAI,OAAOA,KAAK,CAAL,CAAP,KAAmB,QAAvB,EAAiC;AAC/B,SAAGR,MAAMQ,KAAK,CAAL,CAAN,CAAH,IAAqBA,IAArB;AACD;AACD,WAAOX,UAAUU,SAAV,CAAoB,GAAGC,IAAvB,CAAP;AACD;;AAED,SAAOC,SAAP,CAAiB,GAAGD,IAApB,EAA0B;AACxB,QAAI,OAAOA,KAAK,CAAL,CAAP,KAAmB,QAAvB,EAAiC;AAC/B,SAAGR,MAAMQ,KAAK,CAAL,CAAN,CAAH,IAAqBA,IAArB;AACD;AACD,WAAOX,UAAUY,SAAV,CAAoB,GAAGD,IAAvB,CAAP;AACD;;AAED,SAAOE,UAAP,CAAkB,GAAGF,IAArB,EAA2B;AACzB,QAAI,OAAOA,KAAK,CAAL,CAAP,KAAmB,QAAvB,EAAiC;AAC/B,SAAGR,MAAMQ,KAAK,CAAL,CAAN,CAAH,IAAqBA,IAArB;AACD;AACD,WAAOX,UAAUa,UAAV,CAAqB,GAAGF,IAAxB,CAAP;AACD;;AAED,SAAOG,KAAP,GAAe;AACbd,gBAAY,IAAIC,qBAAWC,SAAf,EAAZ;AACAC,YAAQ,EAAR;AACD;;AAED;;;;AAIA,SAAOY,wBAAP,CAAgCC,YAAY,EAA5C,EAAgDC,MAAhD,EAAwD;AACtD,SAAK,MAAMC,aAAX,IAA4BF,SAA5B,EAAuC;AACrCZ,SAAGe,eAAH,CAAmBD,aAAnB,EAAkCD,MAAlC;AACD;AACF;;AAED;;;;AAIA,SAAOE,eAAP,CAAuBC,aAAvB,EAAsCH,MAAtC,EAA8C;AAC5C,UAAMI,WAAW,IAAID,aAAJ,CAAkBH,MAAlB,CAAjB;AACA,QAAI,EAAEI,oBAAoBC,0BAAtB,CAAJ,EAA4C;AAC1C,YAAM,IAAIb,4BAAJ,CAAsB,kBAAiBY,SAASE,IAAK,uBAArD,CAAN;AACD;AACDF,aAASG,QAAT;AACD;;AAED,SAAOC,uBAAP,CAA+BT,SAA/B,EAA0CU,UAA1C,EAAsD;AACpD,UAAMC,aAAa;AACjBC,eAAS,OAAO;AACdF;AADc,OAAP;AADQ,KAAnB;AAKAtB,OAAGW,wBAAH,CAA4BC,SAA5B,EAAuCW,UAAvC;AACD;AA3EqB,C;kBAAHvB,E","file":"di.js","sourcesContent":["import constitute from 'constitute';\nimport { RuntimeException } from './exceptions';\nimport { ServiceProvider } from './services/providers';\n\nlet container = new constitute.Container();\nlet bound = {};\n\nexport default class DI {\n static getContainer() {\n return container;\n }\n\n static getBound() {\n return bound;\n }\n\n static get(service) {\n if (typeof service !== 'string') {\n return container.constitute(service);\n }\n\n if (!bound[service]) {\n throw new RuntimeException(`Service ${service} not bound yet`);\n }\n return container.constitute(bound[service]);\n }\n\n static bindClass(...args) {\n if (typeof args[0] === 'string') {\n [, bound[args[0]]] = args;\n }\n return container.bindClass(...args);\n }\n\n static bindValue(...args) {\n if (typeof args[0] === 'string') {\n [, bound[args[0]]] = args;\n }\n return container.bindValue(...args);\n }\n\n static bindMethod(...args) {\n if (typeof args[0] === 'string') {\n [, bound[args[0]]] = args;\n }\n return container.bindMethod(...args);\n }\n\n static reset() {\n container = new constitute.Container();\n bound = {};\n }\n\n /**\n * @param {Array} providers\n * @param {EvaEngine} engine\n */\n static registerServiceProviders(providers = [], engine) {\n for (const providerClass of providers) {\n DI.registerService(providerClass, engine);\n }\n }\n\n /**\n * @param {constructor} ProviderClass\n * @param {EvaEngine} engine\n */\n static registerService(ProviderClass, engine) {\n const provider = new ProviderClass(engine);\n if (!(provider instanceof ServiceProvider)) {\n throw new RuntimeException(`Input provider ${provider.name} not service provider`);\n }\n provider.register();\n }\n\n static registerMockedProviders(providers, configPath) {\n const mockEngine = {\n getMeta: () => ({\n configPath\n })\n };\n DI.registerServiceProviders(providers, mockEngine);\n }\n}\n"]}