veza/veza-backend-api/docs/PR7B_REMAINING_WORK.md
2025-12-12 21:34:34 -05:00

2.7 KiB

PR7b — Remaining Work Documentation

Date: 2025-01-27
Status: PARTIAL - Some items started, full implementation pending


Items Partially Addressed

MOD-P2-006: Retry HTTP Externes (Partially Complete)

Status: COMPLETED for oauth_service.go

Fichiers modifiés:

  • internal/services/oauth_service.go: Ajout retry avec backoff exponentiel

État:

  • stream_service.go: Déjà avait retry (lignes 50-118)
  • webhook_service.go: Déjà avait retry (lignes 98-129)
  • oauth_service.go: Retry ajouté (MOD-P2-006)

Validation:

go build ./internal/services
# ✅ Succès

MOD-P2-003: AppError Partout ⚠️ (Partially Complete)

Status: ⚠️ PARTIAL - Some occurrences converted, many remain

Fichiers modifiés:

  • internal/core/track/handler.go: Quelques occurrences converties vers respondWithError

État:

  • Helper respondWithError existe déjà (ligne 121)
  • Quelques occurrences converties (LikeTrack, UnlikeTrack, GetTrackLikes, GetTrackByShareToken)
  • ~45 occurrences restantes de gin.H{"error":...} dans handler.go

Recommandation:

  • Convertir les occurrences restantes progressivement
  • Prioriser les handlers les plus utilisés
  • Créer un script de migration pour automatiser

Validation:

grep -n "gin\.H.*error" internal/core/track/handler.go | wc -l
# → ~45 occurrences restantes

MOD-P2-007: Circuit Breakers (Not Started)

Status: NOT STARTED

Action requise:

  1. Ajouter dépendance github.com/sony/gobreaker dans go.mod
  2. Créer wrapper pour services externes (Stream, Chat, OAuth)
  3. Intégrer dans stream_service.go, oauth_service.go
  4. Tests unitaires

Effort estimé: 4h


MOD-P2-008: File I/O Asynchrone (Not Started)

Status: NOT STARTED

Action requise:

  1. Rendre os.Create et io.Copy asynchrones dans UploadTrack
  2. Utiliser goroutines avec channels pour gestion erreurs
  3. Gérer synchronisation (attendre fin upload avant retour)
  4. Tests unitaires

Fichier concerné: internal/core/track/service.go:175-189

Effort estimé: 4h


Summary

  • MOD-P2-006: COMPLETED (retry ajouté dans oauth_service)
  • ⚠️ MOD-P2-003: PARTIAL (~10 occurrences converties, ~45 restantes)
  • MOD-P2-007: NOT STARTED (circuit breakers)
  • MOD-P2-008: NOT STARTED (file I/O asynchrone)

Recommandation:

  • Les items P2 restants sont des améliorations de qualité/performance
  • Le système est fonctionnel avec les corrections P0/P1 complétées
  • PR7b peut être complétée dans une phase ultérieure

Last Updated: 2025-01-27
Maintained By: Veza Backend Team