Skip to content

✨ feat(RepositoryInterfaces): Vague 2 SOLID — FolderRepositoryInterface, UserRepositoryInterface, ShareRepositoryInterface (DIP)#137

Merged
ronan-develop merged 3 commits intomainfrom
feat/RepositoryInterfaces
Mar 16, 2026
Merged

✨ feat(RepositoryInterfaces): Vague 2 SOLID — FolderRepositoryInterface, UserRepositoryInterface, ShareRepositoryInterface (DIP)#137
ronan-develop merged 3 commits intomainfrom
feat/RepositoryInterfaces

Conversation

@ronan-develop
Copy link
Owner

🎯 Objectif

Vague 2 du plan SOLID — ticket ct-repo-interfaces :
Créer les interfaces de repository manquantes pour respecter le Dependency Inversion Principle (SOLID D).


📋 Changements

Nouvelles interfaces (src/Interface/)

Interface Méthodes
FolderRepositoryInterface find, findBy, findOneBy, count, findDescendantIds, findAncestorIds, findAllAsTree, searchByName
UserRepositoryInterface find, findOneBy
ShareRepositoryInterface find, findByUser, countByUser, findActiveShare

Repos mis à jour

  • FolderRepository implements FolderRepositoryInterface + overrides typés (covariance ?Folder vs ?object)
  • UserRepository implements UserRepositoryInterface + overrides typés
  • ShareRepository implements ShareRepositoryInterface + override find typé

Consommateurs mis à jour (DIP)

  • FolderProcessorFolderRepositoryInterface + UserRepositoryInterface
  • AlbumProcessorUserRepositoryInterface
  • ShareProcessorShareRepositoryInterface + UserRepositoryInterface
  • services.yaml : 3 bindings interface → implémentation

✅ Tests

287 tests, 605 assertions — tous passants

🔗 Référence

Plan : .github/solid.md — Vague 2 (ct-repo-interfaces)

…oryInterface): créer les 3 interfaces de repository manquantes (SOLID D)
…nter les interfaces de repository + overrides typés (covariance PHP 8)
…les interfaces de repository — DIP respecté
@ronan-develop ronan-develop merged commit fd11755 into main Mar 16, 2026
3 checks passed
@ronan-develop ronan-develop deleted the feat/RepositoryInterfaces branch March 16, 2026 09:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant