@contentstack/cli-cm-export 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,61 @@
1
+ let config = require('../../config/default');
2
+ const sdk = require('./contentstack-management-sdk');
3
+ const { cliux, HttpClient, configHandler } = require('@contentstack/cli-utilities');
4
+
5
+ const getInstalledExtensions = (config) => {
6
+ const client = sdk.Client(config)
7
+
8
+ return new Promise((resolve, reject) => {
9
+ const queryRequestOptions = {
10
+ include_marketplace_extensions: true
11
+ }
12
+ const {
13
+ management_token_data: { apiKey: api_key, token: management_token } = { apiKey: config.source_stack },
14
+ auth_token
15
+ } = config || { management_token_data: {} }
16
+
17
+ if (api_key && management_token) {
18
+ client
19
+ .stack({ api_key, management_token })
20
+ .extension()
21
+ .query(queryRequestOptions)
22
+ .find()
23
+ .then(({ items }) => resolve(items))
24
+ .catch(reject)
25
+ } else if (api_key && auth_token) {
26
+ const { cma } = configHandler.get('region') || {};
27
+ const headers = {
28
+ api_key,
29
+ authtoken: auth_token
30
+ }
31
+ const httpClient = new HttpClient().headers(headers);
32
+ httpClient.get(`${cma}/v3/extensions/?include_marketplace_extensions=true`)
33
+ .then(({ data: { extensions } }) => resolve(extensions))
34
+ .catch(reject)
35
+ } else {
36
+ resolve([])
37
+ }
38
+ })
39
+ }
40
+
41
+ const getDeveloperHubUrl = async () => {
42
+ const { cma, name } = configHandler.get('region') || {};
43
+ let developerHubBaseUrl = config.developerHubUrls[cma];
44
+
45
+ if (!developerHubBaseUrl) {
46
+ developerHubBaseUrl = await cliux.inquire({
47
+ type: 'input',
48
+ name: 'name',
49
+ validate: (url) => {
50
+ if (!url) return "Developer-hub URL can't be empty.";
51
+
52
+ return true;
53
+ },
54
+ message: `Enter the developer-hub base URL for the ${name} region - `,
55
+ });
56
+ }
57
+
58
+ return developerHubBaseUrl.startsWith('http') ? developerHubBaseUrl : `https://${developerHubBaseUrl}`;
59
+ }
60
+
61
+ module.exports = { getInstalledExtensions, getDeveloperHubUrl }
@@ -8,12 +8,12 @@ const setupBranches = async (config, branch) => {
8
8
  throw new Error('Invalid config to setup the branch');
9
9
  }
10
10
  let branches = [];
11
- const headers = { api_key: config.source_stack }
11
+ const headers = { api_key: config.source_stack };
12
12
 
13
13
  if (config.auth_token) {
14
- headers['authtoken'] = config.auth_token
14
+ headers['authtoken'] = config.auth_token;
15
15
  } else if (config.management_token) {
16
- headers['authorization'] = config.management_token
16
+ headers['authorization'] = config.management_token;
17
17
  }
18
18
 
19
19
  if (typeof branch === 'string') {
@@ -29,14 +29,12 @@ const setupBranches = async (config, branch) => {
29
29
  }
30
30
  } else {
31
31
  try {
32
- const result = await HttpClient.create()
33
- .headers(headers)
34
- .get(`https://${config.host}/v3/stacks/branches`);
32
+ const result = await HttpClient.create().headers(headers).get(`https://${config.host}/v3/stacks/branches`);
35
33
 
36
34
  if (result && result.data && Array.isArray(result.data.branches) && result.data.branches.length > 0) {
37
35
  branches = result.data.branches;
38
36
  } else {
39
- branches.push('main');
37
+ return;
40
38
  }
41
39
  } catch (error) {
42
40
  return;