@next-core/brick-kit 2.116.1 → 2.117.2

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,44 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.117.2](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.117.1...@next-core/brick-kit@2.117.2) (2022-04-07)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * support service name ([63b8f0b](https://github.com/easyops-cn/next-core/commit/63b8f0be85d4d213e8fd308beec84d0bbdee210d))
12
+
13
+
14
+
15
+
16
+
17
+ ## [2.117.1](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.117.0...@next-core/brick-kit@2.117.1) (2022-04-07)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * use an empty placeholder for template preview ([b24c623](https://github.com/easyops-cn/next-core/commit/b24c623f6d7f6405808f385297612e17afb362af))
23
+
24
+
25
+
26
+
27
+
28
+ # [2.117.0](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.116.1...@next-core/brick-kit@2.117.0) (2022-04-06)
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * contract refactor ([a506766](https://github.com/easyops-cn/next-core/commit/a5067664253a51a007b8fea96ddf7efefd7da7d8))
34
+
35
+
36
+ ### Features
37
+
38
+ * support previewing template by settings ([b1fa0f9](https://github.com/easyops-cn/next-core/commit/b1fa0f9e4d774a6b4162643348ca49402bde1479))
39
+
40
+
41
+
42
+
43
+
6
44
  ## [2.116.1](https://github.com/easyops-cn/next-core/compare/@next-core/brick-kit@2.116.0...@next-core/brick-kit@2.116.1) (2022-04-06)
7
45
 
8
46
  **Note:** Version bump only for package @next-core/brick-kit
@@ -3175,6 +3175,11 @@
3175
3175
  function _dev_only_updateStoryboard(appId, storyboardPatch) {
3176
3176
  kernel._dev_only_updateStoryboard(appId, storyboardPatch);
3177
3177
  }
3178
+ /* istanbul ignore next */
3179
+
3180
+ function _dev_only_updateTemplatePreviewSettings(appId, templateId, settings) {
3181
+ kernel._dev_only_updateTemplatePreviewSettings(appId, templateId, settings);
3182
+ }
3178
3183
  class Runtime {
3179
3184
  constructor() {
3180
3185
  _defineProperty__default["default"](this, "registerBrickTemplate", registerBrickTemplate);
@@ -5590,6 +5595,16 @@
5590
5595
  return;
5591
5596
  };
5592
5597
 
5598
+ var contractsMap = new Map();
5599
+ function collectContract(contracts) {
5600
+ contracts === null || contracts === void 0 ? void 0 : contracts.forEach(contract => {
5601
+ contractsMap.set("".concat(contract.namespaceId, ".").concat(contract.name), contract);
5602
+ });
5603
+ }
5604
+ function getContract(name) {
5605
+ return contractsMap.get(name);
5606
+ }
5607
+
5593
5608
  var flowApiDefinitionPromiseMap = new Map(); // Legacy Custom API: `${namespace}@${name}`
5594
5609
  // Flow API: `${namespace}@${name}:${version}`
5595
5610
 
@@ -5623,8 +5638,10 @@
5623
5638
  var {
5624
5639
  uri,
5625
5640
  method,
5641
+ ext_fields,
5626
5642
  name,
5627
5643
  namespace,
5644
+ serviceName,
5628
5645
  responseWrapper,
5629
5646
  version,
5630
5647
  isFileType
@@ -5638,22 +5655,24 @@
5638
5655
  var {
5639
5656
  url,
5640
5657
  args
5641
- } = getTransformedUriAndRestArgs(uri, originalArgs, name, namespace, version);
5658
+ } = getTransformedUriAndRestArgs(uri, originalArgs, name, namespace, serviceName, version);
5642
5659
  return isFileType ? [fileName, {
5643
5660
  url,
5644
5661
  method,
5662
+ ext_fields,
5645
5663
  responseWrapper: false
5646
5664
  }, ...args, {
5647
5665
  responseType: "blob"
5648
5666
  }] : [{
5649
5667
  url,
5650
5668
  method,
5669
+ ext_fields,
5651
5670
  responseWrapper
5652
5671
  }, ...args];
5653
5672
  }
5654
5673
 
5655
- function getTransformedUriAndRestArgs(uri, originalArgs, name, namespace, version) {
5656
- var prefix = version ? "api/gateway/".concat(namespace, ".").concat(name, "@").concat(version) : "api/gateway/api_service.".concat(namespace, ".").concat(name);
5674
+ function getTransformedUriAndRestArgs(uri, originalArgs, name, namespace, serviceName, version) {
5675
+ var prefix = version ? serviceName ? "api/gateway/".concat(serviceName) : "api/gateway/".concat(namespace, ".").concat(name, "@").concat(version) : "api/gateway/api_service.".concat(namespace, ".").concat(name);
5657
5676
  var restArgs = originalArgs.slice();
5658
5677
  var transformedUri = uri.replace(/:([^/]+)/g, () => restArgs.shift());
5659
5678
  return {
@@ -5671,7 +5690,8 @@
5671
5690
  }) : api.contract;
5672
5691
  var {
5673
5692
  uri,
5674
- method = "GET"
5693
+ method = "GET",
5694
+ ext_fields
5675
5695
  } = (_contract$endpoint = contract === null || contract === void 0 ? void 0 : contract.endpoint) !== null && _contract$endpoint !== void 0 ? _contract$endpoint : {};
5676
5696
  var responseWrapper = contract !== null && contract !== void 0 && contract.response ? contract.response.wrapper !== false : false;
5677
5697
 
@@ -5682,8 +5702,10 @@
5682
5702
  return {
5683
5703
  uri,
5684
5704
  method: method.toLowerCase() === "list" ? "get" : method,
5705
+ ext_fields,
5685
5706
  name: api.name,
5686
5707
  namespace: api.namespace,
5708
+ serviceName: api.serviceName,
5687
5709
  version: api.version,
5688
5710
  isFileType: (contract === null || contract === void 0 ? void 0 : (_contract$response = contract.response) === null || _contract$response === void 0 ? void 0 : _contract$response.type) === "file",
5689
5711
  responseWrapper
@@ -5717,7 +5739,7 @@
5717
5739
  var {
5718
5740
  list
5719
5741
  } = yield InstanceApi_postSearchV3("FLOW_BUILDER_API_CONTRACT@EASYOPS", {
5720
- fields: ["name", "namespaceId", "endpoint", "response", "version"],
5742
+ fields: ["name", "namespaceId", "endpoint", "response", "version", "serviceName"],
5721
5743
  query: {
5722
5744
  namespaceId: {
5723
5745
  $eq: namespaceName
@@ -5729,11 +5751,12 @@
5729
5751
  });
5730
5752
 
5731
5753
  if ((_list$ = list[0]) !== null && _list$ !== void 0 && _list$.instanceId) {
5732
- var _list$2;
5754
+ var _list$2, _list$3;
5733
5755
 
5734
5756
  return {
5735
5757
  name: list[0].name,
5736
5758
  namespace: (_list$2 = list[0]) === null || _list$2 === void 0 ? void 0 : _list$2.namespaceId,
5759
+ serviceName: (_list$3 = list[0]) === null || _list$3 === void 0 ? void 0 : _list$3.serviceName,
5737
5760
  version: list[0].version,
5738
5761
  contract: {
5739
5762
  endpoint: list[0].endpoint,
@@ -5742,25 +5765,41 @@
5742
5765
  };
5743
5766
  }
5744
5767
  } else {
5745
- var {
5746
- contractData
5747
- } = yield ContractApi_searchSingleContract({
5748
- contractName: "".concat(namespaceName, ".").concat(name),
5749
- version
5750
- }); // return undefined if don't found contract
5751
-
5752
- if (contractData) {
5753
- var _contractData$namespa, _contractData$namespa2;
5768
+ var contract;
5754
5769
 
5770
+ if (contract = getContract("".concat(namespaceName, ".").concat(name))) {
5755
5771
  return {
5756
- name: contractData.name,
5757
- namespace: (_contractData$namespa = contractData.namespace) === null || _contractData$namespa === void 0 ? void 0 : (_contractData$namespa2 = _contractData$namespa[0]) === null || _contractData$namespa2 === void 0 ? void 0 : _contractData$namespa2.name,
5758
- version: contractData.version,
5772
+ name: contract.name,
5773
+ namespace: contract.namespaceId,
5774
+ serviceName: contract.serviceName,
5775
+ version: contract.version,
5759
5776
  contract: {
5760
- endpoint: contractData.endpoint,
5761
- response: contractData.response
5777
+ endpoint: contract.endpoint,
5778
+ response: contract.response
5762
5779
  }
5763
5780
  };
5781
+ } else {
5782
+ var {
5783
+ contractData
5784
+ } = yield ContractApi_searchSingleContract({
5785
+ contractName: "".concat(namespaceName, ".").concat(name),
5786
+ version
5787
+ }); // return undefined if don't found contract
5788
+
5789
+ if (contractData) {
5790
+ var _contractData$namespa, _contractData$namespa2;
5791
+
5792
+ return {
5793
+ name: contractData.name,
5794
+ namespace: (_contractData$namespa = contractData.namespace) === null || _contractData$namespa === void 0 ? void 0 : (_contractData$namespa2 = _contractData$namespa[0]) === null || _contractData$namespa2 === void 0 ? void 0 : _contractData$namespa2.name,
5795
+ serviceName: contractData.serviceName,
5796
+ version: contractData.version,
5797
+ contract: {
5798
+ endpoint: contractData.endpoint,
5799
+ response: contractData.response
5800
+ }
5801
+ };
5802
+ }
5764
5803
  }
5765
5804
  }
5766
5805
  });
@@ -6639,26 +6678,73 @@
6639
6678
  }
6640
6679
 
6641
6680
  var CUSTOM_API_PROVIDER = "brick-kit.provider-custom-api";
6642
- function CustomApi(_x, _x2, _x3) {
6681
+ function processExtFields(ext_fields) {
6682
+ var hasFields = type => {
6683
+ return ext_fields.some(item => item.source === type);
6684
+ };
6685
+
6686
+ var hasQueryParams = hasFields("query");
6687
+ var HasBodyParams = hasFields("body");
6688
+
6689
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
6690
+ args[_key - 1] = arguments[_key];
6691
+ }
6692
+
6693
+ if (hasQueryParams && HasBodyParams) {
6694
+ var [_data, params, _options] = args;
6695
+ return {
6696
+ data: _data,
6697
+ options: _objectSpread__default["default"]({
6698
+ params: params
6699
+ }, _options)
6700
+ };
6701
+ }
6702
+
6703
+ if (hasQueryParams) {
6704
+ var [_params, _options2] = args;
6705
+ return {
6706
+ data: {},
6707
+ options: _objectSpread__default["default"]({
6708
+ params: _params
6709
+ }, _options2)
6710
+ };
6711
+ } // only hasBodyParams or default
6712
+
6713
+
6714
+ var [data, options] = args;
6715
+ return {
6716
+ data,
6717
+ options
6718
+ };
6719
+ }
6720
+ function CustomApi(_x) {
6643
6721
  return _CustomApi.apply(this, arguments);
6644
6722
  }
6645
6723
 
6646
6724
  function _CustomApi() {
6647
- _CustomApi = _asyncToGenerator__default["default"](function* (_ref, data, options) {
6725
+ _CustomApi = _asyncToGenerator__default["default"](function* (_ref) {
6648
6726
  var {
6649
6727
  url,
6650
6728
  method = "GET",
6651
- responseWrapper = true
6729
+ responseWrapper = true,
6730
+ ext_fields = []
6652
6731
  } = _ref;
6653
6732
  var isSimpleRequest = ["get", "delete", "head"].includes(method.toLowerCase());
6654
6733
 
6734
+ for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
6735
+ args[_key2 - 1] = arguments[_key2];
6736
+ }
6737
+
6655
6738
  if (isSimpleRequest) {
6739
+ var [data, options] = args;
6656
6740
  var response = yield brickHttp.http.simpleRequest(method, url, _objectSpread__default["default"]({
6657
6741
  params: data
6658
6742
  }, options));
6659
6743
  return responseWrapper ? response.data : response;
6660
6744
  } else {
6661
- var _response = yield brickHttp.http.requestWithBody(method, url, data, options);
6745
+ var result = processExtFields(ext_fields, ...args);
6746
+
6747
+ var _response = yield brickHttp.http.requestWithBody(method, url, result.data, result.options);
6662
6748
 
6663
6749
  return responseWrapper ? _response.data : _response;
6664
6750
  }
@@ -7910,6 +7996,26 @@
7910
7996
  this.postProcessStoryboard(storyboard);
7911
7997
  }
7912
7998
 
7999
+ _dev_only_updateTemplatePreviewSettings(appId, templateId, settings) {
8000
+ var {
8001
+ routes
8002
+ } = this.bootstrapData.storyboards.find(item => item.app.id === appId);
8003
+ var previewPath = "${APP.homepage}/_dev_only_/template-preview/".concat(templateId);
8004
+ var previewRouteIndex = routes.findIndex(route => route.path === previewPath);
8005
+ var newPreviewRoute = {
8006
+ path: previewPath,
8007
+ bricks: [_objectSpread__default["default"]({
8008
+ brick: templateId
8009
+ }, lodash.pick(settings, "properties"))]
8010
+ };
8011
+
8012
+ if (previewRouteIndex === -1) {
8013
+ routes.push(newPreviewRoute);
8014
+ } else {
8015
+ routes.splice(previewRouteIndex, 1, newPreviewRoute);
8016
+ }
8017
+ }
8018
+
7913
8019
  loadDepsOfStoryboard(storyboard) {
7914
8020
  var _this6 = this;
7915
8021
 
@@ -9984,7 +10090,7 @@
9984
10090
  var storyboard = locationContext.matchStoryboard(_this3.kernel.bootstrapData.storyboards);
9985
10091
 
9986
10092
  if (storyboard) {
9987
- var _storyboard$meta, _storyboard$meta2;
10093
+ var _storyboard$meta, _storyboard$meta2, _storyboard$meta3;
9988
10094
 
9989
10095
  yield _this3.kernel.fulfilStoryboard(storyboard); // 将动态解析后的模板还原,以便重新动态解析。
9990
10096
 
@@ -10003,6 +10109,7 @@
10003
10109
 
10004
10110
  registerStoryboardFunctions((_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.functions, storyboard.app);
10005
10111
  registerMock((_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.mocks);
10112
+ collectContract((_storyboard$meta3 = storyboard.meta) === null || _storyboard$meta3 === void 0 ? void 0 : _storyboard$meta3.contracts);
10006
10113
  }
10007
10114
 
10008
10115
  var {
@@ -10055,7 +10162,13 @@
10055
10162
  };
10056
10163
 
10057
10164
  try {
10058
- yield locationContext.mountRoutes(storyboard.routes, undefined, mountRoutesResult);
10165
+ yield locationContext.mountRoutes( // Concat with a placeholder when loading template preview settings.
10166
+ storyboard.routes.concat({
10167
+ path: "${APP.homepage}/_dev_only_/template-preview/:templateId",
10168
+ bricks: [{
10169
+ brick: "span"
10170
+ }]
10171
+ }), undefined, mountRoutesResult);
10059
10172
  } catch (error) {
10060
10173
  // eslint-disable-next-line no-console
10061
10174
  console.error(error); // Redirect to login page if not logged in.
@@ -12968,7 +13081,8 @@
12968
13081
 
12969
13082
  /** @deprecated Keep it for backward-compatibility. */
12970
13083
  checkoutTplContext: lodash.noop,
12971
- updateStoryboard: _dev_only_updateStoryboard
13084
+ updateStoryboard: _dev_only_updateStoryboard,
13085
+ updateTemplatePreviewSettings: _dev_only_updateTemplatePreviewSettings
12972
13086
  };
12973
13087
 
12974
13088
  var _excluded$2 = ["type"];