namirasoft-node 1.1.5 → 1.1.6
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 +6 -6
- package/dist/BaseApplication.js +5 -5
- package/dist/BaseApplication.js.map +1 -1
- package/dist/BaseController.d.ts +10 -2
- package/dist/BaseController.js.map +1 -1
- package/package.json +1 -1
- package/src/BaseApplication.ts +10 -10
- package/src/BaseController.ts +3 -2
|
@@ -4,11 +4,11 @@ import { ILogger } from "namirasoft-log";
|
|
|
4
4
|
import { BaseApplicationLink } from './BaseApplicationLink';
|
|
5
5
|
export declare abstract class BaseApplication<D extends BaseDatabase> {
|
|
6
6
|
private title;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
protected description: string;
|
|
8
|
+
protected logo: string;
|
|
9
|
+
protected version: string;
|
|
10
|
+
protected basePath: string;
|
|
11
|
+
protected swaggerPath: string;
|
|
12
12
|
private linkLoader?;
|
|
13
13
|
private links;
|
|
14
14
|
app: express.Express;
|
|
@@ -18,7 +18,7 @@ export declare abstract class BaseApplication<D extends BaseDatabase> {
|
|
|
18
18
|
protected abstract getLogger(): ILogger;
|
|
19
19
|
protected abstract getRouter(): Router;
|
|
20
20
|
protected abstract getPort(): number;
|
|
21
|
-
constructor(
|
|
21
|
+
constructor(basePath: string, swaggerPath?: string | null);
|
|
22
22
|
setLinkLoader(linkLoader: () => Promise<void>): void;
|
|
23
23
|
addLink(link: BaseApplicationLink): void;
|
|
24
24
|
addSwaggerLink(): void;
|
package/dist/BaseApplication.js
CHANGED
|
@@ -21,7 +21,7 @@ const swagger_jsdoc_1 = __importDefault(require("swagger-jsdoc"));
|
|
|
21
21
|
const path_1 = __importDefault(require("path"));
|
|
22
22
|
const namirasoft_core_1 = require("namirasoft-core");
|
|
23
23
|
class BaseApplication {
|
|
24
|
-
constructor(
|
|
24
|
+
constructor(basePath, swaggerPath = null) {
|
|
25
25
|
var _a, _b, _c, _d;
|
|
26
26
|
this.links = [];
|
|
27
27
|
let json = namirasoft_core_1.PackageService.getMain();
|
|
@@ -29,8 +29,8 @@ class BaseApplication {
|
|
|
29
29
|
this.description = (_b = json === null || json === void 0 ? void 0 : json.getDescription()) !== null && _b !== void 0 ? _b : "";
|
|
30
30
|
this.logo = (_c = json === null || json === void 0 ? void 0 : json.getLogo()) !== null && _c !== void 0 ? _c : "";
|
|
31
31
|
this.version = (_d = json === null || json === void 0 ? void 0 : json.getVersion()) !== null && _d !== void 0 ? _d : "";
|
|
32
|
-
this.
|
|
33
|
-
this.swaggerPath = swaggerPath !== null && swaggerPath !== void 0 ? swaggerPath : (
|
|
32
|
+
this.basePath = basePath;
|
|
33
|
+
this.swaggerPath = swaggerPath !== null && swaggerPath !== void 0 ? swaggerPath : (basePath + "/swagger");
|
|
34
34
|
this.logger = this.getLogger();
|
|
35
35
|
this.addLink = this.addLink.bind(this);
|
|
36
36
|
this.addSwaggerLink = this.addSwaggerLink.bind(this);
|
|
@@ -123,7 +123,7 @@ class BaseApplication {
|
|
|
123
123
|
},
|
|
124
124
|
servers: [
|
|
125
125
|
{
|
|
126
|
-
url: this.
|
|
126
|
+
url: this.basePath,
|
|
127
127
|
},
|
|
128
128
|
],
|
|
129
129
|
},
|
|
@@ -138,7 +138,7 @@ class BaseApplication {
|
|
|
138
138
|
}
|
|
139
139
|
startHomePage() {
|
|
140
140
|
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
-
this.app.get(this.
|
|
141
|
+
this.app.get(this.basePath + "/", (_, res) => {
|
|
142
142
|
const htmlFilePath = path_1.default.join(__dirname, '../public/index.html');
|
|
143
143
|
fs_1.default.readFile(htmlFilePath, 'utf8', (err, data) => __awaiter(this, void 0, void 0, function* () {
|
|
144
144
|
if (err)
|
|
@@ -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;AAIzC,gDAAwB;AACxB,qDAAiD;AAEjD,MAAsB,eAAe;IAiBjC,YAAY,
|
|
1
|
+
{"version":3,"file":"BaseApplication.js","sourceRoot":"","sources":["../src/BaseApplication.ts"],"names":[],"mappings":"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"}
|
package/dist/BaseController.d.ts
CHANGED
|
@@ -16,9 +16,17 @@ export declare abstract class BaseController<D extends BaseDatabase, State, Prop
|
|
|
16
16
|
protected state: State;
|
|
17
17
|
protected props: Props;
|
|
18
18
|
constructor(req: express.Request, res: express.Response);
|
|
19
|
-
abstract getLogger(): ILogger;
|
|
20
|
-
abstract getDatabase(): D;
|
|
21
19
|
abstract getAnomaly(): AnomalyDetector | null;
|
|
20
|
+
abstract getDatabase(): D;
|
|
21
|
+
abstract getLogger(): ILogger;
|
|
22
|
+
abstract getInfo(): {
|
|
23
|
+
method: string;
|
|
24
|
+
name: string;
|
|
25
|
+
path: string;
|
|
26
|
+
tag: string;
|
|
27
|
+
summary: string;
|
|
28
|
+
desciption: string;
|
|
29
|
+
};
|
|
22
30
|
abstract getBodySchema(): SchemaLike | null;
|
|
23
31
|
abstract getQuerySchema(): SchemaLike | null;
|
|
24
32
|
abstract getState(): Promise<State>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../src/BaseController.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAKA,iCAA8B;AAC9B,8CAAsB;AACtB,qDAA4D;AAE5D,MAAsB,cAAc;IAYhC,YAAY,GAAoB,EAAE,GAAqB;QAV7C,0BAAqB,GAAY,KAAK,CAAC;QACvC,oBAAe,GAAY,IAAI,CAAC;QAWtC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseController.js","sourceRoot":"","sources":["../src/BaseController.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/BaseApplication.ts
CHANGED
|
@@ -12,11 +12,11 @@ import { PackageService } from 'namirasoft-core';
|
|
|
12
12
|
export abstract class BaseApplication<D extends BaseDatabase>
|
|
13
13
|
{
|
|
14
14
|
private title: string;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
protected description: string;
|
|
16
|
+
protected logo: string;
|
|
17
|
+
protected version: string;
|
|
18
|
+
protected basePath: string;
|
|
19
|
+
protected swaggerPath: string;
|
|
20
20
|
private linkLoader?: () => Promise<void>;
|
|
21
21
|
private links: BaseApplicationLink[] = [];
|
|
22
22
|
public app!: express.Express;
|
|
@@ -26,15 +26,15 @@ export abstract class BaseApplication<D extends BaseDatabase>
|
|
|
26
26
|
protected abstract getLogger(): ILogger;
|
|
27
27
|
protected abstract getRouter(): Router;
|
|
28
28
|
protected abstract getPort(): number;
|
|
29
|
-
constructor(
|
|
29
|
+
constructor(basePath: string, swaggerPath: string | null = null)
|
|
30
30
|
{
|
|
31
31
|
let json = PackageService.getMain();
|
|
32
32
|
this.title = json?.getTitle() ?? "";
|
|
33
33
|
this.description = json?.getDescription() ?? "";
|
|
34
34
|
this.logo = json?.getLogo() ?? "";
|
|
35
35
|
this.version = json?.getVersion() ?? "";
|
|
36
|
-
this.
|
|
37
|
-
this.swaggerPath = swaggerPath ?? (
|
|
36
|
+
this.basePath = basePath;
|
|
37
|
+
this.swaggerPath = swaggerPath ?? (basePath + "/swagger");
|
|
38
38
|
this.logger = this.getLogger();
|
|
39
39
|
this.addLink = this.addLink.bind(this);
|
|
40
40
|
this.addSwaggerLink = this.addSwaggerLink.bind(this);
|
|
@@ -130,7 +130,7 @@ export abstract class BaseApplication<D extends BaseDatabase>
|
|
|
130
130
|
},
|
|
131
131
|
servers: [
|
|
132
132
|
{
|
|
133
|
-
url: this.
|
|
133
|
+
url: this.basePath,
|
|
134
134
|
},
|
|
135
135
|
],
|
|
136
136
|
},
|
|
@@ -144,7 +144,7 @@ export abstract class BaseApplication<D extends BaseDatabase>
|
|
|
144
144
|
}
|
|
145
145
|
protected async startHomePage(): Promise<void>
|
|
146
146
|
{
|
|
147
|
-
this.app.get(this.
|
|
147
|
+
this.app.get(this.basePath + "/", (_, res) =>
|
|
148
148
|
{
|
|
149
149
|
const htmlFilePath = path.join(__dirname, '../public/index.html');
|
|
150
150
|
fs.readFile(htmlFilePath, 'utf8', async (err: any, data: string) =>
|
package/src/BaseController.ts
CHANGED
|
@@ -25,9 +25,10 @@ export abstract class BaseController<D extends BaseDatabase, State, Props>
|
|
|
25
25
|
this.res = res;
|
|
26
26
|
this.logger = this.getLogger();
|
|
27
27
|
}
|
|
28
|
-
abstract getLogger(): ILogger;
|
|
29
|
-
abstract getDatabase(): D;
|
|
30
28
|
abstract getAnomaly(): AnomalyDetector | null;
|
|
29
|
+
abstract getDatabase(): D;
|
|
30
|
+
abstract getLogger(): ILogger;
|
|
31
|
+
abstract getInfo(): { method: string, name: string, path: string, tag: string, summary: string, desciption: string };
|
|
31
32
|
abstract getBodySchema(): SchemaLike | null;
|
|
32
33
|
abstract getQuerySchema(): SchemaLike | null;
|
|
33
34
|
abstract getState(): Promise<State>;
|