@atlaskit/teams-client 4.26.0 → 4.27.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.
Files changed (32) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/common/utils/ufo/constants.js +1 -1
  3. package/dist/cjs/services/agg-client/utils/query-context-headers.js +19 -0
  4. package/dist/cjs/services/collaborationgraph-client/index.js +24 -0
  5. package/dist/cjs/services/graphql-client/main.js +34 -7
  6. package/dist/cjs/services/graphql-client/utils/index.js +5 -2
  7. package/dist/cjs/services/main.js +243 -209
  8. package/dist/es2019/common/utils/ufo/constants.js +1 -1
  9. package/dist/es2019/services/agg-client/utils/query-context-headers.js +14 -0
  10. package/dist/es2019/services/collaborationgraph-client/index.js +21 -0
  11. package/dist/es2019/services/graphql-client/main.js +26 -1
  12. package/dist/es2019/services/graphql-client/utils/index.js +2 -1
  13. package/dist/es2019/services/main.js +7 -0
  14. package/dist/esm/common/utils/ufo/constants.js +1 -1
  15. package/dist/esm/services/agg-client/utils/query-context-headers.js +14 -0
  16. package/dist/esm/services/collaborationgraph-client/index.js +24 -0
  17. package/dist/esm/services/graphql-client/main.js +34 -7
  18. package/dist/esm/services/graphql-client/utils/index.js +5 -2
  19. package/dist/esm/services/main.js +243 -209
  20. package/dist/types/common/utils/ufo/constants.d.ts +2 -2
  21. package/dist/types/services/agg-client/utils/query-context-headers.d.ts +5 -0
  22. package/dist/types/services/collaborationgraph-client/index.d.ts +25 -0
  23. package/dist/types/services/graphql-client/main.d.ts +4 -0
  24. package/dist/types/services/graphql-client/types.d.ts +1 -0
  25. package/dist/types/services/main.d.ts +4 -0
  26. package/dist/types-ts4.5/common/utils/ufo/constants.d.ts +2 -1
  27. package/dist/types-ts4.5/services/agg-client/utils/query-context-headers.d.ts +5 -0
  28. package/dist/types-ts4.5/services/collaborationgraph-client/index.d.ts +25 -0
  29. package/dist/types-ts4.5/services/graphql-client/main.d.ts +4 -0
  30. package/dist/types-ts4.5/services/graphql-client/types.d.ts +1 -0
  31. package/dist/types-ts4.5/services/main.d.ts +4 -0
  32. package/package.json +4 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @atlaskit/teams-client
2
2
 
3
+ ## 4.27.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`0df25f7dfb6a2`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0df25f7dfb6a2) -
8
+ Add X-Query-Context to UGS requests
9
+
3
10
  ## 4.26.0
4
11
 
5
12
  ### Minor Changes
@@ -8,7 +8,7 @@ exports.TEAMS_CLIENT_EXPERIENCES = void 0;
8
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
9
  var _ufo = require("@atlaskit/ufo");
10
10
  var _index = require("./index");
11
- var TeamsClientExperienceKeyList = ['getAllTeams', 'getTeamById', 'updateTeamById', 'querySettings', 'queryFeatureFlags', 'queryTeamMemberships', 'queryUser', 'inviteUsersToTeam', 'getMyTeamMembership', 'getTeamLinksByTeamId', 'createTeamLink', 'updateTeamLink', 'deleteTeamLink', 'reorderTeamLink', 'acceptTeamInvitation', 'declineTeamInvitation', 'selfJoinTeam', 'cancelJoinRequest', 'acceptJoinRequest', 'declineJoinRequest', 'deleteTeamMembership', 'revokeTeamInvite', 'deleteTeam', 'archiveTeam', 'unarchiveTeam', 'unlinkTeamFromGroup', 'isSingleFullMemberTeam', 'createTeam', 'createTeamContainers', 'createExternalTeam', 'getProfileWithMutability', 'getIsSiteAdmin', 'addUsersToTeam', 'removeTeamMemberships', 'getRecommendedProducts', 'joinOrRequestDefaultAccessToProductsBulk', 'getReadMediaToken', 'getWriteUserMediaToken', 'updateUserHeaderImage', 'getWriteTeamMediaToken', 'getSoftDeletedTeamById', 'restoreTeam', 'getUserInSiteUserBase', 'getLinkedTeamsBulk', 'getTeamProfileDetails', 'getUserContainers', 'getPermissions', 'getUserManageConfig', 'getMyAvatarUploadedStatus', 'deleteUserAvatar', 'getTeamLinkIcons', 'getTeamInSlack', 'getOrgScope', 'restoreTeamToSyncedGroup', 'getTeamAndGroupDiff', 'linkExistingTeamToGroup', 'fetchUserAvatarInfo', 'getOrgEligibilityForManagedTeams', 'updateUser', 'updateUserAvatar', 'disconnectTeamInSlack', 'updateTeamInSlack', 'getUserTenure', 'getAriFromUrl', 'getWebLinkTitle', 'addAgentToTeam', 'getTeamEnabledSites', 'assignTeamsToSites', 'removeAgentTeamAssociation', 'getAssignedTeams', 'setTeamSiteAssignmentPermission', 'getUnassignedTeams', 'getTeamSiteAssignmentOrgDetails', 'getTeamsToBeClonedToJsmSites', 'getReportingLines'];
11
+ var TeamsClientExperienceKeyList = ['getAllTeams', 'getTeamById', 'updateTeamById', 'querySettings', 'queryFeatureFlags', 'queryTeamMemberships', 'queryUser', 'inviteUsersToTeam', 'getMyTeamMembership', 'getTeamLinksByTeamId', 'createTeamLink', 'updateTeamLink', 'deleteTeamLink', 'reorderTeamLink', 'acceptTeamInvitation', 'declineTeamInvitation', 'selfJoinTeam', 'cancelJoinRequest', 'acceptJoinRequest', 'declineJoinRequest', 'deleteTeamMembership', 'revokeTeamInvite', 'deleteTeam', 'archiveTeam', 'unarchiveTeam', 'unlinkTeamFromGroup', 'isSingleFullMemberTeam', 'createTeam', 'createTeamContainers', 'createExternalTeam', 'getProfileWithMutability', 'getIsSiteAdmin', 'addUsersToTeam', 'removeTeamMemberships', 'getRecommendedProducts', 'joinOrRequestDefaultAccessToProductsBulk', 'getReadMediaToken', 'getWriteUserMediaToken', 'updateUserHeaderImage', 'getWriteTeamMediaToken', 'getSoftDeletedTeamById', 'restoreTeam', 'getUserInSiteUserBase', 'getLinkedTeamsBulk', 'getTeamProfileDetails', 'getUserContainers', 'getRecommendedUsers', 'getPermissions', 'getUserManageConfig', 'getMyAvatarUploadedStatus', 'deleteUserAvatar', 'getTeamLinkIcons', 'getTeamInSlack', 'getOrgScope', 'restoreTeamToSyncedGroup', 'getTeamAndGroupDiff', 'linkExistingTeamToGroup', 'fetchUserAvatarInfo', 'getOrgEligibilityForManagedTeams', 'updateUser', 'updateUserAvatar', 'disconnectTeamInSlack', 'updateTeamInSlack', 'getUserTenure', 'getAriFromUrl', 'getWebLinkTitle', 'addAgentToTeam', 'getTeamEnabledSites', 'assignTeamsToSites', 'removeAgentTeamAssociation', 'getAssignedTeams', 'setTeamSiteAssignmentPermission', 'getUnassignedTeams', 'getTeamSiteAssignmentOrgDetails', 'getTeamsToBeClonedToJsmSites', 'getReportingLines'];
12
12
  var TEAMS_CLIENT_EXPERIENCES = exports.TEAMS_CLIENT_EXPERIENCES = new Map((0, _toConsumableArray2.default)(TeamsClientExperienceKeyList.map(function (key) {
13
13
  return [key,
14
14
  // camelCase to kebab-case
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.createQueryContextHeaders = createQueryContextHeaders;
7
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
8
+ /**
9
+ * Creates headers object with X-Query-Context header if cloudId is provided and feature flag is enabled.
10
+ * Use this for AGG client makeGraphQLRequest calls.
11
+ */
12
+ function createQueryContextHeaders(cloudId) {
13
+ if (!cloudId || !(0, _platformFeatureFlags.fg)('enable_x_query_context_header')) {
14
+ return undefined;
15
+ }
16
+ return {
17
+ 'X-Query-Context': "ari:cloud:platform::site/".concat(cloudId)
18
+ };
19
+ }
@@ -51,6 +51,30 @@ var CollaborationGraphClient = exports.CollaborationGraphClient = /*#__PURE__*/f
51
51
  expanded: true
52
52
  });
53
53
  }
54
+ }, {
55
+ key: "getRecommendedUsers",
56
+ value: function getRecommendedUsers(_ref2) {
57
+ var accountId = _ref2.accountId,
58
+ cloudId = _ref2.cloudId,
59
+ _ref2$maxNumberOfResu = _ref2.maxNumberOfResults,
60
+ maxNumberOfResults = _ref2$maxNumberOfResu === void 0 ? 12 : _ref2$maxNumberOfResu,
61
+ _ref2$filter = _ref2.filter,
62
+ filter = _ref2$filter === void 0 ? 'account_status:"active" AND (NOT email_domain:"connect.atlassian.com") AND (NOT account_type:"app")' : _ref2$filter;
63
+ return this.postResource('/v2/recommend/user', {
64
+ context: {
65
+ userId: accountId,
66
+ tenantId: cloudId
67
+ },
68
+ modelRequestParams: {
69
+ experience: 'CgUserNearbyUser',
70
+ caller: 'atlas'
71
+ },
72
+ requestingUserId: accountId,
73
+ expand: 'existing',
74
+ maxNumberOfResults: maxNumberOfResults,
75
+ filter: filter
76
+ });
77
+ }
54
78
  }]);
