FEAT: Add lookback days configuration for responsible users in ticket repository
All checks were successful
Deploy Production / deploy (push) Successful in 17s
All checks were successful
Deploy Production / deploy (push) Successful in 17s
This commit is contained in:
parent
a7aba2f665
commit
495b32a6a4
@ -32,6 +32,7 @@ HUBSOFT_MUNDIALE_USER_ID=248
|
||||
HUBSOFT_IMPLANTACAO_RESPONSAVEL_USER_IDS=142
|
||||
HUBSOFT_CANCELAMENTO_RESPONSAVEL_USER_IDS=142
|
||||
HUBSOFT_TITULARIDADE_RESPONSAVEL_USER_IDS=142
|
||||
HUBSOFT_RESPONSAVEL_LOOKBACK_DAYS=365
|
||||
|
||||
# ==============================================================================
|
||||
# BANCO DE DADOS INTERMEDIÁRIO - HUBGLPI (PostgreSQL - Desenvolvimento)
|
||||
|
||||
@ -7,6 +7,7 @@ async function getTicketsByTipo({
|
||||
tipoAtendimento,
|
||||
usuarioAbertura = null,
|
||||
usuariosResponsaveisIds = null,
|
||||
lookbackDays = null,
|
||||
watermark = null
|
||||
}) {
|
||||
try {
|
||||
@ -99,7 +100,12 @@ async function getTicketsByTipo({
|
||||
params.push(responsibleUserIds);
|
||||
}
|
||||
|
||||
if (watermark) {
|
||||
const lookbackDaysNumber = normalizePositiveInteger(lookbackDays);
|
||||
|
||||
if (responsibleUserIds.length && lookbackDaysNumber) {
|
||||
query += ` AND a.data_cadastro >= NOW() - ($${paramIndex++}::int * INTERVAL '1 day')`;
|
||||
params.push(lookbackDaysNumber);
|
||||
} else if (watermark) {
|
||||
query += ` AND a.data_cadastro > $${paramIndex++}`;
|
||||
params.push(watermark);
|
||||
}
|
||||
@ -119,6 +125,11 @@ function normalizeUserIds(values) {
|
||||
.filter(Number.isInteger);
|
||||
}
|
||||
|
||||
function normalizePositiveInteger(value) {
|
||||
const number = Number(value);
|
||||
return Number.isInteger(number) && number > 0 ? number : null;
|
||||
}
|
||||
|
||||
async function getTicketsClosedSince(thresholdDate) {
|
||||
try {
|
||||
|
||||
|
||||
@ -29,6 +29,10 @@ const TYPES = Object.freeze({
|
||||
TITULARIDADE: 60
|
||||
});
|
||||
|
||||
const RESPONSAVEL_LOOKBACK_DAYS = parsePositiveIntegerEnv(
|
||||
process.env.HUBSOFT_RESPONSAVEL_LOOKBACK_DAYS,
|
||||
365
|
||||
);
|
||||
|
||||
async function getMundialeTickets(watermark) {
|
||||
return hubsoftTicketsRepo.getTicketsByTipo({
|
||||
@ -45,6 +49,7 @@ async function getImplantacaoTickets(watermark) {
|
||||
process.env.HUBSOFT_IMPLANTACAO_RESPONSAVEL_USER_IDS,
|
||||
[142]
|
||||
),
|
||||
lookbackDays: RESPONSAVEL_LOOKBACK_DAYS,
|
||||
watermark
|
||||
});
|
||||
}
|
||||
@ -56,6 +61,7 @@ async function getCancelamentoTickets(watermark) {
|
||||
process.env.HUBSOFT_CANCELAMENTO_RESPONSAVEL_USER_IDS,
|
||||
[142]
|
||||
),
|
||||
lookbackDays: RESPONSAVEL_LOOKBACK_DAYS,
|
||||
watermark
|
||||
});
|
||||
}
|
||||
@ -74,6 +80,7 @@ async function getTrocaTTickets(watermark) {
|
||||
process.env.HUBSOFT_TITULARIDADE_RESPONSAVEL_USER_IDS,
|
||||
[142]
|
||||
),
|
||||
lookbackDays: RESPONSAVEL_LOOKBACK_DAYS,
|
||||
watermark
|
||||
});
|
||||
}
|
||||
@ -153,6 +160,11 @@ function parseCsvNumberEnv(value, fallback = []) {
|
||||
return parsed.length ? parsed : fallback;
|
||||
}
|
||||
|
||||
function parsePositiveIntegerEnv(value, fallback) {
|
||||
const parsed = Number(value);
|
||||
return Number.isInteger(parsed) && parsed > 0 ? parsed : fallback;
|
||||
}
|
||||
|
||||
|
||||
module.exports = {
|
||||
// watermark
|
||||
|
||||
Loading…
Reference in New Issue
Block a user