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.
@@ -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
- app: express.Express;
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 startServer(): Promise<void>;
30
+ protected startExpress(): Promise<void>;
31
31
  protected createSwagger(): Promise<void>;
32
32
  protected startSwagger(): Promise<void>;
33
33
  protected startHomePage(): Promise<void>;
@@ -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
- yield this.startServer();
83
- yield this.createSwagger();
84
- yield this.startSwagger();
85
- yield this.startHomePage();
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
- if (!process.env.NAMIRASOFT_MUTE) {
113
- yield this.database.connect();
114
- yield this.database.sync(false);
115
- }
116
+ yield this.database.connect();
117
+ yield this.database.sync(false);
116
118
  });
117
119
  }
118
- startServer() {
120
+ startExpress() {
119
121
  return __awaiter(this, void 0, void 0, function* () {
120
122
  if (!process.env.NAMIRASOFT_MUTE) {
121
- this.app = (0, express_1.default)();
122
- this.app.use((req, res, next) => {
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.app.use(express_1.default.static('static'));
132
+ this.express.use(express_1.default.static('static'));
131
133
  // Cors
132
- this.app.use((0, cors_1.default)({ exposedHeaders: '*', }));
134
+ this.express.use((0, cors_1.default)({ exposedHeaders: '*', }));
133
135
  // api routes
134
- this.app.use('/', yield this.getRouter());
136
+ this.express.use('/', yield this.getRouter());
135
137
  // start server
136
138
  const port = this.getPort();
137
- this.app.listen(port, () => __awaiter(this, void 0, void 0, function* () {
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.app.use(this.swagger_path + "/", swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(swaggerSpec, options));
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.app.get(this.base_path + "/", (_, res) => {
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":"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"}
1
+ {"version":3,"file":"BaseApplication.js","sourceRoot":"","sources":["../src/BaseApplication.ts"],"names":[],"mappings":"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"}
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.2.10",
4
+ "version": "1.2.12",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "scripts": {},
@@ -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 app!: express.Express;
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
- await this.startServer();
69
- await this.createSwagger();
70
- await this.startSwagger();
71
- await this.startHomePage();
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
- if (!process.env.NAMIRASOFT_MUTE)
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 startServer(): Promise<void>
108
+ protected async startExpress(): Promise<void>
107
109
  {
108
110
  if (!process.env.NAMIRASOFT_MUTE)
109
111
  {
110
- this.app = express();
111
- this.app.use((req, res, next) =>
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.app.use(express.static('static'));
122
+ this.express.use(express.static('static'));
121
123
  // Cors
122
- this.app.use(cors({ exposedHeaders: '*', }));
124
+ this.express.use(cors({ exposedHeaders: '*', }));
123
125
  // api routes
124
- this.app.use('/', await this.getRouter());
126
+ this.express.use('/', await this.getRouter());
125
127
  // start server
126
128
  const port = this.getPort();
127
- this.app.listen(port, async () =>
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.app.use(this.swagger_path + "/", swaggerUi.serve, swaggerUi.setup(swaggerSpec, options));
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.app.get(this.base_path + "/", (_, res) =>
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) =>