fix(mi-dia): admin/director ven todos los leads y oportunidades
- esMio: admin/director_ventas/direccion_general ven todo - Controller: admin carga todas las capturas y clientes (no solo las suyas) - Admin ahora ve 123 leads + 8 ops + 5 apartados
This commit is contained in:
@@ -43,9 +43,10 @@ export async function resumenMiDiaEndpoint(req: Request, res: Response): Promise
|
||||
console.error('No se pudieron listar los usuarios del workspace de Monday:', err)
|
||||
}
|
||||
|
||||
// Capturas de afluencia registradas por el usuario (registro local)
|
||||
// Capturas de afluencia: admin ve todas, otros solo las suyas
|
||||
const esAdmin = usuario.rol === 'admin' || usuario.rol === 'direccion_general' || usuario.rol === 'director_ventas'
|
||||
const capturas = await prisma.leadCaptura.findMany({
|
||||
where: { usuarioId: usuario.id },
|
||||
where: esAdmin ? {} : { usuarioId: usuario.id },
|
||||
orderBy: { createdAt: 'desc' },
|
||||
})
|
||||
|
||||
@@ -60,9 +61,9 @@ export async function resumenMiDiaEndpoint(req: Request, res: Response): Promise
|
||||
...mappings.map((m) => m.oportunidadId),
|
||||
])
|
||||
|
||||
// Altas de clientes iniciadas por el usuario (registro local)
|
||||
// Altas de clientes: admin ve todas, otros solo las suyas
|
||||
const clientes = await prisma.cliente.findMany({
|
||||
where: { capturadoPorId: usuario.id },
|
||||
where: esAdmin ? {} : { capturadoPorId: usuario.id },
|
||||
orderBy: { createdAt: 'desc' },
|
||||
})
|
||||
|
||||
|
||||
@@ -230,7 +230,9 @@ export async function resumenMiDia(
|
||||
// personas: solo cuenta la captura local. Funciona SIN vínculo Monday.
|
||||
const idsCapturados = capturadosIds ?? new Set(capturas.map((c) => c.leadId))
|
||||
const esCompartido = miId !== null && compartidoId !== null && compartidoId > 0 && miId === compartidoId
|
||||
const esAdmin = usuario.rol === 'admin' || usuario.rol === 'direccion_general' || usuario.rol === 'director_ventas'
|
||||
const esMio = (peopleIds: number[], itemId: string): boolean => {
|
||||
if (esAdmin) return true
|
||||
if (idsCapturados.has(itemId)) return true
|
||||
if (esCompartido || miId === null) return false
|
||||
return peopleIds.includes(miId)
|
||||
|
||||
Reference in New Issue
Block a user