UNPKG

@marxlnfcs/wildduck-api

Version:

Provides a client to interact with the wildduck api

178 lines (177 loc) 8.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WildduckMessagesService = void 0; const client_component_1 = require("../../client-component"); const create_http_client_1 = require("../../../internals/create-http-client"); class WildduckMessagesService extends client_component_1.WildduckClientComponent { deleteMessage(user, mailbox, message) { return new Promise(async (resolve, reject) => { this.http.delete('/users/{user}/mailboxes/{mailbox}/messages/{message}', { params: { user, mailbox, message } }) .then(r => { this.events.emitFromResponse(this.deleteMessage, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.deleteMessage, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } getMessage(user, mailbox, message, options) { return new Promise(async (resolve, reject) => { this.http.get('/users/{user}/mailboxes/{mailbox}/messages/{message}', { params: { user, mailbox, message }, query: options }) .then(r => { this.events.emitFromResponse(this.getMessage, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.getMessage, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } deleteMessagesInMailbox(user, mailbox, options) { return new Promise(async (resolve, reject) => { this.http.delete('/users/{user}/mailboxes/{mailbox}/messages', { params: { user, mailbox }, query: options }) .then(r => { this.events.emitFromResponse(this.deleteMessagesInMailbox, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.deleteMessagesInMailbox, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } getMessagesInMailbox(user, mailbox, options) { return new Promise(async (resolve, reject) => { this.http.get('/users/{user}/mailboxes/{mailbox}/messages', { params: { user, mailbox }, query: options }) .then(r => { this.events.emitFromResponse(this.getMessagesInMailbox, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.getMessagesInMailbox, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } updateMessage(user, mailbox, dto) { return new Promise(async (resolve, reject) => { this.http.put('/users/{user}/mailboxes/{mailbox}/messages', { params: { user, mailbox }, body: dto }) .then(r => { this.events.emitFromResponse(this.updateMessage, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.updateMessage, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } uploadMessage(user, mailbox, dto) { return new Promise(async (resolve, reject) => { this.http.post('/users/{user}/mailboxes/{mailbox}/messages', { params: { user, mailbox }, body: dto }) .then(r => { this.events.emitFromResponse(this.uploadMessage, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.uploadMessage, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } forwardMessage(user, mailbox, message, dto) { return new Promise(async (resolve, reject) => { this.http.post('/users/{user}/mailboxes/{mailbox}/messages/{message}/forward', { params: { user, mailbox, message }, body: dto }) .then(r => { this.events.emitFromResponse(this.forwardMessage, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.forwardMessage, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } downloadAttachment(user, mailbox, message, attachment) { return new Promise(async (resolve, reject) => { this.http.download('/users/{user}/mailboxes/{mailbox}/messages/{message}/attachments/{attachment}', { params: { user, mailbox, message, attachment } }) .then(r => { this.events.emitFromResponse(this.downloadAttachment, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.downloadAttachment, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } getMessageSource(user, mailbox, message) { return new Promise(async (resolve, reject) => { this.http.get('/users/{user}/mailboxes/{mailbox}/messages/{message}/message.eml', { params: { user, mailbox, message }, responseType: 'text' }) .then(r => { this.events.emitFromResponse(this.getMessageSource, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.getMessageSource, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } deleteOutboundMessage(user, queueId) { return new Promise(async (resolve, reject) => { this.http.delete('/users/{user}/outbound/{queueId}', { params: { user, queueId } }) .then(r => { this.events.emitFromResponse(this.deleteOutboundMessage, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.deleteOutboundMessage, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } searchMessages(user, options) { return new Promise(async (resolve, reject) => { this.http.get('/users/{user}/search', { params: { user }, query: options }) .then(r => { this.events.emitFromResponse(this.searchMessages, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.searchMessages, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } searchAndUpdateMessages(user, dto, options) { return new Promise(async (resolve, reject) => { this.http.post('/users/{user}/search', { params: { user }, query: options }) .then(r => { this.events.emitFromResponse(this.searchAndUpdateMessages, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.searchAndUpdateMessages, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } submitDraftForDelivery(user, mailbox, message, dto) { return new Promise(async (resolve, reject) => { this.http.post('/users/{user}/mailboxes/{mailbox}/messages/{message}/submit', { params: { user, mailbox, message }, body: dto }) .then(r => { this.events.emitFromResponse(this.submitDraftForDelivery, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.submitDraftForDelivery, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } } exports.WildduckMessagesService = WildduckMessagesService;