diff --git a/frontend/src/api/webmail.js b/frontend/src/api/webmail.js index 5edbbe293..9e2b0bc44 100644 --- a/frontend/src/api/webmail.js +++ b/frontend/src/api/webmail.js @@ -15,11 +15,44 @@ export default { } return repository.get(`/webmail/emails/`, { params }) }, - getEmailContent(mailbox, mailid) { + getEmailContent(mailbox, mailid, options) { const params = { mailbox, mailid, + ...options, } return repository.get(`/webmail/emails/content/`, { params }) }, + getEmailAttachment(mailbox, mailid, partnum) { + const params = { + mailbox, + mailid, + partnum, + } + return repository.get(`/webmail/emails/attachment/`, { + params, + responseType: 'blob', + }) + }, + deleteSelection(mailbox, selection) { + const body = { + mailbox, + selection, + } + return repository.post('/webmail/emails/delete/', body) + }, + markSelectionAsJunk(mailbox, selection) { + const body = { + mailbox, + selection, + } + return repository.post('/webmail/emails/mark_as_junk/', body) + }, + markSelectionAsNotJunk(mailbox, selection) { + const body = { + mailbox, + selection, + } + return repository.post('/webmail/emails/mark_as_not_junk/', body) + }, } diff --git a/frontend/src/views/webmail/EmailView.vue b/frontend/src/views/webmail/EmailView.vue index bdbae8a1b..278dbfa31 100644 --- a/frontend/src/views/webmail/EmailView.vue +++ b/frontend/src/views/webmail/EmailView.vue @@ -1,43 +1,221 @@