aboutsummaryrefslogtreecommitdiff
path: root/lib/models/mensaje.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/models/mensaje.dart')
-rw-r--r--lib/models/mensaje.dart30
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/models/mensaje.dart b/lib/models/mensaje.dart
new file mode 100644
index 0000000..c2f4354
--- /dev/null
+++ b/lib/models/mensaje.dart
@@ -0,0 +1,30 @@
+enum Direccion { a2b, b2a }
+
+class Mensaje {
+ final String id;
+ final String link;
+ final String? titulo;
+ final String? imagen;
+ final String fecha;
+ final Direccion direccion;
+
+ const Mensaje({
+ required this.id,
+ required this.link,
+ this.titulo,
+ this.imagen,
+ required this.fecha,
+ required this.direccion,
+ });
+
+ factory Mensaje.fromMap(Map<String, dynamic> map) {
+ return Mensaje(
+ id: map['id'],
+ link: map['link'],
+ titulo: map.containsKey('titulo') ? map['titulo'] : null,
+ imagen: map.containsKey('imagen') ? map['imagen'] : null,
+ fecha: map['fecha'],
+ direccion: (map['fecha'] as int) == 0 ? Direccion.a2b : Direccion.b2a,
+ );
+ }
+}