@expressots/core 1.1.0 → 1.2.1
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/LICENSE.md +21 -0
- package/README.md +2 -1
- package/lib/CHANGELOG.md +19 -0
- package/lib/README.md +2 -1
- package/lib/cjs/application/app-container.js +40 -28
- package/lib/cjs/application/application.js +108 -73
- package/lib/cjs/application/index.js +9 -9
- package/lib/cjs/common/index.js +2 -0
- package/lib/cjs/common/project-config.provider.js +2 -0
- package/lib/cjs/console/console.js +95 -77
- package/lib/cjs/console/index.js +5 -5
- package/lib/cjs/container-module/container-module.js +56 -42
- package/lib/cjs/container-module/index.js +5 -5
- package/lib/cjs/controller/base-controller.js +77 -56
- package/lib/cjs/controller/index.js +5 -5
- package/lib/cjs/environment/env-validator.js +87 -72
- package/lib/cjs/environment/index.js +5 -5
- package/lib/cjs/error/application-error.js +37 -26
- package/lib/cjs/error/error-handler-middleware.js +17 -9
- package/lib/cjs/error/index.js +9 -9
- package/lib/cjs/error/report.js +27 -20
- package/lib/cjs/error/status-code.js +83 -83
- package/lib/cjs/index.js +24 -23
- package/lib/cjs/logger/general-logger.js +132 -103
- package/lib/cjs/logger/index.js +7 -7
- package/lib/cjs/types/application/app-container.d.ts +19 -7
- package/lib/cjs/types/application/app-container.d.ts.map +1 -1
- package/lib/cjs/types/application/application.d.ts +52 -21
- package/lib/cjs/types/application/application.d.ts.map +1 -1
- package/lib/cjs/types/application/index.d.ts +2 -2
- package/lib/cjs/types/common/index.d.ts +2 -0
- package/lib/cjs/types/common/index.d.ts.map +1 -0
- package/lib/cjs/types/common/project-config.provider.d.ts +22 -0
- package/lib/cjs/types/common/project-config.provider.d.ts.map +1 -0
- package/lib/cjs/types/console/console.d.ts +27 -9
- package/lib/cjs/types/console/console.d.ts.map +1 -1
- package/lib/cjs/types/console/index.d.ts +1 -1
- package/lib/cjs/types/container-module/container-module.d.ts +22 -8
- package/lib/cjs/types/container-module/container-module.d.ts.map +1 -1
- package/lib/cjs/types/container-module/index.d.ts +1 -1
- package/lib/cjs/types/controller/base-controller.d.ts +29 -8
- package/lib/cjs/types/controller/base-controller.d.ts.map +1 -1
- package/lib/cjs/types/controller/index.d.ts +1 -1
- package/lib/cjs/types/environment/env-validator.d.ts +27 -12
- package/lib/cjs/types/environment/env-validator.d.ts.map +1 -1
- package/lib/cjs/types/environment/index.d.ts +1 -1
- package/lib/cjs/types/error/application-error.d.ts +17 -6
- package/lib/cjs/types/error/application-error.d.ts.map +1 -1
- package/lib/cjs/types/error/error-handler-middleware.d.ts +12 -4
- package/lib/cjs/types/error/error-handler-middleware.d.ts.map +1 -1
- package/lib/cjs/types/error/index.d.ts +3 -3
- package/lib/cjs/types/error/report.d.ts +12 -5
- package/lib/cjs/types/error/report.d.ts.map +1 -1
- package/lib/cjs/types/error/status-code.d.ts +136 -136
- package/lib/cjs/types/index.d.ts +8 -7
- package/lib/cjs/types/index.d.ts.map +1 -1
- package/lib/cjs/types/logger/general-logger.d.ts +45 -16
- package/lib/cjs/types/logger/general-logger.d.ts.map +1 -1
- package/lib/cjs/types/logger/index.d.ts +1 -1
- package/lib/esm/application/app-container.js +38 -26
- package/lib/esm/application/application.js +103 -68
- package/lib/esm/application/index.js +2 -2
- package/lib/esm/common/index.js +1 -0
- package/lib/esm/common/project-config.provider.js +1 -0
- package/lib/esm/console/console.js +76 -58
- package/lib/esm/console/index.js +1 -1
- package/lib/esm/container-module/container-module.js +53 -39
- package/lib/esm/container-module/index.js +1 -1
- package/lib/esm/controller/base-controller.js +64 -43
- package/lib/esm/controller/index.js +1 -1
- package/lib/esm/environment/env-validator.js +80 -65
- package/lib/esm/environment/index.js +1 -1
- package/lib/esm/error/application-error.js +36 -25
- package/lib/esm/error/error-handler-middleware.js +15 -7
- package/lib/esm/error/index.js +3 -3
- package/lib/esm/error/report.js +24 -17
- package/lib/esm/error/status-code.js +80 -80
- package/lib/esm/index.mjs +8 -7
- package/lib/esm/logger/general-logger.js +125 -96
- package/lib/esm/logger/index.js +1 -1
- package/lib/esm/types/application/app-container.d.ts +19 -7
- package/lib/esm/types/application/app-container.d.ts.map +1 -1
- package/lib/esm/types/application/application.d.ts +52 -21
- package/lib/esm/types/application/application.d.ts.map +1 -1
- package/lib/esm/types/application/index.d.ts +2 -2
- package/lib/esm/types/common/index.d.ts +2 -0
- package/lib/esm/types/common/index.d.ts.map +1 -0
- package/lib/esm/types/common/project-config.provider.d.ts +22 -0
- package/lib/esm/types/common/project-config.provider.d.ts.map +1 -0
- package/lib/esm/types/console/console.d.ts +27 -9
- package/lib/esm/types/console/console.d.ts.map +1 -1
- package/lib/esm/types/console/index.d.ts +1 -1
- package/lib/esm/types/container-module/container-module.d.ts +22 -8
- package/lib/esm/types/container-module/container-module.d.ts.map +1 -1
- package/lib/esm/types/container-module/index.d.ts +1 -1
- package/lib/esm/types/controller/base-controller.d.ts +29 -8
- package/lib/esm/types/controller/base-controller.d.ts.map +1 -1
- package/lib/esm/types/controller/index.d.ts +1 -1
- package/lib/esm/types/environment/env-validator.d.ts +27 -12
- package/lib/esm/types/environment/env-validator.d.ts.map +1 -1
- package/lib/esm/types/environment/index.d.ts +1 -1
- package/lib/esm/types/error/application-error.d.ts +17 -6
- package/lib/esm/types/error/application-error.d.ts.map +1 -1
- package/lib/esm/types/error/error-handler-middleware.d.ts +12 -4
- package/lib/esm/types/error/error-handler-middleware.d.ts.map +1 -1
- package/lib/esm/types/error/index.d.ts +3 -3
- package/lib/esm/types/error/report.d.ts +12 -5
- package/lib/esm/types/error/report.d.ts.map +1 -1
- package/lib/esm/types/error/status-code.d.ts +136 -136
- package/lib/esm/types/index.d.ts +8 -7
- package/lib/esm/types/index.d.ts.map +1 -1
- package/lib/esm/types/logger/general-logger.d.ts +45 -16
- package/lib/esm/types/logger/general-logger.d.ts.map +1 -1
- package/lib/esm/types/logger/index.d.ts +1 -1
- package/lib/package.json +2 -2
- package/package.json +2 -2
|
@@ -1,42 +1,56 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var BaseModule_1;
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.CreateModule = void 0;
|
|
14
|
-
const inversify_1 = require("inversify");
|
|
15
|
-
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
static
|
|
28
|
-
const symbols =
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var BaseModule_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.CreateModule = void 0;
|
|
14
|
+
const inversify_1 = require("inversify");
|
|
15
|
+
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
16
|
+
/**
|
|
17
|
+
* The BaseModule class provides methods for creating InversifyJS container modules.
|
|
18
|
+
* @provide BaseModule
|
|
19
|
+
*/
|
|
20
|
+
let BaseModule = BaseModule_1 = class BaseModule {
|
|
21
|
+
constructor() { }
|
|
22
|
+
/**
|
|
23
|
+
* Create a map of symbols for the provided controllers.
|
|
24
|
+
* @param controllers - An array of controller classes.
|
|
25
|
+
* @returns A map of symbols mapped to controller constructor functions.
|
|
26
|
+
*/
|
|
27
|
+
static createSymbols(controllers) {
|
|
28
|
+
const symbols = new Map();
|
|
29
|
+
for (const controller of controllers) {
|
|
30
|
+
const target = controller;
|
|
31
|
+
const symbol = Symbol.for(target.name);
|
|
32
|
+
symbols.set(symbol, target);
|
|
33
|
+
}
|
|
34
|
+
return symbols;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Create an InversifyJS ContainerModule for the provided controllers.
|
|
38
|
+
* @param controllers - An array of controller classes.
|
|
39
|
+
* @returns A ContainerModule with the controller bindings.
|
|
40
|
+
*/
|
|
41
|
+
static createContainerModule(controllers) {
|
|
42
|
+
const symbols = BaseModule_1.createSymbols(controllers);
|
|
43
|
+
return new inversify_1.ContainerModule(bind => {
|
|
44
|
+
for (const symbol of symbols) {
|
|
45
|
+
const target = symbol.valueOf();
|
|
46
|
+
bind(target[0]).to(target[1]);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
BaseModule = BaseModule_1 = __decorate([
|
|
52
|
+
(0, inversify_binding_decorators_1.provide)(BaseModule_1),
|
|
53
|
+
__metadata("design:paramtypes", [])
|
|
54
|
+
], BaseModule);
|
|
55
|
+
const CreateModule = BaseModule.createContainerModule;
|
|
56
|
+
exports.CreateModule = CreateModule;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CreateModule = void 0;
|
|
4
|
-
var container_module_1 = require("./container-module");
|
|
5
|
-
Object.defineProperty(exports, "CreateModule", { enumerable: true, get: function () { return container_module_1.CreateModule; } });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CreateModule = void 0;
|
|
4
|
+
var container_module_1 = require("./container-module");
|
|
5
|
+
Object.defineProperty(exports, "CreateModule", { enumerable: true, get: function () { return container_module_1.CreateModule; } });
|
|
@@ -1,56 +1,77 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
-
});
|
|
19
|
-
};
|
|
20
|
-
var BaseController_1;
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
-
exports.BaseController = void 0;
|
|
23
|
-
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
24
|
-
const error_1 = require("../error");
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
12
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
13
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
14
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
15
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
16
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
17
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
var BaseController_1;
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.BaseController = void 0;
|
|
23
|
+
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
24
|
+
const error_1 = require("../error");
|
|
25
|
+
/**
|
|
26
|
+
* The BaseController class is an abstract base class for controllers.
|
|
27
|
+
* It provides methods for handling use case calls and sending appropriate responses.
|
|
28
|
+
* @provide BaseController
|
|
29
|
+
*/
|
|
30
|
+
let BaseController = BaseController_1 = class BaseController {
|
|
31
|
+
/**
|
|
32
|
+
* Constructs a new BaseController instance with a specified service name.
|
|
33
|
+
* @param serviceName - The name of the service associated with the controller.
|
|
34
|
+
*/
|
|
35
|
+
constructor(serviceName) {
|
|
36
|
+
this.serviceName = serviceName;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Calls an asynchronous use case and sends an appropriate response based on the result.
|
|
40
|
+
* @param useCase - A promise representing the asynchronous use case to call.
|
|
41
|
+
* @param res - The Express response object.
|
|
42
|
+
* @param successStatusCode - The HTTP status code to return upon successful execution.
|
|
43
|
+
*/
|
|
44
|
+
callUseCaseAsync(useCase, res, successStatusCode) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
let dataReturn;
|
|
47
|
+
try {
|
|
48
|
+
dataReturn = yield useCase;
|
|
49
|
+
return res.status(successStatusCode).json(dataReturn);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
error_1.Report.Error(error);
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Calls a use case and sends an appropriate response based on the result.
|
|
58
|
+
* @param useCase - The use case to call.
|
|
59
|
+
* @param res - The Express response object.
|
|
60
|
+
* @param successStatusCode - The HTTP status code to return upon successful execution.
|
|
61
|
+
*/
|
|
62
|
+
callUseCase(useCase, res, successStatusCode) {
|
|
63
|
+
let dataReturn;
|
|
64
|
+
try {
|
|
65
|
+
dataReturn = useCase;
|
|
66
|
+
return res.status(successStatusCode).json(dataReturn);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
error_1.Report.Error(error);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
BaseController = BaseController_1 = __decorate([
|
|
74
|
+
(0, inversify_binding_decorators_1.provide)(BaseController_1),
|
|
75
|
+
__metadata("design:paramtypes", [String])
|
|
76
|
+
], BaseController);
|
|
77
|
+
exports.BaseController = BaseController;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseController = void 0;
|
|
4
|
-
var base_controller_1 = require("./base-controller");
|
|
5
|
-
Object.defineProperty(exports, "BaseController", { enumerable: true, get: function () { return base_controller_1.BaseController; } });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseController = void 0;
|
|
4
|
+
var base_controller_1 = require("./base-controller");
|
|
5
|
+
Object.defineProperty(exports, "BaseController", { enumerable: true, get: function () { return base_controller_1.BaseController; } });
|
|
@@ -1,72 +1,87 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
var EnvValidatorProvider_1;
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.Environments = void 0;
|
|
14
|
-
const fs_1 = __importDefault(require("fs"));
|
|
15
|
-
const path_1 = __importDefault(require("path"));
|
|
16
|
-
const dotenv_1 = __importDefault(require("dotenv"));
|
|
17
|
-
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
18
|
-
const logger_1 = require("../logger");
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
var EnvValidatorProvider_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.Environments = void 0;
|
|
14
|
+
const fs_1 = __importDefault(require("fs"));
|
|
15
|
+
const path_1 = __importDefault(require("path"));
|
|
16
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
17
|
+
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
18
|
+
const logger_1 = require("../logger");
|
|
19
|
+
/**
|
|
20
|
+
* The EnvValidatorProvider class provides utility methods for working with environment variables.
|
|
21
|
+
* It validates, loads, and retrieves environment variables from the .env file.
|
|
22
|
+
* @provide EnvValidatorProvider
|
|
23
|
+
*/
|
|
24
|
+
let EnvValidatorProvider = EnvValidatorProvider_1 = class EnvValidatorProvider {
|
|
25
|
+
/**
|
|
26
|
+
* Retrieves the value of an environment variable, or a default value if the variable is not set.
|
|
27
|
+
* @param key - The key of the environment variable.
|
|
28
|
+
* @param defaultValue - The default value to return if the environment variable is not set.
|
|
29
|
+
* @returns The value of the environment variable, or the default value if not set.
|
|
30
|
+
*/
|
|
31
|
+
static get(key, defaultValue = undefined) {
|
|
32
|
+
var _a;
|
|
33
|
+
return (_a = process.env[key]) !== null && _a !== void 0 ? _a : defaultValue;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Validates and loads all environment variables from the .env file.
|
|
37
|
+
* If the .env file does not exist or any environment variables are not set, the process will exit with an error.
|
|
38
|
+
*/
|
|
39
|
+
static checkAll() {
|
|
40
|
+
/* Load .env file */
|
|
41
|
+
dotenv_1.default.config();
|
|
42
|
+
/* Verify if .env file exists */
|
|
43
|
+
const envFilePath = path_1.default.join(process.cwd(), ".", ".env");
|
|
44
|
+
if (!fs_1.default.existsSync(envFilePath)) {
|
|
45
|
+
(0, logger_1.log)(logger_1.LogLevel.Info, "Environment file .env is not defined.", "env-validator-provider");
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
const regexIgnoreDefaultEnvKeys = /^npm_config_/;
|
|
49
|
+
let hasError = false;
|
|
50
|
+
for (const key in process.env) {
|
|
51
|
+
if (regexIgnoreDefaultEnvKeys.test(key)) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (!process.env[key] || process.env[key] === "") {
|
|
55
|
+
(0, logger_1.log)(logger_1.LogLevel.Info, `Environment variable ${key} is not defined.`, "env-validator-provider");
|
|
56
|
+
hasError = true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
if (hasError) {
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
EnvValidatorProvider = EnvValidatorProvider_1 = __decorate([
|
|
65
|
+
(0, inversify_binding_decorators_1.provide)(EnvValidatorProvider_1)
|
|
66
|
+
], EnvValidatorProvider);
|
|
67
|
+
exports.Environments = EnvValidatorProvider;
|
|
68
|
+
String.prototype.AsBoolean = function () {
|
|
69
|
+
switch (this.toLowerCase().trim()) {
|
|
70
|
+
case "true":
|
|
71
|
+
case "1":
|
|
72
|
+
case "yes":
|
|
73
|
+
return true;
|
|
74
|
+
case "false":
|
|
75
|
+
case "0":
|
|
76
|
+
case "no":
|
|
77
|
+
return false;
|
|
78
|
+
default:
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
String.prototype.AsNumber = function () {
|
|
83
|
+
return Number(this);
|
|
84
|
+
};
|
|
85
|
+
String.prototype.AsString = function () {
|
|
86
|
+
return String(this);
|
|
87
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Environments = void 0;
|
|
4
|
-
var env_validator_1 = require("./env-validator");
|
|
5
|
-
Object.defineProperty(exports, "Environments", { enumerable: true, get: function () { return env_validator_1.Environments; } });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Environments = void 0;
|
|
4
|
+
var env_validator_1 = require("./env-validator");
|
|
5
|
+
Object.defineProperty(exports, "Environments", { enumerable: true, get: function () { return env_validator_1.Environments; } });
|
|
@@ -1,26 +1,37 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
-
};
|
|
11
|
-
var AppError_1;
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.AppError = void 0;
|
|
14
|
-
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var AppError_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.AppError = void 0;
|
|
14
|
+
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
15
|
+
/**
|
|
16
|
+
* The AppError class extends the built-in Error class, adding a status code and service property.
|
|
17
|
+
* It is designed for handling application-specific errors with more detailed information.
|
|
18
|
+
* @provide AppError
|
|
19
|
+
*/
|
|
20
|
+
let AppError = AppError_1 = class AppError extends Error {
|
|
21
|
+
/**
|
|
22
|
+
* Constructs a new AppError instance.
|
|
23
|
+
* @param statusCode - The status code associated with the error.
|
|
24
|
+
* @param message - The error message.
|
|
25
|
+
* @param service - An optional service name related to the error.
|
|
26
|
+
*/
|
|
27
|
+
constructor(statusCode, message, service) {
|
|
28
|
+
super(message);
|
|
29
|
+
this.statusCode = statusCode;
|
|
30
|
+
this.service = service;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
AppError = AppError_1 = __decorate([
|
|
34
|
+
(0, inversify_binding_decorators_1.provide)(AppError_1),
|
|
35
|
+
__metadata("design:paramtypes", [Number, String, String])
|
|
36
|
+
], AppError);
|
|
37
|
+
exports.AppError = AppError;
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const status_code_1 = require("./status-code");
|
|
4
|
-
const logger_1 = require("../logger");
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const status_code_1 = require("./status-code");
|
|
4
|
+
const logger_1 = require("../logger");
|
|
5
|
+
/**
|
|
6
|
+
* errorHandler is a custom Express error-handling middleware function.
|
|
7
|
+
* It logs the error, sets the status code, and sends a JSON response containing the status code and error message.
|
|
8
|
+
* @param error - An instance of AppError containing error details.
|
|
9
|
+
* @param req - The Express request object.
|
|
10
|
+
* @param res - The Express response object.
|
|
11
|
+
* @param next - The Express next function for passing control to the next middleware function.
|
|
12
|
+
*/
|
|
13
|
+
function errorHandler(error, req, res, next) {
|
|
14
|
+
(0, logger_1.log)(logger_1.LogLevel.Error, error, error.service || "service-undefined");
|
|
15
|
+
res.status(error.statusCode || status_code_1.StatusCode.InternalServerError).json({ statusCode: error.statusCode, error: error.message });
|
|
16
|
+
}
|
|
17
|
+
exports.default = errorHandler;
|
package/lib/cjs/error/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Report = exports.AppError = exports.StatusCode = void 0;
|
|
4
|
-
var status_code_1 = require("./status-code");
|
|
5
|
-
Object.defineProperty(exports, "StatusCode", { enumerable: true, get: function () { return status_code_1.StatusCode; } });
|
|
6
|
-
var application_error_1 = require("./application-error");
|
|
7
|
-
Object.defineProperty(exports, "AppError", { enumerable: true, get: function () { return application_error_1.AppError; } });
|
|
8
|
-
var report_1 = require("./report");
|
|
9
|
-
Object.defineProperty(exports, "Report", { enumerable: true, get: function () { return report_1.Report; } });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Report = exports.AppError = exports.StatusCode = void 0;
|
|
4
|
+
var status_code_1 = require("./status-code");
|
|
5
|
+
Object.defineProperty(exports, "StatusCode", { enumerable: true, get: function () { return status_code_1.StatusCode; } });
|
|
6
|
+
var application_error_1 = require("./application-error");
|
|
7
|
+
Object.defineProperty(exports, "AppError", { enumerable: true, get: function () { return application_error_1.AppError; } });
|
|
8
|
+
var report_1 = require("./report");
|
|
9
|
+
Object.defineProperty(exports, "Report", { enumerable: true, get: function () { return report_1.Report; } });
|
package/lib/cjs/error/report.js
CHANGED
|
@@ -1,20 +1,27 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var Report_1;
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.Report = void 0;
|
|
11
|
-
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var Report_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.Report = void 0;
|
|
11
|
+
const inversify_binding_decorators_1 = require("inversify-binding-decorators");
|
|
12
|
+
/**
|
|
13
|
+
* Report class is a utility class to manage and throw application-specific errors.
|
|
14
|
+
*/
|
|
15
|
+
let Report = Report_1 = class Report {
|
|
16
|
+
/**
|
|
17
|
+
* Error method takes an instance of AppError and throws it.
|
|
18
|
+
* @param error - An instance of AppError containing error details.
|
|
19
|
+
*/
|
|
20
|
+
static Error(error) {
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
Report = Report_1 = __decorate([
|
|
25
|
+
(0, inversify_binding_decorators_1.provide)(Report_1)
|
|
26
|
+
], Report);
|
|
27
|
+
exports.Report = Report;
|