@atlaskit/link-client-extension 1.10.0 → 1.11.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @atlaskit/link-client-extension
2
2
 
3
+ ## 1.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#122437](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/122437)
8
+ [`a5e13bc24add8`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a5e13bc24add8) -
9
+ Adds the executeAtomicAction function to forward a request to actions service and execute it in
10
+ useDatasourceClientExtension
11
+
3
12
  ## 1.10.0
4
13
 
5
14
  ### Minor Changes
@@ -81,26 +81,25 @@ var useDatasourceClientExtension = exports.useDatasourceClientExtension = functi
81
81
  return _ref.apply(this, arguments);
82
82
  };
83
83
  }();
84
- var getDatasourceDetails = (0, _react.useCallback)( /*#__PURE__*/function () {
85
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(datasourceId, data) {
86
- var force,
87
- _args2 = arguments;
84
+ var uncachedRequest = /*#__PURE__*/function () {
85
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(data, url) {
86
+ var responsePromise;
88
87
  return _regenerator.default.wrap(function _callee2$(_context2) {
89
88
  while (1) switch (_context2.prev = _context2.next) {
90
89
  case 0:
91
- force = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : false;
92
- return _context2.abrupt("return", cachedRequest(datasourceId, data, "".concat(resolverUrl, "/datasource/").concat(datasourceId, "/fetch/details"), datasourceDetailsResponsePromiseCache, force));
90
+ responsePromise = (0, _linkingCommon.request)('post', url, data, undefined, [200, 201, 202, 203, 204]);
91
+ return _context2.abrupt("return", responsePromise);
93
92
  case 2:
94
93
  case "end":
95
94
  return _context2.stop();
96
95
  }
97
96
  }, _callee2);
98
97
  }));
99
- return function (_x6, _x7) {
98
+ return function uncachedRequest(_x6, _x7) {
100
99
  return _ref2.apply(this, arguments);
101
100
  };
102
- }(), [resolverUrl]);
103
- var getDatasourceData = (0, _react.useCallback)( /*#__PURE__*/function () {
101
+ }();
102
+ var getDatasourceDetails = (0, _react.useCallback)( /*#__PURE__*/function () {
104
103
  var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(datasourceId, data) {
105
104
  var force,
106
105
  _args3 = arguments;
@@ -108,7 +107,7 @@ var useDatasourceClientExtension = exports.useDatasourceClientExtension = functi
108
107
  while (1) switch (_context3.prev = _context3.next) {
109
108
  case 0:
110
109
  force = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : false;
111
- return _context3.abrupt("return", cachedRequest(datasourceId, data, "".concat(resolverUrl, "/datasource/").concat(datasourceId, "/fetch/data"), datasourceDataResponsePromiseCache, force));
110
+ return _context3.abrupt("return", cachedRequest(datasourceId, data, "".concat(resolverUrl, "/datasource/").concat(datasourceId, "/fetch/details"), datasourceDetailsResponsePromiseCache, force));
112
111
  case 2:
113
112
  case "end":
114
113
  return _context3.stop();
@@ -119,38 +118,74 @@ var useDatasourceClientExtension = exports.useDatasourceClientExtension = functi
119
118
  return _ref3.apply(this, arguments);
120
119
  };
121
120
  }(), [resolverUrl]);
122
- var getDatasourceActionsAndPermissions = (0, _react.useCallback)( /*#__PURE__*/function () {
123
- var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(data) {
121
+ var getDatasourceData = (0, _react.useCallback)( /*#__PURE__*/function () {
122
+ var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(datasourceId, data) {
124
123
  var force,
125
- resolvedCacheIdKey,
126
124
  _args4 = arguments;
127
125
  return _regenerator.default.wrap(function _callee4$(_context4) {
128
126
  while (1) switch (_context4.prev = _context4.next) {
129
127
  case 0:
130
- force = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : false;
128
+ force = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : false;
129
+ return _context4.abrupt("return", cachedRequest(datasourceId, data, "".concat(resolverUrl, "/datasource/").concat(datasourceId, "/fetch/data"), datasourceDataResponsePromiseCache, force));
130
+ case 2:
131
+ case "end":
132
+ return _context4.stop();
133
+ }
134
+ }, _callee4);
135
+ }));
136
+ return function (_x10, _x11) {
137
+ return _ref4.apply(this, arguments);
138
+ };
139
+ }(), [resolverUrl]);
140
+ var getDatasourceActionsAndPermissions = (0, _react.useCallback)( /*#__PURE__*/function () {
141
+ var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(data) {
142
+ var force,
143
+ resolvedCacheIdKey,
144
+ _args5 = arguments;
145
+ return _regenerator.default.wrap(function _callee5$(_context5) {
146
+ while (1) switch (_context5.prev = _context5.next) {
147
+ case 0:
148
+ force = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : false;
131
149
  resolvedCacheIdKey = 'datasourceId' in data ? data.datasourceId : data.integrationKey; // This is just to prevent empty string being passed up to ORS and causing issues.
132
150
  if (resolvedCacheIdKey) {
133
- _context4.next = 4;
151
+ _context5.next = 4;
134
152
  break;
135
153
  }
136
154
  throw new Error('No target was supplied to retrieve actions for');
137
155
  case 4:
138
- return _context4.abrupt("return", cachedRequest(resolvedCacheIdKey, data, "".concat(resolverUrl, "/actions"), datasourceActionsPermissionsPromiseCache, force));
156
+ return _context5.abrupt("return", cachedRequest(resolvedCacheIdKey, data, "".concat(resolverUrl, "/actions"), datasourceActionsPermissionsPromiseCache, force));
139
157
  case 5:
140
158
  case "end":
141
- return _context4.stop();
159
+ return _context5.stop();
142
160
  }
143
- }, _callee4);
161
+ }, _callee5);
144
162
  }));
145
- return function (_x10) {
146
- return _ref4.apply(this, arguments);
163
+ return function (_x12) {
164
+ return _ref5.apply(this, arguments);
165
+ };
166
+ }(), [resolverUrl]);
167
+ var executeAtomicAction = (0, _react.useCallback)( /*#__PURE__*/function () {
168
+ var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(data) {
169
+ return _regenerator.default.wrap(function _callee6$(_context6) {
170
+ while (1) switch (_context6.prev = _context6.next) {
171
+ case 0:
172
+ return _context6.abrupt("return", uncachedRequest(data, "".concat(resolverUrl, "/actions/execute")));
173
+ case 1:
174
+ case "end":
175
+ return _context6.stop();
176
+ }
177
+ }, _callee6);
178
+ }));
179
+ return function (_x13) {
180
+ return _ref6.apply(this, arguments);
147
181
  };
148
182
  }(), [resolverUrl]);
