exodus-framework 2.0.699 → 2.0.701
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/app.js +84 -0
- package/lib/app/controller.js +95 -0
- package/lib/app/core.js +66 -0
- package/lib/app/index.js +60 -0
- package/lib/app/service.js +24 -0
- package/lib/app/settings.js +135 -0
- package/lib/app/singleton.js +29 -0
- package/lib/contracts/console.js +5 -0
- package/lib/contracts/entity.js +5 -0
- package/lib/contracts/http.js +50 -0
- package/lib/contracts/index.js +104 -0
- package/lib/contracts/messaging.js +18 -0
- package/lib/contracts/security.js +5 -0
- package/lib/contracts/service.js +5 -0
- package/lib/contracts/session.js +5 -0
- package/lib/contracts/settings.js +5 -0
- package/lib/contracts/singleton.js +5 -0
- package/lib/contracts/socket.js +11 -0
- package/lib/controllers/api/file.js +24 -0
- package/lib/controllers/api/index.js +13 -0
- package/lib/controllers/index.js +16 -0
- package/lib/controllers/messaging/database.js +53 -0
- package/lib/controllers/messaging/environment.js +70 -0
- package/lib/express.d.js +5 -0
- package/lib/index.js +92 -0
- package/lib/middlewares/access.js +63 -0
- package/lib/middlewares/authentication.js +21 -0
- package/lib/middlewares/file.js +41 -0
- package/lib/middlewares/index.js +27 -0
- package/lib/models/Application.js +61 -0
- package/lib/models/Connection.js +54 -0
- package/lib/models/EnvConnection.js +41 -0
- package/lib/models/index.js +46 -0
- package/lib/routes/index.js +16 -0
- package/lib/routes/messaging/index.js +26 -0
- package/lib/services/error.js +49 -0
- package/lib/services/express.js +140 -0
- package/lib/services/file.js +65 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/index.js +88 -0
- package/lib/services/rabitmq.js +93 -0
- package/lib/services/redis.js +60 -0
- package/lib/services/security.js +224 -0
- package/lib/services/sequelize.d.ts +2 -0
- package/lib/services/sequelize.d.ts.map +1 -1
- package/lib/services/sequelize.js +265 -0
- package/lib/services/socket.js +56 -0
- package/lib/services/task.js +162 -0
- package/lib/utils/api.js +50 -0
- package/lib/utils/database.js +36 -0
- package/lib/utils/date.js +28 -0
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/index.d.ts.map +1 -1
- package/lib/utils/index.js +60 -0
- package/lib/utils/logger.js +55 -0
- package/lib/utils/session.js +23 -0
- package/package.json +1 -1
    
        package/lib/app/app.js
    ADDED
    
    | @@ -0,0 +1,84 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Object.defineProperty(exports, "__esModule", {
         | 
| 4 | 
            +
              value: true
         | 
| 5 | 
            +
            });
         | 
| 6 | 
            +
            exports.default = void 0;
         | 
| 7 | 
            +
            var _cluster = _interopRequireDefault(require("cluster"));
         | 
| 8 | 
            +
            var fs = _interopRequireWildcard(require("fs"));
         | 
| 9 | 
            +
            var _path = _interopRequireDefault(require("path"));
         | 
| 10 | 
            +
            var _core = _interopRequireDefault(require("./core"));
         | 
| 11 | 
            +
            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); }
         | 
| 12 | 
            +
            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; }
         | 
| 13 | 
            +
            function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
         | 
| 14 | 
            +
            /**
         | 
| 15 | 
            +
             * Classe da aplicação principal
         | 
| 16 | 
            +
             * Responsável por inicializar todos os recursos usados por este micro-serviço
         | 
| 17 | 
            +
             *
         | 
| 18 | 
            +
             * @class Application
         | 
| 19 | 
            +
             * @extends {Core}
         | 
| 20 | 
            +
             */
         | 
