@marxlnfcs/wildduck-api
Version:
Provides a client to interact with the wildduck api
74 lines (73 loc) • 3.09 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.WildduckMailboxesService = void 0;
const client_component_1 = require("../../client-component");
const create_http_client_1 = require("../../../internals/create-http-client");
class WildduckMailboxesService extends client_component_1.WildduckClientComponent {
deleteMailbox(user, mailbox) {
return new Promise(async (resolve, reject) => {
this.http.delete('/users/{user}/mailboxes/{mailbox}', { params: { user, mailbox } })
.then(r => {
this.events.emitFromResponse(this.deleteMailbox, r);
resolve(r.data);
})
.catch((e) => {
this.events.emitFromError(this.deleteMailbox, e);
reject((0, create_http_client_1.createHttpException)(e));
});
});
}
getMailbox(user, mailbox) {
return new Promise(async (resolve, reject) => {
this.http.get('/users/{user}/mailboxes/{mailbox}', { params: { user, mailbox } })
.then(r => {
this.events.emitFromResponse(this.getMailbox, r);
resolve(r.data);
})
.catch((e) => {
this.events.emitFromError(this.getMailbox, e);
reject((0, create_http_client_1.createHttpException)(e));
});
});
}
updateMailbox(user, mailbox, dto) {
return new Promise(async (resolve, reject) => {
this.http.put('/users/{user}/mailboxes/{mailbox}', { params: { user, mailbox }, body: dto })
.then(r => {
this.events.emitFromResponse(this.updateMailbox, r);
resolve(r.data);
})
.catch((e) => {
this.events.emitFromError(this.updateMailbox, e);
reject((0, create_http_client_1.createHttpException)(e));
});
});
}
getMailboxes(user, options) {
return new Promise(async (resolve, reject) => {
this.http.get('/users/{user}/mailboxes', { params: { user }, query: options })
.then(r => {
this.events.emitFromResponse(this.getMailboxes, r);
resolve(r.data);
})
.catch((e) => {
this.events.emitFromError(this.getMailboxes, e);
reject((0, create_http_client_1.createHttpException)(e));
});
});
}
createMailbox(user, dto) {
return new Promise(async (resolve, reject) => {
this.http.post('/users/{user}/mailboxes', { params: { user }, body: dto })
.then(r => {
this.events.emitFromResponse(this.createMailbox, r);
resolve(r.data);
})
.catch((e) => {
this.events.emitFromError(this.createMailbox, e);
reject((0, create_http_client_1.createHttpException)(e));
});
});
}
}
exports.WildduckMailboxesService = WildduckMailboxesService;