# US-MMD001-008: Cambiar de Bahia sin Cerrar Sesion ## Metadata | Campo | Valor | |-------|-------| | **ID** | US-MMD001-008 | | **Epica** | EPIC-MMD-001 - Fundamentos | | **Modulo** | fundamentos | | **Prioridad** | P1 | | **Story Points** | 3 | | **Sprint** | Sprint 2 | | **Estado** | Backlog | | **Asignado a** | Por asignar | --- ## Historia de Usuario **Como** mecanico o jefe de taller, **quiero** cambiar de bahia de trabajo sin cerrar sesion, **para** poder moverme entre estaciones y ver las ordenes de cada una rapidamente. ## Descripcion Detallada En talleres grandes, un mecanico puede atender multiples bahias o un supervisor necesita revisar el trabajo en diferentes estaciones. El sistema debe permitir cambiar el contexto de bahia actual sin requerir logout/login. --- ## Criterios de Aceptacion **Escenario 1: Selector de bahia en header** ```gherkin DADO que estoy logueado como mecanico CUANDO veo el header de la aplicacion ENTONCES veo un selector con mi bahia actual: "Bahia 1" Y puedo hacer clic para ver otras bahias disponibles ``` **Escenario 2: Cambiar bahia activa** ```gherkin DADO que estoy en "Bahia 1" CUANDO selecciono "Bahia 3" del selector ENTONCES el sistema cambia mi contexto a Bahia 3 Y la vista se actualiza mostrando ordenes de Bahia 3 Y el selector muestra "Bahia 3" como activa ``` **Escenario 3: Ver solo bahias autorizadas** ```gherkin DADO que soy mecanico asignado a Bahia 1 y Bahia 2 CUANDO abro el selector de bahias ENTONCES solo veo Bahia 1 y Bahia 2 Y no veo Bahia 3 (no estoy autorizado) ``` **Escenario 4: Jefe de taller ve todas las bahias** ```gherkin DADO que soy Jefe de Taller CUANDO abro el selector de bahias ENTONCES veo todas las bahias del taller Y puedo cambiar a cualquiera para supervisar ``` **Escenario 5: Indicador visual de bahia** ```gherkin DADO que cambio a Bahia 3 CUANDO navego por la aplicacion ENTONCES todas las vistas muestran contexto de Bahia 3 Y hay un indicador visible de la bahia actual ``` --- ## Tareas Tecnicas **Backend:** - [ ] BE-029: Endpoint GET /api/users/me/bays (bahias autorizadas) - [ ] BE-030: Endpoint POST /api/users/me/current-bay (cambiar bahia) - [ ] BE-031: Almacenar bahia actual en sesion/token **Frontend:** - [ ] FE-025: Crear BaySelector component en header - [ ] FE-026: Actualizar contexto global al cambiar bahia - [ ] FE-027: Refrescar vistas al cambiar bahia - [ ] FE-028: Indicador visual de bahia actual --- ## Dependencias **Depende de:** - [ ] US-MMD001-002: Configurar roles - [ ] US-MMD001-005: Configurar bahias **Bloquea:** - [ ] Vista de ordenes filtrada por bahia --- ## Notas Tecnicas **Contexto de bahia:** ```typescript interface UserContext { user_id: string; workshop_id: string; current_bay_id: string | null; // Bahia activa authorized_bays: string[]; // Bahias autorizadas } ``` **Almacenamiento:** - Bahia actual se guarda en localStorage - Se envia en header `X-Current-Bay-Id` en cada request - Backend valida que usuario tenga acceso a esa bahia --- ## Definition of Done (DoD) - [ ] Selector de bahia en header - [ ] Cambio de bahia sin logout - [ ] Filtro por bahias autorizadas - [ ] Contexto persiste en navegacion - [ ] Tests pasando --- **Creada por:** Requirements-Analyst **Fecha:** 2025-12-06