| 21 | 
            +
            class Exodus extends _core.default {
         | 
| 22 | 
            +
              services;
         | 
| 23 | 
            +
             | 
| 24 | 
            +
              //* Initialization
         | 
| 25 | 
            +
              constructor() {
         | 
| 26 | 
            +
                super();
         | 
| 27 | 
            +
                this.services = [];
         | 
| 28 | 
            +
              }
         | 
| 29 | 
            +
              async start() {
         | 
| 30 | 
            +
                if (_cluster.default.isPrimary) {
         | 
| 31 | 
            +
                  this.initMaster();
         | 
| 32 | 
            +
                } else {
         | 
| 33 | 
            +
                  await this.initCluster();
         | 
| 34 | 
            +
                }
         | 
| 35 | 
            +
              }
         | 
| 36 | 
            +
             | 
| 37 | 
            +
              //*  Cluster Managment
         | 
| 38 | 
            +
              async initMaster() {
         | 
| 39 | 
            +
                this.log(`✨ Starting ${_core.default.settings.getAppication().description} · Clusters: ${_core.default.settings.getAppication().clusters}`);
         | 
| 40 | 
            +
                this.log(`✨ Core version ${Exodus.getVersion()}`);
         | 
| 41 | 
            +
                this.createClusters();
         | 
| 42 | 
            +
              }
         | 
| 43 | 
            +
              async initCluster() {
         | 
| 44 | 
            +
                this.log(`📊 Cluster ${_cluster.default.worker.id} started · PID ${_cluster.default.worker.process.pid}`);
         | 
| 45 | 
            +
                this.initServices();
         | 
| 46 | 
            +
              }
         | 
| 47 | 
            +
              async createClusters() {
         | 
| 48 | 
            +
                for (let i = 0; i < _core.default.settings.getAppication().clusters; i++) {
         | 
| 49 | 
            +
                  _cluster.default.fork();
         | 
| 50 | 
            +
                }
         | 
| 51 | 
            +
                _cluster.default.on('exit', (worker, _code, _signal) => {
         | 
| 52 | 
            +
                  this.log(`Cluester ${worker.process.pid} foi encerrado`, 'warning');
         | 
| 53 | 
            +
                  if (_core.default.settings.getAppication().clustersRestarts) {
         | 
| 54 | 
            +
                    this.log(`Reiniciando cluster`, 'warning');
         | 
| 55 | 
            +
                    _cluster.default.fork();
         | 
| 56 | 
            +
                  }
         | 
| 57 | 
            +
                });
         | 
| 58 | 
            +
              }
         | 
| 59 | 
            +
             | 
| 60 | 
            +
              //* Service Managment
         | 
| 61 | 
            +
              registerSingletonService(service) {
         | 
| 62 | 
            +
                this.services.push(service);
         | 
| 63 | 
            +
              }
         | 
| 64 | 
            +
              async initServices() {
         | 
| 65 | 
            +
                for (const service of this.services) {
         | 
| 66 | 
            +
                  await service.init().catch(error => {
         | 
| 67 | 
            +
                    this.log(`Erro on starting service: ${error.message || 'unknow'}`, 'danger');
         | 
| 68 | 
            +
                  });
         | 
| 69 | 
            +
                }
         | 
| 70 | 
            +
              }
         | 
| 71 | 
            +
             | 
| 72 | 
            +
              // *System
         | 
| 73 | 
            +
              static getVersion() {
         | 
| 74 | 
            +
                try {
         | 
| 75 | 
            +
                  const packageJson = fs.readFileSync(_path.default.resolve(__dirname, '../../package.json'), 'utf8');
         | 
| 76 | 
            +
                  const packageData = JSON.parse(packageJson);
         | 
| 77 | 
            +
                  return packageData.version;
         | 
| 78 | 
            +
                } catch (error) {
         | 
| 79 | 
            +
                  console.error('Error reading package.json:', error);
         | 
| 80 | 
            +
                  return undefined;
         | 
| 81 | 
            +
                }
         | 
| 82 | 
            +
              }
         | 
| 83 | 
            +
            }
         | 
| 84 | 
            +
            var _default = exports.default = Exodus;
         | 
| @@ -0,0 +1,95 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Object.defineProperty(exports, "__esModule", {
         | 
| 4 | 
            +
              value: true
         | 
| 5 | 
            +
            });
         | 
| 6 | 
            +
            exports.default = exports.SocketRequest = exports.SocketController = exports.MessagingController = exports.HttpController = void 0;
         | 
| 7 | 
            +
            var _express = _interopRequireDefault(require("../services/express"));
         | 
| 8 | 
            +
            var _core = _interopRequireDefault(require("./core"));
         | 
| 9 | 
            +
            function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
         | 
| 10 | 
            +
            /**
         | 
| 11 | 
            +
             * Classe base dos conttrolers http
         | 
| 12 | 
            +
             *
         | 
| 13 | 
            +
             * @abstract
         | 
| 14 | 
            +
             * @class Controller
         | 
| 15 | 
            +
             * @extends {Core}
         | 
| 16 | 
            +
             */
         | 
| 17 | 
            +
            class HttpController extends _core.default {
         | 
| 18 | 
            +
              constructor() {
         | 
| 19 | 
            +
                super();
         | 
| 20 | 
            +
              }
         | 
| 21 | 
            +
             | 
| 22 | 
            +
              /**
         | 
| 23 | 
            +
               * Metódo de envio de respostar http para o cliente
         | 
| 24 | 
            +
               *
         | 
| 25 | 
            +
               * @protected
         | 
| 26 | 
            +
               * @param {THttpResponse} objResponse
         | 
| 27 | 
            +
               * @param {Response} res
         | 
| 28 | 
            +
               * @param {NextFunction} [next]
         | 
| 29 | 
            +
               * @return {void}
         | 
| 30 | 
            +
               * @memberof Controller
         | 
| 31 | 
            +
               */
         | 
| 32 | 
            +
              send(objResponse, res, next) {
         | 
| 33 | 
            +
                return _express.default.singleton().sendResponse(objResponse, res, next);
         | 
| 34 | 
            +
              }
         | 
| 35 | 
            +
              validate(data) {
         | 
| 36 | 
            +
                return _express.default.singleton().checkRequest(data);
         | 
| 37 | 
            +
              }
         | 
| 38 | 
            +
            }
         | 
| 39 | 
            +
             | 
| 40 | 
            +
            /**
         | 
| 41 | 
            +
             * Class base dos controllers SocketIO
         | 
| 42 | 
            +
             *
         | 
| 43 | 
            +
             * @export
         | 
| 44 | 
            +
             * @abstract
         | 
| 45 | 
            +
             * @class SocketController
         | 
| 46 | 
            +
             * @extends {Core}
         | 
| 47 | 
            +
             */
         | 
| 48 | 
            +
            exports.HttpController = HttpController;
         | 
| 49 | 
            +
            class SocketController extends _core.default {
         | 
| 50 | 
            +
              constructor() {
         | 
| 51 | 
            +
                super();
         | 
| 52 | 
            +
              }
         | 
| 53 | 
            +
              handlerEventBind(cb) {
         | 
| 54 | 
            +
                return (req, data) => {
         | 
| 55 | 
            +
                  const d = this.bufferToData(data);
         | 
| 56 | 
            +
                  cb(req, ...d);
         | 
| 57 | 
            +
                };
         | 
| 58 | 
            +
              }
         | 
| 59 | 
            +
              bufferToData(data) {
         | 
| 60 | 
            +
                return Array.from(data);
         | 
| 61 | 
            +
              }
         | 
| 62 | 
            +
            }
         | 
| 63 | 
            +
            exports.SocketController = SocketController;
         | 
| 64 | 
            +
            class SocketRequest extends _core.default {
         | 
| 65 | 
            +
              socket;
         | 
| 66 | 
            +
              event;
         | 
| 67 | 
            +
              constructor(socket, event) {
         | 
| 68 | 
            +
                super();
         | 
| 69 | 
            +
                this.event = event;
         | 
| 70 | 
            +
                this.socket = socket;
         | 
| 71 | 
            +
              }
         | 
| 72 | 
            +
              send(event, ...data) {
         | 
| 73 | 
            +
                this.socket.emit(event, ...data);
         | 
| 74 | 
            +
              }
         | 
| 75 | 
            +
              getEvent() {
         | 
| 76 | 
            +
                return this.event;
         | 
| 77 | 
            +
              }
         | 
| 78 | 
            +
              getSocket() {
         | 
| 79 | 
            +
                return this.socket;
         | 
| 80 | 
            +
              }
         | 
| 81 | 
            +
              dataToBuffer(data) {
         | 
| 82 | 
            +
                return Buffer.from(data, 'utf-8');
         | 
| 83 | 
            +
              }
         | 
| 84 | 
            +
            }
         | 
| 85 | 
            +
            exports.SocketRequest = SocketRequest;
         | 
| 86 | 
            +
            class MessagingController extends _core.default {
         | 
| 87 | 
            +
              constructor() {
         | 
| 88 | 
            +
                super();
         | 
| 89 | 
            +
              }
         | 
| 90 | 
            +
              bufferToData(data) {
         | 
| 91 | 
            +
                return Array.from(data);
         | 
| 92 | 
            +
              }
         | 
| 93 | 
            +
            }
         | 
| 94 | 
            +
            exports.MessagingController = MessagingController;
         | 
| 95 | 
            +
            var _default = exports.default = HttpController;
         | 
    
        package/lib/app/core.js
    ADDED
    
    | @@ -0,0 +1,66 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Object.defineProperty(exports, "__esModule", {
         | 
| 4 | 
            +
              value: true
         | 
| 5 | 
            +
            });
         | 
| 6 | 
            +
            exports.default = void 0;
         | 
| 7 | 
            +
            var _cluster = _interopRequireDefault(require("cluster"));
         | 
| 8 | 
            +
            var _dateFns = require("date-fns");
         | 
| 9 | 
            +
            var _settings = _interopRequireDefault(require("./settings"));
         | 
| 10 | 
            +
            function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
         | 
| 11 | 
            +
            /**
         | 
| 12 | 
            +
             * Class base responsável pelo gerênciamento RUNTIME da aplicação
         | 
| 13 | 
            +
             * controle de cache, uso de memoria e gerênciamento de dados locais
         | 
| 14 | 
            +
             *
         | 
| 15 | 
            +
             * Todas as classes devem herdar esta classe para um gerênciamento completo
         | 
| 16 | 
            +
             *
         | 
| 17 | 
            +
             * @abstract
         | 
| 18 | 
            +
             * @class Core
         | 
| 19 | 
            +
             */
         | 
| 20 | 
            +
            class Core {
         | 
| 21 | 
            +
              static settings = new _settings.default();
         | 
| 22 | 
            +
              constructor() {
         | 
| 23 | 
            +
                // #TODO
         | 
| 24 | 
            +
              }
         | 
| 25 | 
            +
              log(msg, level = 'normal') {
         | 
| 26 | 
            +
                if (!msg) return;
         | 
| 27 | 
            +
                let query = '\x1b[97m[%s]';
         | 
| 28 | 
            +
                const params = [(0, _dateFns.format)(new Date(), 'HH:mm:ss')];
         | 
| 29 | 
            +
                if (_cluster.default.isWorker) {
         | 
| 30 | 
            +
                  query = query + `\x1b[96m[%s]`;
         | 
| 31 | 
            +
                  params.push(`Cluster${_cluster.default.worker.id}`);
         | 
| 32 | 
            +
                }
         | 
| 33 | 
            +
                query = query + `\x1b[33m[%s]`;
         | 
| 34 | 
            +
                params.push(this.constructor.name || 'unknow');
         | 
| 35 | 
            +
                switch (level) {
         | 
| 36 | 
            +
                  case 'info':
         | 
| 37 | 
            +
                    query = query + `\x1b[94m `;
         | 
| 38 | 
            +
                    break;
         | 
| 39 | 
            +
                  case 'danger':
         | 
| 40 | 
            +
                    query = query + `\x1b[91m `;
         | 
| 41 | 
            +
                    break;
         | 
| 42 | 
            +
                  case 'warning':
         | 
| 43 | 
            +
                    query = query + `\x1b[33m `;
         | 
| 44 | 
            +
                    break;
         | 
| 45 | 
            +
                  case 'success':
         | 
| 46 | 
            +
                    query = query + `\x1b[92m `;
         | 
| 47 | 
            +
                    break;
         | 
| 48 | 
            +
                  case 'especial':
         | 
| 49 | 
            +
                    query = query + `\x1b[95m `;
         | 
| 50 | 
            +
                    break;
         | 
| 51 | 
            +
                  case 'comment':
         | 
| 52 | 
            +
                    query = query + `\x1b[97m `;
         | 
| 53 | 
            +
                    break;
         | 
| 54 | 
            +
                  case 'normal':
         | 
| 55 | 
            +
                    query = query + `\x1b[0m `;
         | 
| 56 | 
            +
                    break;
         | 
| 57 | 
            +
                }
         | 
| 58 | 
            +
                query = query + `%s\x1b[0m`;
         | 
| 59 | 
            +
                params.push(msg);
         | 
| 60 | 
            +
                console.log(query, ...params);
         | 
| 61 | 
            +
              }
         | 
| 62 | 
            +
              static setSettings(settings) {
         | 
| 63 | 
            +
                this.settings = settings;
         | 
| 64 | 
            +
              }
         | 
| 65 | 
            +
            }
         | 
