Class: TransactionLog

@nginstack/engine/lib/database/TransactionLog~ TransactionLog


new TransactionLog()

Classe que permite a consulta e manutenção dos registros do log transacional.

Members


<static> UNVERIFIED_ADDRESS_SUFFIX :string

Sufixo do endereço de origem gravado no log transacional quando ele foi informado pelos cabeçalhos de encaminhamento de um computador que não está cadastrado como proxy confiável.

Type:
  • string

Methods


clear()

Limpa a tabela iLog com base nas configurações de máximo de dias de manutenção de registros.

Returns:

Informações sobre as operações de arquivamento de log durante a limpeza.

Type
Array.<module:@nginstack/engine/lib/database/TransactionLog~ArchiveLogInfo>

createArchiveInfo_(unifierKey, archiveInfoList [, additionalInfo])

Parameters:
Name Type Argument Description
unifierKey number

Chave unificadora do evento de limpeza.

archiveInfoList Array.<module:@nginstack/engine/lib/database/Database~ArchiveLogFileInfo>

Informações sobre os arquivos de log.

additionalInfo Object <optional>

Informações adicionais.

Returns:

Informações da operação de arquivamento.

Type
Array.<module:@nginstack/engine/lib/database/TransactionLog~ArchiveLogInfo>

query(options)

Realiza a consulta dos registros de log transacional com base nos parâmetros informados.

A consulta falhará se não for informado pelo menos um dos parâmetros: "version", "startDate", "recordKey" ou "sessionId".

Parameters:
Name Type Description
options module:@nginstack/engine/lib/database/TransactionLog~LogQueryOptions

Filtros de busca dos logs transacionais.

Returns:

Resultado da consulta aos logs transacionais.

Type
module:@nginstack/engine/lib/dataset/DataSet~DataSet
Example
const transactionLog = new TransactionLog();
const logs = transactionLog.query({ sessionId: sessionId, engineId: engineId });
logs.str('iSessionId'); // => sessionId

queryDeletedKeysInLog_(fieldName, existingKeys, maxRetention)

Parameters:
Name Type Description
fieldName string
existingKeys Array.<number>
maxRetention number
Returns:
Type
Array.<number>

redoLog(options)

Realiza o processo de reaplicação de logs transacionais com base num conjunto de filtros de pesquisa ou num DataSet de logs consultados previamente.

Parameters:
Name Type Description
options module:@nginstack/engine/lib/database/TransactionLog~LogQueryOptions| module:@nginstack/engine/lib/database/TransactionLog~LogApplyOptions

Parâmetros de filtragem dos logs transacionais ou um DataSet contendo registros de log previamente consultados para serem reaplicados.

Returns:

Numero de versão gerado pela reversão.

Type
number
Example
const TransactionLog = require('@nginstack/engine/lib/database/TransactionLog.js');
const transactionLog = new TransactionLog();
const redoVersion = transactionLog.redoLog({
  version: 999999 // Reaplica as alterações da versão especificada
});

undoLog(options)

Realiza o processo de reversão de logs transacionais com base num conjunto de filtros de pesquisa ou num DataSet de logs consultados previamente.

Parameters:
Name Type Description
options module:@nginstack/engine/lib/database/TransactionLog~LogQueryOptions| module:@nginstack/engine/lib/database/TransactionLog~LogApplyOptions

Parâmetros de filtragem dos logs transacionais ou um DataSet contendo registros de log previamente consultados para serem revertidos.

Returns:

Numero de versão gerado pela reversão.

Type
number
Example
const TransactionLog = require('@nginstack/engine/lib/database/TransactionLog.js');
const LogTypes = require('@nginstack/engine/keys/LogTypes.js');
const transactionLog = new TransactionLog();
const undoVersion = transactionLog.undoLog({ // Desfaz as remoções executadas pelos usuários no período
  logType: LogTypes.DELETE,
  userKey: [8888, 9999],
  startDate: new Date(),
  endDate: new Date(),
  startTime: '21:00:00',
  endTime: '22:00:00'
});

<static> parseSourceAddress(sourceAddress)

Interpreta o endereço de origem de uma requisição gravado na coluna "iSourceAddr" do log transacional.

Os endereços que não puderam ser verificados pelo Engine, por terem sido informados por um computador que não está cadastrado como proxy confiável, são gravados com o sufixo "?" e retornados sem ele, com a propriedade verified falsa. Esses endereços podem ter sido forjados pelo cliente.

Parameters:
Name Type Description
sourceAddress string

Endereço de origem gravado.

Returns:

Endereço sem o sufixo e indicação se ele foi verificado.

Type
Object
Example
const TransactionLog = require('@nginstack/engine/lib/database/TransactionLog.js');
TransactionLog.parseSourceAddress('203.0.113.5?'); // => { address: '203.0.113.5', verified: false }
TransactionLog.parseSourceAddress('203.0.113.5'); // => { address: '203.0.113.5', verified: true }