@azteam/express 1.2.489 → 1.2.492

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/lib/Server.js CHANGED
@@ -53,10 +53,9 @@ function compressJson(message) {
53
53
  return _pako["default"].deflate(JSON.stringify(message));
54
54
  }
55
55
  var Server = /*#__PURE__*/function () {
56
- function Server(serviceDirs) {
57
- var _this = this;
58
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
59
- var errorCallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
56
+ function Server() {
57
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
58
+ var errorCallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
60
59
  _classCallCheck(this, Server);
61
60
  this.options = _objectSpread(_objectSpread({
62
61
  redis: null,
@@ -81,43 +80,10 @@ var Server = /*#__PURE__*/function () {
81
80
  });
82
81
  this.middlewares = [];
83
82
  this.controllers = [];
84
- serviceDirs.map(function (dir) {
85
- return _this.initController(dir);
86
- });
83
+ this.socketEvents = [];
87
84
  this.callbackError = errorCallback;
88
85
  }
89
86
  _createClass(Server, [{
90
- key: "addController",
91
- value: function addController(name, version, controller) {
92
- this.controllers.push({
93
- name: name,
94
- version: version,
95
- controller: controller
96
- });
97
- return this;
98
- }
99
- }, {
100
- key: "initController",
101
- value: function initController(apiDir) {
102
- var excludeList = this.options.excludeList;
103
- if (_fs["default"].existsSync(apiDir)) {
104
- var controllerDirs = _fs["default"].readdirSync(apiDir);
105
- for (var i = 0; i < controllerDirs.length; i += 1) {
106
- var dirName = controllerDirs[i];
107
- if (_fs["default"].statSync("".concat(apiDir, "/").concat(dirName)).isDirectory()) {
108
- var versionDirs = _lodash["default"].differenceWith(_fs["default"].readdirSync("".concat(apiDir, "/").concat(dirName)), excludeList);
109
- for (var j = 0; j < versionDirs.length; j += 1) {
110
- var versionName = versionDirs[j];
111
- // eslint-disable-next-line global-require,import/no-dynamic-require
112
- var controller = require("".concat(apiDir, "/").concat(dirName, "/").concat(versionName, "/controller"))["default"];
113
- this.addController(dirName, versionName, controller);
114
- }
115
- }
116
- }
117
- }
118
- return this;
119
- }
120
- }, {
121
87
  key: "createExpressApp",
122
88
  value: function createExpressApp() {
123
89
  var _this$options = this.options,
@@ -162,10 +128,45 @@ var Server = /*#__PURE__*/function () {
162
128
  }
163
129
  return app;
164
130
  }
131
+ }, {
132
+ key: "addController",
133
+ value: function addController(name, version, controller) {
134
+ this.controllers.push({
135
+ name: name,
136
+ version: version,
137
+ controller: controller
138
+ });
139
+ return this;
140
+ }
141
+ }, {
142
+ key: "initController",
143
+ value: function initController(apiDir) {
144
+ var excludeList = this.options.excludeList;
145
+ if (_fs["default"].existsSync(apiDir)) {
146
+ var controllerDirs = _fs["default"].readdirSync(apiDir);
147
+ for (var i = 0; i < controllerDirs.length; i += 1) {
148
+ var dirName = controllerDirs[i];
149
+ if (_fs["default"].statSync("".concat(apiDir, "/").concat(dirName)).isDirectory()) {
150
+ var versionDirs = _lodash["default"].differenceWith(_fs["default"].readdirSync("".concat(apiDir, "/").concat(dirName)), excludeList);
151
+ for (var j = 0; j < versionDirs.length; j += 1) {
152
+ var versionName = versionDirs[j];
153
+ // eslint-disable-next-line global-require,import/no-dynamic-require
154
+ var controller = require("".concat(apiDir, "/").concat(dirName, "/").concat(versionName, "/controller"))["default"];
155
+ this.addController(dirName, versionName, controller);
156
+ }
157
+ }
158
+ }
159
+ }
160
+ return this;
161
+ }
165
162
  }, {
166
163
  key: "startAPI",
167
164
  value: function startAPI(port) {
168
- var _this4 = this;
165
+ var _this = this;
166
+ var serviceDirs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
167
+ serviceDirs.map(function (dir) {
168
+ return _this.initController(dir);
169
+ });
169
170
  if (!_lodash["default"].isEmpty(this.controllers)) {
170
171
  var cookieOption = this.options.cookieOption;
171
172
  var app = this.createExpressApp();
@@ -358,8 +359,8 @@ var Server = /*#__PURE__*/function () {
358
359
  if (process.env.NODE_ENV === 'development') {
359
360
  console.log(error.errors);
360
361
  }
361
- if (_this4.callbackError) {
362
- _this4.callbackError(error, req.originalUrl);
362
+ if (_this.callbackError) {
363
+ _this.callbackError(error, req.originalUrl);
363
364
  }
364
365
  if (req.callbackError) {
365
366
  req.callbackError(error);
@@ -402,18 +403,47 @@ var Server = /*#__PURE__*/function () {
402
403
  }
403
404
  throw new Error('No controllers in use API');
404
405
  }
406
+ }, {
407
+ key: "initSocketEvent",
408
+ value: function initSocketEvent(socketDir) {
409
+ var excludeList = this.options.excludeList;
410
+ if (_fs["default"].existsSync(socketDir)) {
411
+ var controllerDirs = _fs["default"].readdirSync(socketDir);
412
+ for (var i = 0; i < controllerDirs.length; i += 1) {
413
+ var dirName = controllerDirs[i];
414
+ if (_fs["default"].statSync("".concat(socketDir, "/").concat(dirName)).isDirectory()) {
415
+ var versionDirs = _lodash["default"].differenceWith(_fs["default"].readdirSync("".concat(socketDir, "/").concat(dirName)), excludeList);
416
+ for (var j = 0; j < versionDirs.length; j += 1) {
417
+ // const versionName = versionDirs[j];
418
+ // // eslint-disable-next-line global-require,import/no-dynamic-require
419
+ // const controller = require(`${apiDir}/${dirName}/${versionName}/controller`).default;
420
+ // this.addController(dirName, versionName, controller);
421
+ }
422
+ }
423
+ }
424
+ }
425
+ return this;
426
+ }
405
427
  }, {
406
428
  key: "startSocket",
407
429
  value: function startSocket(port) {
408
- if (!_lodash["default"].isEmpty(this.controllers)) {
430
+ var _this4 = this;
431
+ var serviceDirs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
432
+ serviceDirs.map(function (dir) {
433
+ return _this4.initSocketEvent(dir);
434
+ });
435
+ if (!_lodash["default"].isEmpty(this.socketEvents)) {
409
436
  var httpServer = (0, _http.createServer)();
410
437
  var app = this.createExpressApp();
411
438
  httpServer.on('request', app);
412
439
  var io = new _socket.Server(httpServer);
413
440
  httpServer.listen(port);
441
+ httpServer.on('listening', function () {
442
+ console.log('listening', "ServerIO start at http://localhost:".concat(httpServer.address().port));
443
+ });
414
444
  return io;
415
445
  }
416
- throw new Error('No controllers in use SOCKET');
446
+ throw new Error('No events in use SOCKET');
417
447
  }
418
448
  }]);
419
449
  return Server;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azteam/express",
3
- "version": "1.2.489",
3
+ "version": "1.2.492",
4
4
  "license": "MIT",
5
5
  "author": "toda <sp.azsolution.net@gmail.com>",
6
6
  "main": "./lib/index.js",
package/src/Server.js CHANGED
@@ -30,7 +30,7 @@ function compressJson(message) {
30
30
  }
31
31
 
32
32
  class Server {
33
- constructor(serviceDirs, options = {}, errorCallback = () => {}) {
33
+ constructor(options = {}, errorCallback = () => {}) {
34
34
  this.options = {
35
35
  redis: null,
36
36
  whiteList: null,
@@ -54,46 +54,11 @@ class Server {
54
54
 
55
55
  this.middlewares = [];
56
56
  this.controllers = [];
57
-
58
- serviceDirs.map((dir) => {
59
- return this.initController(dir);
60
- });
57
+ this.socketEvents = [];
61
58
 
62
59
  this.callbackError = errorCallback;
63
60
  }
64
61
 
65
- addController(name, version, controller) {
66
- this.controllers.push({
67
- name,
68
- version,
69
- controller,
70
- });
71
- return this;
72
- }
73
-
74
- initController(apiDir) {
75
- const {excludeList} = this.options;
76
-
77
- if (fs.existsSync(apiDir)) {
78
- const controllerDirs = fs.readdirSync(apiDir);
79
-
80
- for (let i = 0; i < controllerDirs.length; i += 1) {
81
- const dirName = controllerDirs[i];
82
-
83
- if (fs.statSync(`${apiDir}/${dirName}`).isDirectory()) {
84
- const versionDirs = _.differenceWith(fs.readdirSync(`${apiDir}/${dirName}`), excludeList);
85
- for (let j = 0; j < versionDirs.length; j += 1) {
86
- const versionName = versionDirs[j];
87
- // eslint-disable-next-line global-require,import/no-dynamic-require
88
- const controller = require(`${apiDir}/${dirName}/${versionName}/controller`).default;
89
- this.addController(dirName, versionName, controller);
90
- }
91
- }
92
- }
93
- }
94
- return this;
95
- }
96
-
97
62
  createExpressApp() {
98
63
  const {whiteList, systemUser} = this.options;
99
64
 
@@ -141,7 +106,43 @@ class Server {
141
106
  return app;
142
107
  }
143
108
 
144
- startAPI(port) {
109
+ addController(name, version, controller) {
110
+ this.controllers.push({
111
+ name,
112
+ version,
113
+ controller,
114
+ });
115
+ return this;
116
+ }
117
+
118
+ initController(apiDir) {
119
+ const {excludeList} = this.options;
120
+
121
+ if (fs.existsSync(apiDir)) {
122
+ const controllerDirs = fs.readdirSync(apiDir);
123
+
124
+ for (let i = 0; i < controllerDirs.length; i += 1) {
125
+ const dirName = controllerDirs[i];
126
+
127
+ if (fs.statSync(`${apiDir}/${dirName}`).isDirectory()) {
128
+ const versionDirs = _.differenceWith(fs.readdirSync(`${apiDir}/${dirName}`), excludeList);
129
+ for (let j = 0; j < versionDirs.length; j += 1) {
130
+ const versionName = versionDirs[j];
131
+ // eslint-disable-next-line global-require,import/no-dynamic-require
132
+ const controller = require(`${apiDir}/${dirName}/${versionName}/controller`).default;
133
+ this.addController(dirName, versionName, controller);
134
+ }
135
+ }
136
+ }
137
+ }
138
+ return this;
139
+ }
140
+
141
+ startAPI(port, serviceDirs = []) {
142
+ serviceDirs.map((dir) => {
143
+ return this.initController(dir);
144
+ });
145
+
145
146
  if (!_.isEmpty(this.controllers)) {
146
147
  const {cookieOption} = this.options;
147
148
  const app = this.createExpressApp();
@@ -384,8 +385,35 @@ class Server {
384
385
  throw new Error('No controllers in use API');
385
386
  }
386
387
 
387
- startSocket(port) {
388
- if (!_.isEmpty(this.controllers)) {
388
+ initSocketEvent(socketDir) {
389
+ const {excludeList} = this.options;
390
+
391
+ if (fs.existsSync(socketDir)) {
392
+ const controllerDirs = fs.readdirSync(socketDir);
393
+
394
+ for (let i = 0; i < controllerDirs.length; i += 1) {
395
+ const dirName = controllerDirs[i];
396
+
397
+ if (fs.statSync(`${socketDir}/${dirName}`).isDirectory()) {
398
+ const versionDirs = _.differenceWith(fs.readdirSync(`${socketDir}/${dirName}`), excludeList);
399
+ for (let j = 0; j < versionDirs.length; j += 1) {
400
+ // const versionName = versionDirs[j];
401
+ // // eslint-disable-next-line global-require,import/no-dynamic-require
402
+ // const controller = require(`${apiDir}/${dirName}/${versionName}/controller`).default;
403
+ // this.addController(dirName, versionName, controller);
404
+ }
405
+ }
406
+ }
407
+ }
408
+ return this;
409
+ }
410
+
411
+ startSocket(port, serviceDirs = []) {
412
+ serviceDirs.map((dir) => {
413
+ return this.initSocketEvent(dir);
414
+ });
415
+
416
+ if (!_.isEmpty(this.socketEvents)) {
389
417
  const httpServer = createServer();
390
418
  const app = this.createExpressApp();
391
419
  httpServer.on('request', app);
@@ -393,10 +421,14 @@ class Server {
393
421
  const io = new SocketIO(httpServer);
394
422
  httpServer.listen(port);
395
423
 
424
+ httpServer.on('listening', () => {
425
+ console.log('listening', `ServerIO start at http://localhost:${httpServer.address().port}`);
426
+ });
427
+
396
428
  return io;
397
429
  }
398
430
 
399
- throw new Error('No controllers in use SOCKET');
431
+ throw new Error('No events in use SOCKET');
400
432
  }
401
433
  }
402
434