mirror of
https://github.com/SamyRai/tercul-backend.git
synced 2025-12-27 05:11: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. |
||
|---|---|---|
| .. | ||
| model | ||
| .keep | ||
| analytics_service_mock_test.go | ||
| binding.go | ||
| book_integration_test.go | ||
| errors.go | ||
| generated.go | ||
| graphql_test_utils_test.go | ||
| helpers.go | ||
| integration_test.go | ||
| like_repo_mock_test.go | ||
| like_resolvers_unit_test.go | ||
| resolver.go | ||
| schema.graphqls | ||
| schema.resolvers.go | ||
| validation.go | ||
| work_repo_mock_test.go | ||