javiermengual
c674ac66d9
fix: las facturas ahora devuelven tmb el nombre del cliente.
2026-01-30 16:52:28 +01:00
javiermengual
e729388981
feat : Añado endpoint Get para Clients de dolibar.
2026-01-30 16:34:23 +01:00
javiermengual
161696269d
fix: add optional search parameter to GET invoices
2026-01-29 13:26:54 +01:00
javiermengual
8c781308e7
fix: update CORS configuration to include additional origin
2026-01-16 19:07:40 +01:00
javiermengual
72b15eeff6
feat: add CORS configuration and implement unit tests for InvoiceMapper and InvoiceService
2026-01-16 15:43:28 +01:00
javiermengual
a1fd7c6418
Arreglar bug de validación de estado y limpiar código de cache
...
- Añadir método ConvertStatusToDolibarr en InvoiceMapper para mapear todos los estados correctamente (draft, unpaid, paid, cancelled)
- Mover lógica de mapeo de estado desde InvoiceService a InvoiceMapper para seguir principios de SRP
- Arreglar bug donde el estado 'paid' y 'cancelled' se mapeaban incorrectamente a '0' (draft)
- Añadir validación de estado con mensaje de error claro para valores inválidos
- Limpiar código de DolibarrTokenCacheService eliminando bloque anidado innecesario
2026-01-03 20:46:13 +01:00
javiermengual
9a06cc945e
fix: arreglo bug porque dolibar devuelve un objeto anidado
2026-01-03 20:31:53 +01:00
javiermengual
283a9e7f5f
Implementar autenticación JWT con caché de tokens de Dolibarr por sesión
...
- Añadir autenticación estándar JWT Bearer con ASP.NET Core
- Crear DolibarrTokenCacheService para la lógica de caché de tokens
- Refactorizar DolibarrApiClient para usar TokenCacheService con SRP limpio
- Actualizar Program.cs con registros de servicios y comentarios apropiados
- Añadir AuthController para el endpoint de login
- Actualizar InvoiceService para usar DolibarrApiClient
2026-01-03 19:55:04 +01:00
javiermengual
a80d41feab
feat: Primera parte de la implementacion de autentificacion, para obtener la DOLIAPIKEY del cliente la cual cachearemos asociada a un Id que devolveremos en el JWT de nuestro servidor.
2026-01-03 18:12:40 +01:00
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