@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 +9 -0
- package/dist/cjs/services/use-data-source-client-extension/index.js +57 -22
- package/dist/cjs/services/use-data-source-client-extension/mocks.js +25 -1
- package/dist/es2019/services/use-data-source-client-extension/index.js +8 -2
- package/dist/es2019/services/use-data-source-client-extension/mocks.js +24 -0
- package/dist/esm/services/use-data-source-client-extension/index.js +57 -22
- package/dist/esm/services/use-data-source-client-extension/mocks.js +24 -0
- package/dist/types/services/use-data-source-client-extension/index.d.ts +3 -2
- package/dist/types/services/use-data-source-client-extension/mocks.d.ts +3 -1
- package/dist/types-ts4.5/services/use-data-source-client-extension/index.d.ts +3 -2
- package/dist/types-ts4.5/services/use-data-source-client-extension/mocks.d.ts +3 -1
- package/package.json +3 -3
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
|
|
85
|
-
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(
|
|
86
|
-
var
|
|
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
|
-
|
|
92
|
-
return _context2.abrupt("return",
|
|
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
|
-
}()
|
|
103
|
-
var
|
|
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/
|
|
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
|
|
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 >
|
|
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
|
-
|
|
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
|
|
156
|
+
return _context5.abrupt("return", cachedRequest(resolvedCacheIdKey, data, "".concat(resolverUrl, "/actions"), datasourceActionsPermissionsPromiseCache, force));
|
|
139
157
|
case 5:
|
|
140
158
|
case "end":
|
|
141
|
-
return
|
|
159
|
+
return _context5.stop();
|
|
142
160
|
}
|
|
143
|
-
},
|
|
161
|
+
}, _callee5);
|
|
144
162
|
}));
|
|
145
|
-
return function (
|
|
146
|
-
return
|
|
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
|
-
|
|
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
|
|
78
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(
|
|
79
|
-
var
|
|
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
|
-
|
|
85
|
-
return _context2.abrupt("return",
|
|
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
|
-
}()
|
|
96
|
-
var
|
|
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/
|
|
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
|
|
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 >
|
|
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
|
-
|
|
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
|
|
149
|
+
return _context5.abrupt("return", cachedRequest(resolvedCacheIdKey, data, "".concat(resolverUrl, "/actions"), datasourceActionsPermissionsPromiseCache, force));
|
|
132
150
|
case 5:
|
|
133
151
|
case "end":
|
|
134
|
-
return
|
|
152
|
+
return _context5.stop();
|
|
135
153
|
}
|
|
136
|
-
},
|
|
154
|
+
}, _callee5);
|
|
137
155
|
}));
|
|
138
|
-
return function (
|
|
139
|
-
return
|
|
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<
|
|
10
|
+
getDatasourceActionsAndPermissions: (data: ActionsDiscoveryRequest, force?: boolean) => Promise<ActionsDiscoveryResponse>;
|
|
11
|
+
executeAtomicAction: (data: AtomicActionExecuteRequest) => Promise<AtomicActionExecuteResponse>;
|
|
11
12
|
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type
|
|
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<
|
|
10
|
+
getDatasourceActionsAndPermissions: (data: ActionsDiscoveryRequest, force?: boolean) => Promise<ActionsDiscoveryResponse>;
|
|
11
|
+
executeAtomicAction: (data: AtomicActionExecuteRequest) => Promise<AtomicActionExecuteResponse>;
|
|
11
12
|
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import type
|
|
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.
|
|
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.
|
|
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.
|
|
45
|
+
"@atlaskit/link-provider": "^1.14.0",
|
|
46
46
|
"react": "^16.8.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|