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
This commit is contained in:
37
scripts/vincular-vendedores-compartido.js
Normal file
37
scripts/vincular-vendedores-compartido.js
Normal file
@@ -0,0 +1,37 @@
|
||||
#!/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()
|
||||
})()
|
||||
Reference in New Issue
Block a user