cosmicjs
Version:
The official client module for Cosmic. This module helps you easily add dynamic content to your website or application using the Cosmic headless CMS.
62 lines (49 loc) • 7.25 kB
JavaScript
var _require = require('../helpers/constants'),
URI = _require.URI;
var HTTP_METHODS = require('../helpers/http_methods');
var _require2 = require('../helpers/request_handler'),
requestHandler = _require2.requestHandler;
var headers;
var objectTypeMethods = function objectTypeMethods(bucket_config) {
return {
getObjectTypes: function getObjectTypes() {
var endpoint = "".concat(URI, "/buckets/").concat(bucket_config.slug, "/object-types?read_key=").concat(bucket_config.read_key);
return requestHandler(HTTP_METHODS.GET, endpoint);
},
getObjectType: function getObjectType(params) {
var endpoint = "".concat(URI, "/buckets/").concat(bucket_config.slug, "/object-types/").concat(params.slug, "?read_key=").concat(bucket_config.read_key);
return requestHandler(HTTP_METHODS.GET, endpoint);
},
addObjectType: function addObjectType(params) {
var endpoint = "".concat(URI, "/buckets/").concat(bucket_config.slug, "/object-types");
if (bucket_config.write_key) {
headers = {
Authorization: "Bearer ".concat(bucket_config.write_key)
};
}
return requestHandler(HTTP_METHODS.POST, endpoint, params, headers);
},
editObjectType: function editObjectType(params) {
var endpoint = "".concat(URI, "/buckets/").concat(bucket_config.slug, "/object-types/").concat(params.slug);
if (bucket_config.write_key) {
headers = {
Authorization: "Bearer ".concat(bucket_config.write_key)
};
} // Remove slug
delete params.slug;
return requestHandler(HTTP_METHODS.PATCH, endpoint, params, headers);
},
deleteObjectType: function deleteObjectType(params) {
var endpoint = "".concat(URI, "/buckets/").concat(bucket_config.slug, "/object-types/").concat(params.slug);
if (bucket_config.write_key) {
headers = {
Authorization: "Bearer ".concat(bucket_config.write_key)
};
}
return requestHandler(HTTP_METHODS.DELETE, endpoint, null, headers);
}
};
};
module.exports = objectTypeMethods;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWNrZXQvb2JqZWN0LXR5cGUuanMiXSwibmFtZXMiOlsicmVxdWlyZSIsIlVSSSIsIkhUVFBfTUVUSE9EUyIsInJlcXVlc3RIYW5kbGVyIiwiaGVhZGVycyIsIm9iamVjdFR5cGVNZXRob2RzIiwiYnVja2V0X2NvbmZpZyIsImdldE9iamVjdFR5cGVzIiwiZW5kcG9pbnQiLCJzbHVnIiwicmVhZF9rZXkiLCJHRVQiLCJnZXRPYmplY3RUeXBlIiwicGFyYW1zIiwiYWRkT2JqZWN0VHlwZSIsIndyaXRlX2tleSIsIkF1dGhvcml6YXRpb24iLCJQT1NUIiwiZWRpdE9iamVjdFR5cGUiLCJQQVRDSCIsImRlbGV0ZU9iamVjdFR5cGUiLCJERUxFVEUiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOztlQUFnQkEsT0FBTyxDQUFDLHNCQUFELEM7SUFBZkMsRyxZQUFBQSxHOztBQUNSLElBQU1DLFlBQVksR0FBR0YsT0FBTyxDQUFDLHlCQUFELENBQTVCOztnQkFDMkJBLE9BQU8sQ0FBQyw0QkFBRCxDO0lBQTFCRyxjLGFBQUFBLGM7O0FBRVIsSUFBSUMsT0FBSjs7QUFFQSxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLENBQUNDLGFBQUQ7QUFBQSxTQUFvQjtBQUM1Q0MsSUFBQUEsY0FBYyxFQUFFLDBCQUFNO0FBQ3BCLFVBQU1DLFFBQVEsYUFBTVAsR0FBTixzQkFBcUJLLGFBQWEsQ0FBQ0csSUFBbkMsb0NBQWlFSCxhQUFhLENBQUNJLFFBQS9FLENBQWQ7QUFDQSxhQUFPUCxjQUFjLENBQUNELFlBQVksQ0FBQ1MsR0FBZCxFQUFtQkgsUUFBbkIsQ0FBckI7QUFDRCxLQUoyQztBQUs1Q0ksSUFBQUEsYUFBYSxFQUFFLHVCQUFDQyxNQUFELEVBQVk7QUFDekIsVUFBTUwsUUFBUSxhQUFNUCxHQUFOLHNCQUFxQkssYUFBYSxDQUFDRyxJQUFuQywyQkFBd0RJLE1BQU0sQ0FBQ0osSUFBL0QsdUJBQWdGSCxhQUFhLENBQUNJLFFBQTlGLENBQWQ7QUFDQSxhQUFPUCxjQUFjLENBQUNELFlBQVksQ0FBQ1MsR0FBZCxFQUFtQkgsUUFBbkIsQ0FBckI7QUFDRCxLQVIyQztBQVM1Q00sSUFBQUEsYUFBYSxFQUFFLHVCQUFDRCxNQUFELEVBQVk7QUFDekIsVUFBTUwsUUFBUSxhQUFNUCxHQUFOLHNCQUFxQkssYUFBYSxDQUFDRyxJQUFuQyxrQkFBZDs7QUFDQSxVQUFJSCxhQUFhLENBQUNTLFNBQWxCLEVBQTZCO0FBQzNCWCxRQUFBQSxPQUFPLEdBQUc7QUFDUlksVUFBQUEsYUFBYSxtQkFBWVYsYUFBYSxDQUFDUyxTQUExQjtBQURMLFNBQVY7QUFHRDs7QUFDRCxhQUFPWixjQUFjLENBQUNELFlBQVksQ0FBQ2UsSUFBZCxFQUFvQlQsUUFBcEIsRUFBOEJLLE1BQTlCLEVBQXNDVCxPQUF0QyxDQUFyQjtBQUNELEtBakIyQztBQWtCNUNjLElBQUFBLGNBQWMsRUFBRSx3QkFBQ0wsTUFBRCxFQUFZO0FBQzFCLFVBQU1MLFFBQVEsYUFBTVAsR0FBTixzQkFBcUJLLGFBQWEsQ0FBQ0csSUFBbkMsMkJBQXdESSxNQUFNLENBQUNKLElBQS9ELENBQWQ7O0FBQ0EsVUFBSUgsYUFBYSxDQUFDUyxTQUFsQixFQUE2QjtBQUMzQlgsUUFBQUEsT0FBTyxHQUFHO0FBQ1JZLFVBQUFBLGFBQWEsbUJBQVlWLGFBQWEsQ0FBQ1MsU0FBMUI7QUFETCxTQUFWO0FBR0QsT0FOeUIsQ0FPMUI7OztBQUNBLGFBQU9GLE1BQU0sQ0FBQ0osSUFBZDtBQUNBLGFBQU9OLGNBQWMsQ0FBQ0QsWUFBWSxDQUFDaUIsS0FBZCxFQUFxQlgsUUFBckIsRUFBK0JLLE1BQS9CLEVBQXVDVCxPQUF2QyxDQUFyQjtBQUNELEtBNUIyQztBQTZCNUNnQixJQUFBQSxnQkFBZ0IsRUFBRSwwQkFBQ1AsTUFBRCxFQUFZO0FBQzVCLFVBQU1MLFFBQVEsYUFBTVAsR0FBTixzQkFBcUJLLGFBQWEsQ0FBQ0csSUFBbkMsMkJBQXdESSxNQUFNLENBQUNKLElBQS9ELENBQWQ7O0FBQ0EsVUFBSUgsYUFBYSxDQUFDUyxTQUFsQixFQUE2QjtBQUMzQlgsUUFBQUEsT0FBTyxHQUFHO0FBQ1JZLFVBQUFBLGFBQWEsbUJBQVlWLGFBQWEsQ0FBQ1MsU0FBMUI7QUFETCxTQUFWO0FBR0Q7O0FBQ0QsYUFBT1osY0FBYyxDQUFDRCxZQUFZLENBQUNtQixNQUFkLEVBQXNCYixRQUF0QixFQUFnQyxJQUFoQyxFQUFzQ0osT0FBdEMsQ0FBckI7QUFDRDtBQXJDMkMsR0FBcEI7QUFBQSxDQUExQjs7QUF3Q0FrQixNQUFNLENBQUNDLE9BQVAsR0FBaUJsQixpQkFBakIiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB7IFVSSSB9ID0gcmVxdWlyZSgnLi4vaGVscGVycy9jb25zdGFudHMnKVxuY29uc3QgSFRUUF9NRVRIT0RTID0gcmVxdWlyZSgnLi4vaGVscGVycy9odHRwX21ldGhvZHMnKVxuY29uc3QgeyByZXF1ZXN0SGFuZGxlciB9ID0gcmVxdWlyZSgnLi4vaGVscGVycy9yZXF1ZXN0X2hhbmRsZXInKVxuXG5sZXQgaGVhZGVyc1xuXG5jb25zdCBvYmplY3RUeXBlTWV0aG9kcyA9IChidWNrZXRfY29uZmlnKSA9PiAoe1xuICBnZXRPYmplY3RUeXBlczogKCkgPT4ge1xuICAgIGNvbnN0IGVuZHBvaW50ID0gYCR7VVJJfS9idWNrZXRzLyR7YnVja2V0X2NvbmZpZy5zbHVnfS9vYmplY3QtdHlwZXM/cmVhZF9rZXk9JHtidWNrZXRfY29uZmlnLnJlYWRfa2V5fWBcbiAgICByZXR1cm4gcmVxdWVzdEhhbmRsZXIoSFRUUF9NRVRIT0RTLkdFVCwgZW5kcG9pbnQpXG4gIH0sXG4gIGdldE9iamVjdFR5cGU6IChwYXJhbXMpID0+IHtcbiAgICBjb25zdCBlbmRwb2ludCA9IGAke1VSSX0vYnVja2V0cy8ke2J1Y2tldF9jb25maWcuc2x1Z30vb2JqZWN0LXR5cGVzLyR7cGFyYW1zLnNsdWd9P3JlYWRfa2V5PSR7YnVja2V0X2NvbmZpZy5yZWFkX2tleX1gXG4gICAgcmV0dXJuIHJlcXVlc3RIYW5kbGVyKEhUVFBfTUVUSE9EUy5HRVQsIGVuZHBvaW50KVxuICB9LFxuICBhZGRPYmplY3RUeXBlOiAocGFyYW1zKSA9PiB7XG4gICAgY29uc3QgZW5kcG9pbnQgPSBgJHtVUkl9L2J1Y2tldHMvJHtidWNrZXRfY29uZmlnLnNsdWd9L29iamVjdC10eXBlc2BcbiAgICBpZiAoYnVja2V0X2NvbmZpZy53cml0ZV9rZXkpIHtcbiAgICAgIGhlYWRlcnMgPSB7XG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtidWNrZXRfY29uZmlnLndyaXRlX2tleX1gXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0SGFuZGxlcihIVFRQX01FVEhPRFMuUE9TVCwgZW5kcG9pbnQsIHBhcmFtcywgaGVhZGVycylcbiAgfSxcbiAgZWRpdE9iamVjdFR5cGU6IChwYXJhbXMpID0+IHtcbiAgICBjb25zdCBlbmRwb2ludCA9IGAke1VSSX0vYnVja2V0cy8ke2J1Y2tldF9jb25maWcuc2x1Z30vb2JqZWN0LXR5cGVzLyR7cGFyYW1zLnNsdWd9YFxuICAgIGlmIChidWNrZXRfY29uZmlnLndyaXRlX2tleSkge1xuICAgICAgaGVhZGVycyA9IHtcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2J1Y2tldF9jb25maWcud3JpdGVfa2V5fWBcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gUmVtb3ZlIHNsdWdcbiAgICBkZWxldGUgcGFyYW1zLnNsdWdcbiAgICByZXR1cm4gcmVxdWVzdEhhbmRsZXIoSFRUUF9NRVRIT0RTLlBBVENILCBlbmRwb2ludCwgcGFyYW1zLCBoZWFkZXJzKVxuICB9LFxuICBkZWxldGVPYmplY3RUeXBlOiAocGFyYW1zKSA9PiB7XG4gICAgY29uc3QgZW5kcG9pbnQgPSBgJHtVUkl9L2J1Y2tldHMvJHtidWNrZXRfY29uZmlnLnNsdWd9L29iamVjdC10eXBlcy8ke3BhcmFtcy5zbHVnfWBcbiAgICBpZiAoYnVja2V0X2NvbmZpZy53cml0ZV9rZXkpIHtcbiAgICAgIGhlYWRlcnMgPSB7XG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtidWNrZXRfY29uZmlnLndyaXRlX2tleX1gXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0SGFuZGxlcihIVFRQX01FVEhPRFMuREVMRVRFLCBlbmRwb2ludCwgbnVsbCwgaGVhZGVycylcbiAgfVxufSlcblxubW9kdWxlLmV4cG9ydHMgPSBvYmplY3RUeXBlTWV0aG9kc1xuIl19
;