| 66 | 
            +
            var _default = exports.default = Core;
         | 
    
        package/lib/app/index.js
    ADDED
    
    | @@ -0,0 +1,60 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Object.defineProperty(exports, "__esModule", {
         | 
| 4 | 
            +
              value: true
         | 
| 5 | 
            +
            });
         | 
| 6 | 
            +
            var _exportNames = {
         | 
| 7 | 
            +
              Exodus: true,
         | 
| 8 | 
            +
              Core: true,
         | 
| 9 | 
            +
              Service: true,
         | 
| 10 | 
            +
              Singleton: true,
         | 
| 11 | 
            +
              CoreSettings: true
         | 
| 12 | 
            +
            };
         | 
| 13 | 
            +
            Object.defineProperty(exports, "Core", {
         | 
| 14 | 
            +
              enumerable: true,
         | 
| 15 | 
            +
              get: function () {
         | 
| 16 | 
            +
                return _core.default;
         | 
| 17 | 
            +
              }
         | 
| 18 | 
            +
            });
         | 
| 19 | 
            +
            Object.defineProperty(exports, "CoreSettings", {
         | 
| 20 | 
            +
              enumerable: true,
         | 
| 21 | 
            +
              get: function () {
         | 
| 22 | 
            +
                return _settings.default;
         | 
| 23 | 
            +
              }
         | 
| 24 | 
            +
            });
         | 
| 25 | 
            +
            Object.defineProperty(exports, "Exodus", {
         | 
| 26 | 
            +
              enumerable: true,
         | 
| 27 | 
            +
              get: function () {
         | 
| 28 | 
            +
                return _app.default;
         | 
| 29 | 
            +
              }
         | 
| 30 | 
            +
            });
         | 
| 31 | 
            +
            Object.defineProperty(exports, "Service", {
         | 
| 32 | 
            +
              enumerable: true,
         | 
| 33 | 
            +
              get: function () {
         | 
| 34 | 
            +
                return _service.default;
         | 
| 35 | 
            +
              }
         | 
| 36 | 
            +
            });
         | 
| 37 | 
            +
            Object.defineProperty(exports, "Singleton", {
         | 
| 38 | 
            +
              enumerable: true,
         | 
| 39 | 
            +
              get: function () {
         | 
| 40 | 
            +
                return _singleton.default;
         | 
| 41 | 
            +
              }
         | 
| 42 | 
            +
            });
         | 
| 43 | 
            +
            var _app = _interopRequireDefault(require("./app"));
         | 
| 44 | 
            +
            var _controller = require("./controller");
         | 
| 45 | 
            +
            Object.keys(_controller).forEach(function (key) {
         | 
| 46 | 
            +
              if (key === "default" || key === "__esModule") return;
         | 
| 47 | 
            +
              if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
         | 
| 48 | 
            +
              if (key in exports && exports[key] === _controller[key]) return;
         | 
| 49 | 
            +
              Object.defineProperty(exports, key, {
         | 
| 50 | 
            +
                enumerable: true,
         | 
| 51 | 
            +
                get: function () {
         | 
| 52 | 
            +
                  return _controller[key];
         | 
| 53 | 
            +
                }
         | 
| 54 | 
            +
              });
         | 
| 55 | 
            +
            });
         | 
| 56 | 
            +
            var _core = _interopRequireDefault(require("./core"));
         | 
| 57 | 
            +
            var _service = _interopRequireDefault(require("./service"));
         | 
| 58 | 
            +
            var _singleton = _interopRequireDefault(require("./singleton"));
         | 
| 59 | 
            +
            var _settings = _interopRequireDefault(require("./settings"));
         | 
| 60 | 
            +
            function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
         | 
| @@ -0,0 +1,24 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Object.defineProperty(exports, "__esModule", {
         | 
| 4 | 
            +
              value: true
         | 
| 5 | 
            +
            });
         | 
| 6 | 
            +
            exports.default = void 0;
         | 
| 7 | 
            +
            var _singleton = _interopRequireDefault(require("./singleton"));
         | 
| 8 | 
            +
            function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
         | 
| 9 | 
            +
            /**
         | 
| 10 | 
            +
             * Classe base de Serviços
         | 
| 11 | 
            +
             * Responsável por gerênciar métodos e funções utilizadas por todas
         | 
| 12 | 
            +
             * as classes de serviço desta aplicação
         | 
| 13 | 
            +
             *
         | 
| 14 | 
            +
             * @abstract
         | 
| 15 | 
            +
             * @class Service
         | 
| 16 | 
            +
             * @extends {Singleton}
         | 
| 17 | 
            +
             * @template S
         | 
| 18 | 
            +
             */
         | 
| 19 | 
            +
            class Service extends _singleton.default {
         | 
| 20 | 
            +
              constructor() {
         | 
| 21 | 
            +
                super();
         | 
| 22 | 
            +
              }
         | 
| 23 | 
            +
            }
         | 
| 24 | 
            +
            var _default = exports.default = Service;
         | 
| @@ -0,0 +1,135 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Object.defineProperty(exports, "__esModule", {
         | 
| 4 | 
            +
              value: true
         | 
| 5 | 
            +
            });
         | 
| 6 | 
            +
            exports.default = void 0;
         | 
| 7 | 
            +
            require("dotenv/config");
         | 
| 8 | 
            +
            var _os = _interopRequireDefault(require("os"));
         | 
| 9 | 
            +
            var _lodash = _interopRequireDefault(require("lodash"));
         | 
