JavMB
32028e21e1
feat: add DTOs, Dolibarr response types and mappers for Contacts, Clients, Setup and invoice lines
...
- New command DTOs: CreateClientDto, UpdateClientDto, CreateContactDto,
UpdateContactDto, UpdateInvoiceLineDto
- New query DTOs: ClientDetailDto, ContactDetailDto, Setup dictionaries
(PaymentTypeDto, CountryDto, CivilityDto, ContactTypeDto,
PaymentTermDto, CompanyDto)
- New Dolibarr response types for setup endpoints
- SetupMapper for all dictionary transforms
- Extended ClientResponse and ContactResponse with additional fields
(address, town, zip, country_code, note_public, note_private, etc.)
- ClientMapper: added MapToClientDetailDto for GET /Clients/{id}
- ContactMapper: added MapToContactDetailDto for GET /Contacts/{id}
2026-05-15 18:58:26 +02:00
JavMB
e58b6c0679
Add auth and response docs to DocumentController endpoints
2026-05-14 20:48:35 +02:00
JavMB
a37cb64a19
Add Reveal.js presentation and architecture diagram
2026-05-14 20:48:01 +02:00
JavMB
7c5d24aaa8
quito la api key LOCAL , que puse para debuggear
2026-04-16 19:06:42 +02:00
JM
98312846fa
Modifico el endpoint de descargas de pdf , convirtiendo el base64 a binario
2026-04-16 09:41:46 +02:00
JM
6bac2c63fb
añado el Controller y metodo para comprobar desde el servicio si existe x documento
2026-04-15 16:49:41 +02:00
JM
0e7bee7e43
empiezo el servicio para descarga de pdfs
2026-04-15 16:29:05 +02:00
javiermengual
b7adb8e9cc
fix: arreglado error de editar facturas
2026-02-10 12:39:04 +01:00
javiermengual
305a69667d
bug: arreglado de perdida de precision en amount , y ajuste de la fecha devuelta de pagos.
2026-02-06 18:47:39 +01:00
javiermengual
0b098376c5
feat : Agrego endpoint Post para Payments
2026-02-06 15:24:47 +01:00
javiermengual
26ad842256
feat : Endpoint Get para los pagos de factura
2026-02-06 13:01:20 +01:00
javiermengual
eef2c9954c
quito anotaciones de los Controllers para mayor legibilidad.
2026-02-05 14:38:47 +01:00
javiermengual
45913112be
feat: Añadido endpoints para Delete Invoice y sus Lines , tambien corregido orden de Dto de GetById
2026-02-05 14:33:03 +01:00
javiermengual
45e4af5b39
feat: Añado mas campos utiles para los terceros
2026-02-05 14:25:13 +01:00
javiermengual
9e888ee985
fix: formateo y eliminar estado invalido cancelled
2026-02-03 17:19:53 +01:00
javiermengual
c1c7d4bb37
añado endpoint para validar factura y campo de notas publicas y privadas en los Dtos
2026-02-03 16:50:44 +01:00
javiermengual
7e7a4f48fa
fix: Dejo el Like completo porque dolibar lo hace asi internamente.
2026-02-02 11:24:20 +01:00
javiermengual
60a9a7f7db
feat: Patch para el status que no dejaba por Update
2026-02-02 11:01:40 +01:00
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