UNPKG

mpp-sdk

Version:

SDK to talk to the Memento Payments Platform

74 lines (73 loc) 2.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const base_1 = require("./base"); const form_data_1 = tslib_1.__importDefault(require("form-data")); class ImageEndpoint extends base_1.BaseEndpoint { internalUpload(input) { return tslib_1.__awaiter(this, void 0, void 0, function* () { const data = new form_data_1.default(); if ("file" in input) { data.append("file", input.file); } else if ("url" in input) { data.append("url", input.url); } else if ("encoded" in input) { data.append("encoded", input.encoded); } if (input.type === "profile") { data.append("user_image", "1"); } else if (input.type === "transaction") { data.append("transaction_image", "1"); data.append("funding_source_id", input.funding_source_id); data.append("transaction_id", input.transaction_id); } let headers = { "Content-Type": "multipart/form-data", }; // form-data nodejs polyfill needs this since axios // does not correctly set the multipart form boundary when running // in nodejs. if (data.getHeaders) { headers = data.getHeaders(); } return this.doRequest({ url: "/images", method: "POST", headers, data, }); }); } upload(options) { return tslib_1.__awaiter(this, void 0, void 0, function* () { let method = null; if (options.file) { method = { file: options.file }; } else if (options.url) { method = { url: options.url }; } else if (options.encoded) { method = { encoded: options.encoded }; } if (options.user_image && method !== null) { return this.internalUpload(Object.assign(Object.assign({}, method), { type: "profile" })); } }); } uploadProfileImage(method) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return this.internalUpload(Object.assign(Object.assign({}, method), { type: "profile" })); }); } uploadTransactionImage(funding_source_id, transaction_id, method) { return tslib_1.__awaiter(this, void 0, void 0, function* () { return this.internalUpload(Object.assign(Object.assign({}, method), { funding_source_id, transaction_id, type: "transaction" })); }); } } exports.default = ImageEndpoint;