Commit Graph

26 Commits

Author SHA1 Message Date
javiermengual f28461ae0c refactor: extraer interfaz IDolibarrApiClient para facilitar testing
- Crear IDolibarrApiClient con métodos de la API de Dolibarr
- Implementar interfaz en DolibarrApiClient
- Modificar InvoiceService para depender de IDolibarrApiClient en lugar de la clase concreta
- Actualizar Program.cs para registrar IDolibarrApiClient en el contenedor DI

Esto sigue el Principio de Inversión de Dependencias (DIP) de SOLID,
permitiendo mockear el cliente API en tests unitarios sin conectividad externa.
2026-01-03 14:57:23 +01:00
javiermengual 2e1062cc71 feat: Implemento el subendpoint de POST para las lineas de facturas. 2026-01-02 21:05:46 +01:00
javiermengual a06ac2bdd9 feat: Implementar endpoint PUT para actualizar facturas draft, limitado a campos permitidos por Dolibarr (ref, notas, estado, fecha expiración) y unificar campo 'number' para consistencia 2026-01-02 20:20:58 +01:00
javiermengual 1fd331ac17 feat: Implemento completamente el POST de facturas , usando un objeto anonimo para la request, y devuelvo el id creado. 2026-01-02 19:01:04 +01:00
javiermengual daded56582 feat: Creo los DTOS para el POST de facturas , tambien organizo un poco en command y query los DTOS 2026-01-02 18:15:41 +01:00
javiermengual ab80901280 refactor: sacar los metodos de cada DTO a su propio servicio porque si no se me hara un god object , y lo mantendre simple sin mucha abstraccion. 2025-12-31 15:15:00 +01:00
javiermengual 1a752c007f enchance: cambio nombres de variables para ser mas descriptivos 2025-12-30 19:14:59 +01:00
javiermengual 198fccd5bc refactor: cambio las respuestas de error para no culpar al usuario al fallar la deserializacion sino como una ApiException 2025-12-30 19:13:26 +01:00
javiermengual 572547b356 build : cambio de OpenApi nativo a Swashbuckle para tener un mejor schema openapi. 2025-12-30 13:45:58 +01:00
javiermengual 3591ba2015 fix: aunque la key es local , la saco a dotnet user-secrets para acostumbrarme en desarollo. 2025-12-30 13:31:51 +01:00
javiermengual 3f3fd25a02 enchanche: ajusto para que no me salgan en desarollo los logs duplicados del ExceptionHandler 2025-12-30 13:28:13 +01:00
javiermengual 17ebf5c2fe feat: con ayuda de ia , me enseña sobre como manejar errores y me ayuda con una implementacion detallada siguiendo el estandar RFC 7807 2025-12-30 13:20:08 +01:00
javiermengual 220d02819c enchance: mejoro los types de openapi para el frontend 2025-12-30 13:19:02 +01:00
javiermengual accb4d3c4a fix: arreglo bug de inconsistencia en la paginacion , poniendolo como 1 based y con validacion. 2025-12-30 12:20:54 +01:00
javiermengual 7018efe279 refactor: Saco los mappers a una clase estatica, si el projecto creciera mucho podriamos usar AutoMapper 2025-12-29 19:32:38 +01:00
javiermengual 1d7182145e feat: Nuevos mappers para transformar en
InvoiceDetailDto y cada una se sus InvoiceLinesDto
2025-12-29 19:20:34 +01:00
javiermengual b2427a3276 feat: añado Dtos para el invoices{id}
para que pueda devolver todas sus lineas de factura.

Tambien las respectivas Respuestas de Dolibarr que hay que sanear.
2025-12-29 19:18:04 +01:00
javiermengual 5081d71f69 fix: arreglo bug porque dolibarr devuelve el status en numero y lo pide como parametro como palabra. 2025-12-29 18:30:23 +01:00
javiermengual b937c64e39 refactor: usar strings para status de facturas en lugar de enum
- Cambiar InvoiceDto.Status de enum a string
- Eliminar InvoiceStatus enum y mapper
- Usar directamente los status de Dolibarr (draft, unpaid, paid, cancelled)
2025-12-29 16:58:53 +01:00
javiermengual 9d871dccf9 feat: añadir controlador de facturas 2025-12-29 16:37:46 +01:00
javiermengual 7428eb3f8d feat: implementar cliente API de Dolibarr 2025-12-29 16:37:46 +01:00
javiermengual 6861d3c948 feat: añadir DTOs de facturas 2025-12-29 16:37:46 +01:00
javiermengual 4cb4653e3b feat: añadir excepciones personalizadas para la API 2025-12-29 16:37:46 +01:00
javiermengual 05a964bbaa feat: configurar API base con Program.cs y settings 2025-12-29 16:37:45 +01:00
javiermengual f74aaac664 chore: añadir configuración de Docker 2025-12-29 16:37:45 +01:00
javiermengual f98870bbe6 chore: configuración inicial del proyecto .NET 2025-12-29 16:37:45 +01:00