From ac74a33adcf59d7c8a3d185f2706d111dabe7047 Mon Sep 17 00:00:00 2001 From: Jess Robinson Date: Wed, 29 Jan 2025 17:22:19 +0000 Subject: [PATCH] feat(mailviewer): New allowlist sender option for mail viewer Fixes: #1609 --- src/app/mailviewer/rmm7messageactions.ts | 12 ++++++++++++ src/app/mailviewer/singlemailviewer.component.html | 9 ++++++--- src/app/rmmapi/rbwebmail.ts | 6 +++++- 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/app/mailviewer/rmm7messageactions.ts b/src/app/mailviewer/rmm7messageactions.ts index 8a444aaf4..3622908d3 100644 --- a/src/app/mailviewer/rmm7messageactions.ts +++ b/src/app/mailviewer/rmm7messageactions.ts @@ -210,6 +210,18 @@ export class RMM7MessageActions implements MessageActions { snackBarRef.dismiss(); } + allowListSender(param) { + const msg = `AllowListing sender: ${param}`; + const snackBarRef = this.snackBar.open(msg); + this.rmmapi.allowListSender(param).subscribe((res) => { + if ( res.status === 'error' ) { + snackBarRef.dismiss(); + this.snackBar.open('There was an error with Sender allowlisting functionality. Please try again.', 'Dismiss'); + } + }); + snackBarRef.dismiss(); + } + // Update mailviewer menu flag icon after flagging? flag() { this.updateMessages({ diff --git a/src/app/mailviewer/singlemailviewer.component.html b/src/app/mailviewer/singlemailviewer.component.html index 00792691a..e57e76092 100644 --- a/src/app/mailviewer/singlemailviewer.component.html +++ b/src/app/mailviewer/singlemailviewer.component.html @@ -63,7 +63,7 @@ - - - + + diff --git a/src/app/rmmapi/rbwebmail.ts b/src/app/rmmapi/rbwebmail.ts index 05dfa2293..7958b355b 100644 --- a/src/app/rmmapi/rbwebmail.ts +++ b/src/app/rmmapi/rbwebmail.ts @@ -535,8 +535,12 @@ export class RunboxWebmailAPI { return this.http.post('/rest/v1/spam/', JSON.stringify(params)); } + public allowListSender(param): Observable { + return this.http.post('/rest/v1/rules/update_nospam_list', JSON.stringify({'email_addresses': [param]})); + } + public blockSender(param): Observable { - return this.http.post('/rest/v1/rules/block_sender', JSON.stringify({'sender': param})); + return this.http.post('/rest/v1/rules/block_sender', JSON.stringify({'sender': param})); } // Moves to Trash if not already in Trash