File size: 2,234 Bytes
7fc5208
 
 
6c6d16c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7fc5208
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import { API_BASE_URL, getHeaders, handleResponse } from './util';

export const mailApi = {
    async getAuthStatus(email: string) {
        const response = await fetch(
            `${API_BASE_URL}/api/mail/status`,
            {
                headers: getHeaders(),
                method: 'POST',
                body: JSON.stringify({ email })
            }
        );
        return handleResponse(response);
    },

    // Add new batch refresh methods
    async refreshAuthBatch(emails: string[]) {
        const response = await fetch(
            `${API_BASE_URL}/api/mail/batch`,
            {
                headers: getHeaders(),
                method: 'POST',
                body: JSON.stringify({ emails })
            }
        );
        return handleResponse(response);
    },

    async refreshAuth(email: string) {
        const response = await fetch(
            `${API_BASE_URL}/api/mail/auth`,
            {
                headers: getHeaders(),
                method: 'POST',
                body: JSON.stringify({ email })
            }
        );
        return handleResponse(response);
    },

    async getLatestMails(email: string) {
        const response = await fetch(
            `${API_BASE_URL}/api/mail/new`,
            {
                headers: getHeaders(),
                method: 'POST',
                body: JSON.stringify({ email })
            }
        );
        return handleResponse(response);
    },

    async getAllMails(email: string) {
        const response = await fetch(
            `${API_BASE_URL}/api/mail/all`,
            {
                headers: getHeaders(),
                method: 'POST',
                body: JSON.stringify({ email })
            }
        );
        return handleResponse(response);
    },

    async sendMail(params: {
        email: string;
        to: string[];
        subject: string;
        body: string;
        isHtml?: boolean;
    }) {
        const response = await fetch(
            `${API_BASE_URL}/api/mail/send`,
            {
                headers: getHeaders(),
                method: 'POST',
                body: JSON.stringify(params)
            }
        );
        return handleResponse(response);
    }
};