Skip to content

♻️ refactor(AuthenticationResolver,IriExtractor): Vague 1 SOLID — élimination des duplications auth et IRI#136

Merged
ronan-develop merged 4 commits intomainfrom
refactor/AuthenticationResolver
Mar 16, 2026
Merged

♻️ refactor(AuthenticationResolver,IriExtractor): Vague 1 SOLID — élimination des duplications auth et IRI#136
ronan-develop merged 4 commits intomainfrom
refactor/AuthenticationResolver

Conversation

@ronan-develop
Copy link
Owner

🎯 Objectif

Vague 1 du plan SOLID/KISS/DRY — 2 tickets terminés :

  • qw-auth-resolver — Supprimer getAuthenticatedUser() dupliqué
  • ct-iri-helper — Centraliser l'extraction UUID depuis IRI

📋 Changements

qw-auth-resolver — Injection de AuthenticationResolver

Problème : getAuthenticatedUser() dupliquée (≈ 30 lignes × 2) dans FolderProcessor et AlbumProcessor, et TokenStorageInterface injectée directement dans FolderProvider.

Solution :

  • FolderProcessor : suppression de getAuthenticatedUser() et TokenStorageInterface, injection de AuthenticationResolver
  • AlbumProcessor : idem
  • FolderProvider : remplacement de TokenStorageInterface par AuthenticationResolver::getAuthenticatedUser()
  • services.yaml : mise à jour des bindings DI

ct-iri-helper — Création de IriExtractor

Problème : pattern basename()/strpos('/')) dupliqué 3× dans FolderProcessor (×2) et FileProcessor (×1).

Solution :

  • Nouveau service src/Service/IriExtractor.php : extractUuid() + extractUuids()
  • Gère les deux cas : IRI avec chemin (/api/v1/folders/uuid) et UUID brut
  • Logging des tentatives invalides (12-Factor XI)
  • Tests unitaires : tests/Unit/Service/IriExtractorTest.php (9 assertions)

✅ Tests

  • 287 tests, 605 assertions — tous passants
  • IriExtractorTest : 9 tests unitaires (TDD RED→GREEN)

📊 Impact

Métrique Avant Après
Lignes supprimées −99 lignes
Duplication auth 3 classes 0 (centralisé)
Duplication IRI 3 occurrences 0 (centralisé)

🔗 Référence

Plan : .github/solid.md — Vague 1 (Quick wins)

@ronan-develop ronan-develop merged commit 6d34a8c into main Mar 16, 2026
3 checks passed
@ronan-develop ronan-develop deleted the refactor/AuthenticationResolver branch March 16, 2026 09:39
@ronan-develop ronan-develop self-assigned this Mar 16, 2026
@ronan-develop ronan-develop added the refactoring Refactoring, amélioration de la structure ou de la lisibilité du code sans ajout de fonctionnalité. label Mar 16, 2026
@ronan-develop ronan-develop added this to the MVP milestone Mar 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactoring Refactoring, amélioration de la structure ou de la lisibilité du code sans ajout de fonctionnalité.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant