crm-api-template-generator/backend/utils/extractLeadStatusChange.js

27 lines
841 B
JavaScript

/**
* Extrai e valida informações de mudança de status do Lead a partir do dynamicBodyRequest.
* - newStatus: deve ser string não vazia
* - leadId: opcional; se ausente, pode ser fornecido externamente (ex.: contactId)
*/
function extractLeadStatusChange(dynamicBodyRequest = {}) {
if (!dynamicBodyRequest || typeof dynamicBodyRequest !== 'object') {
return { shouldUpdate: false }
}
const rawStatus = dynamicBodyRequest.__newLeadStatus
const rawLeadId = dynamicBodyRequest.__leadId
const newStatus = typeof rawStatus === 'string' ? rawStatus.trim() : ''
const leadId = typeof rawLeadId === 'string' ? rawLeadId.trim() : undefined
if (!newStatus) {
return { shouldUpdate: false }
}
return { shouldUpdate: true, newStatus, leadId }
}
module.exports = extractLeadStatusChange