Implement catchall settings

This commit is contained in:
Johannes Zellner
2025-03-11 12:38:54 +01:00
parent ba1636033e
commit a5ca8781ff
3 changed files with 118 additions and 1 deletions
+33
View File
@@ -39,6 +39,39 @@ function create() {
if (result.status !== 200) return [result];
return [null, result.body.count];
},
async listMailboxes(domain, search = '', page = 1, per_page = 1000) {
let result;
try {
result = await fetcher.get(`${API_ORIGIN}/api/v1/mail/${domain}/mailboxes`, { search, page, per_page, access_token: accessToken });
} catch (e) {
return [e];
}
if (result.status !== 200) return [result];
return [null, result.body.mailboxes];
},
async getMailbox(domain, mailboxName) {
let result;
try {
result = await fetcher.get(`${API_ORIGIN}/api/v1/mail/${domain}/mailboxes/${mailboxName}`, { access_token: accessToken });
} catch (e) {
return [e];
}
if (result.status !== 200) return [result];
return [null, result.body.mailbox];
},
async setCatchallAddresses(domain, addresses) {
let result;
try {
result = await fetcher.post(`${API_ORIGIN}/api/v1/mail/${domain}/catch_all`, { addresses }, { access_token: accessToken });
} catch (e) {
return [e];
}
if (result.status !== 202) return [result];
return [null];
},
async setEnabled(domain, enabled) {
let result;
try {