# US-MGN-002-003-002: Cambiar Empresa Activa (Company Switcher)

**RF Asociado:** [RF-MGN-002-003](../../02-modelado/requerimientos-funcionales/mgn-002/RF-MGN-002-003-asignacion-usuarios-empresas.md)
**Módulo:** MGN-002 - Empresas y Organizaciones
**Epic:** Multi-Empresa
**Prioridad:** P0 (MVP)
**Story Points:** 3
**Sprint:** Sprint 4
**Fecha:** 2025-11-24

---

## User Story

**Como** usuario con acceso a múltiples empresas,
**Quiero** cambiar la empresa activa desde un dropdown en el header,
**Para** trabajar con datos de diferentes empresas sin re-login.

---

## Criterios de Aceptación

### Escenario 1: Cambiar empresa activa
**Cuando** selecciono empresa B en company switcher,
**Entonces** JWT actualizado con nuevo company_id, queries filtran por empresa B.

### Escenario 2: Persistir empresa seleccionada
**Cuando** cambio de empresa,
**Entonces** próximo login usa esa empresa como default.

---

## Reglas de Negocio

- **RN-1:** Solo se muestran empresas a las que usuario tiene acceso
- **RN-2:** Empresa activa se almacena en JWT y en user.default_company_id
- **RN-3:** Al cambiar empresa: invalidar caché, recargar datos

---

## Tareas Técnicas

- [ ] POST /api/v1/auth/switch-company - Cambiar empresa, retorna nuevo JWT
- [ ] Frontend: CompanySwitcher dropdown en header
- [ ] Actualizar user.default_company_id en DB
- [ ] Tests

---

## Estimación: 3 SP

---

## Referencias

- [RF-MGN-002-003](../../02-modelado/requerimientos-funcionales/mgn-002/RF-MGN-002-003-asignacion-usuarios-empresas.md)
