@hedsdesign/loopback-log-mixin
v1.0.4
Published
Mixin integrado ao loopback 3.x que adiciona os logs nas tabelas
Downloads
8
Readme
Loopback Log Mixin
Este módulo foi projetado para o framework Strongloop Loopback. Ele fornece funcionalidade de inserção de logs em uma tabela específica, além de adicionar as porpriedades no registro com informações de criação e alteração com data, horário e ip.
INSTALAÇÃO
npm install --save @hedsdesign/loopback-log-mixin
ADICIONANDO MIXIN E MODELS
Com [email protected] mixinSources foram implementado de forma que permita carregar este mixin sem alterações no arquivo server.js
previamente requerido.
Adicione as propriedade sources
e mixins
e a tabela de log no arquivo server/model-config.json
como a seguir:
{
"_meta": {
"sources": [
"loopback/common/models",
"loopback/server/models",
"../common/models",
"./models",
"../node_modules/@hedsdesign/loopback-log-mixin/dist/models",
],
"mixins": [
"loopback/common/mixins",
"../node_modules/@hedsdesign/loopback-log-mixin/dist/mixins",
"../common/mixins"
]
},....
"Log": {
"dataSource": "db",
"public": false
},
}
Note que você pode adapta-lo a sua solução, como definir um datasource diferente.
Outro ajuste necessário principalmente para o funcionamento da obtenção do endereço de IP precisa fazer um ajuste no boot da aplicação no arquivo server.js
var bootOptions = {
"appRootDir": __dirname,
"bootDirs": [__dirname + '/../node_modules/@hedsdesign/loopback-log-mixin/dist/boot']
};
boot(app, bootOptions, function (err) {
...
});
IMPORTANDO O MIXIN
Você apenas deverá adicionar o mixin a sua tabela (model) como o exemplo:
"mixins": {
"Log": true
}
ou ajustando com as opções disponíveis como no exemplo:
"mixins": {
"Log": {
"dataCriacao": "dataCriacao",
"usuarioCriacao": "usuarioCriacao",
"usuarioCriacaoIp": "usuarioCriacaoIp",
"dataAlteracao": "dataAlteracao",
"usuarioAlteracao": "usuarioAlteracao",
"usuarioAlteracaoIp": "usuarioAlteracaoIp",
"inserirLog": true,
"tabelaLog": "Log",
"tabelaTabela": "tabela",
"tabelaItemId": "itemId",
"tabelaData": "data",
"tabelaAntes": "antes",
"tabelaDepois": "depois",
"tabelaMudancas": "mudancas",
"tabelaUsuarioId": "usuarioId",
"tabelaIp": "ip",
"silenceWarnings": false,
}
}