@axway/axway-central-cli 3.5.0 → 3.6.0-rc.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.
@@ -28,7 +28,8 @@ const action = async ({
28
28
  args,
29
29
  region,
30
30
  cache,
31
- yes
31
+ yes,
32
+ forceDelete
32
33
  } = argv;
33
34
  let isCmdError = true; // let's be pessimistic.
34
35
  const typedResource = args[0];
@@ -114,13 +115,27 @@ ${defsManager.getDefsTableForHelpMsg()}`);
114
115
  process.exit(1);
115
116
  }
116
117
  }
118
+
119
+ // Ask user if it's okay to delete when "--forceDelete" option is set.
120
+ if (forceDelete) {
121
+ let result = _types.YesNo.Yes;
122
+ result = await (0, _basicPrompts.askList)({
123
+ msg: 'Are you sure you want to force delete this resource?',
124
+ choices: _types.YesNoChoices,
125
+ default: _types.YesNo.No
126
+ });
127
+ if (result === _types.YesNo.No) {
128
+ process.exit(1);
129
+ }
130
+ }
117
131
  render.startSpin(`Deleting resources${wait ? ' and waiting for them to be deleted' : ''}`);
118
132
  const results = await Promise.all(matchingDefs.map(async defs => client.deleteResourceByName({
119
133
  resourceDef: defs.resource,
120
134
  resourceName: typedName,
121
135
  scopeDef: defs.scope,
122
136
  scopeName: scope === null || scope === void 0 ? void 0 : scope.name,
123
- wait
137
+ wait,
138
+ forceDelete
124
139
  })));
125
140
 
126
141
  // considering the command successful if at least 1 response found
@@ -139,7 +154,7 @@ ${defsManager.getDefsTableForHelpMsg()}`);
139
154
  const {
140
155
  docs
141
156
  } = await (0, _utils.loadAndVerifySpecs)(file, defsManager.getAllKindsList());
142
- bulkResults = await client.bulkDelete(docs, defsManager.getSortedKindsMap(), wait);
157
+ bulkResults = await client.bulkDelete(docs, defsManager.getSortedKindsMap(), wait, forceDelete);
143
158
  render.bulkResult(bulkResults, 'has successfully been deleted.');
144
159
  isCmdError = !!bulkResults.error.length;
145
160
  }