149
183
  return (0, _react.useMemo)(function () {
150
184
  return {
151
185
  getDatasourceDetails: getDatasourceDetails,
152
186
  getDatasourceData: getDatasourceData,
153
- getDatasourceActionsAndPermissions: getDatasourceActionsAndPermissions
187
+ getDatasourceActionsAndPermissions: getDatasourceActionsAndPermissions,
188
+ executeAtomicAction: executeAtomicAction
154
189
  };
155
- }, [getDatasourceDetails, getDatasourceData, getDatasourceActionsAndPermissions]);
190
+ }, [getDatasourceDetails, getDatasourceData, getDatasourceActionsAndPermissions, executeAtomicAction]);
156
191
  };
@@ -4,8 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.mockDatasourceDetailsResponse = exports.mockDatasourceDataResponseWithSchema = exports.mockDatasourceDataResponse = exports.mockActionsDiscoveryResponse = void 0;
7
+ exports.mockExecuteActionResponseFailure = exports.mockExecuteActionResponse = exports.mockDatasourceDetailsResponse = exports.mockDatasourceDataResponseWithSchema = exports.mockDatasourceDataResponse = exports.mockActionsDiscoveryResponse = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _linkingTypes = require("@atlaskit/linking-types");
9
10
  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; }
10
11
  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) { (0, _defineProperty2.default)(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; }
11
12
  var mockDatasourceDataResponse = exports.mockDatasourceDataResponse = {
@@ -23,6 +24,9 @@ var mockDatasourceDataResponse = exports.mockDatasourceDataResponse = {
23
24
  data: {
24
25
  totalCount: 1234,
25
26
  items: [{
27
+ ari: {
28
+ data: 'ari:cloud:jira:3ac63b37-9bca-435e-9840-eff6f8739dba:issue/10025'
29
+ },
26
30
  id: {
27
31
  data: 'EDM-12'
28
32
  },
@@ -46,6 +50,9 @@ var mockDatasourceDataResponse = exports.mockDatasourceDataResponse = {
46
50
  }
47
51
  }
48
52
  }, {
53
+ ari: {
54
+ data: 'ari:cloud:jira:3ac63b37-9bca-435e-9840-eff6f8739dba:issue/10026'
55
+ },
49
56
  id: {
50
57
  data: 'EDM-14'
51
58
  },
@@ -69,6 +76,9 @@ var mockDatasourceDataResponse = exports.mockDatasourceDataResponse = {
69
76
  }
70
77
  }
71
78
  }, {
79
+ ari: {
80
+ data: 'ari:cloud:jira:3ac63b37-9bca-435e-9840-eff6f8739dba:issue/10027'
81
+ },
72
82
  id: {
73
83
  data: 'EDM-15'
74
84
  },
@@ -89,6 +99,9 @@ var mockDatasourceDataResponse = exports.mockDatasourceDataResponse = {
89
99
  }
90
100
  }
91
101
  }, {
102
+ ari: {
103
+ data: 'ari:cloud:jira:3ac63b37-9bca-435e-9840-eff6f8739dba:issue/10028'
104
+ },
92
105
  id: {
93
106
  data: 'EDM-16'
94
107
  },
@@ -214,4 +227,15 @@ var mockActionsDiscoveryResponse = exports.mockActionsDiscoveryResponse = {
214
227
  isEditable: true
215
228
  }]
216
229
  }
230
+ };
231
+ var mockExecuteActionResponse = exports.mockExecuteActionResponse = {
232
+ operationStatus: _linkingTypes.ActionOperationStatus.SUCCESS,
233
+ errors: []
234
+ };
235
+ var mockExecuteActionResponseFailure = exports.mockExecuteActionResponseFailure = {
236
+ operationStatus: _linkingTypes.ActionOperationStatus.FAILURE,
237
+ errors: [{
238
+ message: 'summary: You must specify a summary of the issue.',
239
+ code: 400
240
+ }]
217
241
  };
