namirasoft-node 1.1.0 → 1.1.2

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.
@@ -22,11 +22,11 @@ export declare abstract class BaseApplication<D extends BaseDatabase> {
22
22
  setLinkLoader(linkLoader: () => Promise<void>): void;
23
23
  addLink(link: BaseApplicationLink): void;
24
24
  addSwaggerLink(): void;
25
- start(): void;
26
- protected startCrashHandler(): void;
27
- protected startDatabase(): void;
28
- protected startServer(): void;
29
- protected startSwagger(): void;
30
- protected startHomePage(): void;
25
+ start(): Promise<void>;
26
+ protected startCrashHandler(): Promise<void>;
27
+ protected startDatabase(): Promise<void>;
28
+ protected startServer(): Promise<void>;
29
+ protected startSwagger(): Promise<void>;
30
+ protected startHomePage(): Promise<void>;
31
31
  abstract onStart(): Promise<void>;
32
32
  }
@@ -50,112 +50,125 @@ class BaseApplication {
50
50
  });
51
51
  }
52
52
  start() {
53
- this.startCrashHandler();
54
- this.startDatabase();
55
- this.startServer();
56
- this.startSwagger();
57
- this.startHomePage();
58
- this.onStart();
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ yield this.startCrashHandler();
55
+ yield this.startDatabase();
56
+ yield this.startServer();
57
+ yield this.startSwagger();
58
+ yield this.startHomePage();
59
+ yield this.onStart();
60
+ });
59
61
  }
60
62
  startCrashHandler() {
61
- process.on('unhandledRejection', (reason) => {
62
- if (reason instanceof Error)
63
- this.logger.onCatchCritical(reason);
64
- else
65
- this.logger.critical(reason + "");
66
- });
67
- process.on('uncaughtException', (error) => {
68
- this.logger.onCatchFatal(error);
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ process.on('unhandledRejection', (reason) => {
65
+ if (reason instanceof Error)
66
+ this.logger.onCatchCritical(reason);
67
+ else
68
+ this.logger.critical(reason + "");
69
+ });
70
+ process.on('uncaughtException', (error) => {
71
+ this.logger.onCatchFatal(error);
72
+ });
69
73
  });
70
74
  }
71
75
  startDatabase() {
72
- this.database = this.getDatabase();
73
- this.database.init().then(() => this.database.sync(false));
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ this.database = this.getDatabase();
78
+ this.database.init();
79
+ yield this.database.sync(false);
80
+ });
74
81
  }
75
82
  startServer() {
76
- this.app = (0, express_1.default)();
77
- this.app.use((req, res, next) => {
78
- let excludes = [];
79
- if (excludes.includes(req.path))
80
- next();
81
- else
82
- express_1.default.json({ limit: '100kb' })(req, res, next);
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ this.app = (0, express_1.default)();
85
+ this.app.use((req, res, next) => {
86
+ let excludes = [];
87
+ if (excludes.includes(req.path))
88
+ next();
89
+ else
90
+ express_1.default.json({ limit: '100kb' })(req, res, next);
91
+ });
92
+ // Express
93
+ this.app.use(express_1.default.static('static'));
94
+ // Cors
95
+ this.app.use((0, cors_1.default)({ exposedHeaders: '*', }));
96
+ // api routes
97
+ this.app.use('/', this.getRouter());
98
+ // start server
99
+ const port = this.getPort();
100
+ this.app.listen(port, () => __awaiter(this, void 0, void 0, function* () {
101
+ this.logger.info(`Server listening on port ${port}`);
102
+ }));
83
103
  });
84
- // Express
85
- this.app.use(express_1.default.static('static'));
86
- // Cors
87
- this.app.use((0, cors_1.default)({ exposedHeaders: '*', }));
88
- // api routes
89
- this.app.use('/', this.getRouter());
90
- // start server
91
- const port = this.getPort();
92
- this.app.listen(port, () => __awaiter(this, void 0, void 0, function* () {
93
- this.logger.info(`Server listening on port ${port}`);
94
- }));
95
104
  }