@@ -66,6 +66,7 @@ class ApiServerClient {
66
66
  scopeDef,
67
67
  scopeName,
68
68
  version = ApiServerVersions.v1alpha1,
69
+ forceDelete = false,
69
70
  expand,
70
71
  langDef
71
72
  }) {
@@ -77,12 +78,13 @@ class ApiServerClient {
77
78
  const langDefUrl = langDef ? this.buildLanguageDefinitionUrl({
78
79
  langCode: langDef
79
80
  }) : '';
81
+ const forceDeleteUrl = forceDelete ? `?forceDelete=${forceDelete}` : '';
80
82
  if (expand) {
81
83
  return `${groupUrl}${scopeUrl}${resourceUrl}${nameUrl}${expandUrl}`;
82
84
  } else if (langDef) {
83
85
  return `${groupUrl}${scopeUrl}${resourceUrl}${nameUrl}${langDefUrl}`;
84
86
  } else {
85
- return `${groupUrl}${scopeUrl}${resourceUrl}${nameUrl}`;
87
+ return `${groupUrl}${scopeUrl}${resourceUrl}${nameUrl}${forceDeleteUrl}`;
86
88
  }
87
89
  }
88
90
 
@@ -494,7 +496,8 @@ class ApiServerClient {
494
496
  scopeDef,
495
497
  scopeName,
496
498
  wait,
497
- version = ApiServerVersions.v1alpha1
499
+ version = ApiServerVersions.v1alpha1,
500
+ forceDelete = false
498
501
  }) {
499
502
  log(`deleteResourceByName, spec.kind = ${resourceDef.spec.kind}, name = ${resourceName}, scope.kind = ${scopeDef === null || scopeDef === void 0 ? void 0 : scopeDef.spec.kind}, scope.name = ${scopeName}`);
500
503
  const result = {
@@ -513,7 +516,8 @@ class ApiServerClient {
513
516
  resourceName,
514
517
  scopeDef,
515
518
  scopeName,
516
- version
519
+ version,
520
+ forceDelete
517
521
  });
518
522
  const response = await service.delete(url);
519
523
  // note: delete "response" value from api-server is translated to an empty string currently.
@@ -987,7 +991,7 @@ class ApiServerClient {
987
991
  * Order of calls calculated by sorting of the array of resources with "compareResourcesByKindDesc".
988
992
  * @param resources array of resources to create
989
993
  */
990
- async bulkDelete(resources, sortedDefsMap, wait, version) {
994
+ async bulkDelete(resources, sortedDefsMap, wait, forceDelete, version) {
991
995
  log(`bulk delete`);
992
996
  // sort() is modifying the existing array so cloning it before use.
993
997
  const sortedDefsArray = Array.from(sortedDefsMap.values());
@@ -1026,7 +1030,8 @@ class ApiServerClient {
1026
1030
  resourceDef,
1027
1031
  scopeDef,
1028
1032
  scopeName,
1029
- version
1033
+ version,
1034
+ forceDelete
1030
1035
  });
1031
1036
  if (res.error) {
1032
1037
  for (const nextError of res.error) {
@@ -57,6 +57,7 @@ const parseAsTable = (response, columns) => {
57
57
  for (const col of columns) {
58
58
  // jsonPath starts with '.' so using the substring
59
59
  let value = (0, _get.default)(i, col.jsonPath.substring(1));
60
+ let deletingState = (0, _get.default)(i, "metadata.state");
60
61
  if (col.type === 'date') {
61
62
  value = (0, _dayjs.default)(value).fromNow();
62
63
  } else if (col.type === 'teamGuid' && !value) {
@@ -64,7 +65,11 @@ const parseAsTable = (response, columns) => {
64
65
  } else if (value && value.length > _types.MAX_TABLE_STRING_LENGTH + 3) {
65
66
  value = value.substring(0, _types.MAX_TABLE_STRING_LENGTH / 2) + '...' + value.substring(value.length - _types.MAX_TABLE_STRING_LENGTH / 2);
66
67
  }
67
- t.cell(col.name.toUpperCase(), value);
68
+ if (deletingState) {
69
+ t.cell(col.name.toUpperCase(), _chalk.default.yellow(value));
70
+ } else {
71
+ t.cell(col.name.toUpperCase(), value);
72
+ }
68
73
  }
69
74
  t.newRow();
70
75
  }
@@ -269,17 +269,16 @@ let DataPlaneNames = exports.DataPlaneNames = /*#__PURE__*/function (DataPlaneNa
269
269
  DataPlaneNames["GITHUB"] = "GitHub";
270
270
  DataPlaneNames["GITLAB"] = "GitLab";
271
271
  DataPlaneNames["AZURE"] = "Azure";
272
- DataPlaneNames["EDGE"] = "Edge";
272
+ DataPlaneNames["EDGE"] = "APIM";
273
273
  DataPlaneNames["KAFKA"] = "Kafka";
274
274
  DataPlaneNames["GRAYLOG"] = "Graylog";
275
275
  DataPlaneNames["IBMAPICONNECT"] = "APIConnect";
276
276
  DataPlaneNames["KONG"] = "Kong";
277
- DataPlaneNames["SOFTWAREAGWEBMETHODS"] = "Software AG WebMethods";
277
+ DataPlaneNames["SOFTWAREAGWEBMETHODS"] = "WebMethods";
278
278
  DataPlaneNames["SWAGGERHUB"] = "SwaggerHub";
279
279
  DataPlaneNames["TRACEABLE"] = "Traceable";
280
280
  DataPlaneNames["MULESOFT"] = "Mulesoft";
281
- DataPlaneNames["WSO2"] = "WSO2";
282
- DataPlaneNames["OTHER"] = "Other";
281
+ DataPlaneNames["OTHER"] = "Unidentified";
283
282
  return DataPlaneNames;
284
283
  }({});
285
284
  const GatewayTypeToDataPlane = exports.GatewayTypeToDataPlane = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axway/axway-central-cli",
3
- "version": "3.5.0",
3
+ "version": "3.6.0-rc.0",
4
4
  "description": "Manage APIs, services and publish to the Amplify Marketplace",
5
5
  "homepage": "https://platform.axway.com",
6
6
  "author": {