mirror of
https://github.com/btouchard/ackify-ce.git
synced 2026-02-07 22:39:46 -06:00
Apply Clean Architecture principles throughout the codebase to eliminate tight coupling between layers. Handlers now depend exclusively on services through private interfaces, never directly on repositories. Introduce a ServerBuilder pattern with pluggable capability providers. refactor(auth): introduce injectable AuthorizerService Replace hardcoded AdminEmails and OnlyAdminCanCreate config fields with an injectable AuthorizerService. This improves testability and follows the dependency injection pattern used elsewhere in the codebase. - Create AuthorizerService in application/services/ - Define minimal Authorizer interfaces in consuming packages - Update middleware, handlers, and router to use injected authorizer - Update all affected tests with mock implementations refactor(build): move go.mod to backend directory Move Go module files from project root to backend/ directory while keeping the module name as github.com/btouchard/ackify-ce. This improves project structure by keeping Go-specific files within the Go codebase directory. # Conflicts: # backend/internal/application/services/checksum_service_test.go # backend/internal/application/services/document_service.go # backend/internal/application/services/document_service_duplicate_test.go # backend/internal/application/services/document_service_test.go # backend/internal/presentation/api/documents/handler.go # backend/internal/presentation/api/documents/handler_test.go # backend/internal/presentation/api/router.go # backend/pkg/web/server.go
7.3 KiB
7.3 KiB