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:
29
lib/domain/entities/pack.dart
Normal file
29
lib/domain/entities/pack.dart
Normal file
@@ -0,0 +1,29 @@
|
||||
class Pack {
|
||||
final int? id;
|
||||
final String nombre;
|
||||
final String icono;
|
||||
final List<String> tags;
|
||||
|
||||
Pack({
|
||||
this.id,
|
||||
required this.nombre,
|
||||
this.icono = '📦',
|
||||
required this.tags,
|
||||
});
|
||||
|
||||
factory Pack.fromMap(Map<String, dynamic> map) => Pack(
|
||||
id: map['id'] as int?,
|
||||
nombre: map['nombre'] as String,
|
||||
icono: map['icono'] as String? ?? '📦',
|
||||
tags: (map['tags'] as String).split(',').where((t) => t.isNotEmpty).toList(),
|
||||
);
|
||||
|
||||
Map<String, dynamic> toMap() => {
|
||||
if (id != null) 'id': id,
|
||||
'nombre': nombre,
|
||||
'icono': icono,
|
||||
'tags': tags.join(','),
|
||||
};
|
||||
|
||||
int get tagCount => tags.length;
|
||||
}
|
||||
Reference in New Issue
Block a user