mirror of
https://github.com/SamyRai/tercul-backend.git
synced 2025-12-27 02:51:34 +00:00
The main changes are: - Refactored the `Copyright` and `Monetization` relationships to use explicit join tables for each owning model, as per the "Option A" strategy. This fixes the GORM migration issues related to polymorphic many-to-many relationships. - Created new join table structs (e.g., `WorkCopyright`, `AuthorCopyright`, `WorkMonetization`, etc.). - Updated the domain models to use standard `gorm:"many2many"` tags with the new join tables. - Refactored the `CopyrightRepository` and `MonetizationRepository` to use the new association-based logic. - Updated the application services (`CopyrightCommands`, `CopyrightQueries`, `MonetizationCommands`, `MonetizationQueries`) to use the new repository methods. - Consolidated all repository interfaces into a single `internal/domain/interfaces.go` file for better code organization. - Added extensive integration tests for the new repository and application layer logic for `Copyrights` and `Monetizations`. - Fixed the deletion logic for `WorkRepository` to correctly handle cascading deletes with SQLite. - Updated the `TODO.md` file to mark the "Stabilize non-linguistics tests and interfaces" task as complete. |
||
|---|---|---|
| .github/workflows | ||
| api | ||
| cmd | ||
| deploy | ||
| internal | ||
| ops | ||
| pkg/linguistics | ||
| test | ||
| .air.toml | ||
| .gitignore | ||
| .tool-versions | ||
| create_repo_interfaces.go | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Dockerfile.dev | ||
| fix_domain_repos.go | ||
| fix_sql_imports.go | ||
| go.mod | ||
| go.sum | ||
| gqlgen.yml | ||
| refactor.md | ||
| report.md | ||
| requirements.txt | ||
| TODO.md | ||
| tools.go | ||