@@ -55,6 +55,10 @@ export const useDatasourceClientExtension = () => {
55
55
  throw e;
56
56
  }
57
57
  };
58
+ const uncachedRequest = async (data, url) => {
59
+ const responsePromise = request('post', url, data, undefined, [200, 201, 202, 203, 204]);
60
+ return responsePromise;
61
+ };
58
62
  const getDatasourceDetails = useCallback(async (datasourceId, data, force = false) => cachedRequest(datasourceId, data, `${resolverUrl}/datasource/${datasourceId}/fetch/details`, datasourceDetailsResponsePromiseCache, force), [resolverUrl]);
59
63
  const getDatasourceData = useCallback(async (datasourceId, data, force = false) => cachedRequest(datasourceId, data, `${resolverUrl}/datasource/${datasourceId}/fetch/data`, datasourceDataResponsePromiseCache, force), [resolverUrl]);
60
64
  const getDatasourceActionsAndPermissions = useCallback(async (data, force = false) => {
@@ -65,9 +69,11 @@ export const useDatasourceClientExtension = () => {
65
69
  }
66
70
  return cachedRequest(resolvedCacheIdKey, data, `${resolverUrl}/actions`, datasourceActionsPermissionsPromiseCache, force);
67
71
  }, [resolverUrl]);
72
+ const executeAtomicAction = useCallback(async data => uncachedRequest(data, `${resolverUrl}/actions/execute`), [resolverUrl]);
68
73
  return useMemo(() => ({
69
74
  getDatasourceDetails,
70
75
  getDatasourceData,
71
- getDatasourceActionsAndPermissions
72
- }), [getDatasourceDetails, getDatasourceData, getDatasourceActionsAndPermissions]);
76
+ getDatasourceActionsAndPermissions,
77
+ executeAtomicAction
78
+ }), [getDatasourceDetails, getDatasourceData, getDatasourceActionsAndPermissions, executeAtomicAction]);
73
79
  };
@@ -1,3 +1,4 @@
1
+ import { ActionOperationStatus } from '@atlaskit/linking-types';
1
2
  export const mockDatasourceDataResponse = {
2
3
  meta: {
3
4
  key: 'jira-object-provider',
@@ -13,6 +14,9 @@ export const mockDatasourceDataResponse = {
13
14
  data: {
14
15
  totalCount: 1234,
15
16
  items: [{
17
+ ari: {
18
+ data: 'ari:cloud:jira:3ac63b37-9bca-435e-9840-eff6f8739dba:issue/10025'
19
+ },
16
20
  id: {
17
21
  data: 'EDM-12'
18
22
  },
@@ -36,6 +40,9 @@ export const mockDatasourceDataResponse = {
36
40
  }
37
41
  }
38
42
  }, {
43
+ ari: {
44
+ data: 'ari:cloud:jira:3ac63b37-9bca-435e-9840-eff6f8739dba:issue/10026'
45
+ },
39
46
  id: {
40
47
  data: 'EDM-14'
41
48
  },
@@ -59,6 +66,9 @@ export const mockDatasourceDataResponse = {
59
66
  }
60
67
  }
61
68
  }, {
69
+ ari: {
70
+ data: 'ari:cloud:jira:3ac63b37-9bca-435e-9840-eff6f8739dba:issue/10027'
71
+ },
62
72
  id: {
63
73
  data: 'EDM-15'
64
74
  },
@@ -79,6 +89,9 @@ export const mockDatasourceDataResponse = {
79
89
  }
80
90
  }
81
91
  }, {
92
+ ari: {
93
+ data: 'ari:cloud:jira:3ac63b37-9bca-435e-9840-eff6f8739dba:issue/10028'
94
+ },
82
95
  id: {
83
96
  data: 'EDM-16'
84
97
  },
@@ -206,4 +219,15 @@ export const mockActionsDiscoveryResponse = {
206
219
  isEditable: true
207
220
  }]
208
221
  }
222
+ };
223
+ export const mockExecuteActionResponse = {
224
+ operationStatus: ActionOperationStatus.SUCCESS,
225
+ errors: []
226
+ };
227
+ export const mockExecuteActionResponseFailure = {
228
+ operationStatus: ActionOperationStatus.FAILURE,
229
+ errors: [{
230
+ message: 'summary: You must specify a summary of the issue.',
231
+ code: 400
232
+ }]
209
233
  };
@@ -74,26 +74,25 @@ export var useDatasourceClientExtension = function useDatasourceClientExtension(
74
74
  return _ref.apply(this, arguments);
75
75
  };
76
76
  }();
77
- var getDatasourceDetails = useCallback( /*#__PURE__*/function () {
78
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(datasourceId, data) {
79
- var force,
80
- _args2 = arguments;
77
+ var uncachedRequest = /*#__PURE__*/function () {
78
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(data, url) {
79
+ var responsePromise;
81
80
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
82
81
  while (1) switch (_context2.prev = _context2.next) {
83
82
  case 0:
84
- force = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : false;
85
- return _context2.abrupt("return", cachedRequest(datasourceId, data, "".concat(resolverUrl, "/datasource/").concat(datasourceId, "/fetch/details"), datasourceDetailsResponsePromiseCache, force));
83
+ responsePromise = request('post', url, data, undefined, [200, 201, 202, 203, 204]);
84
+ return _context2.abrupt("return", responsePromise);
86
85
  case 2:
87
86
  case "end":
88
87
  return _context2.stop();
89
88
  }
90
89
  }, _callee2);
91
90
  }));
92
- return function (_x6, _x7) {
91
+ return function uncachedRequest(_x6, _x7) {
93
92
  return _ref2.apply(this, arguments);
94
93
  };
95
- }(), [resolverUrl]);
96
- var getDatasourceData = useCallback( /*#__PURE__*/function () {
94
+ }();
95
+ var getDatasourceDetails = useCallback( /*#__PURE__*/function () {
97
96
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(datasourceId, data) {
98
97
  var force,
99
98
  _args3 = arguments;
@@ -101,7 +100,7 @@ export var useDatasourceClientExtension = function useDatasourceClientExtension(
101
100
  while (1) switch (_context3.prev = _context3.next) {
102
101
  case 0:
103
102
  force = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : false;
104
- return _context3.abrupt("return", cachedRequest(datasourceId, data, "".concat(resolverUrl, "/datasource/").concat(datasourceId, "/fetch/data"), datasourceDataResponsePromiseCache, force));
103
+ return _context3.abrupt("return", cachedRequest(datasourceId, data, "".concat(resolverUrl, "/datasource/").concat(datasourceId, "/fetch/details"), datasourceDetailsResponsePromiseCache, force));
105
104
  case 2:
106
105
  case "end":
107
106
  return _context3.stop();
@@ -112,38 +111,74 @@ export var useDatasourceClientExtension = function useDatasourceClientExtension(
112
111
  return _ref3.apply(this, arguments);
113
112
  };
114
113
  }(), [resolverUrl]);
115
- var getDatasourceActionsAndPermissions = useCallback( /*#__PURE__*/function () {
116
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(data) {
114
+ var getDatasourceData = useCallback( /*#__PURE__*/function () {
115
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(datasourceId, data) {
117
116
  var force,
118
- resolvedCacheIdKey,
119
117
  _args4 = arguments;
120
118
  return _regeneratorRuntime.wrap(function _callee4$(_context4) {
121
119
  while (1) switch (_context4.prev = _context4.next) {
122
120
  case 0:
123
- force = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : false;
121
+ force = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : false;
122
+ return _context4.abrupt("return", cachedRequest(datasourceId, data, "".concat(resolverUrl, "/datasource/").concat(datasourceId, "/fetch/data"), datasourceDataResponsePromiseCache, force));
123
+ case 2:
124
+ case "end":
125
+ return _context4.stop();
126
+ }
127
+ }, _callee4);
128
+ }));
129
+ return function (_x10, _x11) {
130
+ return _ref4.apply(this, arguments);
131
+ };
132
+ }(), [resolverUrl]);
133
+ var getDatasourceActionsAndPermissions = useCallback( /*#__PURE__*/function () {
134
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(data) {
135
+ var force,
136
+ resolvedCacheIdKey,
137
+ _args5 = arguments;
138
+ return _regeneratorRuntime.wrap(function _callee5$(_context5) {
139
+ while (1) switch (_context5.prev = _context5.next) {
140
+ case 0:
141
+ force = _args5.length > 1 && _args5[1] !== undefined ? _args5[1] : false;
124
142
  resolvedCacheIdKey = 'datasourceId' in data ? data.datasourceId : data.integrationKey; // This is just to prevent empty string being passed up to ORS and causing issues.
125
143
  if (resolvedCacheIdKey) {
126
- _context4.next = 4;
144
+ _context5.next = 4;
127
145
  break;
128
146
  }
129
147
  throw new Error('No target was supplied to retrieve actions for');
130
148
  case 4:
131
- return _context4.abrupt("return", cachedRequest(resolvedCacheIdKey, data, "".concat(resolverUrl, "/actions"), datasourceActionsPermissionsPromiseCache, force));
149
+ return _context5.abrupt("return", cachedRequest(resolvedCacheIdKey, data, "".concat(resolverUrl, "/actions"), datasourceActionsPermissionsPromiseCache, force));
132
150
  case 5:
133
151
  case "end":
134
- return _context4.stop();
152
+ return _context5.stop();
135
153
  }
136
- }, _callee4);
154
+ }, _callee5);
137
155
  }));
138
- return function (_x10) {
139
- return _ref4.apply(this, arguments);
156
+ return function (_x12) {
157
+ return _ref5.apply(this, arguments);
158
+ };
159
+ }(), [resolverUrl]);
160
+ var executeAtomicAction = useCallback( /*#__PURE__*/function () {
161
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(data) {
162
+ return _regeneratorRuntime.wrap(function _callee6$(_context6) {
163
+ while (1) switch (_context6.prev = _context6.next) {
164
+ case 0:
165
+ return _context6.abrupt("return", uncachedRequest(data, "".concat(resolverUrl, "/actions/execute")));
166
+ case 1:
167
+ case "end":
168
+ return _context6.stop();
169
+ }
170
+ }, _callee6);
171
+ }));
172
+ return function (_x13) {
173
+ return _ref6.apply(this, arguments);
140
174
  };
141
175
  }(), [resolverUrl]);
142
176
  return useMemo(function () {
143
177
  return {
144
178
  getDatasourceDetails: getDatasourceDetails,
145
179
  getDatasourceData: getDatasourceData,
146
- getDatasourceActionsAndPermissions: getDatasourceActionsAndPermissions
180
+ getDatasourceActionsAndPermissions: getDatasourceActionsAndPermissions,
181
+ executeAtomicAction: executeAtomicAction
147
182
  };
148
- }, [getDatasourceDetails, getDatasourceData, getDatasourceActionsAndPermissions]);
183
+ }, [getDatasourceDetails, getDatasourceData, getDatasourceActionsAndPermissions, executeAtomicAction]);
149
184
  };
@@ -1,6 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  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; }
3
3
  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; }
4
+ import { ActionOperationStatus } from '@atlaskit/linking-types';
4
5
  export var mockDatasourceDataResponse = {
5
6
  meta: {
6
7
  key: 'jira-object-provider',
@@ -16,6 +17,9 @@ export var mockDatasourceDataResponse = {
16
17
  data: {
17
18
  totalCount: 1234,
18
19
  items: [{
20
+ ari: {
21
+ data: 'ari:cloud:jira:3ac63b37-9bca-435e-9840-eff6f8739dba:issue/10025'
22
+ },
19
23
  id: {
20
24
  data: 'EDM-12'
21
25
  },
@@ -39,6 +43,9 @@ export var mockDatasourceDataResponse = {
39
43
  }
40
44
  }
41
45
  }, {
46
+ ari: {
47
+ data: 'ari:cloud:jira:3ac63b37-9bca-435e-9840-eff6f8739dba:issue/10026'
48
+ },
42
49
  id: {
43
50
  data: 'EDM-14'
44
51
  },
@@ -62,6 +69,9 @@ export var mockDatasourceDataResponse = {
62
69
  }
63
70
  }
64
71
  }, {
72
+ ari: {
73
+ data: 'ari:cloud:jira:3ac63b37-9bca-435e-9840-eff6f8739dba:issue/10027'
74
+ },
65
75
  id: {
66
76
  data: 'EDM-15'
67
77
  },
@@ -82,6 +92,9 @@ export var mockDatasourceDataResponse = {
82
92
  }
83
93
  }
84
94
  }, {
95
+ ari: {
96
+ data: 'ari:cloud:jira:3ac63b37-9bca-435e-9840-eff6f8739dba:issue/10028'
97
+ },
85
98
  id: {
86
99
  data: 'EDM-16'
87
100
  },
@@ -207,4 +220,15 @@ export var mockActionsDiscoveryResponse = {
207
220
  isEditable: true
208
221
  }]
209
222
  }
223
+ };
224
+ export var mockExecuteActionResponse = {
225
+ operationStatus: ActionOperationStatus.SUCCESS,
226
+ errors: []
227
+ };
228
+ export var mockExecuteActionResponseFailure = {
229
+ operationStatus: ActionOperationStatus.FAILURE,
230
+ errors: [{
231
+ message: 'summary: You must specify a summary of the issue.',
232
+ code: 400
233
+ }]
210
234
  };
