express-ext 0.0.0 → 0.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.
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var LogController = (function () {
4
+ function LogController(logger, mp) {
5
+ this.logger = logger;
6
+ this.map = mp;
7
+ this.config = this.config.bind(this);
8
+ }
9
+ LogController.prototype.config = function (req, res) {
10
+ var obj = req.body;
11
+ if (!obj || obj === '') {
12
+ return res.status(400).end('The request body cannot be empty');
13
+ }
14
+ if (!this.logger || !this.map) {
15
+ return res.status(503).end('Logger is not available');
16
+ }
17
+ if (!this.map) {
18
+ return res.status(503).end('Map is not available');
19
+ }
20
+ var changed = false;
21
+ if (obj.level && typeof obj.level === 'string' && obj.level.length > 0) {
22
+ var lv = this.map[obj.level.toUpperCase()];
23
+ if (lv !== undefined) {
24
+ this.logger.level = lv;
25
+ changed = true;
26
+ }
27
+ }
28
+ if (obj.map) {
29
+ if (obj.map.level && typeof obj.map.level === 'string' && obj.map.level.length > 0) {
30
+ this.logger.map.level = obj.map.level;
31
+ changed = true;
32
+ }
33
+ if (obj.map.time && typeof obj.map.time === 'string' && obj.map.time.length > 0) {
34
+ this.logger.map.time = obj.map.time;
35
+ changed = true;
36
+ }
37
+ if (obj.map.msg && typeof obj.map.msg === 'string' && obj.map.msg.length > 0) {
38
+ this.logger.map.msg = obj.map.msg;
39
+ changed = true;
40
+ }
41
+ }
42
+ if (changed) {
43
+ return res.status(200).end('true');
44
+ }
45
+ else {
46
+ return res.status(204).end('false');
47
+ }
48
+ };
49
+ return LogController;
50
+ }());
51
+ exports.LogController = LogController;
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use strict";function __export(m){for(var p in m)if(!exports.hasOwnProperty(p))exports[p]=m[p]}
2
- Object.defineProperty(exports,"__esModule",{value:!0});var HealthController_1=require("./HealthController");exports.HealthHandler=HealthController_1.HealthController;__export(require("./health"));__export(require("./HealthController"))
2
+ Object.defineProperty(exports,"__esModule",{value:!0});var HealthController_1=require("./HealthController");exports.HealthHandler=HealthController_1.HealthController;var LogController_1=require("./LogController");exports.LogHandler=LogController_1.LogController;__export(require("./health"));__export(require("./HealthController"));__export(require("./LogController"))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "express-ext",
3
- "version": "0.0.0",
3
+ "version": "0.0.1",
4
4
  "description": "express-ext",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./src/index.ts",
@@ -0,0 +1,70 @@
1
+ import {Request, Response} from 'express';
2
+
3
+ export interface NumberMap {
4
+ [key: string]: number;
5
+ }
6
+ export interface LogConfig {
7
+ level?: string;
8
+ map?: LogMapConfig;
9
+ }
10
+ export interface LogMapConfig {
11
+ time?: string;
12
+ level?: string;
13
+ msg?: string;
14
+ }
15
+ export interface LogMap {
16
+ time: string;
17
+ level: string;
18
+ msg: string;
19
+ }
20
+ export interface Logger {
21
+ level: number;
22
+ map: LogMap;
23
+ }
24
+
25
+ export class LogController {
26
+ map?: NumberMap;
27
+ constructor(public logger: Logger, mp?: NumberMap) {
28
+ this.map = mp;
29
+ this.config = this.config.bind(this);
30
+ }
31
+ config(req: Request, res: Response) {
32
+ const obj: LogConfig = req.body;
33
+ if (!obj || obj === '') {
34
+ return res.status(400).end('The request body cannot be empty');
35
+ }
36
+ if (!this.logger || !this.map) {
37
+ return res.status(503).end('Logger is not available');
38
+ }
39
+ if (!this.map) {
40
+ return res.status(503).end('Map is not available');
41
+ }
42
+ let changed = false;
43
+ if (obj.level && typeof obj.level === 'string' && obj.level.length > 0) {
44
+ const lv = this.map[obj.level.toUpperCase()];
45
+ if (lv !== undefined) {
46
+ this.logger.level = lv;
47
+ changed = true;
48
+ }
49
+ }
50
+ if (obj.map) {
51
+ if (obj.map.level && typeof obj.map.level === 'string' && obj.map.level.length > 0) {
52
+ this.logger.map.level = obj.map.level;
53
+ changed = true;
54
+ }
55
+ if (obj.map.time && typeof obj.map.time === 'string' && obj.map.time.length > 0) {
56
+ this.logger.map.time = obj.map.time;
57
+ changed = true;
58
+ }
59
+ if (obj.map.msg && typeof obj.map.msg === 'string' && obj.map.msg.length > 0) {
60
+ this.logger.map.msg = obj.map.msg;
61
+ changed = true;
62
+ }
63
+ }
64
+ if (changed) {
65
+ return res.status(200).end('true');
66
+ } else {
67
+ return res.status(204).end('false');
68
+ }
69
+ }
70
+ }
package/src/index.ts CHANGED
@@ -1,6 +1,9 @@
1
-
2
1
  import {HealthController} from './HealthController';
2
+ import {LogController} from './LogController';
3
3
 
4
4
  export {HealthController as HealthHandler};
5
+ export {LogController as LogHandler};
6
+
5
7
  export * from './health';
6
8
  export * from './HealthController';
9
+ export * from './LogController';