96
105
  startSwagger() {
97
- const joptions = {
98
- definition: {
99
- openapi: "3.0.1",
100
- info: {
101
- title: this.title,
102
- description: this.description,
103
- version: this.version,
104
- // license: {
105
- // name: "MIT",
106
- // url: "https://spdx.org/licenses/MIT.html",
107
- // },
108
- // contact: {
109
- // name: "Amir Abolhasani",
110
- // url: "https://namirasoft.com",
111
- // email: "accounts@namirasoft.com",
112
- // },
113
- },
114
- servers: [
115
- {
116
- url: this.serverPath,
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ const joptions = {
108
+ definition: {
109
+ openapi: "3.0.1",
110
+ info: {
111
+ title: this.title,
112
+ description: this.description,
113
+ version: this.version,
114
+ // license: {
115
+ // name: "MIT",
116
+ // url: "https://spdx.org/licenses/MIT.html",
117
+ // },
118
+ // contact: {
119
+ // name: "Amir Abolhasani",
120
+ // url: "https://namirasoft.com",
121
+ // email: "accounts@namirasoft.com",
122
+ // },
117
123
  },
118
- ],
119
- },
120
- apis: ['./src/route/*.ts'],
121
- };
122
- const swaggerSpec = (0, swagger_jsdoc_1.default)(joptions);
123
- var options = {
124
- explorer: true
125
- };
126
- this.app.use(this.swaggerPath + "/", swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(swaggerSpec, options));
124
+ servers: [
125
+ {
126
+ url: this.serverPath,
127
+ },
128
+ ],
129
+ },
130
+ apis: ['./src/route/*.ts'],
131
+ };
132
+ const swaggerSpec = (0, swagger_jsdoc_1.default)(joptions);
133
+ var options = {
134
+ explorer: true
135
+ };
136
+ this.app.use(this.swaggerPath + "/", swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(swaggerSpec, options));
137
+ });
127
138
  }
