App móvil Flutter para capturar contenido multimedia, etiquetarlo con hashes y enviarlo a backends configurables. Features: - Captura de fotos, audio, video y archivos - Sistema de etiquetas con bibliotecas externas (HST) - Packs de etiquetas predefinidos - Cola de reintentos (hasta 20 contenedores) - Soporte GPS - Hash SHA-256 auto-generado por contenedor - Persistencia SQLite local - Múltiples destinos configurables Stack: Flutter 3.38.5, flutter_bloc, sqflite, dio 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
26 lines
673 B
Dart
26 lines
673 B
Dart
class PacketException implements Exception {
|
|
final String message;
|
|
final String? code;
|
|
|
|
PacketException(this.message, {this.code});
|
|
|
|
@override
|
|
String toString() => 'PacketException: $message';
|
|
}
|
|
|
|
class NetworkException extends PacketException {
|
|
NetworkException(super.message, {super.code});
|
|
}
|
|
|
|
class HashExistsException extends PacketException {
|
|
HashExistsException() : super('Hash already exists', code: 'hash_exists');
|
|
}
|
|
|
|
class QueueFullException extends PacketException {
|
|
QueueFullException() : super('Queue is full (max 20)', code: 'queue_full');
|
|
}
|
|
|
|
class DatabaseException extends PacketException {
|
|
DatabaseException(super.message, {super.code});
|
|
}
|