veza/veza-backend-api/docs/TODOS_AUDIT.md

6.5 KiB

TODOs Audit Report

Date: 2025-01-27
Total TODOs/FIXMEs/HACKs/XXXs Found: 31
Phase 3 Update (2026-02): Audit refreshed. P1/P2 items tracked for next sprint. Read replicas (3.7) and CDN backend wiring documented.

Summary

This document lists all TODO, FIXME, HACK, and XXX comments found in the codebase, categorized by priority and status.

Priority Categories

  • P0: Critical - Blocks functionality or security
  • P1: High - Important for production readiness
  • P2: Medium - Quality of life improvements
  • P3: Low - Nice to have, technical debt

Status

  • Open: Not yet addressed
  • In Progress: Currently being worked on
  • Resolved: Completed
  • Deferred: Postponed to future work

TODOs by File

internal/core/track/service.go

  • TODO(P2-GO-018): Enqueue job pour traitement asynchrone (metadata, waveform, etc.) selon ORIGIN_ASYNC_PROCESSING
    • Priority: P2
    • Status: Open
    • Category: Performance optimization

internal/core/track/handler.go

  • TODO(P2-GO-004): trackUploadService attend int64 - Migration UUID partielle à compléter
    • Priority: P1
    • Status: Open
    • Category: Migration incomplete
  • TODO(P2-GO-004): Migration UUID partielle - trackUploadService nécessite migration vers UUID
    • Priority: P1
    • Status: Open
    • Category: Migration incomplete

internal/database/database.go

  • TODO: Implémenter OAuth user lookup
    • Priority: P2
    • Status: Open
    • Category: Feature incomplete
  • TODO: Implémenter avec vraie DB (3 occurrences)
    • Priority: P2
    • Status: Open
    • Category: Implementation placeholder

internal/handlers/oauth_handlers.go

  • TODO: Get from config (frontendURL hardcoded)
    • Priority: P2
    • Status: Open
    • Category: Configuration

internal/handlers/session.go

  • TODO: Déterminer si c'est la session actuelle
    • Priority: P2
    • Status: Open
    • Category: Feature incomplete

internal/logging/logger.go

  • TODO: Implémenter avec AtomicLevel lors de la création du logger
    • Priority: P2
    • Status: Open
    • Category: Enhancement

internal/repositories/playlist_collaborator_repository.go

  • FIXME: Assurer que le modèle PlaylistCollaborator utilise UUID
    • Priority: P1
    • Status: Open
    • Category: Migration incomplete

internal/services/playlist_version_service.go

  • FIXME: models.PlaylistVersion ID types need check. Assuming repo handles UUID if struct updated.
    • Priority: P1
    • Status: Open
    • Category: Migration incomplete

internal/services/track_history_service.go

  • FIXME: models.TrackHistory needs UUID too if not updated
    • Priority: P1
    • Status: Open
    • Category: Migration incomplete

internal/services/job_service.go

  • TODO: Intégrer asynq ou autre système de queue (3 occurrences)
    • Priority: P2
    • Status: Open
    • Category: Architecture

internal/services/playlist_service.go

  • FIXME: PlaylistVersionService likely needs update for UUID too, but assuming it takes what we give or we handle it later
    • Priority: P1
    • Status: Open
    • Category: Migration incomplete

internal/api/api_manager.go

  • TODO: Réactiver api_manager.go après stabilisation du noyau et alignement des services (graphql, grpc, websocket, features)
    • Priority: P3
    • Status: Deferred
    • Category: Future feature
  • TODO: Implement feature start
    • Priority: P3
    • Status: Deferred
    • Category: Future feature
  • TODO: Implement feature stop
    • Priority: P3
    • Status: Deferred
    • Category: Future feature
  • TODO: Implement comprehensive metrics collection
    • Priority: P2
    • Status: Open
    • Category: Enhancement

internal/api/user/service.go

  • TODO: Parse JSON strings to structs (simplified for now)
    • Priority: P2
    • Status: Open
    • Category: Implementation placeholder
  • TODO: Serialize structs to JSON (simplified for now)
    • Priority: P2
    • Status: Open
    • Category: Implementation placeholder

internal/api/handlers/chat_handlers.go

  • TODO: Réactiver chat_handlers après stabilisation du noyau et alignement des services (ChatService, MessageType, RoomType)
    • Priority: P3
    • Status: Deferred
    • Category: Future feature

internal/api/handlers/two_factor_handlers.go

  • TODO: Réactiver two_factor_handlers après stabilisation du noyau et alignement des services (AuthService.GetUserByID)
    • Priority: P3
    • Status: Deferred
    • Category: Future feature

internal/api/admin/service.go

  • TODO: Implement based on doc_admin_handler.md (3 occurrences)
    • Priority: P2
    • Status: Open
    • Category: Feature incomplete

internal/config/config.go

  • TODO: Améliorer la configuration CORS dans api/router.go pour utiliser c.CORSOrigins depuis la config
    • Priority: P2
    • Status: Open
    • Category: Code quality

cmd/modern-server/main.go

  • TODO: Réactiver internal/api/handlers après stabilisation du noyau
    • Priority: P3
    • Status: Deferred (file deprecated)
    • Category: Legacy code
  • TODO: Réactiver services après stabilisation du noyau
    • Priority: P3
    • Status: Deferred (file deprecated)
    • Category: Legacy code
  • TODO: Utiliser cfg.LogLevel pour déterminer le mode
    • Priority: P2
    • Status: Deferred (file deprecated)
    • Category: Legacy code
  • TODO: Ajouter ReadTimeout et WriteTimeout si nécessaire
    • Priority: P2
    • Status: Deferred (file deprecated)
    • Category: Legacy code
  • TODO: Utiliser config pour timeout
    • Priority: P2
    • Status: Deferred (file deprecated)
    • Category: Legacy code

Summary by Priority

  • P0: 0 items
  • P1: 7 items (UUID migration incomplete)
  • P2: 18 items (various improvements)
  • P3: 6 items (deferred/future features)

Recommendations

  1. P1 Items (UUID Migration): Complete UUID migration for remaining services
  2. P2 Items: Prioritize based on impact and effort
  3. P3 Items: Defer to future sprints or remove if no longer relevant

Action Items

  1. Create GitHub issues for P1 items
  2. Review P2 items and prioritize
  3. Remove or update P3 items in deprecated code
  4. Update this document as TODOs are resolved

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