* Añadir el componente `DocumentSeriesSettingsPage` para gestionar las series documentales.
* Crear diálogos para añadir, editar, avanzar y deshabilitar series documentales.
* Implementar esquemas de validación de formularios para crear y editar series documentales.
* Añadir funciones de utilidad para construir los payloads de las peticiones de las operaciones sobre series documentales.
* Escribir pruebas unitarias para los esquemas de formularios y las funciones de utilidad.
* Implementar pruebas end-to-end para la configuración de series documentales, cubriendo la creación, edición, establecimiento como predeterminada, avance y deshabilitación.
* Añadido el método `lockByCompanyAndDocumentType` a `SequelizeDocumentSeriesRepository` para bloquear las series documentales durante las actualizaciones.
* Introducido `AdvanceDocumentSeriesNumberUseCase` para gestionar el avance del número de la serie documental con control de transacciones.
* Creado `AdvanceDocumentSeriesNumberController` para exponer la funcionalidad de avance mediante HTTP.
* Actualizado el DTO de respuesta de series documentales para incluir el campo `has_assigned_numbers`.
* Añadido un esquema de validación para avanzar el número de la serie documental.
* Implementadas pruebas para la creación, asignación y avance de series documentales, garantizando el comportamiento correcto y las transiciones de estado esperadas.
* Introducidos nuevos errores para gestionar condiciones específicas de las series documentales.
* Actualizado el servicio de administración de series documentales existente para dar soporte a la nueva funcionalidad.
- Updated IssuedInvoiceDetailPage to wrap PageErrorState in RdxPageContent.
- Modified ProformaDetailPage to include RdxPageContent around PageErrorState.
- Adjusted RecurringProformaDetailPage to utilize RdxPageContent for loading and error states.
- Refactored CustomerViewPage to implement RdxPageContent for PageErrorState and main content.
- Renamed SupplierDetailPage to SupplierViewPage and updated imports accordingly.
- Removed SupplierDetailPage and created SupplierViewPage with similar functionality.
- Implement tests to verify that the selected customer is retained when creating a proforma.
- Add functionality to change the customer and ensure the change is persisted.
- Include tests to confirm the customer change and refresh the recipient name.
- Test cancellation of customer change to ensure the previous customer remains selected.
- Updated ScopedListProformasPageView, ProformaUpdateEditorForm, ProformaUpdatePage, RecurringProformaCreatePage, and others to use RdxPageContent instead of RdxEditorLayout.
- Removed RdxPageStack and replaced it with RdxPageContent for consistent layout management.
- Deleted RdxEditorLayout component and its associated tests.
- Introduced RdxPageContent component to handle main content and optional aside layout.
- Adjusted tests to reflect changes in component structure and layout.
- Updated Spanish localization for tax definitions, adding new fields and improving structure.
- Enhanced the tax definitions settings page controller to support family and scope filters, pagination, and sorting.
- Introduced a new data table component for displaying tax definitions with improved UI and functionality.
- Added new actions for tax definitions, including create, edit, and delete functionalities.
- Updated criteria building for tax definitions to include family and scope filters, along with pagination and sorting options.
- Improved tests for tax definitions to cover new features and ensure proper functionality.
- Refactored recurring proforma controllers to utilize new query field guards for better validation.
- Add useTaxDefinitionsSettingsPageController for managing tax definitions settings page state.
- Create tax definition form entity and schema for validation.
- Implement tax definition actions with permissions for edit, disable, and delete.
- Develop UI components for tax definition management including cards, dialogs, and empty states.
- Build utility functions for creating and updating tax definitions.
- Add tests for tax definition form schema and utility functions.
- Implement search and filter functionality for tax definitions list.
- Create skeleton and error states for better user experience during loading and error scenarios.
- Introduced unit tests for input mappers and snapshot builders to ensure correct mapping and serialization of tax definitions.
- Implemented status change use cases for enabling and disabling tax definitions with appropriate error handling.
- Added API endpoints for creating, deleting, enabling, and disabling tax definitions, along with corresponding hooks for React.
- Developed entity structures for tax definitions and their lists, ensuring proper data handling in the application.
- Enhanced validation and error handling in mutation hooks for creating and updating tax definitions.
- Updated import statements in `textarea.tsx`, `toggle.tsx`, and `tooltip.tsx` for consistency.
- Added missing semicolons and adjusted formatting in `use-mobile.ts` and `use-mobile.tsx`.
- Cleaned up `package.json` and `root.json` files by removing unnecessary line breaks.
- Simplified `turbo.json` by consolidating array formatting for better readability.
- Introduced ProformaItemTax value object to encapsulate tax properties (code, name, percentage).
- Updated ProformaTaxResolver to utilize ProformaItemTax instead of Tax.
- Modified recurring proforma materializer to handle new tax structure.
- Adjusted proforma aggregate and item entities to accommodate ProformaItemTax.
- Enhanced Sequelize mappers to map to and from the new ProformaItemTax structure.
- Updated tests to reflect changes in tax handling and ensure correctness.
- Added iva_name, rec_name, and retention_name to the SequelizeIssuedInvoiceV2TaxesDomainMapper for improved tax metadata handling.
- Implemented validation to ensure tax codes and names are present together in the SequelizeIssuedInvoiceV2TaxesDomainMapper.
- Updated proforma services to utilize the new tax resolver and availability checker for better tax management.
- Introduced ProformaTaxesUnavailableError and ProformaNotReadyForIssuanceError for clearer error handling in proforma issuance.
- Enhanced tax availability checking logic in ProformaTaxAvailabilityChecker to classify tax statuses accurately.
- Updated tests to cover new tax metadata requirements and ensure consistent behavior across proforma items.
- Add tests for initial company input validation.
- Create hooks for managing initial onboarding status and provisioning.
- Implement orchestration for completing onboarding and restoring session.
- Develop UI for the initial onboarding page with form handling.
- Enhance routing to include onboarding navigation resolution.
- Introduce error handling for unprovisioned onboarding scenarios.
- Establish API endpoints for onboarding status and completion.
- Validate onboarding request payloads with appropriate schemas.
- Update onboarding module composition to include provisioning services.
- Removed authentication and company context guards from multiple controllers in the customer, proforma, document series, and supplier modules.
- Consolidated guard registration logic in routes to enforce company ID restrictions globally.
- Cleaned up imports and ensured consistent error handling across controllers.
- Add GetInitialOnboardingStatusUseCase to retrieve onboarding status.
- Implement CompleteInitialOnboardingUseCase for completing onboarding.
- Create controllers for handling onboarding requests in Express.
- Introduce new repository methods for managing onboarding data.
- Set up dependency injection for onboarding services and use cases.
- Add tests for onboarding use cases and repository methods.
- Define request DTOs for onboarding operations with validation.
- Update module composition to include onboarding functionalities.
- Implemented InitialCompanyCreator service for creating new companies with necessary details and validations.
- Added IInitialOnboardingRepository interface for onboarding data persistence.
- Created SequelizeInitialOnboardingRepository for managing onboarding data with Sequelize ORM.
- Enhanced InitialOnboarding aggregate to include createdAt and updatedAt timestamps.
- Updated tests for initial company creation and onboarding provisioning to ensure proper functionality and error handling.
- Introduced new tests for the Sequelize repository to validate data retrieval and persistence logic.
- Created package.json for onboarding module with dependencies and scripts.
- Implemented InitialOnboarding aggregate with validation and state management.
- Added Sequelize model for initial onboarding with appropriate attributes and validations.
- Developed mappers for converting between domain and persistence models.
- Included tests for aggregate behavior and Sequelize model validation.
- Configured TypeScript settings for the onboarding module.