added mark as seen or unseen api call and deleteEmail, which only moves it to a folder called Deleted Crabmail
This commit is contained in:
		
							parent
							
								
									b79d68c7a2
								
							
						
					
					
						commit
						ab0adf62e4
					
				
					 1 changed files with 66 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -9,8 +9,8 @@ import 'package:http/http.dart' as http;
 | 
			
		|||
import 'dart:convert';
 | 
			
		||||
 | 
			
		||||
class ApiService {
 | 
			
		||||
  static String ip = "";
 | 
			
		||||
  static String port = "";
 | 
			
		||||
  static String ip = '127.0.0.1';
 | 
			
		||||
  static String port = "3001";
 | 
			
		||||
  static List<AttachmentResponse> threadAttachments =
 | 
			
		||||
      []; //holds attachments of the thread
 | 
			
		||||
  static String currFolder = "";
 | 
			
		||||
| 
						 | 
				
			
			@ -169,7 +169,7 @@ class ApiService {
 | 
			
		|||
  Future<bool> moveEmail(
 | 
			
		||||
      //only moves the first email of the thread //or perhaps should do the last
 | 
			
		||||
      String fromFolder,
 | 
			
		||||
      String thread_id,
 | 
			
		||||
      String thread_id, //uid
 | 
			
		||||
      String toFolder) async {
 | 
			
		||||
    var url = Uri.http('$ip:$port', 'move_email');
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -185,7 +185,7 @@ class ApiService {
 | 
			
		|||
    Map<String, String> requestBody = {
 | 
			
		||||
      'from': fromFolder,
 | 
			
		||||
      'uid': firstMail.uid.toString(),
 | 
			
		||||
      'to': toFolder,
 | 
			
		||||
      'to': "Deleted Crabmail",
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    try {
 | 
			
		||||
| 
						 | 
				
			
			@ -374,7 +374,67 @@ class ApiService {
 | 
			
		|||
    } catch (e) {
 | 
			
		||||
      print('_getMDContent caught error: $e');
 | 
			
		||||
    }
 | 
			
		||||
    print("IDS inside fetch md content $IDsString");
 | 
			
		||||
 | 
			
		||||
    return MDofThread;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  Future<void> markAsSeen(int thread_id) async {
 | 
			
		||||
    try {
 | 
			
		||||
      var url = Uri.http(
 | 
			
		||||
          '$ip:$port', 'post_seen_thread', {'id': thread_id.toString()});
 | 
			
		||||
      var response = await http.get(url);
 | 
			
		||||
      if (response.statusCode == 200) {
 | 
			
		||||
        var result = response.body;
 | 
			
		||||
        print("data $result");
 | 
			
		||||
      }
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
      print("markAsSeen failed $e");
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  Future<void> markAsUnseen(int thread_id) async {
 | 
			
		||||
    try {
 | 
			
		||||
      var url = Uri.http(
 | 
			
		||||
          '$ip:$port', 'post_unseen_thread', {'id': thread_id.toString()});
 | 
			
		||||
      var response = await http.get(url);
 | 
			
		||||
      if (response.statusCode == 200) {
 | 
			
		||||
        var result = response.body;
 | 
			
		||||
        print("data $result");
 | 
			
		||||
      }
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
      print("markAsUnseen failed $e");
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  Future<bool> deleteEmail(String from_folder, int thread_id) async {
 | 
			
		||||
    // post
 | 
			
		||||
    try {
 | 
			
		||||
      List<SerializableMessage> mailsInSerializable =
 | 
			
		||||
        await this.threadsInSerializable(thread_id.toString());
 | 
			
		||||
 | 
			
		||||
      if (mailsInSerializable.isEmpty) {
 | 
			
		||||
        return false;
 | 
			
		||||
      }
 | 
			
		||||
      Map<String, String> requestBody = {"from": from_folder, "uid": mailsInSerializable.first.uid.toString(), "to": "not used"};
 | 
			
		||||
 | 
			
		||||
      //delete the email that is given to the
 | 
			
		||||
      var url = Uri.http("$ip:$port", 'delete_email');
 | 
			
		||||
      var response = await http.post(url,
 | 
			
		||||
          headers: {
 | 
			
		||||
            "Content-Type": "application/json",
 | 
			
		||||
          },
 | 
			
		||||
          body: jsonEncode(requestBody));
 | 
			
		||||
      if (response.statusCode == 200) {
 | 
			
		||||
        print("response body: ${response.body}");
 | 
			
		||||
        return true;
 | 
			
		||||
      } else {
 | 
			
		||||
        print("not 200: ${response.body}");
 | 
			
		||||
        return false;
 | 
			
		||||
      }
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
      print("error in deleteEmail $e");
 | 
			
		||||
      return false;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue