contentful-management
Version:
Client for Contentful's Content Management API
37 lines • 1.22 kB
JavaScript
import { getUploadHttpClient } from '../../../upload-http-client';
import * as raw from './raw';
const getBaseUploadUrl = params => {
const spacePath = `/spaces/${params.spaceId}/uploads`;
const environmentPath = `/spaces/${params.spaceId}/environments/${params.environmentId}/uploads`;
const path = params.environmentId ? environmentPath : spacePath;
return path;
};
const getEntityUploadUrl = params => {
const path = getBaseUploadUrl(params);
return path + `/${params.uploadId}`;
};
export const create = (http, params, data) => {
const httpUpload = getUploadHttpClient(http);
const {
file
} = data;
if (!file) {
return Promise.reject(new Error('Unable to locate a file to upload.'));
}
const path = getBaseUploadUrl(params);
return raw.post(httpUpload, path, file, {
headers: {
'Content-Type': 'application/octet-stream'
}
});
};
export const del = (http, params) => {
const httpUpload = getUploadHttpClient(http);
const path = getEntityUploadUrl(params);
return raw.del(httpUpload, path);
};
export const get = (http, params) => {
const httpUpload = getUploadHttpClient(http);
const path = getEntityUploadUrl(params);
return raw.get(httpUpload, path);
};