exodus-framework 2.0.755 → 2.0.756
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/lib/app/error.d.ts +16 -0
- package/lib/app/error.d.ts.map +1 -1
- package/lib/middlewares/access.d.ts.map +1 -1
- package/lib/services/express.d.ts.map +1 -1
- package/lib/services/rabitmq.d.ts.map +1 -1
- package/lib/services/redis.d.ts.map +1 -1
- package/lib/services/security.d.ts.map +1 -1
- package/lib/services/sequelize.d.ts.map +1 -1
- package/lib/services/socket.d.ts.map +1 -1
- package/lib/services/task.d.ts.map +1 -1
- package/lib/utils/api.d.ts.map +1 -1
- package/package.json +1 -1
- package/lib/app/app.js +0 -84
- package/lib/app/controller.js +0 -95
- package/lib/app/core.js +0 -71
- package/lib/app/error.js +0 -43
- package/lib/app/index.js +0 -72
- package/lib/app/service.js +0 -24
- package/lib/app/settings.js +0 -138
- package/lib/app/singleton.js +0 -29
- package/lib/contracts/console.js +0 -5
- package/lib/contracts/entity.js +0 -5
- package/lib/contracts/http.js +0 -50
- package/lib/contracts/index.js +0 -104
- package/lib/contracts/messaging.js +0 -25
- package/lib/contracts/security.js +0 -5
- package/lib/contracts/service.js +0 -5
- package/lib/contracts/session.js +0 -5
- package/lib/contracts/settings.js +0 -5
- package/lib/contracts/singleton.js +0 -5
- package/lib/contracts/socket.js +0 -11
- package/lib/controllers/api/file.js +0 -24
- package/lib/controllers/api/index.js +0 -13
- package/lib/controllers/index.js +0 -16
- package/lib/controllers/messaging/application.js +0 -63
- package/lib/controllers/messaging/database.js +0 -63
- package/lib/controllers/messaging/environment.js +0 -100
- package/lib/express.d.js +0 -5
- package/lib/index.js +0 -92
- package/lib/middlewares/access.js +0 -78
- package/lib/middlewares/authentication.js +0 -21
- package/lib/middlewares/file.js +0 -41
- package/lib/middlewares/index.js +0 -27
- package/lib/models/Application.js +0 -61
- package/lib/models/DatabaseHost.js +0 -62
- package/lib/models/EnvConnection.js +0 -41
- package/lib/models/index.js +0 -46
- package/lib/routes/index.js +0 -16
- package/lib/routes/messaging/index.js +0 -34
- package/lib/services/error.d.ts +0 -28
- package/lib/services/error.d.ts.map +0 -1
- package/lib/services/error.js +0 -52
- package/lib/services/express.js +0 -152
- package/lib/services/file.js +0 -65
- package/lib/services/index.js +0 -88
- package/lib/services/rabitmq.js +0 -102
- package/lib/services/redis.js +0 -60
- package/lib/services/security.js +0 -230
- package/lib/services/sequelize.js +0 -284
- package/lib/services/socket.js +0 -56
- package/lib/services/task.js +0 -165
- package/lib/utils/api.js +0 -50
- package/lib/utils/database.js +0 -157
- package/lib/utils/date.js +0 -28
- package/lib/utils/index.js +0 -60
- package/lib/utils/logger.js +0 -51
- package/lib/utils/session.js +0 -23
@@ -1,78 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
var _dateFns = require("date-fns");
|
8
|
-
var _app = require("../app");
|
9
|
-
var _controller = _interopRequireDefault(require("../app/controller"));
|
10
|
-
var _http = require("../contracts/http");
|
11
|
-
var _models = require("../models");
|
12
|
-
var _error = require("../services/error");
|
13
|
-
var _security = _interopRequireDefault(require("../services/security"));
|
14
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
15
|
-
class AccessMiddleware extends _controller.default {
|
16
|
-
accessLevel = level => {
|
17
|
-
return (req, res, next) => {
|
18
|
-
if (!level.includes(req.auth.account.type)) {
|
19
|
-
throw new _error.ApplicationHttpException({
|
20
|
-
message: 'Nível de acesso não permitido para esta rota.',
|
21
|
-
statusCode: _http.EHttpResponseCode.informationBlocked
|
22
|
-
});
|
23
|
-
}
|
24
|
-
next();
|
25
|
-
};
|
26
|
-
};
|
27
|
-
getTenant = async (req, res, next) => {
|
28
|
-
const account = req.auth?.account;
|
29
|
-
const tenantId = req.header('X-Exodus-Tenant-ID');
|
30
|
-
const applicationId = req.header('X-Exodus-Application-ID');
|
31
|
-
let envUuid = '';
|
32
|
-
|
33
|
-
/* Aplicações */
|
34
|
-
if (applicationId) {
|
35
|
-
const application = await _models.Application.findOne({
|
36
|
-
where: {
|
37
|
-
token: applicationId
|
38
|
-
}
|
39
|
-
});
|
40
|
-
if (!application) {
|
41
|
-
throw new _error.ApplicationHttpException({
|
42
|
-
message: 'Token de aplicação inválido',
|
43
|
-
statusCode: _http.EHttpResponseCode.informationUnauthorized
|
44
|
-
});
|
45
|
-
} else if (!application.active) {
|
46
|
-
throw new _error.ApplicationHttpException({
|
47
|
-
message: 'Token desativado',
|
48
|
-
statusCode: _http.EHttpResponseCode.informationBlocked
|
49
|
-
});
|
50
|
-
} else if ((0, _dateFns.isBefore)(application.expiresAt, new Date())) {
|
51
|
-
throw new _error.ApplicationHttpException({
|
52
|
-
message: 'Token expirado',
|
53
|
-
statusCode: _http.EHttpResponseCode.informationBlocked
|
54
|
-
});
|
55
|
-
} else {
|
56
|
-
//valido
|
57
|
-
const data = await _security.default.singleton().verifySignature(applicationId, _security.default.singleton().getServicePublicKey());
|
58
|
-
if (!data) {
|
59
|
-
throw new _error.ApplicationHttpException({
|
60
|
-
message: 'Token sem autênticidade.',
|
61
|
-
statusCode: _http.EHttpResponseCode.informationBlocked
|
62
|
-
});
|
63
|
-
}
|
64
|
-
envUuid = data.payload.envUuid;
|
65
|
-
}
|
66
|
-
} else if (tenantId) {
|
67
|
-
envUuid = tenantId;
|
68
|
-
}
|
69
|
-
if (account && account.type != 'ADMINISTRATOR') {
|
70
|
-
envUuid = account.envUuid;
|
71
|
-
}
|
72
|
-
req.tenant = {
|
73
|
-
id: envUuid || _app.Core.settings.getDatabase().service.database
|
74
|
-
};
|
75
|
-
next();
|
76
|
-
};
|
77
|
-
}
|
78
|
-
var _default = exports.default = AccessMiddleware;
|
@@ -1,21 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
var _expressJwt = require("express-jwt");
|
8
|
-
var _app = require("../app");
|
9
|
-
var _controller = _interopRequireDefault(require("../app/controller"));
|
10
|
-
var _security = _interopRequireDefault(require("../services/security"));
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
12
|
-
class AuthenticationMiddleware extends _controller.default {
|
13
|
-
decryptToken = (0, _expressJwt.expressjwt)({
|
14
|
-
secret: async () => {
|
15
|
-
return _security.default.singleton().getServicePublicKey().toPEM(false);
|
16
|
-
},
|
17
|
-
issuer: _app.Core.settings.getAuthentication().serviceIssuer,
|
18
|
-
algorithms: ['RS256']
|
19
|
-
});
|
20
|
-
}
|
21
|
-
var _default = exports.default = AuthenticationMiddleware;
|
package/lib/middlewares/file.js
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
var _controller = _interopRequireDefault(require("../app/controller"));
|
8
|
-
var _multer = _interopRequireDefault(require("multer"));
|
9
|
-
var fs = _interopRequireWildcard(require("fs"));
|
10
|
-
var _path = _interopRequireDefault(require("path"));
|
11
|
-
var _app = require("../app");
|
12
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
13
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
14
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
15
|
-
class FileMiddleware extends _controller.default {
|
16
|
-
storage;
|
17
|
-
constructor() {
|
18
|
-
super();
|
19
|
-
this.initStorage();
|
20
|
-
}
|
21
|
-
initStorage() {
|
22
|
-
this.storage = _multer.default.diskStorage({
|
23
|
-
destination: async (req, file, cb) => {
|
24
|
-
!fs.existsSync(_app.Core.settings.getAppication().filePaths.temporary) && fs.mkdirSync(_app.Core.settings.getAppication().filePaths.temporary, {
|
25
|
-
recursive: true
|
26
|
-
});
|
27
|
-
cb(null, _app.Core.settings.getAppication().filePaths.temporary);
|
28
|
-
},
|
29
|
-
filename: (req, file, cb) => {
|
30
|
-
const name = Date.now() + _path.default.extname(file.originalname);
|
31
|
-
cb(null, name);
|
32
|
-
}
|
33
|
-
});
|
34
|
-
}
|
35
|
-
upload = field => {
|
36
|
-
return (0, _multer.default)({
|
37
|
-
storage: this.storage
|
38
|
-
}).single(field);
|
39
|
-
};
|
40
|
-
}
|
41
|
-
var _default = exports.default = FileMiddleware;
|
package/lib/middlewares/index.js
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
Object.defineProperty(exports, "AccessMiddleware", {
|
7
|
-
enumerable: true,
|
8
|
-
get: function () {
|
9
|
-
return _access.default;
|
10
|
-
}
|
11
|
-
});
|
12
|
-
Object.defineProperty(exports, "AuthenticationMiddleware", {
|
13
|
-
enumerable: true,
|
14
|
-
get: function () {
|
15
|
-
return _authentication.default;
|
16
|
-
}
|
17
|
-
});
|
18
|
-
Object.defineProperty(exports, "FileMiddleware", {
|
19
|
-
enumerable: true,
|
20
|
-
get: function () {
|
21
|
-
return _file.default;
|
22
|
-
}
|
23
|
-
});
|
24
|
-
var _access = _interopRequireDefault(require("./access"));
|
25
|
-
var _authentication = _interopRequireDefault(require("./authentication"));
|
26
|
-
var _file = _interopRequireDefault(require("./file"));
|
27
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
@@ -1,61 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.Application = void 0;
|
7
|
-
var _sequelize = require("sequelize");
|
8
|
-
var _database = require("../utils/database");
|
9
|
-
class Application extends _sequelize.Model {}
|
10
|
-
exports.Application = Application;
|
11
|
-
Application.init({
|
12
|
-
uuid: {
|
13
|
-
type: _sequelize.DataTypes.UUID,
|
14
|
-
defaultValue: _sequelize.DataTypes.UUIDV4,
|
15
|
-
primaryKey: true,
|
16
|
-
allowNull: false,
|
17
|
-
autoIncrement: false
|
18
|
-
},
|
19
|
-
name: {
|
20
|
-
type: _sequelize.DataTypes.STRING(200),
|
21
|
-
allowNull: false
|
22
|
-
},
|
23
|
-
token: {
|
24
|
-
type: _sequelize.DataTypes.TEXT,
|
25
|
-
allowNull: false
|
26
|
-
},
|
27
|
-
key: {
|
28
|
-
type: _sequelize.DataTypes.TEXT,
|
29
|
-
allowNull: false
|
30
|
-
},
|
31
|
-
acess: {
|
32
|
-
type: _sequelize.DataTypes.JSON(),
|
33
|
-
allowNull: true
|
34
|
-
},
|
35
|
-
expiresAt: {
|
36
|
-
type: _sequelize.DataTypes.DATE,
|
37
|
-
allowNull: false
|
38
|
-
},
|
39
|
-
active: {
|
40
|
-
type: _sequelize.DataTypes.BOOLEAN,
|
41
|
-
defaultValue: true
|
42
|
-
},
|
43
|
-
comments: {
|
44
|
-
type: _sequelize.DataTypes.STRING(255),
|
45
|
-
allowNull: true
|
46
|
-
},
|
47
|
-
params: {
|
48
|
-
type: _sequelize.DataTypes.JSON,
|
49
|
-
defaultValue: {},
|
50
|
-
allowNull: true
|
51
|
-
}
|
52
|
-
}, {
|
53
|
-
tableName: 'applications',
|
54
|
-
sequelize: _database.serviceDB,
|
55
|
-
indexes: [{
|
56
|
-
fields: ['name']
|
57
|
-
}, {
|
58
|
-
fields: ['token'],
|
59
|
-
unique: true
|
60
|
-
}]
|
61
|
-
});
|
@@ -1,62 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.DatabaseHost = void 0;
|
7
|
-
var _sequelize = require("sequelize");
|
8
|
-
var _database = require("../utils/database");
|
9
|
-
class DatabaseHost extends _sequelize.Model {}
|
10
|
-
exports.DatabaseHost = DatabaseHost;
|
11
|
-
DatabaseHost.init({
|
12
|
-
uuid: {
|
13
|
-
type: _sequelize.DataTypes.UUID,
|
14
|
-
defaultValue: _sequelize.DataTypes.UUIDV4,
|
15
|
-
primaryKey: true,
|
16
|
-
allowNull: false,
|
17
|
-
autoIncrement: false
|
18
|
-
},
|
19
|
-
host: {
|
20
|
-
type: _sequelize.DataTypes.STRING(200),
|
21
|
-
allowNull: false
|
22
|
-
},
|
23
|
-
name: {
|
24
|
-
type: _sequelize.DataTypes.STRING(200),
|
25
|
-
allowNull: false
|
26
|
-
},
|
27
|
-
dialect: {
|
28
|
-
type: _sequelize.DataTypes.ENUM('mysql', 'postgres', 'sqlite', 'mariadb', 'mssql', 'db2', 'snowflake', 'oracle'),
|
29
|
-
allowNull: false
|
30
|
-
},
|
31
|
-
username: {
|
32
|
-
type: _sequelize.DataTypes.STRING(100),
|
33
|
-
allowNull: false
|
34
|
-
},
|
35
|
-
credential: {
|
36
|
-
type: _sequelize.DataTypes.TEXT,
|
37
|
-
allowNull: false
|
38
|
-
},
|
39
|
-
password: {
|
40
|
-
type: _sequelize.DataTypes.TEXT,
|
41
|
-
allowNull: false
|
42
|
-
},
|
43
|
-
active: {
|
44
|
-
type: _sequelize.DataTypes.BOOLEAN,
|
45
|
-
defaultValue: true
|
46
|
-
},
|
47
|
-
params: {
|
48
|
-
type: _sequelize.DataTypes.JSON,
|
49
|
-
defaultValue: {},
|
50
|
-
allowNull: true
|
51
|
-
}
|
52
|
-
}, {
|
53
|
-
tableName: 'database_hosts',
|
54
|
-
sequelize: _database.serviceDB,
|
55
|
-
indexes: [{
|
56
|
-
fields: ['name'],
|
57
|
-
unique: true
|
58
|
-
}, {
|
59
|
-
fields: ['host'],
|
60
|
-
unique: true
|
61
|
-
}]
|
62
|
-
});
|
@@ -1,41 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.EnvDBHost = void 0;
|
7
|
-
var _sequelize = require("sequelize");
|
8
|
-
var _utils = require("../utils");
|
9
|
-
class EnvDBHost extends _sequelize.Model {}
|
10
|
-
exports.EnvDBHost = EnvDBHost;
|
11
|
-
EnvDBHost.init({
|
12
|
-
uuid: {
|
13
|
-
type: _sequelize.DataTypes.UUID,
|
14
|
-
defaultValue: _sequelize.DataTypes.UUIDV4,
|
15
|
-
primaryKey: true,
|
16
|
-
allowNull: false,
|
17
|
-
autoIncrement: false
|
18
|
-
},
|
19
|
-
hostUuid: {
|
20
|
-
type: _sequelize.DataTypes.UUID,
|
21
|
-
allowNull: false
|
22
|
-
},
|
23
|
-
envUuid: {
|
24
|
-
type: _sequelize.DataTypes.UUID,
|
25
|
-
allowNull: false
|
26
|
-
},
|
27
|
-
envToken: {
|
28
|
-
type: _sequelize.DataTypes.UUID,
|
29
|
-
allowNull: false
|
30
|
-
}
|
31
|
-
}, {
|
32
|
-
tableName: 'env_dbhost',
|
33
|
-
sequelize: _utils.serviceDB,
|
34
|
-
indexes: [{
|
35
|
-
fields: ['envUuid'],
|
36
|
-
unique: true
|
37
|
-
}, {
|
38
|
-
fields: ['envToken', 'hostUuid'],
|
39
|
-
unique: true
|
40
|
-
}]
|
41
|
-
});
|
package/lib/models/index.js
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
var _exportNames = {
|
7
|
-
NativeModels: true
|
8
|
-
};
|
9
|
-
exports.NativeModels = void 0;
|
10
|
-
var _DatabaseHost = require("./DatabaseHost");
|
11
|
-
Object.keys(_DatabaseHost).forEach(function (key) {
|
12
|
-
if (key === "default" || key === "__esModule") return;
|
13
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
14
|
-
if (key in exports && exports[key] === _DatabaseHost[key]) return;
|
15
|
-
Object.defineProperty(exports, key, {
|
16
|
-
enumerable: true,
|
17
|
-
get: function () {
|
18
|
-
return _DatabaseHost[key];
|
19
|
-
}
|
20
|
-
});
|
21
|
-
});
|
22
|
-
var _EnvConnection = require("./EnvConnection");
|
23
|
-
Object.keys(_EnvConnection).forEach(function (key) {
|
24
|
-
if (key === "default" || key === "__esModule") return;
|
25
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
26
|
-
if (key in exports && exports[key] === _EnvConnection[key]) return;
|
27
|
-
Object.defineProperty(exports, key, {
|
28
|
-
enumerable: true,
|
29
|
-
get: function () {
|
30
|
-
return _EnvConnection[key];
|
31
|
-
}
|
32
|
-
});
|
33
|
-
});
|
34
|
-
var _Application = require("./Application");
|
35
|
-
Object.keys(_Application).forEach(function (key) {
|
36
|
-
if (key === "default" || key === "__esModule") return;
|
37
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
38
|
-
if (key in exports && exports[key] === _Application[key]) return;
|
39
|
-
Object.defineProperty(exports, key, {
|
40
|
-
enumerable: true,
|
41
|
-
get: function () {
|
42
|
-
return _Application[key];
|
43
|
-
}
|
44
|
-
});
|
45
|
-
});
|
46
|
-
const NativeModels = exports.NativeModels = [_DatabaseHost.DatabaseHost, _EnvConnection.EnvDBHost, _Application.Application];
|
package/lib/routes/index.js
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
var _messaging = require("./messaging");
|
7
|
-
Object.keys(_messaging).forEach(function (key) {
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
9
|
-
if (key in exports && exports[key] === _messaging[key]) return;
|
10
|
-
Object.defineProperty(exports, key, {
|
11
|
-
enumerable: true,
|
12
|
-
get: function () {
|
13
|
-
return _messaging[key];
|
14
|
-
}
|
15
|
-
});
|
16
|
-
});
|
@@ -1,34 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
var _application = _interopRequireDefault(require("../../controllers/messaging/application"));
|
8
|
-
var _database = _interopRequireDefault(require("../../controllers/messaging/database"));
|
9
|
-
var _environment = _interopRequireDefault(require("../../controllers/messaging/environment"));
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
11
|
-
//* Controllers
|
12
|
-
const databaseController = new _database.default();
|
13
|
-
const envController = new _environment.default();
|
14
|
-
const appController = new _application.default();
|
15
|
-
|
16
|
-
//* Definitions
|
17
|
-
const NativeMessagingRoutes = {
|
18
|
-
/* Connections Library */
|
19
|
-
'exodus.database.created': databaseController.created,
|
20
|
-
'exodus.database.updated': databaseController.update,
|
21
|
-
'exodus.database.deleted': databaseController.delete,
|
22
|
-
'exodus.database.sync': databaseController.sync,
|
23
|
-
/* Application Integrations */
|
24
|
-
'exodus.application.created': appController.created,
|
25
|
-
'exodus.application.updated': appController.update,
|
26
|
-
'exodus.application.deleted': appController.delete,
|
27
|
-
'exodus.application.sync': appController.sync,
|
28
|
-
/* Environment Sync Database Relations */
|
29
|
-
'exodus.environment.created': envController.created,
|
30
|
-
'exodus.environment.deleted': envController.deleted,
|
31
|
-
'exodus.environment.sync': envController.sync,
|
32
|
-
'exodus.environment.updated.database': envController.updatedDatabase
|
33
|
-
};
|
34
|
-
var _default = exports.default = NativeMessagingRoutes;
|
package/lib/services/error.d.ts
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
import { EHttpResponseCode, TApplicationResponse } from '../contracts/http';
|
2
|
-
import Core from '../app/core';
|
3
|
-
declare class ExodusErrorBase extends Core {
|
4
|
-
constructor();
|
5
|
-
}
|
6
|
-
export declare class ApplicationHttpException extends ExodusErrorBase {
|
7
|
-
readonly message: string;
|
8
|
-
readonly statusCode: number;
|
9
|
-
readonly level: TApplicationResponse;
|
10
|
-
data: unknown;
|
11
|
-
error: Error;
|
12
|
-
constructor(data: {
|
13
|
-
message: string;
|
14
|
-
statusCode?: EHttpResponseCode;
|
15
|
-
level?: TApplicationResponse;
|
16
|
-
data?: unknown;
|
17
|
-
error?: Error;
|
18
|
-
});
|
19
|
-
private handle;
|
20
|
-
}
|
21
|
-
export declare class ApplicationException extends ExodusErrorBase {
|
22
|
-
readonly message: string;
|
23
|
-
error: Error;
|
24
|
-
constructor(message: string, error?: any);
|
25
|
-
private handle;
|
26
|
-
}
|
27
|
-
export {};
|
28
|
-
//# sourceMappingURL=error.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/services/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,IAAI,MAAM,aAAa,CAAC;AAE/B,cAAM,eAAgB,SAAQ,IAAI;;CAIjC;AAED,qBAAa,wBAAyB,SAAQ,eAAe;IAC3D,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,KAAK,EAAE,oBAAoB,CAAC;IACrC,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;gBAER,IAAI,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,iBAAiB,CAAC;QAC/B,KAAK,CAAC,EAAE,oBAAoB,CAAC;QAC7B,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,KAAK,CAAC,EAAE,KAAK,CAAC;KACf;IAUD,OAAO,CAAC,MAAM;CAKf;AAED,qBAAa,oBAAqB,SAAQ,eAAe;IACvD,SAAgB,OAAO,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,KAAK,CAAC;gBAER,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG;IAOxC,OAAO,CAAC,MAAM;CAIf"}
|
package/lib/services/error.js
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.ApplicationHttpException = exports.ApplicationException = void 0;
|
7
|
-
var _logger = _interopRequireDefault(require("../utils/logger"));
|
8
|
-
var _http = require("../contracts/http");
|
9
|
-
var _core = _interopRequireDefault(require("../app/core"));
|
10
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
11
|
-
class ExodusErrorBase extends _core.default {
|
12
|
-
constructor() {
|
13
|
-
super();
|
14
|
-
}
|
15
|
-
}
|
16
|
-
class ApplicationHttpException extends ExodusErrorBase {
|
17
|
-
message;
|
18
|
-
statusCode;
|
19
|
-
level;
|
20
|
-
data;
|
21
|
-
error;
|
22
|
-
constructor(data) {
|
23
|
-
super();
|
24
|
-
this.message = data.message;
|
25
|
-
this.statusCode = data.statusCode || _http.EHttpResponseCode.iternalErro;
|
26
|
-
this.level = data.level || 'error';
|
27
|
-
this.data = data.data;
|
28
|
-
this.error = data.error;
|
29
|
-
this.handle();
|
30
|
-
}
|
31
|
-
handle() {
|
32
|
-
(0, _logger.default)().warn(this.message, this.statusCode);
|
33
|
-
(0, _logger.default)().warn(this.data);
|
34
|
-
this.error && (0, _logger.default)().error(this.error);
|
35
|
-
}
|
36
|
-
}
|
37
|
-
exports.ApplicationHttpException = ApplicationHttpException;
|
38
|
-
class ApplicationException extends ExodusErrorBase {
|
39
|
-
message;
|
40
|
-
error;
|
41
|
-
constructor(message, error) {
|
42
|
-
super();
|
43
|
-
this.message = message;
|
44
|
-
this.error = error;
|
45
|
-
this.handle();
|
46
|
-
}
|
47
|
-
handle() {
|
48
|
-
this.log(`${this.message}`, 'danger');
|
49
|
-
(0, _logger.default)().error(this.error);
|
50
|
-
}
|
51
|
-
}
|
52
|
-
exports.ApplicationException = ApplicationException;
|
package/lib/services/express.js
DELETED
@@ -1,152 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.default = void 0;
|
7
|
-
var _cors = _interopRequireDefault(require("cors"));
|
8
|
-
var _express = _interopRequireDefault(require("express"));
|
9
|
-
require("express-async-errors");
|
10
|
-
var _expressRequestsLogger = _interopRequireDefault(require("express-requests-logger"));
|
11
|
-
var http = _interopRequireWildcard(require("http"));
|
12
|
-
var _qs = _interopRequireDefault(require("qs"));
|
13
|
-
var _app = require("../app");
|
14
|
-
var _service = _interopRequireDefault(require("../app/service"));
|
15
|
-
var _http2 = require("../contracts/http");
|
16
|
-
var _logger = _interopRequireDefault(require("../utils/logger"));
|
17
|
-
var _error = require("./error");
|
18
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
19
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
20
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
21
|
-
class ExpressService extends _service.default {
|
22
|
-
server;
|
23
|
-
mainRouter;
|
24
|
-
async init() {
|
25
|
-
if (!this.mainRouter) throw new _error.ApplicationException('Need router'); //!sem router
|
26
|
-
|
27
|
-
const expss = (0, _express.default)();
|
28
|
-
this.server = http.createServer(expss);
|
29
|
-
expss.use('/public', _express.default.static(_app.Core.settings.getHttp().publicPath));
|
30
|
-
expss.use((0, _expressRequestsLogger.default)({
|
31
|
-
logger: (0, _logger.default)()
|
32
|
-
}));
|
33
|
-
expss.set('query parser', str => _qs.default.parse(str));
|
34
|
-
expss.use(this.responseTypeMiddleware.bind(this));
|
35
|
-
expss.use(_express.default.json({
|
36
|
-
limit: '10mb'
|
37
|
-
}));
|
38
|
-
expss.use(_express.default.urlencoded({
|
39
|
-
extended: true,
|
40
|
-
limit: '10mb'
|
41
|
-
}));
|
42
|
-
expss.use((0, _cors.default)({
|
43
|
-
origin: '*'
|
44
|
-
}));
|
45
|
-
expss.use(this.mainRouter);
|
46
|
-
expss.use(this.handleAuthorizationFailure.bind(this));
|
47
|
-
expss.use(this.handleNotFoud.bind(this));
|
48
|
-
expss.use(this.handleRequestProcessFailure.bind(this));
|
49
|
-
this.server.listen(_app.Core.settings.getAppication().port, () => {
|
50
|
-
(0, _logger.default)().info(`servidor iniciado na porta: ${_app.Core.settings.getAppication().port}`);
|
51
|
-
this.log(`🌍 Http Server Listering On: ${_app.Core.settings.getAppication().port}`, 'success');
|
52
|
-
});
|
53
|
-
}
|
54
|
-
getHttpServer() {
|
55
|
-
return this.server;
|
56
|
-
}
|
57
|
-
sendResponse(objResponse, res, next) {
|
58
|
-
objResponse.timestamp = Date.now();
|
59
|
-
if (!objResponse.code) objResponse.code = _http2.EHttpResponseCode.successfullyProcessedInformation;
|
60
|
-
res.status(objResponse.code);
|
61
|
-
if (objResponse.location) {
|
62
|
-
res.location(objResponse.location);
|
63
|
-
delete objResponse.location;
|
64
|
-
}
|
65
|
-
let FormulatedResponse;
|
66
|
-
switch (_app.Core.settings.getHttp().formulation) {
|
67
|
-
case 'direct':
|
68
|
-
if (objResponse['data']) {
|
69
|
-
FormulatedResponse = objResponse.data;
|
70
|
-
} else {
|
71
|
-
FormulatedResponse = objResponse;
|
72
|
-
}
|
73
|
-
break;
|
74
|
-
case 'standart':
|
75
|
-
FormulatedResponse = objResponse;
|
76
|
-
break;
|
77
|
-
default:
|
78
|
-
FormulatedResponse = objResponse;
|
79
|
-
break;
|
80
|
-
}
|
81
|
-
if (next) {
|
82
|
-
res.write(JSON.stringify(FormulatedResponse));
|
83
|
-
next();
|
84
|
-
} else {
|
85
|
-
res.send(JSON.stringify(FormulatedResponse));
|
86
|
-
}
|
87
|
-
}
|
88
|
-
responseTypeMiddleware(req, res, next) {
|
89
|
-
res.contentType('application/json');
|
90
|
-
next();
|
91
|
-
}
|
92
|
-
|
93
|
-
//* Handlers
|
94
|
-
handleNotFoud(req, res) {
|
95
|
-
this.sendResponse({
|
96
|
-
message: 'Endereço não encontrado',
|
97
|
-
type: 'warning',
|
98
|
-
status: false,
|
99
|
-
code: _http2.EHttpResponseCode.informationNotFound
|
100
|
-
}, res);
|
101
|
-
}
|
102
|
-
handleAuthorizationFailure(err, req, res, next) {
|
103
|
-
if (err.name === 'UnauthorizedError') {
|
104
|
-
throw new _error.ApplicationHttpException({
|
105
|
-
message: 'Falha na autorização',
|
106
|
-
statusCode: _http2.EHttpResponseCode.informationUnauthorized
|
107
|
-
});
|
108
|
-
} else {
|
109
|
-
next(err);
|
110
|
-
}
|
111
|
-
}
|
112
|
-
handleRequestProcessFailure = async (err, req, res, _) => {
|
113
|
-
if (err instanceof _error.ApplicationHttpException) {
|
114
|
-
return this.sendResponse({
|
115
|
-
message: err.message,
|
116
|
-
type: err.level,
|
117
|
-
status: false,
|
118
|
-
code: err.statusCode,
|
119
|
-
data: err.data
|
120
|
-
}, res);
|
121
|
-
}
|
122
|
-
this.sendResponse({
|
123
|
-
message: 'Houve um erro ao acessar este recurso',
|
124
|
-
type: 'error',
|
125
|
-
status: false,
|
126
|
-
code: 500
|
127
|
-
}, res);
|
128
|
-
new _error.ApplicationException('Erro não tratado em uma rota.', err);
|
129
|
-
};
|
130
|
-
async checkRequest(params) {
|
131
|
-
let pass = true;
|
132
|
-
const need = [];
|
133
|
-
for (const [key, param] of Object.entries(params)) {
|
134
|
-
if (!param || param === null || param.length < 1 || typeof param === 'string' && param === '' || typeof param === 'object' && Object.values(param).length < 1) {
|
135
|
-
pass = false;
|
136
|
-
need.push(key);
|
137
|
-
}
|
138
|
-
}
|
139
|
-
if (!pass) throw new _error.ApplicationHttpException({
|
140
|
-
message: 'Requisição incompleta',
|
141
|
-
statusCode: _http2.EHttpResponseCode.incompleteRequest,
|
142
|
-
level: 'error',
|
143
|
-
data: {
|
144
|
-
need
|
145
|
-
}
|
146
|
-
});
|
147
|
-
}
|
148
|
-
registerRouter(router) {
|
149
|
-
this.mainRouter = router;
|
150
|
-
}
|
151
|
-
}
|
152
|
-
var _default = exports.default = ExpressService;
|