PACKET v1.0.0 - Initial release
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>
This commit is contained in:
46
lib/domain/entities/destino.dart
Normal file
46
lib/domain/entities/destino.dart
Normal file
@@ -0,0 +1,46 @@
|
||||
class Destino {
|
||||
final int? id;
|
||||
final String nombre;
|
||||
final String url;
|
||||
final String hash;
|
||||
final bool activo;
|
||||
|
||||
Destino({
|
||||
this.id,
|
||||
required this.nombre,
|
||||
required this.url,
|
||||
required this.hash,
|
||||
this.activo = true,
|
||||
});
|
||||
|
||||
factory Destino.fromMap(Map<String, dynamic> map) => Destino(
|
||||
id: map['id'] as int?,
|
||||
nombre: map['nombre'] as String,
|
||||
url: map['url'] as String,
|
||||
hash: map['hash'] as String,
|
||||
activo: (map['activo'] as int?) == 1,
|
||||
);
|
||||
|
||||
Map<String, dynamic> toMap() => {
|
||||
if (id != null) 'id': id,
|
||||
'nombre': nombre,
|
||||
'url': url,
|
||||
'hash': hash,
|
||||
'activo': activo ? 1 : 0,
|
||||
};
|
||||
|
||||
Destino copyWith({
|
||||
int? id,
|
||||
String? nombre,
|
||||
String? url,
|
||||
String? hash,
|
||||
bool? activo,
|
||||
}) =>
|
||||
Destino(
|
||||
id: id ?? this.id,
|
||||
nombre: nombre ?? this.nombre,
|
||||
url: url ?? this.url,
|
||||
hash: hash ?? this.hash,
|
||||
activo: activo ?? this.activo,
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user