- Introduced `Users` tab in `Config.vue` with a dynamic display controlled by user rights.
- Added `EditUser.vue` and `Users.vue` components for managing user details and permissions via modal dialogs.
- Implemented new `users` store handling user records, pagination, and updates.
- Updated `TableView.vue` to support badge rendering and dynamic configurations.
- Adjusted routing guards for consistent user data fetching and permissions.
- Various UI refinements and component reorganization for better maintainability.
Increased thread pool capacities in `AsyncConfig.java` and adjusted database schema for larger text fields. Enhanced HS code validation logic and added logging to `EUTaxationApiService` for improved traceability. Cleaned up unused error modal code and aligned styles for calculation processing spinners.
- **Frontend**: Deleted `SelectNode.vue` component and related styles.
- **Backend**: Removed `CustomController`, `ChangeMaterialService`, `ChangeSupplierService`, `NomenclatureService`, `NomenclatureRepository`, and unused DTOs.
- **Database**: Dropped `nomenclature` table and eliminated associated migration script.
- **Other**: Cleaned up imports and references to the removed implementations throughout the codebase.
- **Backend**: Updated `DistanceMatrixRepository`, `DistanceApiService`, and related services to handle user-node-specific relationships and unique constraints.
- **Database**: Modified `distance_matrix` table schema to include `from_user_node_id` and `to_user_node_id` with exclusive constraints and foreign key references to `sys_user_node`.
- **Frontend**: Refined error modal messages and adjusted layout for better usability. Increased pagination size in error logs for improved data display.
- Replaced duplicate date-handling logic in multiple components (e.g., `CountryProperties.vue`, `Rates.vue`, `ErrorLog.vue`) with centralized `buildDate` method from `common.js`.
- Improved date consistency and readability by adopting `YYYY/MM/DD` format with optional time support.
- **Backend**: Introduced `SessionController` with `/keepalive` endpoint to keep sessions active.
- **Frontend**: Enhanced session handling with `startSessionRefresh` and activity tracking in `backend.js`. Integrated session refresh initiation in `main.js`. Adjusted logic in `CalculationAssistant.vue` for input validation.
- **Other Changes**: Updated `BulkOperationRepository` cleanup interval to 60 minutes for improved timeout handling.
- **Backend**: Added `bulkProcessingExecutor` with advanced configuration (thread naming, queue handling, timeout behavior). Updated `BulkOperationController` with monitoring endpoint to expose executor stats. Enhanced `BulkOperationExecutionService` with timeout handling and error logging for bulk operation processes.
- **Frontend**: Enabled `allowFreeInput` in `AutoSuggestSearchBar.vue` for enhanced customization. Adjusted date handling across multiple components for improved consistency and formatting.
- **Database**: Introduced `timeout` logic in `BulkOperationRepository` to handle stale processing states.
- **Backend**: Added `EUTaxationApiWrapperService` to validate HS codes during pre-calculation. Updated `PreCalculationCheckService` to run asynchronously and return `CompletableFuture`.
- **Frontend**: Refined toast messages in `CalculationSingleEdit.vue` to handle and display server errors more clearly.
- **Database**: Marked distance matrix entries as stale during node updates.
- **Other**: Added `customLookupExecutor` for asynchronous processing in `AsyncConfig`. Updated related services and repositories to utilize async improvements.
- Introduced `UserAuthorityCacheService` with support for caching user authorities using Caffeine.
- Added `CacheConfig` with Caffeine configuration for authority caching.
- Implemented `AuthorityRefreshFilter` to dynamically refresh user roles in the security context.
- Refactored filter package structure by moving existing filters to `config.filter`.
- Updated `SecurityConfig` to integrate the new `AuthorityRefreshFilter`.
- Modified `UserService` to invalidate user authority cache upon user updates.
- Introduced new properties to differentiate identification by `email` or `workdayId`.
- Updated `SecurityConfig` to handle claims dynamically based on `application.properties` configuration.
- **Controller**: Introduced `updateMaterial` method in `MaterialController` for batch material updates.
- **Service**: Implemented update logic in `MaterialService` to handle both updates and deprecations based on the new `MaterialUpdateDTO`.
- **Transformer**: Updated `MaterialUpdateDTOTransformer` to map deprecation status and remove unused fields.
- **Repository**: Added `updateByPartNumber` and `deleteByIds` methods in `MaterialRepository` for efficient updates and deprecations.
- **Frontend**: Properly adjusted `tariff_rate` validation and formatting in `BulkEditRow.vue`. Improved logic in `CalculationMassEdit.vue` by resetting `doLookup` state post mapping.
- **Store**: Fixed `tariffRates` mapping to ensure correct data application during premise updates.
- **Backend**: Introduced `getTariffRateImmediate` method for immediate tariff rate retrieval, replacing `CustomApiService` in relevant services. Updated constructor dependencies across services.
- **Frontend**: Added tariff measure sorting by code for improved data presentation in customs store.
- **Backend**: Introduced `EUTaxationApiService` for TARIC data retrieval and integrated tariff rate lookup functionality. Added supporting DTOs and updated services to handle custom measures and updated logic for material and supplier changes.
- **Frontend**: Enhanced mass and single edit calculation components to include tariff rate lookup functionality and warnings. Introduced `useCustomsStore` for state management of customs data.
- **Database**: Added `nomenclature` table for storing HS code-related information.
- **Other**: Configured SOAP client for TARIC API and added logging for debugging.
- **Backend**: Adjusted `getDistance` implementation to retrieve distances via `DistanceApiService`, with fallback to `fast` algorithm. Updated `DistanceService` to utilize API responses for more accurate calculations. Enhanced `ExcelReportingService` handling for main run containers and mixed premises logic.
- **Frontend**: Improved `Report.vue` structure for better readability and modularity. Added logic to conditionally display container details based on the main run's existence.
- Allowed public access to `/actuator/health`.
- Enforced authentication for other `/actuator/**` endpoints in production.
- Allowed all `/actuator/**` endpoints in development.