55
79
  }(_restClient.RestClient);
56
80
  var _default = exports.default = new CollaborationGraphClient({
@@ -6,15 +6,19 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.BaseGraphQlClient = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
13
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
14
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
15
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
17
  var _error = require("../../common/utils/error");
16
18
  var _baseClient = require("../base-client");
17
19
  var _utils = require("./utils");
20
+ 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; }
21
+ 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; }
18
22
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
19
23
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
20
24
  var BaseGraphQlClient = exports.BaseGraphQlClient = /*#__PURE__*/function (_BaseClient) {
@@ -31,34 +35,57 @@ var BaseGraphQlClient = exports.BaseGraphQlClient = /*#__PURE__*/function (_Base
31
35
  value: function setServiceUrl(serviceUrl) {
32
36
  this.serviceUrl = serviceUrl;
33
37
  }
38
+
39
+ /**
40
+ * Creates query context headers if cloudId is available and feature flag is enabled.
41
+ */
42
+ }, {
43
+ key: "createQueryContextHeaders",
44
+ value: function createQueryContextHeaders(cloudId) {
45
+ if (!cloudId || !(0, _platformFeatureFlags.fg)('enable_x_query_context_header')) {
46
+ return undefined;
47
+ }
48
+ return {
49
+ 'X-Query-Context': "ari:cloud:platform::site/".concat(cloudId)
50
+ };
51
+ }
34
52
  }, {
35
53
  key: "makeGraphQLRequest",
36
54
  value: function () {
37
55
  var _makeGraphQLRequest = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(body) {
38
56
  var options,
57
+ cloudId,
58
+ queryContextHeaders,
59
+ mergedOptions,
39
60
  _args = arguments;
40
61
  return _regenerator.default.wrap(function _callee$(_context) {
41
62
  while (1) switch (_context.prev = _context.next) {
42
63
  case 0:
43
64
  options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
44
65
  _context.prev = 1;
45
- return _context.abrupt("return", (0, _utils.handleGraphQLRequest)(this.serviceUrl, body, options));
46
- case 5:
47
- _context.prev = 5;
66
+ // Automatically add X-Query-Context header if cloudId is available in context
67
+ cloudId = this.getCloudId();
68
+ queryContextHeaders = this.createQueryContextHeaders(cloudId); // Merge headers: query context headers first, then provided headers (provided headers take precedence)
69
+ mergedOptions = _objectSpread(_objectSpread({}, options), {}, {
70
+ headers: _objectSpread(_objectSpread({}, queryContextHeaders), options.headers)
71
+ });
72
+ return _context.abrupt("return", (0, _utils.handleGraphQLRequest)(this.serviceUrl, body, mergedOptions));
73
+ case 8:
74
+ _context.prev = 8;
48
75
  _context.t0 = _context["catch"](1);
49
76
  if (!(_context.t0 instanceof _error.GraphQLError)) {
50
- _context.next = 9;
77
+ _context.next = 12;
51
78
  break;
52
79
  }
53
80
  throw _context.t0;
54
- case 9:
81
+ case 12:
55
82
  this.logException(_context.t0, 'UnknownError in GraphQLClient.makeGraphQLRequestWithoutRetries');
56
83
  throw new _error.DefaultError({});
57
- case 11:
84
+ case 14:
58
85
  case "end":
59
86
  return _context.stop();
60
87
  }
61
- }, _callee, this, [[1, 5]]);
88
+ }, _callee, this, [[1, 8]]);
62
89
  }));
63
90
  function makeGraphQLRequest(_x) {
64
91
  return _makeGraphQLRequest.apply(this, arguments);
@@ -7,10 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.handleGraphQLRequest = handleGraphQLRequest;
8
8
  exports.makeGraphQLRequestWithoutRetries = makeGraphQLRequestWithoutRetries;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
12
  var _error = require("../../../common/utils/error");
12
13
  var _http = require("../../../common/utils/http");
13
14
  var _statusCodeHandlersProvider = require("../../../common/utils/status-code-handlers-provider");
15
+ 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; }
16
+ 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; }
14
17
  function makeGraphQLRequestWithoutRetries(_x, _x2) {
15
18
  return _makeGraphQLRequestWithoutRetries.apply(this, arguments);
16
19
  }
@@ -33,9 +36,9 @@ function _makeGraphQLRequestWithoutRetries() {
33
36
  url = serviceUrl + operationNameQuery;
34
37
  request = fetch(url, {
35
38
  method: 'POST',
36
- headers: new Headers({
39
+ headers: new Headers(_objectSpread({
37
40
  'Content-Type': 'application/json'
38
- }),
41
+ }, options.headers || {})),
39
42
  credentials: 'include',
40
43
  body: JSON.stringify(body)
41
44
  }).then(function (res) {