UNPKG

@marxlnfcs/wildduck-api

Version:

Provides a client to interact with the wildduck api

66 lines (65 loc) 2.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WildduckStorageService = void 0; const client_component_1 = require("../../client-component"); const create_http_client_1 = require("../../../internals/create-http-client"); const FormData = require("form-data"); class WildduckStorageService extends client_component_1.WildduckClientComponent { deleteFile(user, file) { return new Promise(async (resolve, reject) => { this.http.delete('/users/{user}/storage/{file}', { params: { user, file } }) .then(r => { this.events.emitFromResponse(this.deleteFile, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.deleteFile, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } downloadFile(user, file) { return new Promise(async (resolve, reject) => { this.http.download('/users/{user}/storage/{file}', { params: { user, file } }) .then(r => { this.events.emitFromResponse(this.downloadFile, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.downloadFile, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } getFiles(user, options) { return new Promise(async (resolve, reject) => { this.http.get('/users/{user}/storage', { params: { user }, query: options }) .then(r => { this.events.emitFromResponse(this.getFiles, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.getFiles, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } uploadFile(user, dto) { return new Promise(async (resolve, reject) => { const data = new FormData(); for (const [key, value] of Object.entries(dto)) { data.append(key, value); } this.http.post('/users/{user}/storage', { params: { user }, body: data }) .then(r => { this.events.emitFromResponse(this.uploadFile, r); resolve(r.data); }) .catch((e) => { this.events.emitFromError(this.uploadFile, e); reject((0, create_http_client_1.createHttpException)(e)); }); }); } } exports.WildduckStorageService = WildduckStorageService;