@@ -1,5 +1,5 @@
1
1
  import { LRUMap } from 'lru_map';
2
- import type { ActionsDiscoveryRequest, ActionsServiceDiscoveryResponse, DatasourceDataRequest, DatasourceDataResponse, DatasourceDetailsRequest, DatasourceDetailsResponse } from '@atlaskit/linking-types';
2
+ import type { ActionsDiscoveryRequest, ActionsDiscoveryResponse, ActionsServiceDiscoveryResponse, AtomicActionExecuteRequest, AtomicActionExecuteResponse, DatasourceDataRequest, DatasourceDataResponse, DatasourceDetailsRequest, DatasourceDetailsResponse } from '@atlaskit/linking-types';
3
3
  export declare const datasourceDetailsResponsePromiseCache: LRUMap<string, Promise<DatasourceDetailsResponse>>;
4
4
  export declare const datasourceDataResponsePromiseCache: LRUMap<string, Promise<DatasourceDataResponse>>;
5
5
  export declare const datasourceActionsPermissionsPromiseCache: LRUMap<string, Promise<ActionsServiceDiscoveryResponse>>;
@@ -7,5 +7,6 @@ export declare const DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE = 20;
7
7
  export declare const useDatasourceClientExtension: () => {
8
8
  getDatasourceDetails: (datasourceId: string, data: DatasourceDetailsRequest, force?: boolean) => Promise<DatasourceDetailsResponse>;
9
9
  getDatasourceData: (datasourceId: string, data: DatasourceDataRequest, force?: boolean) => Promise<DatasourceDataResponse>;
10
- getDatasourceActionsAndPermissions: (data: ActionsDiscoveryRequest, force?: boolean) => Promise<ActionsServiceDiscoveryResponse>;
10
+ getDatasourceActionsAndPermissions: (data: ActionsDiscoveryRequest, force?: boolean) => Promise<ActionsDiscoveryResponse>;
11
+ executeAtomicAction: (data: AtomicActionExecuteRequest) => Promise<AtomicActionExecuteResponse>;
11
12
  };
@@ -1,5 +1,7 @@
1
- import type { ActionsDiscoveryResponse, DatasourceDataResponse, DatasourceDetailsResponse } from '@atlaskit/linking-types';
1
+ import { type ActionsDiscoveryResponse, type AtomicActionExecuteResponse, type DatasourceDataResponse, type DatasourceDetailsResponse } from '@atlaskit/linking-types';
2
2
  export declare const mockDatasourceDataResponse: DatasourceDataResponse;
3
3
  export declare const mockDatasourceDetailsResponse: DatasourceDetailsResponse;
4
4
  export declare const mockDatasourceDataResponseWithSchema: DatasourceDataResponse;
5
5
  export declare const mockActionsDiscoveryResponse: ActionsDiscoveryResponse;
6
+ export declare const mockExecuteActionResponse: AtomicActionExecuteResponse;
7
+ export declare const mockExecuteActionResponseFailure: AtomicActionExecuteResponse;
@@ -1,5 +1,5 @@
1
1
  import { LRUMap } from 'lru_map';
