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_IMPLANTACAO_RESPONSAVEL_USER_IDS=142
|
||||||
HUBSOFT_CANCELAMENTO_RESPONSAVEL_USER_IDS=142
|
HUBSOFT_CANCELAMENTO_RESPONSAVEL_USER_IDS=142
|
||||||
HUBSOFT_TITULARIDADE_RESPONSAVEL_USER_IDS=142
|
HUBSOFT_TITULARIDADE_RESPONSAVEL_USER_IDS=142
|
||||||
|
HUBSOFT_RESPONSAVEL_LOOKBACK_DAYS=365
|
||||||
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
# BANCO DE DADOS INTERMEDIÁRIO - HUBGLPI (PostgreSQL - Desenvolvimento)
|
# BANCO DE DADOS INTERMEDIÁRIO - HUBGLPI (PostgreSQL - Desenvolvimento)
|
||||||
|
|||||||
@ -7,6 +7,7 @@ async function getTicketsByTipo({
|
|||||||
tipoAtendimento,
|
tipoAtendimento,
|
||||||
usuarioAbertura = null,
|
usuarioAbertura = null,
|
||||||
usuariosResponsaveisIds = null,
|
usuariosResponsaveisIds = null,
|
||||||
|
lookbackDays = null,
|
||||||
watermark = null
|
watermark = null
|
||||||
}) {
|
}) {
|
||||||
try {
|
try {
|
||||||
@ -99,7 +100,12 @@ async function getTicketsByTipo({
|
|||||||
params.push(responsibleUserIds);
|
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++}`;
|
query += ` AND a.data_cadastro > $${paramIndex++}`;
|
||||||
params.push(watermark);
|
params.push(watermark);
|
||||||
}
|
}
|
||||||
@ -119,6 +125,11 @@ function normalizeUserIds(values) {
|
|||||||
.filter(Number.isInteger);
|
.filter(Number.isInteger);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function normalizePositiveInteger(value) {
|
||||||
|
const number = Number(value);
|
||||||
|
return Number.isInteger(number) && number > 0 ? number : null;
|
||||||
|
}
|
||||||
|
|
||||||
async function getTicketsClosedSince(thresholdDate) {
|
async function getTicketsClosedSince(thresholdDate) {
|
||||||
try {
|
try {
|
||||||
|
|
||||||
|
|||||||
@ -29,6 +29,10 @@ const TYPES = Object.freeze({
|
|||||||
TITULARIDADE: 60
|
TITULARIDADE: 60
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const RESPONSAVEL_LOOKBACK_DAYS = parsePositiveIntegerEnv(
|
||||||
|
process.env.HUBSOFT_RESPONSAVEL_LOOKBACK_DAYS,
|
||||||
|
365
|
||||||
|
);
|
||||||
|
|
||||||
async function getMundialeTickets(watermark) {
|
async function getMundialeTickets(watermark) {
|
||||||
return hubsoftTicketsRepo.getTicketsByTipo({
|
return hubsoftTicketsRepo.getTicketsByTipo({
|
||||||
@ -45,6 +49,7 @@ async function getImplantacaoTickets(watermark) {
|
|||||||
process.env.HUBSOFT_IMPLANTACAO_RESPONSAVEL_USER_IDS,
|
process.env.HUBSOFT_IMPLANTACAO_RESPONSAVEL_USER_IDS,
|
||||||
[142]
|
[142]
|
||||||
),
|
),
|
||||||
|
lookbackDays: RESPONSAVEL_LOOKBACK_DAYS,
|
||||||
watermark
|
watermark
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -56,6 +61,7 @@ async function getCancelamentoTickets(watermark) {
|
|||||||
process.env.HUBSOFT_CANCELAMENTO_RESPONSAVEL_USER_IDS,
|
process.env.HUBSOFT_CANCELAMENTO_RESPONSAVEL_USER_IDS,
|
||||||
[142]
|
[142]
|
||||||
),
|
),
|
||||||
|
lookbackDays: RESPONSAVEL_LOOKBACK_DAYS,
|
||||||
watermark
|
watermark
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -74,6 +80,7 @@ async function getTrocaTTickets(watermark) {
|
|||||||
process.env.HUBSOFT_TITULARIDADE_RESPONSAVEL_USER_IDS,
|
process.env.HUBSOFT_TITULARIDADE_RESPONSAVEL_USER_IDS,
|
||||||
[142]
|
[142]
|
||||||
),
|
),
|
||||||
|
lookbackDays: RESPONSAVEL_LOOKBACK_DAYS,
|
||||||
watermark
|
watermark
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -153,6 +160,11 @@ function parseCsvNumberEnv(value, fallback = []) {
|
|||||||
return parsed.length ? parsed : fallback;
|
return parsed.length ? parsed : fallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function parsePositiveIntegerEnv(value, fallback) {
|
||||||
|
const parsed = Number(value);
|
||||||
|
return Number.isInteger(parsed) && parsed > 0 ? parsed : fallback;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
// watermark
|
// watermark
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user