namirasoft-node 1.2.25 → 1.2.27

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.
@@ -6,12 +6,14 @@ import { PackageService } from 'namirasoft-core';
6
6
  import { ApplicationSchema } from 'namirasoft-schema';
7
7
  export declare abstract class BaseApplication<D extends BaseDatabase> {
8
8
  private linkLoader?;
9
- private page_dir;
10
- private swagger_dir;
11
- private page_path;
12
- private swagger_path;
13
9
  private links;
14
10
  protected base_path: string;
11
+ protected dir_asset: string;
12
+ protected dir_page: string;
13
+ protected dir_swagger: string;
14
+ protected path_asset: string;
15
+ protected path_page: string;
16
+ protected path_swagger: string;
15
17
  protected pkg: PackageService;
16
18
  protected title: string;
17
19
  protected description: string;
@@ -34,8 +36,12 @@ export declare abstract class BaseApplication<D extends BaseDatabase> {
34
36
  protected startSwagger(): Promise<void>;
35
37
  protected startHomePage(): Promise<void>;
36
38
  protected abstract handleHomePage(_: express.Request, __: express.Response): Promise<void>;
37
- protected createOtherPages(): Promise<void>;
38
- protected startOtherPages(): Promise<void>;
39
+ getPathOfAsset(name: string): string;
40
+ protected createAssets(): Promise<void>;
41
+ protected startAssets(): Promise<void>;
42
+ getPathOfPage(name: string): string;
43
+ protected createPages(): Promise<void>;
44
+ protected startPages(): Promise<void>;
39
45
  protected startOthers(): Promise<void>;
40
46
  protected getRouter(): Promise<Router>;
41
47
  protected saveSchema(): Promise<void>;
@@ -51,10 +51,12 @@ class BaseApplication {
51
51
  var _a, _b, _c, _d, _e, _f, _g, _h;
52
52
  this.links = [];
53
53
  this.base_path = base_path;
54
- this.page_dir = "./page";
55
- this.swagger_dir = "./swagger";
56
- this.page_path = base_path + "/page";
57
- this.swagger_path = this.page_dir + "/swagger";
54
+ this.dir_asset = "./asset";
55
+ this.dir_page = "./page";
56
+ this.dir_swagger = "./swagger";
57
+ this.path_asset = base_path + "/asset";
58
+ this.path_page = base_path + "/page";
59
+ this.path_swagger = this.path_page + "/swagger";
58
60
  this.pkg = namirasoft_core_1.PackageService.getMain();
59
61
  this.title = (_b = (_a = this.pkg) === null || _a === void 0 ? void 0 : _a.getTitle()) !== null && _b !== void 0 ? _b : "";
60
62
  this.description = (_d = (_c = this.pkg) === null || _c === void 0 ? void 0 : _c.getDescription()) !== null && _d !== void 0 ? _d : "";
@@ -66,12 +68,15 @@ class BaseApplication {
66
68
  this.addSwaggerLink = this.addSwaggerLink.bind(this);
67
69
  // create folders
68
70
  let pkg = namirasoft_core_1.PackageService.getMain();
69
- this.page_dir = path.join(path.dirname(pkg.getPath()), this.page_dir);
70
- this.swagger_dir = path.join(path.dirname(pkg.getPath()), this.swagger_dir);
71
- if (!fs.existsSync(this.page_dir))
72
- fs.mkdirSync(this.page_dir);
73
- if (!fs.existsSync(this.swagger_dir))
74
- fs.mkdirSync(this.swagger_dir, { recursive: true });
71
+ this.dir_asset = path.join(path.dirname(pkg.getPath()), this.dir_asset);
72
+ this.dir_page = path.join(path.dirname(pkg.getPath()), this.dir_page);
73
+ this.dir_swagger = path.join(path.dirname(pkg.getPath()), this.dir_swagger);
74
+ if (!fs.existsSync(this.dir_asset))
75
+ fs.mkdirSync(this.dir_asset);
76
+ if (!fs.existsSync(this.dir_page))
77
+ fs.mkdirSync(this.dir_page);
78
+ if (!fs.existsSync(this.dir_swagger))
79
+ fs.mkdirSync(this.dir_swagger, { recursive: true });
75
80
  }
76
81
  // start
77
82
  start() {
@@ -84,8 +89,10 @@ class BaseApplication {
84
89
  yield this.createSwagger();
85
90
  yield this.startSwagger();
86
91
  yield this.startHomePage();
87
- yield this.createOtherPages();
88
- yield this.startOtherPages();
92
+ yield this.createAssets();
93
+ yield this.startAssets();
94
+ yield this.createPages();
95
+ yield this.startPages();
89
96
  }
90
97
  yield this.startOthers();
91
98
  }
@@ -142,11 +149,11 @@ class BaseApplication {
142
149
  let result = yield builder.run();
143
150
  for (let name of Object.keys(result.controllers)) {
144
151
  const lines = result.controllers[name];
145
- fs.writeFileSync(this.swagger_dir + "/controller_" + name + ".swg", lines.join("\n"));
152
+ fs.writeFileSync(this.dir_swagger + "/controller_" + name + ".swg", lines.join("\n"));
146
153
  }
147
154
  for (let name of Object.keys(result.classes)) {
148
155
  const lines = result.classes[name];
149
- fs.writeFileSync(this.swagger_dir + "/model_" + name + ".swg", lines.join("\n"));
156
+ fs.writeFileSync(this.dir_swagger + "/model_" + name + ".swg", lines.join("\n"));
150
157
  }
151
158
  });
152
159
  }
@@ -175,13 +182,13 @@ class BaseApplication {
175
182
  },
176
183
  ],
