{"_id":"@controlle.tecnologia/bridge","_rev":"2-db2bea3cc6cb6cd618079dfcccbc3525","name":"@controlle.tecnologia/bridge","description":"Pacote responsável para a comunicação dos microserviços do Controlle, cada microserviço que é necessário a comunicação de outro microserviço é relacionado a uma classe da Bridge. A estrutura de pastas é conforme os microserviços, cada pasta representa um ","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.1":{"name":"@controlle.tecnologia/bridge","version":"1.0.1","keywords":[],"author":"","license":"ISC","_id":"@controlle.tecnologia/bridge@1.0.1","maintainers":[{"name":"anderson.controlle","email":"anderson.oliveira@controlle.com"},{"name":"samuel_mateus","email":"samuel.mateus@controlle.com"},{"name":"controlle.devtools","email":"dev@controlle.com"},{"name":"sulivanbrasil","email":"sulivan@controlle.com"},{"name":"jailsoncontrolle","email":"jailson@controlle.com"}],"dist":{"shasum":"8de9c18c266d2aeba8867d2514086620f91f52d2","tarball":"https://registry.npmjs.org/@controlle.tecnologia/bridge/-/bridge-1.0.1.tgz","fileCount":31,"integrity":"sha512-q3ij5DZDQr046IQtiu4bDNiO8fj2lU5XGaIb0LdTsKgJ6GErIVdgYZDJD2qPVEkHkw6D0QN6bqUbdUtyczWing==","signatures":[{"sig":"MEYCIQDU1Sb4/ILbpYMXFIdqfMp4CNv9Od63DEuPt0o3hTn+2AIhAKv+WuDqWZpgaNkMshFfqnrOozMVntPhzxJfx8VuOCGd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":57976},"main":"./src/index.js","gitHead":"336b33006d209105d8feba26cf525948aeddb9dc","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"babel src --out-dir dist","start":"node ./src/index.js"},"_npmUser":{"name":"samuel_mateus","email":"samuel.mateus@controlle.com"},"repository":{"url":"git@gitlab.com:controlle_20/utils/bridge.git","type":"git"},"_npmVersion":"6.9.0","description":"Pacote responsável para a comunicação dos microserviços do Controlle, cada microserviço que é necessário a comunicação de outro microserviço é relacionado a uma classe da Bridge. A estrutura de pastas é conforme os microserviços, cada pasta representa um ","directories":{},"_nodeVersion":"12.6.0","dependencies":{"axios":"^0.21.1","form-data":"^4.0.0","@controlle.tecnologia/enum":"^0.3.22"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^7.22.0","prettier":"^2.7.1","@babel/cli":"^7.23.9","@babel/core":"^7.23.9","@babel/node":"^7.23.9","eslint-config-airbnb-base":"^14.2.1"},"_npmOperationalInternal":{"tmp":"tmp/bridge_1.0.1_1706294499495_0.3068649860728696","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@controlle.tecnologia/bridge","version":"1.0.2","keywords":[],"author":"","license":"ISC","_id":"@controlle.tecnologia/bridge@1.0.2","homepage":"https://gitlab.com/controlle_20/utils/bridge#readme","bugs":{"url":"https://gitlab.com/controlle_20/utils/bridge/issues"},"dist":{"shasum":"27ab19c6b302299526d1788fcfbbe12f68d06b6a","tarball":"https://registry.npmjs.org/@controlle.tecnologia/bridge/-/bridge-1.0.2.tgz","fileCount":32,"integrity":"sha512-hij48JYaKipIvr9oWcY8tq3+lLlQUyb7RUSiHR2qt+HMWh6wkxTZ0SHI+4cDdXfMVBo4gJX9ApZw/iEkhg9elA==","signatures":[{"sig":"MEYCIQC+y/CjlZiy/1slESktcUXCU1iGDd/wuo0DR9pIwUOkPwIhAKm7QdcrKZk4gAhJ9q++O6q+ElZ2JxfzEkzskWzyMNjj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61011},"main":"./src/index.js","gitHead":"a6d8f7b8e6a05d3811f4326515befddb32e22b7a","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"babel src --out-dir dist","start":"node ./src/index.js"},"_npmUser":{"name":"jailsoncontrolle","email":"jailson@controlle.com"},"repository":{"url":"git+ssh://git@gitlab.com/controlle_20/utils/bridge.git","type":"git"},"_npmVersion":"10.5.2","description":"Pacote responsável para a comunicação dos microserviços do Controlle, cada microserviço que é necessário a comunicação de outro microserviço é relacionado a uma classe da Bridge. A estrutura de pastas é conforme os microserviços, cada pasta representa um ","directories":{},"_nodeVersion":"20.13.1","dependencies":{"axios":"^0.21.1","form-data":"^4.0.0","@controlle.tecnologia/enum":"^0.3.22"},"publishConfig":{"@controlle_20:registry":"https://gitlab.com/api/v4/projects/21981681/packages/npm/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^7.22.0","prettier":"^2.7.1","@babel/cli":"^7.23.9","@babel/core":"^7.23.9","@babel/node":"^7.23.9","eslint-config-airbnb-base":"^14.2.1"},"_npmOperationalInternal":{"tmp":"tmp/bridge_1.0.2_1719715724879_0.3303704028668606","host":"s3://npm-registry-packages"}}},"time":{"created":"2024-01-26T18:41:39.387Z","modified":"2024-07-02T14:17:50.763Z","1.0.1":"2024-01-26T18:41:39.679Z","1.0.2":"2024-06-30T02:48:45.079Z"},"maintainers":[{"email":"hiran@controlle.com","name":"hiran_controlle"},{"email":"anderson.oliveira@controlle.com","name":"anderson.controlle"},{"email":"samuel.mateus@controlle.com","name":"samuel_mateus"},{"email":"dev@controlle.com","name":"controlle.devtools"},{"email":"sulivan@controlle.com","name":"sulivanbrasil"},{"email":"jailson@controlle.com","name":"jailsoncontrolle"}],"repository":{"url":"git+ssh://git@gitlab.com/controlle_20/utils/bridge.git","type":"git"},"keywords":[],"license":"ISC","homepage":"https://gitlab.com/controlle_20/utils/bridge#readme","bugs":{"url":"https://gitlab.com/controlle_20/utils/bridge/issues"},"readme":"# Bridge\n\nPacote responsável para a comunicação dos microserviços do Controlle, cada microserviço que é necessário a comunicação de outro microserviço é relacionado a uma classe da Bridge. A estrutura de pastas é conforme os microserviços, cada pasta representa um microserviço, exemplo: Pasta Activity contém as API do microserviço de Activity;\n\n#### Como utilizar\n\nA utilização do pacote se deve a iniciar um serviço e utilizar as funções.\n\n```js\nimport { Microservice } from '@controlle.tecnologia/bridge';\n\nconst MicroserviceService = new Microservice();\n\nMicroserviceService.method(...params);\n\n```\n\n\n#### Serviços e Funções\n\n\n##### Activity\n\n```js\n// Method addActivity\n// Params (headers, activity)\n// > headers: req.headers\n// > activity: {\n//      id_item,    > id do item que foi modificado\n//      id_group,   > uuid gerado em código caso a operação foi feita em lote para identificar qual grupo de dados alterado\n//      type,       > Enum que identifica qual tabela foi utilizado\n//      action,     > Enum que identifica qual é a função feita, exemplo: alteração, exclusão....\n//      old,        > JSON da linha antes da alteração\n//      new,        > JSON da linha com a alteração\n//  }\n\n//Exemplo:\nexport const buildActivityEntity = (id, old = {}, entity = {}, action) => {\n  const EnumType = Enum.Utils.Transform(Enum.Activity.Type);\n\n  return {\n    'id_item': id,\n    'id_group': null,\n    type: EnumType.ENTITY,\n    action: action,\n    old: JSON.stringify(old),\n    new: JSON.stringify(entity),\n  };\n};\n\nconst ActivityService = new Activity();\n\nActivityService.addActivity(req.headers, buildActivityEntity(entity.id, {}, entity, EnumAction.POST));\n```\n\n##### Permission\n\n```js\n// Method verify\n// Params (req, res, next, type)\n// > req: req\n// > res: res\n// > next: next\n// > type: > Enum que identifica qual a permissão requisitada\n// O método da permissão e o id(caso for alteração e exclusão) são identificados pela requisição\n// O método de verify é utilizado na verificação da rota e devolve o valor da permissão em: res.locals.permission\n\n//Exemplo\nconst PermissionService = new Permission();\n\nrouter.get('/', (req, res, next) => PermissionService.verify(req, res, next, EnumPermission.TYPE), get);\n\n// ---------------------------------------------------------------------------------------------------------------- //\n\n// Method createPermissions\n// Params (req, idEntity, idUserEntity, role)\n// > req: req\n// > idEntity: id da Entidade\n// > idUserEntity: idUserEntity que será adicionado permissões\n// > role: role que será adicionada\n\n// Esse método é utilizado atualmente na criação de entidade, ele é responsável pela criação do mapa inicial de permissões\n\n//Exemplo\nconst PermissionService = new Permission();\n\nawait PermissionService.createPermissions(req, idEntity, idUserEntity, EnumRole.ADMINISTRATOR);\n```\n","readmeFilename":"README.md"}