namirasoft-node 1.0.2 → 1.0.4
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.js
CHANGED
|
@@ -18,6 +18,7 @@ const cors_1 = __importDefault(require("cors"));
|
|
|
18
18
|
const fs_1 = __importDefault(require("fs"));
|
|
19
19
|
const swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
|
|
20
20
|
const swagger_jsdoc_1 = __importDefault(require("swagger-jsdoc"));
|
|
21
|
+
const path_1 = __importDefault(require("path"));
|
|
21
22
|
class BaseApplication {
|
|
22
23
|
constructor(title, description, logo, version, serverPath, swaggerPath = null) {
|
|
23
24
|
this.links = [];
|
|
@@ -106,10 +107,12 @@ class BaseApplication {
|
|
|
106
107
|
explorer: true
|
|
107
108
|
};
|
|
108
109
|
this.app.use(this.swaggerPath + "/", swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(swaggerSpec, options));
|
|
110
|
+
this.addLink({ title: "Swagger", description: this.description + " Swagger", image: "", link: this.swaggerPath + "/" });
|
|
109
111
|
}
|
|
110
112
|
startHomePage() {
|
|
111
|
-
this.app.get(
|
|
112
|
-
|
|
113
|
+
this.app.get(this.serverPath + "/", (_, res) => {
|
|
114
|
+
const htmlFilePath = path_1.default.join(__dirname, '../public/index.html');
|
|
115
|
+
fs_1.default.readFile(htmlFilePath, 'utf8', (err, data) => {
|
|
113
116
|
if (err)
|
|
114
117
|
return res.status(500).send('Error reading HTML file');
|
|
115
118
|
data = data.replace(/\@title/gm, this.title);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseApplication.js","sourceRoot":"","sources":["../src/BaseApplication.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA0C;AAC1C,gDAAwB;AACxB,4CAAoB;AACpB,4EAA2C;AAC3C,kEAAyC;
|
|
1
|
+
{"version":3,"file":"BaseApplication.js","sourceRoot":"","sources":["../src/BaseApplication.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>@title</title>
|
|
7
|
+
<!-- Include Bootstrap CSS -->
|
|
8
|
+
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
|
|
9
|
+
<style>
|
|
10
|
+
body {
|
|
11
|
+
background-color: #f8f9fa;
|
|
12
|
+
}
|
|
13
|
+
.header {
|
|
14
|
+
text-align: center;
|
|
15
|
+
padding: 20px;
|
|
16
|
+
}
|
|
17
|
+
.border {
|
|
18
|
+
background-color: #fff;
|
|
19
|
+
padding: 20px;
|
|
20
|
+
border-radius: 10px;
|
|
21
|
+
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
|
22
|
+
}
|
|
23
|
+
.company {
|
|
24
|
+
text-align: center;
|
|
25
|
+
margin-top: 20px;
|
|
26
|
+
}
|
|
27
|
+
img {
|
|
28
|
+
width:128px;
|
|
29
|
+
height:128px;
|
|
30
|
+
}
|
|
31
|
+
</style>
|
|
32
|
+
</head>
|
|
33
|
+
<body>
|
|
34
|
+
<div class="container">
|
|
35
|
+
<div class="header">
|
|
36
|
+
<img src="@logo" alt="Project Logo" class="img-fluid">
|
|
37
|
+
<h1>@title</h1>
|
|
38
|
+
<h5>@description</h5>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<div class="content">
|
|
42
|
+
<@row>
|
|
43
|
+
<div class="row">
|
|
44
|
+
<a href="@row_link" class="col-md-12 border">
|
|
45
|
+
<img src="@row_image" class="img-fluid">
|
|
46
|
+
<h2>@row_title</h2>
|
|
47
|
+
<p>@row_description</p>
|
|
48
|
+
</a>
|
|
49
|
+
</div>
|
|
50
|
+
</@row>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<div class="company">
|
|
54
|
+
<img src="https://static.namirasoft.com/logo/namirasoft/base.png" alt="Company Logo" class="img-fluid">
|
|
55
|
+
<h3>Namira Software Corporation</h3>
|
|
56
|
+
<p>Visit our website: <a href="https://namirasoft.com">namirasoft.com</a></p>
|
|
57
|
+
<p>©Copyright 2010 to 2023 <a href="https://namirasoft.com">Namira Software Corporation</a>. All rights reserved.</p>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<!-- Include Bootstrap JS and jQuery -->
|
|
62
|
+
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
|
|
63
|
+
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.3/dist/umd/popper.min.js"></script>
|
|
64
|
+
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
|
|
65
|
+
</body>
|
|
66
|
+
</html>
|
package/src/BaseApplication.ts
CHANGED
|
@@ -6,6 +6,7 @@ import swaggerJSDoc from 'swagger-jsdoc';
|
|
|
6
6
|
import { BaseDatabase } from './BaseDatabase';
|
|
7
7
|
import { ILogger } from "namirasoft-log";
|
|
8
8
|
import { BaseApplicationLink } from './BaseApplicationLink';
|
|
9
|
+
import path from 'path';
|
|
9
10
|
|
|
10
11
|
export abstract class BaseApplication<D extends BaseDatabase>
|
|
11
12
|
{
|
|
@@ -120,12 +121,14 @@ export abstract class BaseApplication<D extends BaseDatabase>
|
|
|
120
121
|
explorer: true
|
|
121
122
|
};
|
|
122
123
|
this.app.use(this.swaggerPath + "/", swaggerUi.serve, swaggerUi.setup(swaggerSpec, options));
|
|
124
|
+
this.addLink({ title: "Swagger", description: this.description + " Swagger", image: "", link: this.swaggerPath + "/" });
|
|
123
125
|
}
|
|
124
126
|
protected startHomePage(): void
|
|
125
127
|
{
|
|
126
|
-
this.app.get(
|
|
128
|
+
this.app.get(this.serverPath + "/", (_, res) =>
|
|
127
129
|
{
|
|
128
|
-
|
|
130
|
+
const htmlFilePath = path.join(__dirname, '../public/index.html');
|
|
131
|
+
fs.readFile(htmlFilePath, 'utf8', (err: any, data: string) =>
|
|
129
132
|
{
|
|
130
133
|
if (err)
|
|
131
134
|
return res.status(500).send('Error reading HTML file');
|