177
184
  },
178
- apis: [this.swagger_dir + '/*.swg'],
185
+ apis: [this.dir_swagger + '/*.swg'],
179
186
  };
180
187
  const swaggerSpec = (0, swagger_jsdoc_1.default)(joptions);
181
188
  var options = {
182
189
  explorer: true
183
190
  };
184
- this.express.use(this.swagger_path + "/", swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(swaggerSpec, options));
191
+ this.express.use(this.path_swagger + "/", swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(swaggerSpec, options));
185
192
  });
186
193
  }
187
194
  startHomePage() {
@@ -191,18 +198,45 @@ class BaseApplication {
191
198
  });
192
199
  });
193
200
  }
194
- createOtherPages() {
201
+ getPathOfAsset(name) {
202
+ return this.path_asset + "/" + name;
203
+ }
204
+ createAssets() {
205
+ return __awaiter(this, void 0, void 0, function* () { });
206
+ }
207
+ startAssets() {
208
+ return __awaiter(this, void 0, void 0, function* () {
209
+ let files = fs.readdirSync(this.dir_asset);
210
+ for (let i = 0; i < files.length; i++) {
211
+ const file = files[i];
212
+ const fullPath = path.join(this.dir_page, file);
213
+ let name = path.parse(fullPath).name;
214
+ this.express.get(this.getPathOfAsset(name), (_, res) => {
215
+ fs.readFile(fullPath, 'utf8', (err, data) => __awaiter(this, void 0, void 0, function* () {
216
+ if (err)
217
+ return res.status(500).send('Error reading HTML file');
218
+ res.send(data);
219
+ return;
220
+ }));
221
+ });
222
+ }
223
+ });
224
+ }
225
+ getPathOfPage(name) {
226
+ return this.path_page + "/" + name;
227
+ }
228
+ createPages() {
195
229
  return __awaiter(this, void 0, void 0, function* () { });
196
230
  }
197
- startOtherPages() {
231
+ startPages() {
198
232
  return __awaiter(this, void 0, void 0, function* () {
199
- let files = fs.readdirSync(this.page_dir);
233
+ let files = fs.readdirSync(this.dir_page);
200
234
  for (let i = 0; i < files.length; i++) {
201
235
  const file = files[i];
202
236
  if (file.endsWith(".html")) {
203
- const fullPath = path.join(this.page_dir, file);
237
+ const fullPath = path.join(this.dir_page, file);
204
238
  let name = path.parse(fullPath).name;
205
- this.express.get(this.page_path + "/" + name, (_, res) => {
239
+ this.express.get(this.getPathOfPage(name), (_, res) => {
206
240
  fs.readFile(fullPath, 'utf8', (err, data) => __awaiter(this, void 0, void 0, function* () {
207
241
  if (err)
208
242
  return res.status(500).send('Error reading HTML file');
@@ -298,7 +332,7 @@ class BaseApplication {
298
332
  addSwaggerLink() {
299
333
  this.addLink({
300
334
  name: "Swagger",
301
- url: this.swagger_path + "/",
335
+ url: this.path_swagger + "/",
302
336
  logo: "https://static.namirasoft.com/logo/swagger/base.png",
303
337
  description: this.description + " Swagger"
304
338
  });
@@ -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.25",
4
+ "version": "1.2.27",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
7
7
  "scripts": {},
@@ -21,7 +21,7 @@
21
21
  "joi": "^17.12.2",
22
22
  "namirasoft-core": "^1.2.16",
23
23
  "namirasoft-log": "^1.2.0",
24
- "namirasoft-schema": "^1.2.16",
24
+ "namirasoft-schema": "^1.2.21",
25
25
  "nodemailer": "^6.9.12",
26
26
  "nodemailer-smtp-transport": "^2.7.4",
27
27
  "request-ip": "^3.3.0",
@@ -15,12 +15,14 @@ import { BaseController } from './BaseController';
15
15
  export abstract class BaseApplication<D extends BaseDatabase>
16
16
  {
17
17
  private linkLoader?: () => Promise<void>;
18
- private page_dir: string;
19
- private swagger_dir: string;
20
- private page_path: string;
21
- private swagger_path: string;
22
18
  private links: BaseApplicationLink[] = [];
23
19
  protected base_path: string;
20
+ protected dir_asset: string;
21
+ protected dir_page: string;
22
+ protected dir_swagger: string;
23
+ protected path_asset: string;
24
+ protected path_page: string;
25
+ protected path_swagger: string;
24
26
  protected pkg: PackageService;
25
27
  protected title: string;
26
28
  protected description: string;
@@ -33,10 +35,12 @@ export abstract class BaseApplication<D extends BaseDatabase>
33
35
  constructor(base_path: string)
34
36
  {
35
37
  this.base_path = base_path;
36
- this.page_dir = "./page";
37
- this.swagger_dir = "./swagger";
38
- this.page_path = base_path + "/page";
39
- this.swagger_path = this.page_dir + "/swagger";
38
+ this.dir_asset = "./asset";
39
+ this.dir_page = "./page";
40
+ this.dir_swagger = "./swagger";
41
+ this.path_asset = base_path + "/asset";
42
+ this.path_page = base_path + "/page";
43
+ this.path_swagger = this.path_page + "/swagger";
40
44
  this.pkg = PackageService.getMain();
41
45
  this.title = this.pkg?.getTitle() ?? "";
42
46
  this.description = this.pkg?.getDescription() ?? "";
@@ -46,15 +50,18 @@ export abstract class BaseApplication<D extends BaseDatabase>
46
50
  this.logger = this.getLogger();
47
51
  this.addLink = this.addLink.bind(this);
48
52
  this.addSwaggerLink = this.addSwaggerLink.bind(this);
49
-
53
+
50
54
  // create folders
51
55
  let pkg = PackageService.getMain();
52
- this.page_dir = path.join(path.dirname(pkg.getPath()), this.page_dir);
53
- this.swagger_dir = path.join(path.dirname(pkg.getPath()), this.swagger_dir);
54
- if (!fs.existsSync(this.page_dir))
55
- fs.mkdirSync(this.page_dir);
56
- if (!fs.existsSync(this.swagger_dir))
57
- fs.mkdirSync(this.swagger_dir, { recursive: true });
56
+ this.dir_asset = path.join(path.dirname(pkg.getPath()), this.dir_asset);
57
+ this.dir_page = path.join(path.dirname(pkg.getPath()), this.dir_page);
58
+ this.dir_swagger = path.join(path.dirname(pkg.getPath()), this.dir_swagger);
59
+ if (!fs.existsSync(this.dir_asset))
60
+ fs.mkdirSync(this.dir_asset);
61
+ if (!fs.existsSync(this.dir_page))
62
+ fs.mkdirSync(this.dir_page);
63
+ if (!fs.existsSync(this.dir_swagger))
64
+ fs.mkdirSync(this.dir_swagger, { recursive: true });
58
65
  }
59
66
  protected abstract getDatabase(): D;
60
67
  protected abstract getLogger(): ILogger;
@@ -73,8 +80,10 @@ export abstract class BaseApplication<D extends BaseDatabase>
73
80
  await this.createSwagger();
74
81
  await this.startSwagger();
75
82
  await this.startHomePage();
76
- await this.createOtherPages();
77
- await this.startOtherPages();
83
+ await this.createAssets();
84
+ await this.startAssets();
85
+ await this.createPages();
86
+ await this.startPages();
78
87
  }
79
88
  await this.startOthers();
80
89
  }
@@ -134,12 +143,12 @@ export abstract class BaseApplication<D extends BaseDatabase>
134
143
  for (let name of Object.keys(result.controllers))
135
144
  {
136
145
  const lines = result.controllers[name];
137
- fs.writeFileSync(this.swagger_dir + "/controller_" + name + ".swg", lines.join("\n"));
146
+ fs.writeFileSync(this.dir_swagger + "/controller_" + name + ".swg", lines.join("\n"));
138
147
  }
139
148
  for (let name of Object.keys(result.classes))
140
149
  {
141
150
  const lines = result.classes[name];
142
- fs.writeFileSync(this.swagger_dir + "/model_" + name + ".swg", lines.join("\n"));
151
+ fs.writeFileSync(this.dir_swagger + "/model_" + name + ".swg", lines.join("\n"));
143
152
  }
144
153
  }
145
154
  protected async startSwagger(): Promise<void>
@@ -167,13 +176,13 @@ export abstract class BaseApplication<D extends BaseDatabase>
167
176
  },
168
177
  ],
169
178
  },
170
- apis: [this.swagger_dir + '/*.swg'],
179
+ apis: [this.dir_swagger + '/*.swg'],
171
180
  };
172
181
  const swaggerSpec = swaggerJSDoc(joptions);
173
182
  var options = {
174
183
  explorer: true
175
184
  };
176
- this.express.use(this.swagger_path + "/", swaggerUi.serve, swaggerUi.setup(swaggerSpec, options));
185
+ this.express.use(this.path_swagger + "/", swaggerUi.serve, swaggerUi.setup(swaggerSpec, options));
177
186
  }
178
187
  protected async startHomePage(): Promise<void>
179
188
  {
@@ -182,19 +191,50 @@ export abstract class BaseApplication<D extends BaseDatabase>
182
191
  this.handleHomePage(req, res);
183
192
  });
184
193
  }
185
- protected abstract handleHomePage(_: express.Request,__: express.Response): Promise<void>;
186
- protected async createOtherPages(): Promise<void>
194
+ protected abstract handleHomePage(_: express.Request, __: express.Response): Promise<void>;
195
+ public getPathOfAsset(name: string)
196
+ {
197
+ return this.path_asset + "/" + name;
198
+ }
199
+ protected async createAssets(): Promise<void>
187
200
  { }
188
- protected async startOtherPages(): Promise<void>
201
+ protected async startAssets(): Promise<void>
189
202
  {
190
- let files = fs.readdirSync(this.page_dir);
191
- for (let i = 0; i < files.length; i++) {
203
+ let files = fs.readdirSync(this.dir_asset);
204
+ for (let i = 0; i < files.length; i++)
205
+ {
192
206
  const file = files[i];
193
- if(file.endsWith(".html"))
207
+ const fullPath = path.join(this.dir_page, file);
208
+ let name = path.parse(fullPath).name;
209
+ this.express.get(this.getPathOfAsset(name), (_, res) =>
194
210
  {
195
- const fullPath = path.join(this.page_dir, file);
211
+ fs.readFile(fullPath, 'utf8', async (err: any, data: string) =>
212
+ {
213
+ if (err)
214
+ return res.status(500).send('Error reading HTML file');
215
+ res.send(data);
216
+ return;
217
+ });
218
+ });
219
+ }
220
+ }
221
+ public getPathOfPage(name: string)
222
+ {
223
+ return this.path_page + "/" + name;
224
+ }
225
+ protected async createPages(): Promise<void>
226
+ { }
227
+ protected async startPages(): Promise<void>
228
+ {
229
+ let files = fs.readdirSync(this.dir_page);
230
+ for (let i = 0; i < files.length; i++)
231
+ {
232
+ const file = files[i];
233
+ if (file.endsWith(".html"))
234
+ {
235
+ const fullPath = path.join(this.dir_page, file);
196
236
  let name = path.parse(fullPath).name;
197
- this.express.get(this.page_path + "/" + name, (_, res) =>
237
+ this.express.get(this.getPathOfPage(name), (_, res) =>
198
238
  {
199
239
  fs.readFile(fullPath, 'utf8', async (err: any, data: string) =>
200
240
  {
@@ -204,7 +244,7 @@ export abstract class BaseApplication<D extends BaseDatabase>
204
244
  return;
205
245
  });
206
246
  });
207
- }
247
+ }
208
248
  }
209
249
  }
210
250
  protected async startOthers(): Promise<void>
@@ -294,7 +334,7 @@ export abstract class BaseApplication<D extends BaseDatabase>
294
334
  {
295
335
  this.addLink({
296
336
  name: "Swagger",
297
- url: this.swagger_path + "/",
337
+ url: this.path_swagger + "/",
298
338
  logo: "https://static.namirasoft.com/logo/swagger/base.png",
299
339
  description: this.description + " Swagger"
300
340
  });