2
- import type { ActionsDiscoveryRequest, ActionsServiceDiscoveryResponse, DatasourceDataRequest, DatasourceDataResponse, DatasourceDetailsRequest, DatasourceDetailsResponse } from '@atlaskit/linking-types';
2
+ import type { ActionsDiscoveryRequest, ActionsDiscoveryResponse, ActionsServiceDiscoveryResponse, AtomicActionExecuteRequest, AtomicActionExecuteResponse, DatasourceDataRequest, DatasourceDataResponse, DatasourceDetailsRequest, DatasourceDetailsResponse } from '@atlaskit/linking-types';
3
3
  export declare const datasourceDetailsResponsePromiseCache: LRUMap<string, Promise<DatasourceDetailsResponse>>;
4
4
  export declare const datasourceDataResponsePromiseCache: LRUMap<string, Promise<DatasourceDataResponse>>;
5
5
  export declare const datasourceActionsPermissionsPromiseCache: LRUMap<string, Promise<ActionsServiceDiscoveryResponse>>;
@@ -7,5 +7,6 @@ export declare const DEFAULT_GET_DATASOURCE_DATA_PAGE_SIZE = 20;
7
7
  export declare const useDatasourceClientExtension: () => {
8
8
  getDatasourceDetails: (datasourceId: string, data: DatasourceDetailsRequest, force?: boolean) => Promise<DatasourceDetailsResponse>;
9
9
  getDatasourceData: (datasourceId: string, data: DatasourceDataRequest, force?: boolean) => Promise<DatasourceDataResponse>;
10
- getDatasourceActionsAndPermissions: (data: ActionsDiscoveryRequest, force?: boolean) => Promise<ActionsServiceDiscoveryResponse>;
10
+ getDatasourceActionsAndPermissions: (data: ActionsDiscoveryRequest, force?: boolean) => Promise<ActionsDiscoveryResponse>;
11
+ executeAtomicAction: (data: AtomicActionExecuteRequest) => Promise<AtomicActionExecuteResponse>;
11
12
  };
@@ -1,5 +1,7 @@
1
- import type { ActionsDiscoveryResponse, DatasourceDataResponse, DatasourceDetailsResponse } from '@atlaskit/linking-types';
1
+ import { type ActionsDiscoveryResponse, type AtomicActionExecuteResponse, type DatasourceDataResponse, type DatasourceDetailsResponse } from '@atlaskit/linking-types';
2
2
  export declare const mockDatasourceDataResponse: DatasourceDataResponse;
3
3
  export declare const mockDatasourceDetailsResponse: DatasourceDetailsResponse;
4
4
  export declare const mockDatasourceDataResponseWithSchema: DatasourceDataResponse;
5
5
  export declare const mockActionsDiscoveryResponse: ActionsDiscoveryResponse;
6
+ export declare const mockExecuteActionResponse: AtomicActionExecuteResponse;
7
+ export declare const mockExecuteActionResponseFailure: AtomicActionExecuteResponse;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-client-extension",
3
- "version": "1.10.0",
3
+ "version": "1.11.0",
4
4
  "description": "Extension methods for linking platform client",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -34,7 +34,7 @@
34
34
  ".": "./src/index.ts"
35
35
  },
36
36
  "dependencies": {
37
- "@atlaskit/linking-common": "^5.7.0",
37
+ "@atlaskit/linking-common": "^5.8.0",
38
38
  "@atlaskit/linking-types": "^8.12.0",
39
39
  "@atlaskit/platform-feature-flags": "0.3.0",
40
40
  "@babel/runtime": "^7.0.0",
@@ -42,7 +42,7 @@
42
42
  "lru_map": "^0.4.1"
43
43
  },
44
44
  "peerDependencies": {
45
- "@atlaskit/link-provider": "^1.13.0",
45
+ "@atlaskit/link-provider": "^1.14.0",
46
46
  "react": "^16.8.0"
47
47
  },
48
48
  "devDependencies": {