Files
FRASA-CAS/scripts/vincular-vendedores-compartido.js
Consult AS Technology af2fb10956 feat(mi-dia): vendedores solo-app con cuenta Monday compartida
- Las listas personales de Mi día (leads, oportunidades, apartados) se
  calculan por captura local (LeadCaptura/Cliente + mapping
  LeadOportunidad) ADEMÁS de la columna people de Monday: la app ya es
  totalmente usable sin cuenta Monday
- Config MONDAY_VENDEDOR_COMPARTIDO_ID: cuando el usuario está ligado a
  la cuenta compartida, la columna people se ignora para 'lo mío' (si
  no, todos verían los leads de todos)
- scripts/vincular-vendedores-compartido.js: vincula todos los usuarios
  con rol vendedor a la cuenta Monday compartida
- Tests: 478 API, verde; verificado en vivo con usuario sin Monday
2026-09-05 05:37:52 +00:00

38 lines
1.4 KiB
JavaScript

#!/usr/bin/env node
/**
* Vincula TODOS los usuarios con rol 'vendedor' del ecosistema a UNA sola
* cuenta de Monday (la cuenta compartida de vendedores de piso).
*
* Uso (desde api-gateway, donde vive la BD):
* cd api-gateway && node ../scripts/vincular-vendedores-compartido.js <mondayUserId>
*
* Ejemplo: node ../scripts/vincular-vendedores-compartido.js 106505920
*
* Después de correrlo, configura MONDAY_VENDEDOR_COMPARTIDO_ID=<mondayUserId>
* en el .env para que Mi día filtre por captura local (si no, todos verían
* los leads de todos por compartir la misma cuenta Monday).
*/
const { PrismaClient } = require('@prisma/client')
const mondayUserId = Number(process.argv[2])
if (!Number.isInteger(mondayUserId) || mondayUserId <= 0) {
console.error('Uso: node vincular-vendedores-compartido.js <mondayUserId>')
process.exit(1)
}
const prisma = new PrismaClient()
;(async () => {
const vendedores = await prisma.usuario.findMany({
where: { rol: 'vendedor', activo: true },
select: { id: true, nombre: true, mondayUserId: true },
})
console.log(`Vendedores activos: ${vendedores.length}`)
const r = await prisma.usuario.updateMany({
where: { rol: 'vendedor', activo: true },
data: { mondayUserId },
})
console.log(`Vinculados a Monday user ${mondayUserId}: ${r.count}`)
for (const v of vendedores) console.log(` - ${v.nombre} (antes: ${v.mondayUserId ?? 'sin vínculo'})`)
await prisma.$disconnect()
})()