128
139
  startHomePage() {
129
- this.app.get(this.serverPath + "/", (_, res) => {
130
- const htmlFilePath = path_1.default.join(__dirname, '../public/index.html');
131
- fs_1.default.readFile(htmlFilePath, 'utf8', (err, data) => __awaiter(this, void 0, void 0, function* () {
132
- if (err)
133
- return res.status(500).send('Error reading HTML file');
134
- data = data.replace(/\@title/gm, this.title);
135
- data = data.replace(/\@description/gm, this.description);
136
- data = data.replace(/\@logo/gm, this.logo);
137
- let match = /<\@row>([\w\W]*)<\/\@row>/gm.exec(data);
138
- if (match) {
139
- let rows = [];
140
- if (this.linkLoader) {
141
- this.links = [];
142
- yield this.linkLoader();
143
- }
144
- this.links.forEach(link => {
145
- if (match) {
146
- let row = match[1];
147
- row = row.replace(/\@row_name/gm, link.name);
148
- row = row.replace(/\@row_url/gm, link.url);
149
- row = row.replace(/\@row_logo/gm, link.logo);
150
- row = row.replace(/\@row_description/gm, link.description);
151
- rows.push(row);
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ this.app.get(this.serverPath + "/", (_, res) => {
142
+ const htmlFilePath = path_1.default.join(__dirname, '../public/index.html');
143
+ fs_1.default.readFile(htmlFilePath, 'utf8', (err, data) => __awaiter(this, void 0, void 0, function* () {
144
+ if (err)
145
+ return res.status(500).send('Error reading HTML file');
146
+ data = data.replace(/\@title/gm, this.title);
147
+ data = data.replace(/\@description/gm, this.description);
148
+ data = data.replace(/\@logo/gm, this.logo);
149
+ let match = /<\@row>([\w\W]*)<\/\@row>/gm.exec(data);
150
+ if (match) {
151
+ let rows = [];
152
+ if (this.linkLoader) {
153
+ this.links = [];
154
+ yield this.linkLoader();
152
155
  }
153
- });
154
- data = data.replace(match[0], rows.join(" "));
155
- }
156
- res.send(data);
157
- return;
158
- }));
156
+ this.links.forEach(link => {
157
+ if (match) {
158
+ let row = match[1];
159
+ row = row.replace(/\@row_name/gm, link.name);
160
+ row = row.replace(/\@row_url/gm, link.url);
161
+ row = row.replace(/\@row_logo/gm, link.logo);
162
+ row = row.replace(/\@row_description/gm, link.description);
163
+ rows.push(row);
164
+ }
165
+ });
166
+ data = data.replace(match[0], rows.join(" "));
167
+ }
168
+ res.send(data);
169
+ return;
170
+ }));
171
+ });
159
172
  });
160
173
  }
161
174
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseApplication.js","sourceRoot":"","sources":["../src/BaseApplication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseApplication.js","sourceRoot":"","sources":["../src/BaseApplication.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ export declare abstract class BaseController<D extends BaseDatabase, State, Prop
17
17
  protected props: Props;
18
18
  constructor(req: express.Request, res: express.Response);
19
19
  abstract getLogger(): ILogger;
20
- abstract getDatabase(): Promise<D>;
20
+ abstract getDatabase(): D;
21
21
  abstract getAnomaly(): AnomalyDetector | null;
22
22
  abstract getBodySchema(): SchemaLike | null;
23
23
  abstract getQuerySchema(): SchemaLike | null;
@@ -35,7 +35,8 @@ class BaseController {
35
35
  if (this.showLogAtTheBeginning)
36
36
  this.logger.info(JSON.stringify(this.meta));
37
37
  // init controller
38
- this.database = yield this.getDatabase();
38
+ this.database = this.getDatabase();
39
+ this.database.init();
39
40
  this.state = yield this.getState();
40
41
  this.props = yield this.getProps();
41
42
  // preHandle
@@ -1 +1 @@
1
- {"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../src/BaseController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,iCAA8B;AAC9B,8CAAsB;AACtB,qDAA4D;AAE5D,MAAsB,cAAc;IAYhC,YAAY,GAAoB,EAAE,GAAqB;QAV7C,0BAAqB,GAAY,KAAK,CAAC;QACvC,oBAAe,GAAY,IAAI,CAAC;QAWtC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC;IAYK,GAAG;;YAEL,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,SAAS;YACT,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,IACA;gBACI,OAAO;gBACP,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,IAAI,CAAC,qBAAqB;oBAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAChD,kBAAkB;gBAClB,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzC,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnC,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAEnC,YAAY;gBACZ,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBAEvB,oBAAoB;gBACpB,IAAI,OAAO,GAA2B,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxD,IAAI,OAAO,IAAI,IAAI;oBACf,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;wBAC9C,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,+BAA+B,CAAC,CAAC;gBAEvE,wBAAwB;gBACxB,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,IAAI,UAAU,IAAI,IAAI,EACtB;oBACI,MAAM,UAAU,GAAG,MAAM,aAAG,CAAC,OAAO,CAAC,UAAU,CAAC;yBAC3C,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;yBACnC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC7B,IAAI,UAAU,CAAC,KAAK,EACpB;wBACI,IAAI,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpF,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;qBAC1C;iBACJ;gBACD,yBAAyB;gBACzB,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxC,IAAI,WAAW,IAAI,IAAI,EACvB;oBACI,MAAM,UAAU,GAAG,MAAM,aAAG,CAAC,OAAO,CAAC,WAAW,CAAC;yBAC5C,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;yBACnC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAI,UAAU,CAAC,KAAK,EACpB;wBACI,IAAI,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpF,gCAAc,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;qBAC1C;iBACJ;gBAED,kBAAkB;gBAClB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;oBACnB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;gBAE5B,aAAa;gBACb,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;aAC3B;YAAC,OAAO,KAAK,EACd;gBACI,IAAI,OAAe,CAAC;gBACpB,IAAI,KAAK,YAAY,KAAK,EAC1B;oBACI,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;oBACxB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;iBAC3B;;oBAEG,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC;gBAEzB,IAAI,KAAK,YAAY,2BAAS,EAC9B;oBACI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;oBAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;iBAC/F;qBAED;oBACI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;oBACrB,IAAI,KAAK,YAAY,KAAK;wBACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;iBACtG;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC5B,IAAI,KAAK,YAAY,2BAAS;oBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;;oBAEhC,IAAI,CAAC,MAAM,GAAG,8BAA8B,CAAC;aACpD;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,CAAC;KAAA;CACJ;AAzHD,wCAyHC"}
1
+ {"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../src/BaseController.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export declare abstract class BaseDatabase {
2
- abstract init(): Promise<void>;
3
- abstract sync(force: boolean): void;
2
+ abstract init(): void;
3
+ abstract sync(force: boolean): Promise<void>;
4
4
  }
@@ -3,5 +3,5 @@ export declare class BaseTable<D extends BaseDatabase> {
3
3
  database: D;
4
4
  constructor(database: D);
5
5
  getSecureColumns(): string[];
6
- secure(obj: any): void;
6
+ secure(obj: any): any;
7
7
  }
package/dist/BaseTable.js CHANGED
@@ -9,8 +9,11 @@ class BaseTable {
9
9
  return [];
10
10
  }
11
11
  secure(obj) {
12
+ if (obj.dataValues)
13
+ obj = obj.dataValues;
12
14
  let cols = this.getSecureColumns();
13
15
  cols.forEach(col => delete obj[col]);
16
+ return obj;
14
17
  }
15
18
  }
16
19
  exports.BaseTable = BaseTable;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTable.js","sourceRoot":"","sources":["../src/BaseTable.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAGlB,YAAY,QAAW;QAEnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IACD,gBAAgB;QAEZ,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAQ;QAEX,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;CACJ;AAhBD,8BAgBC"}
1
+ {"version":3,"file":"BaseTable.js","sourceRoot":"","sources":["../src/BaseTable.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAS;IAGlB,YAAY,QAAW;QAEnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IACD,gBAAgB;QAEZ,OAAO,EAAE,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAQ;QAEX,IAAI,GAAG,CAAC,UAAU;YACd,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC;QACzB,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAnBD,8BAmBC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "namirasoft-node",
3
3
  "description": "Namira Software Corporation Node NPM Package",
4
- "version": "1.1.0",
4
+ "version": "1.1.2",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "scripts": {},
@@ -25,9 +25,7 @@
25
25
  "request-ip": "^3.3.0",
26
26
  "sequelize": "^6.35.0",
27
27
  "swagger-jsdoc": "^6.2.8",
28
- "swagger-ui-express": "^5.0.0"
29
- },
30
- "devDependencies": {
31
- "@types/node": "^20.9.0"
28
+ "swagger-ui-express": "^5.0.0",
29
+ "@types/node": "^20.9.2"
32
30
  }
33
31
  }
@@ -56,16 +56,16 @@ export abstract class BaseApplication<D extends BaseDatabase>
56
56
  description: this.description + " Swagger"
57
57
  });
