mirror of
https://github.com/SamyRai/tercul-backend.git
synced 2025-12-27 04:01:34 +00:00
This commit introduces a significant refactoring to improve the application's quality, test coverage, and production readiness, focusing on core localization and business logic features. Key changes include: - Consolidated the `CreateTranslation` and `UpdateTranslation` commands into a single, more robust `CreateOrUpdateTranslation` command. This uses a database-level `Upsert` for atomicity. - Centralized authorization for translatable entities into a new `CanEditEntity` check within the application service layer. - Fixed a critical bug in the `MergeWork` command that caused a UNIQUE constraint violation when merging works with conflicting translations. The logic now intelligently handles language conflicts. - Implemented decrementing for "like" counts in the analytics service when a like is deleted, ensuring accurate statistics. - Stabilized the test suite by switching to a file-based database for integration tests, fixing test data isolation issues, and adding a unique index to the `Translation` model to enforce data integrity. - Refactored manual mocks to use the `testify/mock` library for better consistency and maintainability. |
||
|---|---|---|
| .. | ||
| integration_test_utils.go | ||
| mock_base_repository.go | ||
| mock_jwt_manager.go | ||
| mock_like_service.go | ||
| mock_translation_repository.go | ||
| mock_user_repository.go | ||
| mock_weaviate_wrapper.go | ||
| mock_work_repository.go | ||
| simple_test_utils.go | ||
| test_entity.go | ||
| testutil.go | ||