@becomes/cms-cloud-client
Version:
SDK for accessing BCMS Cloud API
80 lines (79 loc) • 2.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MediaHandler = void 0;
const axios_1 = require("axios");
class MediaHandler {
sdk;
baseUrl = '/v2/media';
constructor(sdk) {
this.sdk = sdk;
}
async postProfileImage(data) {
if (!(await this.sdk.refreshAccessToken())) {
return;
}
const jwt = this.sdk.accessToken;
if (!jwt) {
return;
}
await (0, axios_1.default)({
url: `/api${this.baseUrl}/p/profile/${jwt.payload.userId}`,
method: 'POST',
headers: {
'Content-Type': `multipart/form-data${typeof data.formData.getBoundary !== 'undefined'
? `; boundary=${data.formData.getBoundary()}`
: ''}`,
Authorization: `Bearer ${this.sdk.accessTokenRaw}`,
},
data: data.formData,
onUploadProgress: data.onProgress
? (event) => {
data.onProgress((event.loaded * 100) / event.total);
}
: undefined,
});
}
async postInstanceImage(data) {
if (!(await this.sdk.refreshAccessToken())) {
return;
}
await (0, axios_1.default)({
url: `/api${this.baseUrl}/p/instance/${data.instanceId}`,
method: 'POST',
headers: {
'Content-Type': `multipart/form-data${typeof data.formData.getBoundary !== 'undefined'
? `; boundary=${data.formData.getBoundary()}`
: ''}`,
Authorization: `Bearer ${this.sdk.accessTokenRaw}`,
},
data: data.formData,
onUploadProgress: data.onProgress
? (event) => {
data.onProgress((event.loaded * 100) / event.total);
}
: undefined,
});
}
async postOrgImage(data) {
if (!(await this.sdk.refreshAccessToken())) {
return;
}
await (0, axios_1.default)({
url: `/api${this.baseUrl}/p/org/${data.orgId}`,
method: 'POST',
headers: {
'Content-Type': `multipart/form-data${typeof data.formData.getBoundary !== 'undefined'
? `; boundary=${data.formData.getBoundary()}`
: ''}`,
Authorization: `Bearer ${this.sdk.accessTokenRaw}`,
},
data: data.formData,
onUploadProgress: data.onProgress
? (event) => {
data.onProgress((event.loaded * 100) / event.total);
}
: undefined,
});
}
}
exports.MediaHandler = MediaHandler;