Browse Source

made this file to keep the model of emails (soon to be more moved here)

juan 2 months ago
parent
commit
84c50d7b97
1 changed files with 47 additions and 0 deletions
  1. 47 0
      lib/structs.dart

+ 47 - 0
lib/structs.dart

@@ -0,0 +1,47 @@
+import 'package:flutter/material.dart';
+import 'package:http/http.dart' as http;
+import 'dart:convert';
+import 'dart:ui_web' as ui;
+import 'dart:html' as html;
+import 'augment.dart';
+import 'dart:js' as js;
+import 'api_service.dart';
+import 'dart:convert';  // For JSON decoding
+import 'package:intl/intl.dart'; 
+
+
+class GetThreadResponse {
+  final int id;
+  final List<String> messages;
+  final String subject;
+  final DateTime date;
+  final String from_name;
+  final String from_address;
+  final List<MailAddress> to;
+
+  GetThreadResponse({
+    required this.id,
+    required this.messages,
+    required this.subject,
+    required this.date,
+    required this.from_name,
+    required this.from_address,
+    required this.to,
+  });
+  factory GetThreadResponse.fromJson(Map<String, dynamic> json) {
+    var messagesList = json['messages'] as List<dynamic>;
+    var toList = json['to'] as List<dynamic>;
+    // var ccList = json['cc'] as List;
+
+    return GetThreadResponse (
+      id: json['id'],
+      // messages: messagesList.map((message) => message.toString()).toList(),
+      messages: List<String>.from(json['messages']),
+      subject: json['subject'],
+      date: DateTime.parse(json['date']),
+      from_name: json['from_name'],
+      from_address: json['from_address'],
+      to: toList.map((i)=> MailAddress.fromJson(i)).toList(),
+    );
+  }
+}