Block manual send reservation for unreleased shared numbers
Implement shared-number detection in reserveOutreachSend: reject manual WhatsApp sends with HTTP 409 when the destination number is shared across 2+ leads and hasn't been explicitly released via override. - Add test: reserveOutreachSend bloqueia numero compartilhado sem override e libera com override - Add check in reserveOutreachSend right after isOptedOut check - Uses isNumberSharedAcrossLeads and isSharedNumberOverridden from Task 1 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
40bd8d096e
commit
3d2144eefc
@@ -1127,6 +1127,11 @@ export function reserveOutreachSend(db, {
|
||||
error.statusCode = 409;
|
||||
throw error;
|
||||
}
|
||||
if (isNumberSharedAcrossLeads(db, normalized) && !isSharedNumberOverridden(db, normalized)) {
|
||||
const error = new Error('numero compartilhado por multiplos leads (revise em Configuracoes antes de enviar)');
|
||||
error.statusCode = 409;
|
||||
throw error;
|
||||
}
|
||||
const limit = Number(getSetting(db, 'outreach.mensagensPorDia', '10')) || 0;
|
||||
const used = countDailyOutreachUsage(db, { origem: 'manual' });
|
||||
if (used >= limit) {
|
||||
|
||||
Reference in New Issue
Block a user