@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
@@ -1,6 +1,6 @@
1
1
  import { ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo';
2
2
  import { TeamsUFOExperience } from './index';
3
- const 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'];
3
+ const 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'];
4
4
  export const TEAMS_CLIENT_EXPERIENCES = new Map([...TeamsClientExperienceKeyList.map(key => [key,
5
5
  // camelCase to kebab-case
6
6
  new TeamsUFOExperience(`teams-client-${key.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()}`, {
@@ -0,0 +1,14 @@
1
+ import { fg } from '@atlaskit/platform-feature-flags';
2
+
3
+ /**
4
+ * Creates headers object with X-Query-Context header if cloudId is provided and feature flag is enabled.
5
+ * Use this for AGG client makeGraphQLRequest calls.
6
+ */
7
+ export function createQueryContextHeaders(cloudId) {
8
+ if (!cloudId || !fg('enable_x_query_context_header')) {
9
+ return undefined;
10
+ }
11
+ return {
12
+ 'X-Query-Context': `ari:cloud:platform::site/${cloudId}`
13
+ };
14
+ }
@@ -31,6 +31,27 @@ export class CollaborationGraphClient extends RestClient {
31
31
  expanded: true
32
32
  });
33
33
  }
34
+ getRecommendedUsers({
35
+ accountId,
36
+ cloudId,
37
+ maxNumberOfResults = 12,
38
+ filter = 'account_status:"active" AND (NOT email_domain:"connect.atlassian.com") AND (NOT account_type:"app")'
39
+ }) {
40
+ return this.postResource('/v2/recommend/user', {
41
+ context: {
42
+ userId: accountId,
43
+ tenantId: cloudId
44
+ },
45
+ modelRequestParams: {
46
+ experience: 'CgUserNearbyUser',
47
+ caller: 'atlas'
48
+ },
49
+ requestingUserId: accountId,
50
+ expand: 'existing',
51
+ maxNumberOfResults,
52
+ filter
53
+ });
54
+ }
34
55
  }
35
56
  export default new CollaborationGraphClient({
36
57
  serviceUrl: DEFAULT_CONFIG.collaborationGraphUrl
@@ -1,3 +1,4 @@
1
+ import { fg } from '@atlaskit/platform-feature-flags';
1
2
  import { DefaultError, GraphQLError } from '../../common/utils/error';
2
3
  import { BaseClient } from '../base-client';
3
4
  import { handleGraphQLRequest } from './utils';
@@ -9,9 +10,33 @@ export class BaseGraphQlClient extends BaseClient {
9
10
  setServiceUrl(serviceUrl) {
10
11
  this.serviceUrl = serviceUrl;
11
12
  }
13
+
14
+ /**
15
+ * Creates query context headers if cloudId is available and feature flag is enabled.
16
+ */
17
+ createQueryContextHeaders(cloudId) {
18
+ if (!cloudId || !fg('enable_x_query_context_header')) {
19
+ return undefined;
20
+ }
21
+ return {
22
+ 'X-Query-Context': `ari:cloud:platform::site/${cloudId}`
23
+ };
24
+ }
12
25
  async makeGraphQLRequest(body, options = {}) {
13
26
  try {
14
- return handleGraphQLRequest(this.serviceUrl, body, options);
27
+ // Automatically add X-Query-Context header if cloudId is available in context
28
+ const cloudId = this.getCloudId();
29
+ const queryContextHeaders = this.createQueryContextHeaders(cloudId);
30
+
31
+ // Merge headers: query context headers first, then provided headers (provided headers take precedence)
32
+ const mergedOptions = {
33
+ ...options,
34
+ headers: {
35
+ ...queryContextHeaders,
36
+ ...options.headers
37
+ }
38
+ };
39
+ return handleGraphQLRequest(this.serviceUrl, body, mergedOptions);
15
40
  } catch (error) {
16
41
  if (error instanceof GraphQLError) {
17
42
  throw error;
@@ -8,7 +8,8 @@ export async function makeGraphQLRequestWithoutRetries(serviceUrl, body, options
8
8
  const request = fetch(url, {
9
9
  method: 'POST',
10
10
  headers: new Headers({
11
- 'Content-Type': 'application/json'
11
+ 'Content-Type': 'application/json',
12
+ ...(options.headers || {})
12
13
  }),
13
14
  credentials: 'include',
14
15
  body: JSON.stringify(body)
@@ -603,6 +603,13 @@ export class TeamsClient {
603
603
  return this.measurePerformance('getUserContainers', () => this._collaborationGraphClient.getUserContainers(...args));
604
604
  }
605
605
 
606
+ /**
607
+ * Fetch recommended users from collaboration graph
608
+ */
609
+ async getRecommendedUsers(...args) {
610
+ return this.measurePerformance('getRecommendedUsers', () => this._collaborationGraphClient.getRecommendedUsers(...args));
611
+ }
612
+
606
613
  /**
607
614
  * Fetch mutatability of external managed user fields
608
615
  */
@@ -1,7 +1,7 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  import { ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo';
3
3
  import { TeamsUFOExperience } from './index';
4
- 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'];
4
+ 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'];
5
5
  export var TEAMS_CLIENT_EXPERIENCES = new Map(_toConsumableArray(TeamsClientExperienceKeyList.map(function (key) {
6
6
  return [key,
7
7
  // camelCase to kebab-case
@@ -0,0 +1,14 @@
1
+ import { fg } from '@atlaskit/platform-feature-flags';
2
+
3
+ /**
4
+ * Creates headers object with X-Query-Context header if cloudId is provided and feature flag is enabled.
5
+ * Use this for AGG client makeGraphQLRequest calls.
6
+ */
7
+ export function createQueryContextHeaders(cloudId) {
8
+ if (!cloudId || !fg('enable_x_query_context_header')) {
9
+ return undefined;
10
+ }
11
+ return {
12
+ 'X-Query-Context': "ari:cloud:platform::site/".concat(cloudId)
13
+ };
14
+ }
@@ -44,6 +44,30 @@ export var CollaborationGraphClient = /*#__PURE__*/function (_RestClient) {
44
44
  expanded: true
45
45
  });
46
46
  }
47
+ }, {
48
+ key: "getRecommendedUsers",
49
+ value: function getRecommendedUsers(_ref2) {
50
+ var accountId = _ref2.accountId,
51
+ cloudId = _ref2.cloudId,
52
+ _ref2$maxNumberOfResu = _ref2.maxNumberOfResults,
53
+ maxNumberOfResults = _ref2$maxNumberOfResu === void 0 ? 12 : _ref2$maxNumberOfResu,
54
+ _ref2$filter = _ref2.filter,
55
+ filter = _ref2$filter === void 0 ? 'account_status:"active" AND (NOT email_domain:"connect.atlassian.com") AND (NOT account_type:"app")' : _ref2$filter;
56
+ return this.postResource('/v2/recommend/user', {
57
+ context: {
58
+ userId: accountId,
59
+ tenantId: cloudId
60
+ },
61
+ modelRequestParams: {
62
+ experience: 'CgUserNearbyUser',
63
+ caller: 'atlas'
64
+ },
65
+ requestingUserId: accountId,
66
+ expand: 'existing',
67
+ maxNumberOfResults: maxNumberOfResults,
68
+ filter: filter
69
+ });
70
+ }
47
71
  }]);
48
72
  }(RestClient);
49
73
  export default new CollaborationGraphClient({
@@ -1,3 +1,4 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
3
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
4
  import _createClass from "@babel/runtime/helpers/createClass";
@@ -5,8 +6,11 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstruct
5
6
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
7
  import _inherits from "@babel/runtime/helpers/inherits";
7
8
  import _regeneratorRuntime from "@babel/runtime/regenerator";
9
+ 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
+ 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; }
8
11
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
9
12
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
13
+ import { fg } from '@atlaskit/platform-feature-flags';
10
14
  import { DefaultError, GraphQLError } from '../../common/utils/error';
11
15
  import { BaseClient } from '../base-client';
12
16
  import { handleGraphQLRequest } from './utils';
@@ -24,34 +28,57 @@ export var BaseGraphQlClient = /*#__PURE__*/function (_BaseClient) {
24
28
  value: function setServiceUrl(serviceUrl) {
25
29
  this.serviceUrl = serviceUrl;
26
30
  }
31
+
32
+ /**
33
+ * Creates query context headers if cloudId is available and feature flag is enabled.
34
+ */
35
+ }, {
36
+ key: "createQueryContextHeaders",
37
+ value: function createQueryContextHeaders(cloudId) {
38
+ if (!cloudId || !fg('enable_x_query_context_header')) {
39
+ return undefined;
40
+ }
41
+ return {
42
+ 'X-Query-Context': "ari:cloud:platform::site/".concat(cloudId)
43
+ };
44
+ }
27
45
  }, {
28
46
  key: "makeGraphQLRequest",
29
47
  value: function () {
30
48
  var _makeGraphQLRequest = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(body) {
31
49
  var options,
50
+ cloudId,
51
+ queryContextHeaders,
52
+ mergedOptions,
32
53
  _args = arguments;
33
54
  return _regeneratorRuntime.wrap(function _callee$(_context) {
34
55
  while (1) switch (_context.prev = _context.next) {
35
56
  case 0:
36
57
  options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
37
58
  _context.prev = 1;
38
- return _context.abrupt("return", handleGraphQLRequest(this.serviceUrl, body, options));
39
- case 5:
40
- _context.prev = 5;
59
+ // Automatically add X-Query-Context header if cloudId is available in context
60
+ cloudId = this.getCloudId();
61
+ queryContextHeaders = this.createQueryContextHeaders(cloudId); // Merge headers: query context headers first, then provided headers (provided headers take precedence)
62
+ mergedOptions = _objectSpread(_objectSpread({}, options), {}, {
63
+ headers: _objectSpread(_objectSpread({}, queryContextHeaders), options.headers)
64
+ });
65
+ return _context.abrupt("return", handleGraphQLRequest(this.serviceUrl, body, mergedOptions));
66
+ case 8:
67
+ _context.prev = 8;
41
68
  _context.t0 = _context["catch"](1);
42
69
  if (!(_context.t0 instanceof GraphQLError)) {
43
- _context.next = 9;
70
+ _context.next = 12;
44
71
  break;
45
72
  }
46
73
  throw _context.t0;
47
- case 9:
74
+ case 12:
48
75
  this.logException(_context.t0, 'UnknownError in GraphQLClient.makeGraphQLRequestWithoutRetries');
49
76
  throw new DefaultError({});
50
- case 11:
77
+ case 14:
51
78
  case "end":
52
79
  return _context.stop();
53
80
  }
54
- }, _callee, this, [[1, 5]]);
81
+ }, _callee, this, [[1, 8]]);
55
82
  }));
56
83
  function makeGraphQLRequest(_x) {
57
84
  return _makeGraphQLRequest.apply(this, arguments);
@@ -1,5 +1,8 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
1
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
+ 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; }
5
+ 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; }
3
6
  import { GraphQLError, HttpError } from '../../../common/utils/error';
4
7
  import { EXPONENTIAL_BACKOFF_RETRY_POLICY, is5xx, isFetchResponse, withExponentialBackoff } from '../../../common/utils/http';
5
8
  import { handleResponse } from '../../../common/utils/status-code-handlers-provider';
@@ -25,9 +28,9 @@ function _makeGraphQLRequestWithoutRetries() {
25
28
  url = serviceUrl + operationNameQuery;
26
29
  request = fetch(url, {
27
30
  method: 'POST',
28
- headers: new Headers({
31
+ headers: new Headers(_objectSpread({
29
32
  'Content-Type': 'application/json'
30
- }),
33
+ }, options.headers || {})),
31
34
  credentials: 'include',
32
35
  body: JSON.stringify(body)
33
36
  }).then(function (res) {