# US-MGN-010-001-002: Gestionar Documentos de Empleado

**RF Asociado:** [RF-MGN-010-001](../../02-modelado/requerimientos-funcionales/mgn-010/RF-MGN-010-001-gestión-de-empleados.md)
**Módulo:** MGN-010 - RRHH Básico
**Epic:** Empleados
**Prioridad:** P1
**Story Points:** 3
**Sprint:** Sprint 22
**Estado:** Ready for Development
**Fecha:** 2025-11-24

---

## User Story
**Como** gerente de RRHH, **Quiero** adjuntar y gestionar documentos de empleados, **Para** mantener expedientes digitales completos.

## Criterios de Aceptación

### Escenario 1: Subir documento
**Dado que** estoy en perfil de empleado,
**Cuando** subo documento: type="ID", file="cedula.pdf",
**Entonces** sistema almacena documento vinculado al empleado.

### Escenario 2: Tipos de documentos
**Dado que** sistema tiene tipos: ID, CV, Contract, Certificate,
**Cuando** subo documento,
**Entonces** debo seleccionar tipo obligatoriamente.

### Escenario 3: Descargar documento
**Dado que** empleado tiene documento "cedula.pdf",
**Cuando** hago clic en descargar,
**Entonces** descarga archivo con permisos verificados.

## Reglas de Negocio
- **RN-1:** Tipos de documento predefinidos.
- **RN-2:** Máx 10MB por archivo.
- **RN-3:** Solo hr_user o el empleado pueden ver sus documentos.

## Tareas Técnicas

### Backend
- [ ] Endpoint: POST/GET/DELETE `/api/v1/hr/employees/:id/documents`
- [ ] Almacenamiento en S3/local
- [ ] Validar permisos (hr_user o propio empleado)

### Frontend
- [ ] Componente: `EmployeeDocumentsPanel.tsx`
- [ ] Upload component
- [ ] Lista de documentos con preview

### Database
- [ ] Tabla: `hr.employee_documents` (employee_id, type, file_path, uploaded_by, uploaded_at)
- [ ] Enum: document_type

## Estimación Detallada
| Tarea | Horas |
|-------|-------|
| Backend | 1.5 |
| Frontend | 1.5 |
| Testing | 1 |
| **TOTAL** | **4 horas = 3 SP** |

## Definition of Done
- [ ] Upload funciona
- [ ] Permisos validados
- [ ] Descarga funciona
- [ ] QA/PO aprobado

## Referencias
- [RF-MGN-010-001](../../02-modelado/requerimientos-funcionales/mgn-010/RF-MGN-010-001-gestión-de-empleados.md)
