namirasoft-node 1.2.10 → 1.2.12
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/dist/BaseApplication.d.ts +2 -2
- package/dist/BaseApplication.js +19 -17
- package/dist/BaseApplication.js.map +1 -1
- package/package.json +1 -1
- package/src/BaseApplication.ts +21 -19
|
@@ -13,7 +13,7 @@ export declare abstract class BaseApplication<D extends BaseDatabase> {
|
|
|
13
13
|
protected swagger_dir: string;
|
|
14
14
|
private linkLoader?;
|
|
15
15
|
private links;
|
|
16
|
-
|
|
16
|
+
express: express.Express;
|
|
17
17
|
database: D;
|
|
18
18
|
logger: ILogger;
|
|
19
19
|
protected abstract getDatabase(): D;
|
|
@@ -27,7 +27,7 @@ export declare abstract class BaseApplication<D extends BaseDatabase> {
|
|
|
27
27
|
start(): Promise<void>;
|
|
28
28
|
protected startCrashHandler(): Promise<void>;
|
|
29
29
|
protected startDatabase(): Promise<void>;
|
|
30
|
-
protected
|
|
30
|
+
protected startExpress(): Promise<void>;
|
|
31
31
|
protected createSwagger(): Promise<void>;
|
|
32
32
|
protected startSwagger(): Promise<void>;
|
|
33
33
|
protected startHomePage(): Promise<void>;
|
package/dist/BaseApplication.js
CHANGED
|
@@ -44,6 +44,7 @@ const swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
|
|
|
44
44
|
const swagger_jsdoc_1 = __importDefault(require("swagger-jsdoc"));
|
|
45
45
|
const namirasoft_core_1 = require("namirasoft-core");
|
|
46
46
|
const namirasoft_schema_1 = require("namirasoft-schema");
|
|
47
|
+
const EnvService_1 = require("./EnvService");
|
|
47
48
|
class BaseApplication {
|
|
48
49
|
constructor(base_path, swagger_path = null) {
|
|
49
50
|
var _a, _b, _c, _d;
|
|
@@ -79,10 +80,13 @@ class BaseApplication {
|
|
|
79
80
|
yield this.startCrashHandler();
|
|
80
81
|
yield this.startDatabase();
|
|
81
82
|
if (!process.env.NAMIRASOFT_MUTE) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
let SERVER_MODE = new EnvService_1.EnvService("SERVER_MODE", false).getString("api").toLowerCase();
|
|
84
|
+
if (SERVER_MODE == "api") {
|
|
85
|
+
yield this.startExpress();
|
|
86
|
+
yield this.createSwagger();
|
|
87
|
+
yield this.startSwagger();
|
|
88
|
+
yield this.startHomePage();
|
|
89
|
+
}
|
|
86
90
|
yield this.onStart();
|
|
87
91
|
}
|
|
88
92
|
else {
|
|
@@ -109,17 +113,15 @@ class BaseApplication {
|
|
|
109
113
|
return __awaiter(this, void 0, void 0, function* () {
|
|
110
114
|
this.database = this.getDatabase();
|
|
111
115
|
this.database.init();
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
yield this.database.sync(false);
|
|
115
|
-
}
|
|
116
|
+
yield this.database.connect();
|
|
117
|
+
yield this.database.sync(false);
|
|
116
118
|
});
|
|
117
119
|
}
|
|
118
|
-
|
|
120
|
+
startExpress() {
|
|
119
121
|
return __awaiter(this, void 0, void 0, function* () {
|
|
120
122
|
if (!process.env.NAMIRASOFT_MUTE) {
|
|
121
|
-
this.
|
|
122
|
-
this.
|
|
123
|
+
this.express = (0, express_1.default)();
|
|
124
|
+
this.express.use((req, res, next) => {
|
|
123
125
|
let excludes = [];
|
|
124
126
|
if (excludes.includes(req.path))
|
|
125
127
|
next();
|
|
@@ -127,14 +129,14 @@ class BaseApplication {
|
|
|
127
129
|
express_1.default.json({ limit: '100kb' })(req, res, next);
|
|
128
130
|
});
|
|
129
131
|
// Express
|
|
130
|
-
this.
|
|
132
|
+
this.express.use(express_1.default.static('static'));
|
|
131
133
|
// Cors
|
|
132
|
-
this.
|
|
134
|
+
this.express.use((0, cors_1.default)({ exposedHeaders: '*', }));
|
|
133
135
|
// api routes
|
|
134
|
-
this.
|
|
136
|
+
this.express.use('/', yield this.getRouter());
|
|
135
137
|
// start server
|
|
136
138
|
const port = this.getPort();
|
|
137
|
-
this.
|
|
139
|
+
this.express.listen(port, () => __awaiter(this, void 0, void 0, function* () {
|
|
138
140
|
this.logger.info(`Server listening on port ${port}`);
|
|
139
141
|
}));
|
|
140
142
|
}
|
|
@@ -188,12 +190,12 @@ class BaseApplication {
|
|
|
188
190
|
var options = {
|
|
189
191
|
explorer: true
|
|
190
192
|
};
|
|
191
|
-
this.
|
|
193
|
+
this.express.use(this.swagger_path + "/", swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(swaggerSpec, options));
|
|
192
194
|
});
|
|
193
195
|
}
|
|
194
196
|
startHomePage() {
|
|
195
197
|
return __awaiter(this, void 0, void 0, function* () {
|
|
196
|
-
this.
|
|
198
|
+
this.express.get(this.base_path + "/", (_, res) => {
|
|
197
199
|
const htmlFilePath = path.join(__dirname, '../public/index.html');
|
|
198
200
|
fs.readFile(htmlFilePath, 'utf8', (err, data) => __awaiter(this, void 0, void 0, function* () {
|
|
199
201
|
if (err)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseApplication.js","sourceRoot":"","sources":["../src/BaseApplication.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA0C;AAC1C,gDAAwB;AACxB,uCAAyB;AACzB,2CAA6B;AAC7B,4EAA2C;AAC3C,kEAAyC;AAIzC,qDAAiD;AACjD,yDAAiF;
|
|
1
|
+
{"version":3,"file":"BaseApplication.js","sourceRoot":"","sources":["../src/BaseApplication.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/BaseApplication.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { ILogger } from "namirasoft-log";
|
|
|
9
9
|
import { BaseApplicationLink } from './BaseApplicationLink';
|
|
10
10
|
import { PackageService } from 'namirasoft-core';
|
|
11
11
|
import { ApplicationSchema, SwaggerApplicationBuilder } from 'namirasoft-schema';
|
|
12
|
+
import { EnvService } from './EnvService';
|
|
12
13
|
|
|
13
14
|
export abstract class BaseApplication<D extends BaseDatabase>
|
|
14
15
|
{
|
|
@@ -21,7 +22,7 @@ export abstract class BaseApplication<D extends BaseDatabase>
|
|
|
21
22
|
protected swagger_dir: string;
|
|
22
23
|
private linkLoader?: () => Promise<void>;
|
|
23
24
|
private links: BaseApplicationLink[] = [];
|
|
24
|
-
public
|
|
25
|
+
public express!: express.Express;
|
|
25
26
|
public database!: D;
|
|
26
27
|
public logger: ILogger;
|
|
27
28
|
protected abstract getDatabase(): D;
|
|
@@ -65,10 +66,14 @@ export abstract class BaseApplication<D extends BaseDatabase>
|
|
|
65
66
|
await this.startDatabase();
|
|
66
67
|
if (!process.env.NAMIRASOFT_MUTE)
|
|
67
68
|
{
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
let SERVER_MODE = new EnvService("SERVER_MODE", false).getString("api").toLowerCase();
|
|
70
|
+
if (SERVER_MODE == "api")
|
|
71
|
+
{
|
|
72
|
+
await this.startExpress();
|
|
73
|
+
await this.createSwagger();
|
|
74
|
+
await this.startSwagger();
|
|
75
|
+
await this.startHomePage();
|
|
76
|
+
}
|
|
72
77
|
await this.onStart();
|
|
73
78
|
}
|
|
74
79
|
else
|
|
@@ -97,18 +102,15 @@ export abstract class BaseApplication<D extends BaseDatabase>
|
|
|
97
102
|
{
|
|
98
103
|
this.database = this.getDatabase();
|
|
99
104
|
this.database.init();
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
await this.database.connect();
|
|
103
|
-
await this.database.sync(false);
|
|
104
|
-
}
|
|
105
|
+
await this.database.connect();
|
|
106
|
+
await this.database.sync(false);
|
|
105
107
|
}
|
|
106
|
-
protected async
|
|
108
|
+
protected async startExpress(): Promise<void>
|
|
107
109
|
{
|
|
108
110
|
if (!process.env.NAMIRASOFT_MUTE)
|
|
109
111
|
{
|
|
110
|
-
this.
|
|
111
|
-
this.
|
|
112
|
+
this.express = express();
|
|
113
|
+
this.express.use((req, res, next) =>
|
|
112
114
|
{
|
|
113
115
|
let excludes: string[] = [];
|
|
114
116
|
if (excludes.includes(req.path))
|
|
@@ -117,14 +119,14 @@ export abstract class BaseApplication<D extends BaseDatabase>
|
|
|
117
119
|
express.json({ limit: '100kb' })(req, res, next);
|
|
118
120
|
});
|
|
119
121
|
// Express
|
|
120
|
-
this.
|
|
122
|
+
this.express.use(express.static('static'));
|
|
121
123
|
// Cors
|
|
122
|
-
this.
|
|
124
|
+
this.express.use(cors({ exposedHeaders: '*', }));
|
|
123
125
|
// api routes
|
|
124
|
-
this.
|
|
126
|
+
this.express.use('/', await this.getRouter());
|
|
125
127
|
// start server
|
|
126
128
|
const port = this.getPort();
|
|
127
|
-
this.
|
|
129
|
+
this.express.listen(port, async () =>
|
|
128
130
|
{
|
|
129
131
|
this.logger.info(`Server listening on port ${port}`);
|
|
130
132
|
});
|
|
@@ -179,11 +181,11 @@ export abstract class BaseApplication<D extends BaseDatabase>
|
|
|
179
181
|
var options = {
|
|
180
182
|
explorer: true
|
|
181
183
|
};
|
|
182
|
-
this.
|
|
184
|
+
this.express.use(this.swagger_path + "/", swaggerUi.serve, swaggerUi.setup(swaggerSpec, options));
|
|
183
185
|
}
|
|
184
186
|
protected async startHomePage(): Promise<void>
|
|
185
187
|
{
|
|
186
|
-
this.
|
|
188
|
+
this.express.get(this.base_path + "/", (_, res) =>
|
|
187
189
|
{
|
|
188
190
|
const htmlFilePath = path.join(__dirname, '../public/index.html');
|
|
189
191
|
fs.readFile(htmlFilePath, 'utf8', async (err: any, data: string) =>
|