58
58
  }
59
- start()
59
+ async start()
60
60
  {
61
- this.startCrashHandler();
62
- this.startDatabase();
63
- this.startServer();
64
- this.startSwagger();
65
- this.startHomePage();
66
- this.onStart();
61
+ await this.startCrashHandler();
62
+ await this.startDatabase();
63
+ await this.startServer();
64
+ await this.startSwagger();
65
+ await this.startHomePage();
66
+ await this.onStart();
67
67
  }
68
- protected startCrashHandler(): void
68
+ protected async startCrashHandler(): Promise<void>
69
69
  {
70
70
  process.on('unhandledRejection', (reason) =>
71
71
  {
@@ -79,12 +79,13 @@ export abstract class BaseApplication<D extends BaseDatabase>
79
79
  this.logger.onCatchFatal(error);
80
80
  });
81
81
  }
82
- protected startDatabase(): void
82
+ protected async startDatabase(): Promise<void>
83
83
  {
84
84
  this.database = this.getDatabase();
85
- this.database.init().then(() => this.database.sync(false));
85
+ this.database.init();
86
+ await this.database.sync(false);
86
87
  }
87
- protected startServer(): void
88
+ protected async startServer(): Promise<void>
88
89
  {
89
90
  this.app = express();
90
91
  this.app.use((req, res, next) =>
@@ -108,7 +109,7 @@ export abstract class BaseApplication<D extends BaseDatabase>
108
109
  this.logger.info(`Server listening on port ${port}`);
109
110
  });
110
111
  }
111
- protected startSwagger(): void
112
+ protected async startSwagger(): Promise<void>
112
113
  {
113
114
  const joptions = {
114
115
  definition: {
@@ -141,7 +142,7 @@ export abstract class BaseApplication<D extends BaseDatabase>
141
142
  };
142
143
  this.app.use(this.swaggerPath + "/", swaggerUi.serve, swaggerUi.setup(swaggerSpec, options));
143
144
  }
144
- protected startHomePage(): void
145
+ protected async startHomePage(): Promise<void>
145
146
  {
146
147
  this.app.get(this.serverPath + "/", (_, res) =>
147
148
  {
@@ -26,7 +26,7 @@ export abstract class BaseController<D extends BaseDatabase, State, Props>
26
26
  this.logger = this.getLogger();
27
27
  }
28
28
  abstract getLogger(): ILogger;
29
- abstract getDatabase(): Promise<D>;
29
+ abstract getDatabase(): D;
30
30
  abstract getAnomaly(): AnomalyDetector | null;
31
31
  abstract getBodySchema(): SchemaLike | null;
32
32
  abstract getQuerySchema(): SchemaLike | null;
@@ -48,7 +48,8 @@ export abstract class BaseController<D extends BaseDatabase, State, Props>
48
48
  if (this.showLogAtTheBeginning)
49
49
  this.logger.info(JSON.stringify(this.meta));
50
50
  // init controller
51
- this.database = await this.getDatabase();
51
+ this.database = this.getDatabase();
52
+ this.database.init();
52
53
  this.state = await this.getState();
53
54
  this.props = await this.getProps();
54
55
 
@@ -1,5 +1,5 @@
1
1
  export abstract class BaseDatabase
2
2
  {
3
- abstract init(): Promise<void>;
4
- abstract sync(force: boolean): void;
3
+ abstract init(): void;
4
+ abstract sync(force: boolean): Promise<void>;
5
5
  }
package/src/BaseTable.ts CHANGED
@@ -13,7 +13,10 @@ export class BaseTable<D extends BaseDatabase>
13
13
  }
14
14
  secure(obj: any)
15
15
  {
16
+ if (obj.dataValues)
17
+ obj = obj.dataValues;
16
18
  let cols = this.getSecureColumns();
17
19
  cols.forEach(col => delete obj[col]);
20
+ return obj;
18
21
  }
19
22
  }