| 10 | 
            +
            var _path = _interopRequireDefault(require("path"));
         | 
| 11 | 
            +
            function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
         | 
| 12 | 
            +
            class CoreSettings {
         | 
| 13 | 
            +
              application = {};
         | 
| 14 | 
            +
              authentication = {};
         | 
| 15 | 
            +
              cache = {};
         | 
| 16 | 
            +
              database = {};
         | 
| 17 | 
            +
              http = {};
         | 
| 18 | 
            +
              logger = {};
         | 
| 19 | 
            +
              messaging = {};
         | 
| 20 | 
            +
              defaults = {
         | 
| 21 | 
            +
                application: {
         | 
| 22 | 
            +
                  appId: process.env.APP_ID,
         | 
| 23 | 
            +
                  port: Number(process.env.APP_PORT),
         | 
| 24 | 
            +
                  host: process.env.APP_URL || 'http://localhost',
         | 
| 25 | 
            +
                  description: process.env.APP_DESCRIPTION || '',
         | 
| 26 | 
            +
                  clusters: Number(process.env.APP_CLUESTERS) || _os.default.cpus().length,
         | 
| 27 | 
            +
                  clustersRestarts: true,
         | 
| 28 | 
            +
                  /* File */
         | 
| 29 | 
            +
                  filePaths: {
         | 
| 30 | 
            +
                    temporary: _path.default.resolve(__dirname, '..', '..', 'public', 'tmp'),
         | 
| 31 | 
            +
                    image: _path.default.resolve(__dirname, '..', '..', 'public', 'images'),
         | 
| 32 | 
            +
                    audio: _path.default.resolve(__dirname, '..', '..', 'public', 'audios'),
         | 
| 33 | 
            +
                    document: _path.default.resolve(__dirname, '..', '..', 'public', 'documents'),
         | 
| 34 | 
            +
                    video: _path.default.resolve(__dirname, '..', '..', 'public', 'videos')
         | 
| 35 | 
            +
                  }
         | 
| 36 | 
            +
                },
         | 
| 37 | 
            +
                authentication: {
         | 
| 38 | 
            +
                  host: process.env.APP_SESSION_URL,
         | 
| 39 | 
            +
                  issuer: `${process.env.APP_ID}/${process.env.SECURITY_JWT_ISSUER}`,
         | 
| 40 | 
            +
                  serviceIssuer: `exodus.session.hub:4000/${process.env.SECURITY_JWT_ISSUER}`,
         | 
| 41 | 
            +
                  servicePublicKeyPath: _path.default.resolve(__dirname, '../certificates/service_key.pem'),
         | 
| 42 | 
            +
                  certPath: _path.default.resolve(__dirname, '../certificates'),
         | 
| 43 | 
            +
                  algorithm: 'aes-256-cbc',
         | 
| 44 | 
            +
                  initialVector: 16,
         | 
| 45 | 
            +
                  signExpirationSecs: 60 * 60 * 4 //4hours
         | 
| 46 | 
            +
                },
         | 
| 47 | 
            +
                cache: {
         | 
| 48 | 
            +
                  host: process.env.CACHE_HOST || 'localhost',
         | 
| 49 | 
            +
                  port: Number(process.env.CACHE_PORT) || 6379,
         | 
| 50 | 
            +
                  password: process.env.CACHE_USER || 'eYVX7EwVmmxKPCDmwMtyKVge8oLd2t81'
         | 
| 51 | 
            +
                },
         | 
| 52 | 
            +
                database: {
         | 
| 53 | 
            +
                  master: {
         | 
| 54 | 
            +
                    database: process.env.MASTER_DB_NAME || 'common',
         | 
| 55 | 
            +
                    dialect: process.env.MASTER_DB_DIALECT || 'mariadb',
         | 
| 56 | 
            +
                    username: process.env.MASTER_DB_USER || 'root',
         | 
| 57 | 
            +
                    password: process.env.MASTER_DB_PASS || ''
         | 
| 58 | 
            +
                  },
         | 
| 59 | 
            +
                  service: {
         | 
| 60 | 
            +
                    database: process.env.SERVICE_DB_NAME || 'unknow'
         | 
| 61 | 
            +
                  }
         | 
| 62 | 
            +
                },
         | 
| 63 | 
            +
                http: {
         | 
| 64 | 
            +
                  publicPath: '',
         | 
| 65 | 
            +
                  formulation: process.env.RESPONSE_FORMULATION_TYPE || 'standart'
         | 
| 66 | 
            +
                },
         | 
| 67 | 
            +
                logger: {
         | 
| 68 | 
            +
                  /**
         | 
| 69 | 
            +
                   * Diretório pardrão de logs
         | 
| 70 | 
            +
                   * @date 24/03/2023 - 20:19:18
         | 
| 71 | 
            +
                   *
         | 
| 72 | 
            +
                   */
         | 
| 73 | 
            +
                  path: '../../logs',
         | 
| 74 | 
            +
                  /**
         | 
| 75 | 
            +
                   * Formato de saída dos arquivos de logs
         | 
| 76 | 
            +
                   * @date 24/03/2023 - 20:19:18
         | 
| 77 | 
            +
                   *
         | 
| 78 | 
            +
                   */
         | 
| 79 | 
            +
                  fileformat: '.json',
         | 
| 80 | 
            +
                  /**
         | 
| 81 | 
            +
                   * Nível do logger
         | 
| 82 | 
            +
                   */
         | 
| 83 | 
            +
                  level: process.env.LOGGER_LEVEL || 'info',
         | 
| 84 | 
            +
                  /**
         | 
| 85 | 
            +
                   * Transportar logs para o console do prompt
         | 
| 86 | 
            +
                   * @date 24/03/2023 - 20:19:18
         | 
| 87 | 
            +
                   *
         | 
| 88 | 
            +
                   */
         | 
| 89 | 
            +
                  console: !!parseInt(process.env.LOGGER_CONSOLE) || false
         | 
| 90 | 
            +
                },
         | 
| 91 | 
            +
                messaging: {
         | 
| 92 | 
            +
                  user: process.env.MSG_USER || 'guest',
         | 
| 93 | 
            +
                  pass: process.env.MSG_PASS || 'guest',
         | 
| 94 | 
            +
                  host: process.env.MSG_HOST || 'localhost'
         | 
| 95 | 
            +
                }
         | 
| 96 | 
            +
              };
         | 
| 97 | 
            +
              settings;
         | 
| 98 | 
            +
              constructor() {
         | 
| 99 | 
            +
                this.mergeSettings();
         | 
| 100 | 
            +
              }
         | 
| 101 | 
            +
              mergeSettings() {
         | 
| 102 | 
            +
                this.settings = _lodash.default.merge({}, this.defaults, {
         | 
| 103 | 
            +
                  application: this.application,
         | 
| 104 | 
            +
                  authentication: this.authentication,
         | 
| 105 | 
            +
                  cache: this.cache,
         | 
| 106 | 
            +
                  database: this.database,
         | 
| 107 | 
            +
                  http: this.http,
         | 
| 108 | 
            +
                  logger: this.logger,
         | 
| 109 | 
            +
                  messaging: this.messaging
         | 
| 110 | 
            +
                });
         | 
| 111 | 
            +
                // console.log(this.settings);
         | 
| 112 | 
            +
              }
         | 
| 113 | 
            +
              getAppication() {
         | 
| 114 | 
            +
                return this.settings.application;
         | 
| 115 | 
            +
              }
         | 
| 116 | 
            +
              getAuthentication() {
         | 
| 117 | 
            +
                return this.settings.authentication;
         | 
| 118 | 
            +
              }
         | 
| 119 | 
            +
              getCache() {
         | 
| 120 | 
            +
                return this.settings.cache;
         | 
| 121 | 
            +
              }
         | 
| 122 | 
            +
              getDatabase() {
         | 
| 123 | 
            +
                return this.settings.database;
         | 
| 124 | 
            +
              }
         | 
| 125 | 
            +
              getHttp() {
         | 
| 126 | 
            +
                return this.settings.http;
         | 
| 127 | 
            +
              }
         | 
| 128 | 
            +
              getLogger() {
         | 
| 129 | 
            +
                return this.settings.logger;
         | 
| 130 | 
            +
              }
         | 
| 131 | 
            +
              getMessaging() {
         | 
| 132 | 
            +
                return this.settings.messaging;
         | 
| 133 | 
            +
              }
         | 
| 134 | 
            +
            }
         | 
