UNPKG

contentful-management

Version:
1,217 lines (1,060 loc) 1.31 MB
/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../node_modules/asynckit/index.js": /*!*****************************************!*\ !*** ../node_modules/asynckit/index.js ***! \*****************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { module.exports = { parallel : __webpack_require__(/*! ./parallel.js */ "../node_modules/asynckit/parallel.js"), serial : __webpack_require__(/*! ./serial.js */ "../node_modules/asynckit/serial.js"), serialOrdered : __webpack_require__(/*! ./serialOrdered.js */ "../node_modules/asynckit/serialOrdered.js") }; /***/ }), /***/ "../node_modules/asynckit/lib/abort.js": /*!*********************************************!*\ !*** ../node_modules/asynckit/lib/abort.js ***! \*********************************************/ /***/ ((module) => { // API module.exports = abort; /** * Aborts leftover active jobs * * @param {object} state - current state object */ function abort(state) { Object.keys(state.jobs).forEach(clean.bind(state)); // reset leftover jobs state.jobs = {}; } /** * Cleans up leftover job by invoking abort function for the provided job id * * @this state * @param {string|number} key - job id to abort */ function clean(key) { if (typeof this.jobs[key] == 'function') { this.jobs[key](); } } /***/ }), /***/ "../node_modules/asynckit/lib/async.js": /*!*********************************************!*\ !*** ../node_modules/asynckit/lib/async.js ***! \*********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var defer = __webpack_require__(/*! ./defer.js */ "../node_modules/asynckit/lib/defer.js"); // API module.exports = async; /** * Runs provided callback asynchronously * even if callback itself is not * * @param {function} callback - callback to invoke * @returns {function} - augmented callback */ function async(callback) { var isAsync = false; // check if async happened defer(function() { isAsync = true; }); return function async_callback(err, result) { if (isAsync) { callback(err, result); } else { defer(function nextTick_callback() { callback(err, result); }); } }; } /***/ }), /***/ "../node_modules/asynckit/lib/defer.js": /*!*********************************************!*\ !*** ../node_modules/asynckit/lib/defer.js ***! \*********************************************/ /***/ ((module) => { module.exports = defer; /** * Runs provided function on next iteration of the event loop * * @param {function} fn - function to run */ function defer(fn) { var nextTick = typeof setImmediate == 'function' ? setImmediate : ( typeof process == 'object' && typeof process.nextTick == 'function' ? process.nextTick : null ); if (nextTick) { nextTick(fn); } else { setTimeout(fn, 0); } } /***/ }), /***/ "../node_modules/asynckit/lib/iterate.js": /*!***********************************************!*\ !*** ../node_modules/asynckit/lib/iterate.js ***! \***********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var async = __webpack_require__(/*! ./async.js */ "../node_modules/asynckit/lib/async.js") , abort = __webpack_require__(/*! ./abort.js */ "../node_modules/asynckit/lib/abort.js") ; // API module.exports = iterate; /** * Iterates over each job object * * @param {array|object} list - array or object (named list) to iterate over * @param {function} iterator - iterator to run * @param {object} state - current job status * @param {function} callback - invoked when all elements processed */ function iterate(list, iterator, state, callback) { // store current index var key = state['keyedList'] ? state['keyedList'][state.index] : state.index; state.jobs[key] = runJob(iterator, key, list[key], function(error, output) { // don't repeat yourself // skip secondary callbacks if (!(key in state.jobs)) { return; } // clean up jobs delete state.jobs[key]; if (error) { // don't process rest of the results // stop still active jobs // and reset the list abort(state); } else { state.results[key] = output; } // return salvaged results callback(error, state.results); }); } /** * Runs iterator over provided job element * * @param {function} iterator - iterator to invoke * @param {string|number} key - key/index of the element in the list of jobs * @param {mixed} item - job description * @param {function} callback - invoked after iterator is done with the job * @returns {function|mixed} - job abort function or something else */ function runJob(iterator, key, item, callback) { var aborter; // allow shortcut if iterator expects only two arguments if (iterator.length == 2) { aborter = iterator(item, async(callback)); } // otherwise go with full three arguments else { aborter = iterator(item, key, async(callback)); } return aborter; } /***/ }), /***/ "../node_modules/asynckit/lib/state.js": /*!*********************************************!*\ !*** ../node_modules/asynckit/lib/state.js ***! \*********************************************/ /***/ ((module) => { // API module.exports = state; /** * Creates initial state object * for iteration over list * * @param {array|object} list - list to iterate over * @param {function|null} sortMethod - function to use for keys sort, * or `null` to keep them as is * @returns {object} - initial state object */ function state(list, sortMethod) { var isNamedList = !Array.isArray(list) , initState = { index : 0, keyedList: isNamedList || sortMethod ? Object.keys(list) : null, jobs : {}, results : isNamedList ? {} : [], size : isNamedList ? Object.keys(list).length : list.length } ; if (sortMethod) { // sort array keys based on it's values // sort object's keys just on own merit initState.keyedList.sort(isNamedList ? sortMethod : function(a, b) { return sortMethod(list[a], list[b]); }); } return initState; } /***/ }), /***/ "../node_modules/asynckit/lib/terminator.js": /*!**************************************************!*\ !*** ../node_modules/asynckit/lib/terminator.js ***! \**************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var abort = __webpack_require__(/*! ./abort.js */ "../node_modules/asynckit/lib/abort.js") , async = __webpack_require__(/*! ./async.js */ "../node_modules/asynckit/lib/async.js") ; // API module.exports = terminator; /** * Terminates jobs in the attached state context * * @this AsyncKitState# * @param {function} callback - final callback to invoke after termination */ function terminator(callback) { if (!Object.keys(this.jobs).length) { return; } // fast forward iteration index this.index = this.size; // abort jobs abort(this); // send back results we have so far async(callback)(null, this.results); } /***/ }), /***/ "../node_modules/asynckit/parallel.js": /*!********************************************!*\ !*** ../node_modules/asynckit/parallel.js ***! \********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var iterate = __webpack_require__(/*! ./lib/iterate.js */ "../node_modules/asynckit/lib/iterate.js") , initState = __webpack_require__(/*! ./lib/state.js */ "../node_modules/asynckit/lib/state.js") , terminator = __webpack_require__(/*! ./lib/terminator.js */ "../node_modules/asynckit/lib/terminator.js") ; // Public API module.exports = parallel; /** * Runs iterator over provided array elements in parallel * * @param {array|object} list - array or object (named list) to iterate over * @param {function} iterator - iterator to run * @param {function} callback - invoked when all elements processed * @returns {function} - jobs terminator */ function parallel(list, iterator, callback) { var state = initState(list); while (state.index < (state['keyedList'] || list).length) { iterate(list, iterator, state, function(error, result) { if (error) { callback(error, result); return; } // looks like it's the last one if (Object.keys(state.jobs).length === 0) { callback(null, state.results); return; } }); state.index++; } return terminator.bind(state, callback); } /***/ }), /***/ "../node_modules/asynckit/serial.js": /*!******************************************!*\ !*** ../node_modules/asynckit/serial.js ***! \******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var serialOrdered = __webpack_require__(/*! ./serialOrdered.js */ "../node_modules/asynckit/serialOrdered.js"); // Public API module.exports = serial; /** * Runs iterator over provided array elements in series * * @param {array|object} list - array or object (named list) to iterate over * @param {function} iterator - iterator to run * @param {function} callback - invoked when all elements processed * @returns {function} - jobs terminator */ function serial(list, iterator, callback) { return serialOrdered(list, iterator, null, callback); } /***/ }), /***/ "../node_modules/asynckit/serialOrdered.js": /*!*************************************************!*\ !*** ../node_modules/asynckit/serialOrdered.js ***! \*************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var iterate = __webpack_require__(/*! ./lib/iterate.js */ "../node_modules/asynckit/lib/iterate.js") , initState = __webpack_require__(/*! ./lib/state.js */ "../node_modules/asynckit/lib/state.js") , terminator = __webpack_require__(/*! ./lib/terminator.js */ "../node_modules/asynckit/lib/terminator.js") ; // Public API module.exports = serialOrdered; // sorting helpers module.exports.ascending = ascending; module.exports.descending = descending; /** * Runs iterator over provided sorted array elements in series * * @param {array|object} list - array or object (named list) to iterate over * @param {function} iterator - iterator to run * @param {function} sortMethod - custom sort function * @param {function} callback - invoked when all elements processed * @returns {function} - jobs terminator */ function serialOrdered(list, iterator, sortMethod, callback) { var state = initState(list, sortMethod); iterate(list, iterator, state, function iteratorHandler(error, result) { if (error) { callback(error, result); return; } state.index++; // are we there yet? if (state.index < (state['keyedList'] || list).length) { iterate(list, iterator, state, iteratorHandler); return; } // done here callback(null, state.results); }); return terminator.bind(state, callback); } /* * -- Sort methods */ /** * sort helper to sort array elements in ascending order * * @param {mixed} a - an item to compare * @param {mixed} b - an item to compare * @returns {number} - comparison result */ function ascending(a, b) { return a < b ? -1 : a > b ? 1 : 0; } /** * sort helper to sort array elements in descending order * * @param {mixed} a - an item to compare * @param {mixed} b - an item to compare * @returns {number} - comparison result */ function descending(a, b) { return -1 * ascending(a, b); } /***/ }), /***/ "./adapters/REST/endpoints/access-token.ts": /*!*************************************************!*\ !*** ./adapters/REST/endpoints/access-token.ts ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ createPersonalAccessToken: () => (/* binding */ createPersonalAccessToken), /* harmony export */ get: () => (/* binding */ get), /* harmony export */ getMany: () => (/* binding */ getMany), /* harmony export */ getManyForOrganization: () => (/* binding */ getManyForOrganization), /* harmony export */ revoke: () => (/* binding */ revoke) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); /** * Retrieves an access token by its unique token ID for the currently authenticated user. * * @param {AxiosInstance} http - An Axios HTTP client instance. * @param {Object} params - Parameters for the request. * @param {string} params.tokenId - The unique token ID of the access token to retrieve. * @returns {Promise<AccessTokenProp>} A Promise that resolves with the retrieved access token information. * @example ```javascript * const contentful = require('contentful-management') * * const plainClient = contentful.createClient( * { * accessToken: '<content_management_api_key>' * }, * { type: 'plain' } * ) * plainClient.get({tokenId: 'TestTokenTd'}) * .then(token => console.log(token)) * .catch(console.error) * ``` */ const get = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, `/users/me/access_tokens/${params.tokenId}`); }; /** * Retrieves multiple access tokens associated with the currently authenticated user. * * @param {AxiosInstance} http - An Axios HTTP client instance. * @param {QueryParams} params - Query parameters to filter and customize the request. * @returns {Promise<CollectionProp<AccessTokenProp>>} A Promise that resolves with a collection of access token properties. * @example ```javascript * const contentful = require('contentful-management') * * const plainClient = contentful.createClient( * { * accessToken: '<content_management_api_key>' * }, * { type: 'plain' } * ) * plainClient.getMany() * .then(result => console.log(result.items)) * .catch(console.error) * ``` */ const getMany = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, '/users/me/access_tokens', { params: params.query }); }; /** * Creates a personal access token for the currently authenticated user. * * @param {AxiosInstance} http - Axios instance for making the HTTP request. * @param {Object} _params - Unused parameters (can be an empty object). * @param {CreatePersonalAccessTokenProps} rawData - Data for creating the personal access token. * @param {RawAxiosRequestHeaders} [headers] - Optional HTTP headers for the request. * @returns {Promise<AccessTokenProp>} A Promise that resolves with the created personal access token. * @example ```javascript * const contentful = require('contentful-management') * * const plainClient = contentful.createClient( * { * accessToken: '<content_management_api_key>', * }, * { type: 'plain' } * ) * plainClient.createPersonalAccessToken({name: 'Test-Name', scope: ['content_management_manage'], expiresIn: 777596.92}) * .then(token => console.log(token)) * .catch(console.error) * ``` */ const createPersonalAccessToken = (http, _params, rawData, headers) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.post(http, '/users/me/access_tokens', rawData, { headers }); }; /** * Revokes an access token associated with the currently authenticated user. * * @param {AxiosInstance} http - The Axios HTTP client instance. * @param {Object} params - The parameters for revoking the access token. * @param {string} params.tokenId - The unique identifier of the access token to revoke. * @returns {Promise<AccessTokenProp>} A Promise that resolves with the updated access token information after revocation. * @example ```javascript * const contentful = require('contentful-management') * * const plainClient = contentful.createClient( * { * accessToken: '<content_management_api_key>' * }, * { type: 'plain' } * ) * plainClient.revoke({tokenId: 'TestTokenTd'}) * .then(token => console.log(token)) * .catch(console.error) * ``` */ const revoke = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.put(http, `/users/me/access_tokens/${params.tokenId}/revoked`, null); }; /** * Retrieves a list of redacted versions of access tokens for an organization, accessible to owners or administrators of an organization. * * @param {AxiosInstance} http - The Axios HTTP client instance. * @param {GetOrganizationParams & QueryParams} params - Parameters for the request, including organization ID and query parameters. * @param {string} params.organizationId - The unique identifier of the organization. * @returns {Promise<CollectionProp<AccessTokenProp>>} A promise that resolves to a collection of access tokens. * @example ```javascript * const contentful = require('contentful-management') * * const plainClient = contentful.createClient( * { * accessToken: '<content_management_api_key>' * }, * { type: 'plain' } * ) * plainClient.getManyForOrganization({organizationId: 'OrgId'}) * .then(result => console.log(result.items)) * .catch(console.error) * ``` */ const getManyForOrganization = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, `/organizations/${params.organizationId}/access_tokens`, { params: params.query }); }; /***/ }), /***/ "./adapters/REST/endpoints/api-key.ts": /*!********************************************!*\ !*** ./adapters/REST/endpoints/api-key.ts ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ create: () => (/* binding */ create), /* harmony export */ createWithId: () => (/* binding */ createWithId), /* harmony export */ del: () => (/* binding */ del), /* harmony export */ get: () => (/* binding */ get), /* harmony export */ getMany: () => (/* binding */ getMany), /* harmony export */ update: () => (/* binding */ update) /* harmony export */ }); /* harmony import */ var fast_copy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! fast-copy */ "../node_modules/fast-copy/dist/esm/index.mjs"); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } const get = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_1__.get(http, `/spaces/${params.spaceId}/api_keys/${params.apiKeyId}`); }; const getMany = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_1__.get(http, `/spaces/${params.spaceId}/api_keys`, { params: params.query }); }; const create = (http, params, data, headers) => { return _raw__WEBPACK_IMPORTED_MODULE_1__.post(http, `/spaces/${params.spaceId}/api_keys`, data, { headers }); }; const createWithId = (http, params, data, headers) => { return _raw__WEBPACK_IMPORTED_MODULE_1__.put(http, `/spaces/${params.spaceId}/api_keys/${params.apiKeyId}`, data, { headers }); }; const update = (http, params, rawData, headers) => { var _rawData$sys$version; const data = (0,fast_copy__WEBPACK_IMPORTED_MODULE_0__["default"])(rawData); if ('accessToken' in data) { delete data.accessToken; } if ('preview_api_key' in data) { delete data.preview_api_key; } if ('policies' in data) { delete data.policies; } delete data.sys; return _raw__WEBPACK_IMPORTED_MODULE_1__.put(http, `/spaces/${params.spaceId}/api_keys/${params.apiKeyId}`, data, { headers: _objectSpread({ 'X-Contentful-Version': (_rawData$sys$version = rawData.sys.version) !== null && _rawData$sys$version !== void 0 ? _rawData$sys$version : 0 }, headers) }); }; const del = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_1__.del(http, `/spaces/${params.spaceId}/api_keys/${params.apiKeyId}`); }; /***/ }), /***/ "./adapters/REST/endpoints/app-access-token.ts": /*!*****************************************************!*\ !*** ./adapters/REST/endpoints/app-access-token.ts ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ create: () => (/* binding */ create) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); const create = (http, params, data) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.post(http, `/spaces/${params.spaceId}/environments/${params.environmentId}/app_installations/${params.appDefinitionId}/access_tokens`, undefined, { headers: { Authorization: `Bearer ${data.jwt}` } }); }; /***/ }), /***/ "./adapters/REST/endpoints/app-action-call.ts": /*!****************************************************!*\ !*** ./adapters/REST/endpoints/app-action-call.ts ***! \****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ create: () => (/* binding */ create), /* harmony export */ createWithResponse: () => (/* binding */ createWithResponse), /* harmony export */ getCallDetails: () => (/* binding */ getCallDetails) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); /* harmony import */ var _common_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common-utils */ "./common-utils.ts"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } const create = (http, params, data) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.post(http, `/spaces/${params.spaceId}/environments/${params.environmentId}/app_installations/${params.appDefinitionId}/actions/${params.appActionId}/calls`, data); }; const getCallDetails = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, `/spaces/${params.spaceId}/environments/${params.environmentId}/actions/${params.appActionId}/calls/${params.callId}`); }; const APP_ACTION_CALL_RETRY_INTERVAL = 2000; const APP_ACTION_CALL_RETRIES = 15; async function callAppActionResult(http, params, { callId }) { let checkCount = 1; const retryInterval = params.retryInterval || APP_ACTION_CALL_RETRY_INTERVAL; const retries = params.retries || APP_ACTION_CALL_RETRIES; return new Promise((resolve, reject) => { const poll = async () => { try { var _result$response, _result$response2; const result = await getCallDetails(http, _objectSpread(_objectSpread({}, params), {}, { callId: callId })); // The lambda failed or returned a 404, so we shouldn't re-poll anymore if (result !== null && result !== void 0 && (_result$response = result.response) !== null && _result$response !== void 0 && _result$response.statusCode && !(0,_common_utils__WEBPACK_IMPORTED_MODULE_1__.isSuccessful)(result === null || result === void 0 ? void 0 : (_result$response2 = result.response) === null || _result$response2 === void 0 ? void 0 : _result$response2.statusCode)) { const error = new Error('App action not found or lambda fails'); reject(error); } else if ((0,_common_utils__WEBPACK_IMPORTED_MODULE_1__.isSuccessful)(result.statusCode)) { resolve(result); } // The logs are not ready yet. Continue waiting for them else if ((0,_common_utils__WEBPACK_IMPORTED_MODULE_1__.shouldRePoll)(result.statusCode) && checkCount < retries) { checkCount++; await (0,_common_utils__WEBPACK_IMPORTED_MODULE_1__.waitFor)(retryInterval); poll(); } // If the response status code is not successful and is not a status code that should be repolled, reject with an error immediately else { const error = new Error('The app action response is taking longer than expected to process.'); reject(error); } } catch (error) { checkCount++; if (checkCount > retries) { reject(new Error('The app action response is taking longer than expected to process.')); return; } // If `appActionCalls.getCallDetails` throws, we re-poll as it might mean that the lambda result is not available in the webhook logs yet await (0,_common_utils__WEBPACK_IMPORTED_MODULE_1__.waitFor)(retryInterval); poll(); } }; poll(); }); } const createWithResponse = async (http, params, data) => { const createResponse = await _raw__WEBPACK_IMPORTED_MODULE_0__.post(http, `/spaces/${params.spaceId}/environments/${params.environmentId}/app_installations/${params.appDefinitionId}/actions/${params.appActionId}/calls`, data); const callId = createResponse.sys.id; return callAppActionResult(http, params, { callId }); }; /***/ }), /***/ "./adapters/REST/endpoints/app-action.ts": /*!***********************************************!*\ !*** ./adapters/REST/endpoints/app-action.ts ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ create: () => (/* binding */ create), /* harmony export */ del: () => (/* binding */ del), /* harmony export */ get: () => (/* binding */ get), /* harmony export */ getMany: () => (/* binding */ getMany), /* harmony export */ getManyForEnvironment: () => (/* binding */ getManyForEnvironment), /* harmony export */ update: () => (/* binding */ update) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./adapters/REST/endpoints/utils.ts"); const getBaseUrl = params => `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/actions`; const getAppActionUrl = params => `${getBaseUrl(params)}/${params.appActionId}`; const getAppActionsEnvUrl = params => { if (params.environmentId) { return `/spaces/${params.spaceId}/environments/${params.environmentId}/actions`; } return `/spaces/${params.spaceId}/actions`; }; const get = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, getAppActionUrl(params)); }; const getMany = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, getBaseUrl(params), { params: (0,_utils__WEBPACK_IMPORTED_MODULE_1__.normalizeSelect)(params.query) }); }; const getManyForEnvironment = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, getAppActionsEnvUrl(params), { params: (0,_utils__WEBPACK_IMPORTED_MODULE_1__.normalizeSelect)(params.query) }); }; const del = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.del(http, getAppActionUrl(params)); }; const create = (http, params, data) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.post(http, getBaseUrl(params), data); }; const update = (http, params, data) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.put(http, getAppActionUrl(params), data); }; /***/ }), /***/ "./adapters/REST/endpoints/app-bundle.ts": /*!***********************************************!*\ !*** ./adapters/REST/endpoints/app-bundle.ts ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ create: () => (/* binding */ create), /* harmony export */ del: () => (/* binding */ del), /* harmony export */ get: () => (/* binding */ get), /* harmony export */ getMany: () => (/* binding */ getMany) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./adapters/REST/endpoints/utils.ts"); const getBaseUrl = params => `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/app_bundles`; const getAppBundleUrl = params => `${getBaseUrl(params)}/${params.appBundleId}`; const get = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, getAppBundleUrl(params)); }; const getMany = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, getBaseUrl(params), { params: (0,_utils__WEBPACK_IMPORTED_MODULE_1__.normalizeSelect)(params.query) }); }; const del = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.del(http, getAppBundleUrl(params)); }; const create = (http, params, payload) => { const { appUploadId, comment, actions, functions } = payload; const data = { upload: { sys: { type: 'Link', linkType: 'AppUpload', id: appUploadId } }, comment, actions, functions }; return _raw__WEBPACK_IMPORTED_MODULE_0__.post(http, getBaseUrl(params), data); }; /***/ }), /***/ "./adapters/REST/endpoints/app-definition.ts": /*!***************************************************!*\ !*** ./adapters/REST/endpoints/app-definition.ts ***! \***************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ create: () => (/* binding */ create), /* harmony export */ del: () => (/* binding */ del), /* harmony export */ get: () => (/* binding */ get), /* harmony export */ getAppDefinitionUrl: () => (/* binding */ getAppDefinitionUrl), /* harmony export */ getInstallationsForOrg: () => (/* binding */ getInstallationsForOrg), /* harmony export */ getMany: () => (/* binding */ getMany), /* harmony export */ update: () => (/* binding */ update) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); /* harmony import */ var fast_copy__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! fast-copy */ "../node_modules/fast-copy/dist/esm/index.mjs"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./adapters/REST/endpoints/utils.ts"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } const getBaseUrl = params => `/organizations/${params.organizationId}/app_definitions`; const getAppDefinitionUrl = params => getBaseUrl(params) + `/${params.appDefinitionId}`; const getBaseUrlForOrgInstallations = params => `/app_definitions/${params.appDefinitionId}/app_installations`; const get = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, getAppDefinitionUrl(params), { params: (0,_utils__WEBPACK_IMPORTED_MODULE_2__.normalizeSelect)(params.query) }); }; const getMany = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, getBaseUrl(params), { params: params.query }); }; const create = (http, params, rawData) => { const data = (0,fast_copy__WEBPACK_IMPORTED_MODULE_1__["default"])(rawData); return _raw__WEBPACK_IMPORTED_MODULE_0__.post(http, getBaseUrl(params), data); }; const update = (http, params, rawData, headers) => { var _rawData$sys$version; const data = (0,fast_copy__WEBPACK_IMPORTED_MODULE_1__["default"])(rawData); delete data.sys; return _raw__WEBPACK_IMPORTED_MODULE_0__.put(http, getAppDefinitionUrl(params), data, { headers: _objectSpread({ 'X-Contentful-Version': (_rawData$sys$version = rawData.sys.version) !== null && _rawData$sys$version !== void 0 ? _rawData$sys$version : 0 }, headers) }); }; const del = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.del(http, getAppDefinitionUrl(params)); }; const getInstallationsForOrg = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, getBaseUrlForOrgInstallations(params), { params: _objectSpread(_objectSpread({}, (0,_utils__WEBPACK_IMPORTED_MODULE_2__.normalizeSpaceId)((0,_utils__WEBPACK_IMPORTED_MODULE_2__.normalizeSelect)(params.query))), {}, { 'sys.organization.sys.id[in]': params.organizationId }) }); }; /***/ }), /***/ "./adapters/REST/endpoints/app-details.ts": /*!************************************************!*\ !*** ./adapters/REST/endpoints/app-details.ts ***! \************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ del: () => (/* binding */ del), /* harmony export */ get: () => (/* binding */ get), /* harmony export */ upsert: () => (/* binding */ upsert) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); const get = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/details`); }; const upsert = (http, params, data) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.put(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/details`, data); }; const del = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.del(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/details`); }; /***/ }), /***/ "./adapters/REST/endpoints/app-event-subscription.ts": /*!***********************************************************!*\ !*** ./adapters/REST/endpoints/app-event-subscription.ts ***! \***********************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ del: () => (/* binding */ del), /* harmony export */ get: () => (/* binding */ get), /* harmony export */ upsert: () => (/* binding */ upsert) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); const get = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/event_subscription`); }; const upsert = (http, params, data) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.put(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/event_subscription`, data); }; const del = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.del(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/event_subscription`); }; /***/ }), /***/ "./adapters/REST/endpoints/app-installation.ts": /*!*****************************************************!*\ !*** ./adapters/REST/endpoints/app-installation.ts ***! \*****************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ del: () => (/* binding */ del), /* harmony export */ get: () => (/* binding */ get), /* harmony export */ getAppInstallationUrl: () => (/* binding */ getAppInstallationUrl), /* harmony export */ getForOrganization: () => (/* binding */ getForOrganization), /* harmony export */ getMany: () => (/* binding */ getMany), /* harmony export */ upsert: () => (/* binding */ upsert) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./adapters/REST/endpoints/utils.ts"); /* harmony import */ var fast_copy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! fast-copy */ "../node_modules/fast-copy/dist/esm/index.mjs"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; } function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } const getBaseUrl = params => `/spaces/${params.spaceId}/environments/${params.environmentId}/app_installations`; const getBaseUrlForOrgInstallations = params => `/app_definitions/${params.appDefinitionId}/app_installations`; const getAppInstallationUrl = params => getBaseUrl(params) + `/${params.appDefinitionId}`; const get = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, getAppInstallationUrl(params), { params: (0,_utils__WEBPACK_IMPORTED_MODULE_1__.normalizeSelect)(params.query) }); }; const getMany = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, getBaseUrl(params), { params: (0,_utils__WEBPACK_IMPORTED_MODULE_1__.normalizeSelect)(params.query) }); }; const upsert = (http, params, rawData, headers) => { const data = (0,fast_copy__WEBPACK_IMPORTED_MODULE_2__["default"])(rawData); return _raw__WEBPACK_IMPORTED_MODULE_0__.put(http, getAppInstallationUrl(params), data, { headers: _objectSpread(_objectSpread({}, headers), params.acceptAllTerms && { 'X-Contentful-Marketplace': 'i-accept-end-user-license-agreement,i-accept-marketplace-terms-of-service,i-accept-privacy-policy' }) }); }; const del = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.del(http, getAppInstallationUrl(params)); }; const getForOrganization = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, getBaseUrlForOrgInstallations(params), { params: _objectSpread(_objectSpread({}, (0,_utils__WEBPACK_IMPORTED_MODULE_1__.normalizeSpaceId)((0,_utils__WEBPACK_IMPORTED_MODULE_1__.normalizeSelect)(params.query))), {}, { 'sys.organization.sys.id[in]': params.organizationId }) }); }; /***/ }), /***/ "./adapters/REST/endpoints/app-key.ts": /*!********************************************!*\ !*** ./adapters/REST/endpoints/app-key.ts ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ create: () => (/* binding */ create), /* harmony export */ del: () => (/* binding */ del), /* harmony export */ get: () => (/* binding */ get), /* harmony export */ getMany: () => (/* binding */ getMany) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); const get = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/keys/${params.fingerprint}`); }; const getMany = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/keys`); }; const create = (http, params, data) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.post(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/keys`, data); }; const del = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.del(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/keys/${params.fingerprint}`); }; /***/ }), /***/ "./adapters/REST/endpoints/app-signed-request.ts": /*!*******************************************************!*\ !*** ./adapters/REST/endpoints/app-signed-request.ts ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ create: () => (/* binding */ create) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); const create = (http, params, data) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.post(http, `/spaces/${params.spaceId}/environments/${params.environmentId}/app_installations/${params.appDefinitionId}/signed_requests`, data); }; /***/ }), /***/ "./adapters/REST/endpoints/app-signing-secret.ts": /*!*******************************************************!*\ !*** ./adapters/REST/endpoints/app-signing-secret.ts ***! \*******************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ del: () => (/* binding */ del), /* harmony export */ get: () => (/* binding */ get), /* harmony export */ upsert: () => (/* binding */ upsert) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); const get = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.get(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/signing_secret`); }; const upsert = (http, params, data) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.put(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/signing_secret`, data); }; const del = (http, params) => { return _raw__WEBPACK_IMPORTED_MODULE_0__.del(http, `/organizations/${params.organizationId}/app_definitions/${params.appDefinitionId}/signing_secret`); }; /***/ }), /***/ "./adapters/REST/endpoints/app-upload.ts": /*!***********************************************!*\ !*** ./adapters/REST/endpoints/app-upload.ts ***! \***********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ create: () => (/* binding */ create), /* harmony export */ del: () => (/* binding */ del), /* harmony export */ get: () => (/* binding */ get) /* harmony export */ }); /* harmony import */ var _raw__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./raw */ "./adapters/REST/endpoints/raw.ts"); /* harmony import */ var _upload_http_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../upload-http-client */ "./upload-http-client.ts"); const getBaseUrl = params => `/organizations/${params.organizationId}/app_uploads`; const getAppUploadUrl = params => `${getBaseUrl(params)}/${params.appUploadId}`; const get = (http, params) => { const httpUpload = (0,_upload_http_client__WEBPACK_IMPORTED_MODULE_1__.getUploadHttpClient)(http); return _raw__WEBPACK_IMPORTED_MODULE_0__.get(httpUpload, getAppUploadUrl(params)); }; const del = (http, params) => { const httpUpload = (0,_upload_http_client__WEBPACK_IMPORTED_MODULE_1__.getUploadHttpClient)(http); return _raw__WEBPACK_IMPORTED_MODULE_0__.del(httpUpload, getAppUploadUrl(params)); }; const create = (http, params, payload) => { const httpUpload = (0,_upload_http_client__WEBPACK_IMPORTED_MODULE_1__.getUploadHttpClient)(http); const { file } = payload; return _raw__WEBPACK_IMPORTED_MODULE_0__.post(httpUpload, getBaseUrl(params), file, { headers: { 'Content-Type': 'application/octet-stream' } }); }; /***/ }), /***/ "./adapters/REST/endpoints/asset-key.ts": /*!**********************************************!*\ !*** ./adapters/REST/endpoints/asset-key.ts ***! \**********************************************/ /***/ ((__unused_webpack_module, __w