feat: implement NFT domain exceptions and unified error handling #196
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🚀 Pull Request: Implement NFT Domain Exceptions & Unified Error Handling
📋 Descripción
Este PR implementa un sistema unificado de manejo de errores para el módulo NFT, siguiendo los principios de Domain-Driven Design (DDD) y reemplazando el manejo genérico de errores con excepciones específicas del dominio.
🎯 Objetivos
Errorgenéricos con excepciones tipadas🔧 Cambios Implementados
1. Nuevas Excepciones de Dominio
NFTNotFoundError- Para NFTs no encontrados (404)NFTAlreadyMintedError- Para NFTs ya minteados (409)NFTValidationError- Para errores de validación (400)NFTDatabaseError- Para errores de base de datos (500)NFTMintingError- Para errores de minteo (500)NFTMetadataError- Para errores de metadatos (400)2. Entidad NFT Mejorada
Errorgenérico3. Repositorio NFT Refactorizado
NFTDatabaseError4. Use Cases Actualizados
5. Servicio NFT Completo
6. Controlador NFT Funcional
7. Tests Completos
📁 Archivos Modificados
🧪 Cobertura de Tests
🚦 Mapeo de Errores
NFTValidationErrorNFTNotFoundErrorNFTAlreadyMintedErrorNFTDatabaseErrorNFTMintingErrorNFTMetadataError🎨 Mejoras de UX
🏗️ Principios Aplicados
🚦 Criterios de Aceptación
Errorgenéricos)🔍 Testing
📝 Notas de Implementación
DomainException🎉 Beneficios
🔄 Próximos Pasos Sugeridos
Autor: David Acuña López
Branch:
davidIssue: NFT — Adopt Domain Exceptions & Unified Error Handling
Estado: ✅ Completado