| 135 | 
            +
            var _default = exports.default = CoreSettings;
         | 
| @@ -0,0 +1,29 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Object.defineProperty(exports, "__esModule", {
         | 
| 4 | 
            +
              value: true
         | 
| 5 | 
            +
            });
         | 
| 6 | 
            +
            exports.default = void 0;
         | 
| 7 | 
            +
            var _core = _interopRequireDefault(require("./core"));
         | 
| 8 | 
            +
            function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
         | 
| 9 | 
            +
            /**
         | 
| 10 | 
            +
             * Classe base para gerênciamento de instancia Singleton
         | 
| 11 | 
            +
             * Usada para possibilitar a classe filha de manipular a
         | 
| 12 | 
            +
             * instancia de sí mesma
         | 
| 13 | 
            +
             *
         | 
| 14 | 
            +
             * @abstract
         | 
| 15 | 
            +
             * @class Singleton
         | 
| 16 | 
            +
             * @extends {Core}
         | 
| 17 | 
            +
             */
         | 
| 18 | 
            +
            class Singleton extends _core.default {
         | 
| 19 | 
            +
              // #Singleton
         | 
| 20 | 
            +
              static instance;
         | 
| 21 | 
            +
              constructor() {
         | 
| 22 | 
            +
                super();
         | 
| 23 | 
            +
              }
         | 
| 24 | 
            +
              static singleton() {
         | 
| 25 | 
            +
                if (!this.instance) this.instance = new this();
         | 
| 26 | 
            +
                return this.instance;
         | 
| 27 | 
            +
              }
         | 
| 28 | 
            +
            }
         | 
| 29 | 
            +
            var _default = exports.default = Singleton;
         | 
| @@ -0,0 +1,50 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Object.defineProperty(exports, "__esModule", {
         | 
| 4 | 
            +
              value: true
         | 
| 5 | 
            +
            });
         | 
| 6 | 
            +
            exports.EHttpResponseCode = exports.EApiRequestMethod = void 0;
         | 
| 7 | 
            +
            /**
         | 
| 8 | 
            +
             * Tipo de respostas
         | 
| 9 | 
            +
             * @date 26/03/2023 - 21:45:23
         | 
| 10 | 
            +
             *
         | 
| 11 | 
            +
             */
         | 
| 12 | 
            +
            /**
         | 
| 13 | 
            +
             * Objeto de response padronizado
         | 
| 14 | 
            +
             * @date 26/03/2023 - 21:45:23
         | 
| 15 | 
            +
             *
         | 
| 16 | 
            +
             */
         | 
| 17 | 
            +
            /**
         | 
| 18 | 
            +
             * Tipos de Status-Code para responses do Express
         | 
| 19 | 
            +
             *
         | 
| 20 | 
            +
             * @export
         | 
| 21 | 
            +
             * @enum {number}
         | 
| 22 | 
            +
             */
         | 
