UNPKG

@contentstack/management

Version:

The Content Management API is used to manage the content of your Contentstack account

128 lines (124 loc) 5.17 kB
"use strict"; var _interopRequireDefault3 = require("@babel/runtime/helpers/interopRequireDefault"); var _interopRequireDefault2 = _interopRequireDefault3(require("@babel/runtime/helpers/interopRequireDefault")); Object.defineProperty(exports, "__esModule", { value: true }); exports.ManagementToken = ManagementToken; exports.ManagementTokenCollection = ManagementTokenCollection; var _cloneDeep = require("lodash/cloneDeep"); var _cloneDeep2 = (0, _interopRequireDefault2["default"])(_cloneDeep); var _entity = require("../../entity"); /** * Management tokens provide read-only access to the associated environments. Read more about <a href='https://www.contentstack.com/docs/developers/create-tokens/about-management-tokens'>ManagementToken</a>. * @namespace ManagementToken */ function ManagementToken(http) { var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; this.stackHeaders = data.stackHeaders; this.urlPath = "/stacks/management_tokens"; if (data.token) { Object.assign(this, (0, _cloneDeep2["default"])(data.token)); this.urlPath = "/stacks/management_tokens/".concat(this.uid); /** * @description The Update ManagementToken call lets you update the name and description of an existing ManagementToken. * @memberof ManagementToken * @func update * @returns {Promise<ManagementToken.ManagementToken>} Promise for ManagementToken instance * @example * import * as contentstack from '@contentstack/management' * const client = contentstack.client() * * client.stack({ api_key: 'api_key'}).managementToken('management_token_uid').fetch() * .then((managementToken) => { * managementToken.title = 'My New management token' * managementToken.description = 'management token description' * return managementToken.update() * }) * .then((managementToken) => console.log(managementToken)) * */ this.update = (0, _entity.update)(http, 'token'); /** * @description The Delete ManagementToken call is used to delete an existing ManagementToken permanently from your Stack. * @memberof ManagementToken * @func delete * @returns {Object} Response Object. * @example * import * as contentstack from '@contentstack/management' * const client = contentstack.client() * * client.stack({ api_key: 'api_key'}).managementToken('management_token_uid').delete() * .then((response) => console.log(response.notice)) */ this["delete"] = (0, _entity.deleteEntity)(http); /** * @description The fetch ManagementToken call fetches ManagementToken details. * @memberof ManagementToken * @func fetch * @returns {Promise<ManagementToken.ManagementToken>} Promise for ManagementToken instance * @example * import * as contentstack from '@contentstack/management' * const client = contentstack.client() * * client.stack({ api_key: 'api_key'}).managementToken('management_token_uid').fetch() * .then((managementToken) => console.log(managementToken)) * */ this.fetch = (0, _entity.fetch)(http, 'token'); } else { /** * @description The Create a ManagementToken call creates a new ManagementToken in a particular stack of your Contentstack account. * @memberof ManagementToken * @func create * @returns {Promise<ManagementToken.ManagementToken>} Promise for ManagementToken instance * * @example * import * as contentstack from '@contentstack/management' * const client = contentstack.client() * const token = { * name: 'Test', * description: 'This is a demo token.', * scope: [{ * module: 'environment', * environments: ['development'], * acl: { * read: true * } * }] * } * * client.stack().managementToken().create({ token }) * .then((managementToken) => console.log(managementToken)) */ this.create = (0, _entity.create)({ http: http }); /** * @description The ‘Get all managementToken’ request returns comprehensive information about all managementToken created in a stack. * @memberof ManagementToken * @func query * @returns {ContentstackCollection} Instance of ContentstackCollection. * @example * import * as contentstack from '@contentstack/management' * const client = contentstack.client() * * client.stack().managementToken().query({ query: { name: 'token_name' } })).find() * .then((contentstackCollection) => console.log(contentstackCollection)) */ this.query = (0, _entity.query)({ http: http, wrapperCollection: ManagementTokenCollection }); } } function ManagementTokenCollection(http, data) { var obj = (0, _cloneDeep2["default"])(data.tokens) || []; var managementTokenCollection = obj.map(function (managementTokenData) { return new ManagementToken(http, { token: managementTokenData, stackHeaders: data.stackHeaders }); }); return managementTokenCollection; }