namirasoft-node 1.2.11 → 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 +17 -13
- package/dist/BaseApplication.js.map +1 -1
- package/package.json +1 -1
- package/src/BaseApplication.ts +19 -14
|
@@ -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 {
|
|
@@ -113,11 +117,11 @@ class BaseApplication {
|
|
|
113
117
|
yield this.database.sync(false);
|
|
114
118
|
});
|
|
115
119
|
}
|
|
116
|
-
|
|
120
|
+
startExpress() {
|
|
117
121
|
return __awaiter(this, void 0, void 0, function* () {
|
|
118
122
|
if (!process.env.NAMIRASOFT_MUTE) {
|
|
119
|
-
this.
|
|
120
|
-
this.
|
|
123
|
+
this.express = (0, express_1.default)();
|
|
124
|
+
this.express.use((req, res, next) => {
|
|
121
125
|
let excludes = [];
|
|
122
126
|
if (excludes.includes(req.path))
|
|
123
127
|
next();
|
|
@@ -125,14 +129,14 @@ class BaseApplication {
|
|
|
125
129
|
express_1.default.json({ limit: '100kb' })(req, res, next);
|
|
126
130
|
});
|
|
127
131
|
// Express
|
|
128
|
-
this.
|
|
132
|
+
this.express.use(express_1.default.static('static'));
|
|
129
133
|
// Cors
|
|
130
|
-
this.
|
|
134
|
+
this.express.use((0, cors_1.default)({ exposedHeaders: '*', }));
|
|
131
135
|
// api routes
|
|
132
|
-
this.
|
|
136
|
+
this.express.use('/', yield this.getRouter());
|
|
133
137
|
// start server
|
|
134
138
|
const port = this.getPort();
|
|
135
|
-
this.
|
|
139
|
+
this.express.listen(port, () => __awaiter(this, void 0, void 0, function* () {
|
|
136
140
|
this.logger.info(`Server listening on port ${port}`);
|
|
137
141
|
}));
|
|
138
142
|
}
|
|
@@ -186,12 +190,12 @@ class BaseApplication {
|
|
|
186
190
|
var options = {
|
|
187
191
|
explorer: true
|
|
188
192
|
};
|
|
189
|
-
this.
|
|
193
|
+
this.express.use(this.swagger_path + "/", swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(swaggerSpec, options));
|
|
190
194
|
});
|
|
191
195
|
}
|
|
192
196
|
startHomePage() {
|
|
193
197
|
return __awaiter(this, void 0, void 0, function* () {
|
|
194
|
-
this.
|
|
198
|
+
this.express.get(this.base_path + "/", (_, res) => {
|
|
195
199
|
const htmlFilePath = path.join(__dirname, '../public/index.html');
|
|
196
200
|
fs.readFile(htmlFilePath, 'utf8', (err, data) => __awaiter(this, void 0, void 0, function* () {
|
|
197
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
|
|
@@ -100,12 +105,12 @@ export abstract class BaseApplication<D extends BaseDatabase>
|
|
|
100
105
|
await this.database.connect();
|
|
101
106
|
await this.database.sync(false);
|
|
102
107
|
}
|
|
103
|
-
protected async
|
|
108
|
+
protected async startExpress(): Promise<void>
|
|
104
109
|
{
|
|
105
110
|
if (!process.env.NAMIRASOFT_MUTE)
|
|
106
111
|
{
|
|
107
|
-
this.
|
|
108
|
-
this.
|
|
112
|
+
this.express = express();
|
|
113
|
+
this.express.use((req, res, next) =>
|
|
109
114
|
{
|
|
110
115
|
let excludes: string[] = [];
|
|
111
116
|
if (excludes.includes(req.path))
|
|
@@ -114,14 +119,14 @@ export abstract class BaseApplication<D extends BaseDatabase>
|
|
|
114
119
|
express.json({ limit: '100kb' })(req, res, next);
|
|
115
120
|
});
|
|
116
121
|
// Express
|
|
117
|
-
this.
|
|
122
|
+
this.express.use(express.static('static'));
|
|
118
123
|
// Cors
|
|
119
|
-
this.
|
|
124
|
+
this.express.use(cors({ exposedHeaders: '*', }));
|
|
120
125
|
// api routes
|
|
121
|
-
this.
|
|
126
|
+
this.express.use('/', await this.getRouter());
|
|
122
127
|
// start server
|
|
123
128
|
const port = this.getPort();
|
|
124
|
-
this.
|
|
129
|
+
this.express.listen(port, async () =>
|
|
125
130
|
{
|
|
126
131
|
this.logger.info(`Server listening on port ${port}`);
|
|
127
132
|
});
|
|
@@ -176,11 +181,11 @@ export abstract class BaseApplication<D extends BaseDatabase>
|
|
|
176
181
|
var options = {
|
|
177
182
|
explorer: true
|
|
178
183
|
};
|
|
179
|
-
this.
|
|
184
|
+
this.express.use(this.swagger_path + "/", swaggerUi.serve, swaggerUi.setup(swaggerSpec, options));
|
|
180
185
|
}
|
|
181
186
|
protected async startHomePage(): Promise<void>
|
|
182
187
|
{
|
|
183
|
-
this.
|
|
188
|
+
this.express.get(this.base_path + "/", (_, res) =>
|
|
184
189
|
{
|
|
185
190
|
const htmlFilePath = path.join(__dirname, '../public/index.html');
|
|
186
191
|
fs.readFile(htmlFilePath, 'utf8', async (err: any, data: string) =>
|