| 23 | 
            +
            let EHttpResponseCode = exports.EHttpResponseCode = /*#__PURE__*/function (EHttpResponseCode) {
         | 
| 24 | 
            +
              EHttpResponseCode[EHttpResponseCode["continue"] = 100] = "continue";
         | 
| 25 | 
            +
              EHttpResponseCode[EHttpResponseCode["accepted"] = 202] = "accepted";
         | 
| 26 | 
            +
              EHttpResponseCode[EHttpResponseCode["created"] = 201] = "created";
         | 
| 27 | 
            +
              EHttpResponseCode[EHttpResponseCode["successfullyProcessedInformation"] = 200] = "successfullyProcessedInformation";
         | 
| 28 | 
            +
              EHttpResponseCode[EHttpResponseCode["partiallyCompletedProcess"] = 206] = "partiallyCompletedProcess";
         | 
| 29 | 
            +
              EHttpResponseCode[EHttpResponseCode["redirectingForResponse"] = 303] = "redirectingForResponse";
         | 
| 30 | 
            +
              EHttpResponseCode[EHttpResponseCode["incompleteRequest"] = 400] = "incompleteRequest";
         | 
| 31 | 
            +
              EHttpResponseCode[EHttpResponseCode["informationNotFound"] = 404] = "informationNotFound";
         | 
| 32 | 
            +
              EHttpResponseCode[EHttpResponseCode["informationAlreadyExists"] = 409] = "informationAlreadyExists";
         | 
| 33 | 
            +
              EHttpResponseCode[EHttpResponseCode["preconditionRequired"] = 428] = "preconditionRequired";
         | 
| 34 | 
            +
              EHttpResponseCode[EHttpResponseCode["iternalErro"] = 500] = "iternalErro";
         | 
| 35 | 
            +
              EHttpResponseCode[EHttpResponseCode["methodNotAllowed"] = 405] = "methodNotAllowed";
         | 
| 36 | 
            +
              EHttpResponseCode[EHttpResponseCode["informationNotTrue"] = 406] = "informationNotTrue";
         | 
| 37 | 
            +
              EHttpResponseCode[EHttpResponseCode["preProcessNotInitialized"] = 424] = "preProcessNotInitialized";
         | 
| 38 | 
            +
              EHttpResponseCode[EHttpResponseCode["requestTimeOut"] = 408] = "requestTimeOut";
         | 
| 39 | 
            +
              EHttpResponseCode[EHttpResponseCode["informationUnauthorized"] = 401] = "informationUnauthorized";
         | 
| 40 | 
            +
              EHttpResponseCode[EHttpResponseCode["informationBlocked"] = 403] = "informationBlocked";
         | 
| 41 | 
            +
              return EHttpResponseCode;
         | 
| 42 | 
            +
            }({});
         | 
| 43 | 
            +
            let EApiRequestMethod = exports.EApiRequestMethod = /*#__PURE__*/function (EApiRequestMethod) {
         | 
| 44 | 
            +
              EApiRequestMethod["POST"] = "post";
         | 
| 45 | 
            +
              EApiRequestMethod["GET"] = "get";
         | 
| 46 | 
            +
              EApiRequestMethod["PUT"] = "put";
         | 
| 47 | 
            +
              EApiRequestMethod["DELETE"] = "delete";
         | 
| 48 | 
            +
              EApiRequestMethod["PATCH"] = "patch";
         | 
| 49 | 
            +
              return EApiRequestMethod;
         | 
| 50 | 
            +
            }({});
         | 
| @@ -0,0 +1,104 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Object.defineProperty(exports, "__esModule", {
         | 
| 4 | 
            +
              value: true
         | 
| 5 | 
            +
            });
         | 
| 6 | 
            +
            var _console = require("./console");
         | 
| 7 | 
            +
            Object.keys(_console).forEach(function (key) {
         | 
| 8 | 
            +
              if (key === "default" || key === "__esModule") return;
         | 
| 9 | 
            +
              if (key in exports && exports[key] === _console[key]) return;
         | 
| 10 | 
            +
              Object.defineProperty(exports, key, {
         | 
| 11 | 
            +
                enumerable: true,
         | 
| 12 | 
            +
                get: function () {
         | 
| 13 | 
            +
                  return _console[key];
         | 
| 14 | 
            +
                }
         | 
| 15 | 
            +
              });
         | 
| 16 | 
            +
            });
         | 
| 17 | 
            +
            var _entity = require("./entity");
         | 
| 18 | 
            +
            Object.keys(_entity).forEach(function (key) {
         | 
| 19 | 
            +
              if (key === "default" || key === "__esModule") return;
         | 
| 20 | 
            +
              if (key in exports && exports[key] === _entity[key]) return;
         | 
| 21 | 
            +
              Object.defineProperty(exports, key, {
         | 
| 22 | 
            +
                enumerable: true,
         | 
| 23 | 
            +
                get: function () {
         | 
| 24 | 
            +
                  return _entity[key];
         | 
| 25 | 
            +
                }
         | 
| 26 | 
            +
              });
         | 
| 27 | 
            +
            });
         | 
| 28 | 
            +
            var _http = require("./http");
         | 
| 29 | 
            +
            Object.keys(_http).forEach(function (key) {
         | 
| 30 | 
            +
              if (key === "default" || key === "__esModule") return;
         | 
| 31 | 
            +
              if (key in exports && exports[key] === _http[key]) return;
         | 
| 32 | 
            +
              Object.defineProperty(exports, key, {
         | 
| 33 | 
            +
                enumerable: true,
         | 
| 34 | 
            +
                get: function () {
         | 
| 35 | 
            +
                  return _http[key];
         | 
| 36 | 
            +
                }
         | 
| 37 | 
            +
              });
         | 
| 38 | 
            +
            });
         | 
| 39 | 
            +
            var _messaging = require("./messaging");
         | 
