@marxlnfcs/wildduck-api
Version:
Provides a client to interact with the wildduck api
66 lines (65 loc) • 2.68 kB
JavaScript
"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;