| 40 | 
            +
            Object.keys(_messaging).forEach(function (key) {
         | 
| 41 | 
            +
              if (key === "default" || key === "__esModule") return;
         | 
| 42 | 
            +
              if (key in exports && exports[key] === _messaging[key]) return;
         | 
| 43 | 
            +
              Object.defineProperty(exports, key, {
         | 
| 44 | 
            +
                enumerable: true,
         | 
| 45 | 
            +
                get: function () {
         | 
| 46 | 
            +
                  return _messaging[key];
         | 
| 47 | 
            +
                }
         | 
| 48 | 
            +
              });
         | 
| 49 | 
            +
            });
         | 
| 50 | 
            +
            var _service = require("./service");
         | 
| 51 | 
            +
            Object.keys(_service).forEach(function (key) {
         | 
| 52 | 
            +
              if (key === "default" || key === "__esModule") return;
         | 
| 53 | 
            +
              if (key in exports && exports[key] === _service[key]) return;
         | 
| 54 | 
            +
              Object.defineProperty(exports, key, {
         | 
| 55 | 
            +
                enumerable: true,
         | 
| 56 | 
            +
                get: function () {
         | 
| 57 | 
            +
                  return _service[key];
         | 
| 58 | 
            +
                }
         | 
| 59 | 
            +
              });
         | 
| 60 | 
            +
            });
         | 
| 61 | 
            +
            var _session = require("./session");
         | 
| 62 | 
            +
            Object.keys(_session).forEach(function (key) {
         | 
| 63 | 
            +
              if (key === "default" || key === "__esModule") return;
         | 
| 64 | 
            +
              if (key in exports && exports[key] === _session[key]) return;
         | 
| 65 | 
            +
              Object.defineProperty(exports, key, {
         | 
| 66 | 
            +
                enumerable: true,
         | 
| 67 | 
            +
                get: function () {
         | 
| 68 | 
            +
                  return _session[key];
         | 
| 69 | 
            +
                }
         | 
| 70 | 
            +
              });
         | 
| 71 | 
            +
            });
         | 
| 72 | 
            +
            var _settings = require("./settings");
         | 
| 73 | 
            +
            Object.keys(_settings).forEach(function (key) {
         | 
| 74 | 
            +
              if (key === "default" || key === "__esModule") return;
         | 
| 75 | 
            +
              if (key in exports && exports[key] === _settings[key]) return;
         | 
| 76 | 
            +
              Object.defineProperty(exports, key, {
         | 
| 77 | 
            +
                enumerable: true,
         | 
| 78 | 
            +
                get: function () {
         | 
| 79 | 
            +
                  return _settings[key];
         | 
| 80 | 
            +
                }
         | 
| 81 | 
            +
              });
         | 
| 82 | 
            +
            });
         | 
| 83 | 
            +
            var _singleton = require("./singleton");
         | 
| 84 | 
            +
            Object.keys(_singleton).forEach(function (key) {
         | 
| 85 | 
            +
              if (key === "default" || key === "__esModule") return;
         | 
| 86 | 
            +
              if (key in exports && exports[key] === _singleton[key]) return;
         | 
| 87 | 
            +
              Object.defineProperty(exports, key, {
         | 
| 88 | 
            +
                enumerable: true,
         | 
| 89 | 
            +
                get: function () {
         | 
| 90 | 
            +
                  return _singleton[key];
         | 
| 91 | 
            +
                }
         | 
| 92 | 
            +
              });
         | 
| 93 | 
            +
            });
         | 
| 94 | 
            +
            var _socket = require("./socket");
         | 
| 95 | 
            +
            Object.keys(_socket).forEach(function (key) {
         | 
| 96 | 
            +
              if (key === "default" || key === "__esModule") return;
         | 
| 97 | 
            +
              if (key in exports && exports[key] === _socket[key]) return;
         | 
| 98 | 
            +
              Object.defineProperty(exports, key, {
         | 
| 99 | 
            +
                enumerable: true,
         | 
| 100 | 
            +
                get: function () {
         | 
| 101 | 
            +
                  return _socket[key];
         | 
| 102 | 
            +
                }
         | 
| 103 | 
            +
              });
         | 
| 104 | 
            +
            });
         | 
| @@ -0,0 +1,18 @@ | |
| 1 | 
            +
            "use strict";
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            Object.defineProperty(exports, "__esModule", {
         | 
| 4 | 
            +
              value: true
         | 
| 5 | 
            +
            });
         | 
| 6 | 
            +
            exports.EMessagingQueue = void 0;
         | 
| 7 | 
            +
            let EMessagingQueue = exports.EMessagingQueue = /*#__PURE__*/function (EMessagingQueue) {
         | 
| 8 | 
            +
              EMessagingQueue["test"] = "exodus.queue.test";
         | 
| 9 | 
            +
              EMessagingQueue["accountCreated"] = "exodus.account.created";
         | 
| 10 | 
            +
              EMessagingQueue["environmentCreated"] = "exodus.environment.created";
         | 
| 11 | 
            +
              EMessagingQueue["environmentDeleted"] = "exodus.environment.deleted";
         | 
| 12 | 
            +
              EMessagingQueue["environmentUpdatedToken"] = "exodus.environment.updated.token";
         | 
| 13 | 
            +
              EMessagingQueue["environmentUpdatedDatabase"] = "exodus.environment.updated.database";
         | 
| 14 | 
            +
              EMessagingQueue["databaseCreated"] = "exodus.database.created";
         | 
| 15 | 
            +
              EMessagingQueue["databaseUpdate"] = "exodus.database.updated";
         | 
| 16 | 
            +
              EMessagingQueue["databaseDeleted"] = "exodus.database.deleted";
         | 
| 17 | 
            +
              return EMessagingQueue;
         | 
| 18 | 
            +
            }({}); // Mapeamento de tópicos para tipos
         |