@atlaskit/teams-client 4.13.0 → 4.14.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 (31) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/common/utils/permissions/constants.js +5 -1
  3. package/dist/cjs/common/utils/ufo/index.js +2 -2
  4. package/dist/cjs/services/hooks/use-teams-client-setup.js +12 -0
  5. package/dist/cjs/services/main.js +69 -48
  6. package/dist/cjs/services/sentry/utils/get-sentry-config.js +1 -1
  7. package/dist/cjs/services/team-central-client/index.js +99 -66
  8. package/dist/cjs/services/team-central-client/queries/is-team-watcher.graphql.js +12 -0
  9. package/dist/es2019/common/utils/permissions/constants.js +4 -1
  10. package/dist/es2019/common/utils/ufo/index.js +2 -2
  11. package/dist/es2019/services/hooks/use-teams-client-setup.js +8 -1
  12. package/dist/es2019/services/main.js +3 -0
  13. package/dist/es2019/services/sentry/utils/get-sentry-config.js +1 -1
  14. package/dist/es2019/services/team-central-client/index.js +13 -0
  15. package/dist/es2019/services/team-central-client/queries/is-team-watcher.graphql.js +9 -0
  16. package/dist/esm/common/utils/permissions/constants.js +5 -1
  17. package/dist/esm/common/utils/ufo/index.js +2 -2
  18. package/dist/esm/services/hooks/use-teams-client-setup.js +12 -1
  19. package/dist/esm/services/main.js +69 -48
  20. package/dist/esm/services/sentry/utils/get-sentry-config.js +1 -1
  21. package/dist/esm/services/team-central-client/index.js +99 -66
  22. package/dist/esm/services/team-central-client/queries/is-team-watcher.graphql.js +5 -0
  23. package/dist/types/services/hooks/use-teams-client-setup.d.ts +3 -1
  24. package/dist/types/services/main.d.ts +1 -0
  25. package/dist/types/services/team-central-client/index.d.ts +2 -0
  26. package/dist/types/services/team-central-client/queries/is-team-watcher.graphql.d.ts +8 -0
  27. package/dist/types-ts4.5/services/hooks/use-teams-client-setup.d.ts +3 -1
  28. package/dist/types-ts4.5/services/main.d.ts +1 -0
  29. package/dist/types-ts4.5/services/team-central-client/index.d.ts +2 -0
  30. package/dist/types-ts4.5/services/team-central-client/queries/is-team-watcher.graphql.d.ts +8 -0
  31. package/package.json +5 -2
@@ -22,6 +22,7 @@ var _helpPointerDeleteMutation = require("./mutations/help-pointer-delete-mutati
22
22
  var _helpPointerUpdateMutation = require("./mutations/help-pointer-update-mutation.graphql");
23
23
  var _kudosDeleteMutation = require("./mutations/kudos-delete-mutation.graphql");
24
24
  var _removeTeamWatcher2 = require("./mutations/remove-team-watcher.graphql");
25
+ var _isTeamWatcher2 = require("./queries/is-team-watcher.graphql");
25
26
  var _tagListQuery = require("./queries/tag-list-query.graphql");
26
27
  var _utils = require("./utils");
27
28
  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)); }
@@ -41,241 +42,273 @@ var TeamCentralClient = exports.TeamCentralClient = /*#__PURE__*/function (_Base
41
42
  this.setServiceUrl(cloudId && cloudId !== 'None' ? (0, _utils.getTeamCentralGraphqlUrl)(baseUrl, cloudId) : (0, _utils.getUnshardedTeamCentralGraphqlUrl)(baseUrl));
42
43
  }
43
44
  }, {
44
- key: "addTeamWatcher",
45
+ key: "isTeamWatcher",
45
46
  value: function () {
46
- var _addTeamWatcher = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(teamId, cloudId) {
47
+ var _isTeamWatcher = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(teamId, cloudId) {
47
48
  var response;
48
49
  return _regenerator.default.wrap(function _callee$(_context) {
49
50
  while (1) switch (_context.prev = _context.next) {
50
51
  case 0:
51
52
  _context.next = 2;
52
53
  return this.makeGraphQLRequest({
53
- query: _addTeamWatcher2.AddTeamWatcherMutation,
54
+ query: _isTeamWatcher2.IsTeamWatcherQuery,
54
55
  variables: {
55
- teamId: teamId,
56
- cloudId: cloudId
56
+ teamId: teamId.replace('ari:cloud:identity::team/', ''),
57
+ cloudId: cloudId || 'None'
57
58
  }
58
59
  }, {
59
- operationName: 'addTeamWatcher'
60
+ operationName: 'isTeamWatcher'
60
61
  });
61
62
  case 2:
62
63
  response = _context.sent;
63
- return _context.abrupt("return", response.addTeamWatcher);
64
+ return _context.abrupt("return", response.isTeamWatcher);
64
65
  case 4:
65
66
  case "end":
66
67
  return _context.stop();
67
68
  }
68
69
  }, _callee, this);
69
70
  }));
70
- function addTeamWatcher(_x, _x2) {
71
- return _addTeamWatcher.apply(this, arguments);
71
+ function isTeamWatcher(_x, _x2) {
72
+ return _isTeamWatcher.apply(this, arguments);
72
73
  }
73
- return addTeamWatcher;
74
+ return isTeamWatcher;
74
75
  }()
75
76
  }, {
76
- key: "removeTeamWatcher",
77
+ key: "addTeamWatcher",
77
78
  value: function () {
78
- var _removeTeamWatcher = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(teamId, cloudId) {
79
+ var _addTeamWatcher = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(teamId, cloudId) {
79
80
  var response;
80
81
  return _regenerator.default.wrap(function _callee2$(_context2) {
81
82
  while (1) switch (_context2.prev = _context2.next) {
82
83
  case 0:
83
84
  _context2.next = 2;
84
85
  return this.makeGraphQLRequest({
85
- query: _removeTeamWatcher2.RemoveTeamWatcherMutation,
86
+ query: _addTeamWatcher2.AddTeamWatcherMutation,
86
87
  variables: {
87
88
  teamId: teamId,
88
89
  cloudId: cloudId
89
90
  }
90
91
  }, {
91
- operationName: 'removeTeamWatcher'
92
+ operationName: 'addTeamWatcher'
92
93
  });
93
94
  case 2:
94
95
  response = _context2.sent;
95
- return _context2.abrupt("return", response.removeTeamWatcher);
96
+ return _context2.abrupt("return", response.addTeamWatcher);
96
97
  case 4:
97
98
  case "end":
98
99
  return _context2.stop();
99
100
  }
100
101
  }, _callee2, this);
101
102
  }));
102
- function removeTeamWatcher(_x3, _x4) {
103
- return _removeTeamWatcher.apply(this, arguments);
103
+ function addTeamWatcher(_x3, _x4) {
104
+ return _addTeamWatcher.apply(this, arguments);
104
105
  }
105
- return removeTeamWatcher;
106
+ return addTeamWatcher;
106
107
  }()
107
108
  }, {
108
- key: "deleteKudos",
109
+ key: "removeTeamWatcher",
109
110
  value: function () {
110
- var _deleteKudos = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(id) {
111
+ var _removeTeamWatcher = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(teamId, cloudId) {
111
112
  var response;
112
113
  return _regenerator.default.wrap(function _callee3$(_context3) {
113
114
  while (1) switch (_context3.prev = _context3.next) {
114
115
  case 0:
115
116
  _context3.next = 2;
116
117
  return this.makeGraphQLRequest({
117
- query: _kudosDeleteMutation.KudosDeleteMutation,
118
+ query: _removeTeamWatcher2.RemoveTeamWatcherMutation,
118
119
  variables: {
119
- id: id
120
+ teamId: teamId,
121
+ cloudId: cloudId
120
122
  }
121
123
  }, {
122
- operationName: 'DeleteKudos'
124
+ operationName: 'removeTeamWatcher'
123
125
  });
124
126
  case 2:
125
127
  response = _context3.sent;
126
- return _context3.abrupt("return", response.deleteKudos);
128
+ return _context3.abrupt("return", response.removeTeamWatcher);
127
129
  case 4:
128
130
  case "end":
129
131
  return _context3.stop();
130
132
  }
131
133
  }, _callee3, this);
132
134
  }));
133
- function deleteKudos(_x5) {
134
- return _deleteKudos.apply(this, arguments);
135
+ function removeTeamWatcher(_x5, _x6) {
136
+ return _removeTeamWatcher.apply(this, arguments);
135
137
  }
136
- return deleteKudos;
138
+ return removeTeamWatcher;
137
139
  }()
138
140
  }, {
139
- key: "queryTagList",
141
+ key: "deleteKudos",
140
142
  value: function () {
141
- var _queryTagList = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(variables) {
143
+ var _deleteKudos = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(id) {
142
144
  var response;
143
145
  return _regenerator.default.wrap(function _callee4$(_context4) {
144
146
  while (1) switch (_context4.prev = _context4.next) {
145
147
  case 0:
146
148
  _context4.next = 2;
147
149
  return this.makeGraphQLRequest({
148
- query: _tagListQuery.TagListQuery,
149
- variables: variables
150
+ query: _kudosDeleteMutation.KudosDeleteMutation,
151
+ variables: {
152
+ id: id
153
+ }
150
154
  }, {
151
- operationName: 'TagListByCloudId'
155
+ operationName: 'DeleteKudos'
152
156
  });
153
157
  case 2:
154
158
  response = _context4.sent;
155
- return _context4.abrupt("return", response.tagSearchByCloudId);
159
+ return _context4.abrupt("return", response.deleteKudos);
156
160
  case 4:
157
161
  case "end":
158
162
  return _context4.stop();
159
163
  }
160
164
  }, _callee4, this);
161
165
  }));
162
- function queryTagList(_x6) {
163
- return _queryTagList.apply(this, arguments);
166
+ function deleteKudos(_x7) {
167
+ return _deleteKudos.apply(this, arguments);
164
168
  }
165
- return queryTagList;
169
+ return deleteKudos;
166
170
  }()
167
171
  }, {
168
- key: "createTag",
172
+ key: "queryTagList",
169
173
  value: function () {
170
- var _createTag = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(variables) {
174
+ var _queryTagList = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(variables) {
171
175
  var response;
172
176
  return _regenerator.default.wrap(function _callee5$(_context5) {
173
177
  while (1) switch (_context5.prev = _context5.next) {
174
178
  case 0:
175
179
  _context5.next = 2;
176
180
  return this.makeGraphQLRequest({
177
- query: _createTagMutation.CreateTagMutation,
181
+ query: _tagListQuery.TagListQuery,
178
182
  variables: variables
179
183
  }, {
180
- operationName: 'createTagForCloudId'
184
+ operationName: 'TagListByCloudId'
181
185
  });
182
186
  case 2:
183
187
  response = _context5.sent;
184
- return _context5.abrupt("return", response.createTagForCloudId);
188
+ return _context5.abrupt("return", response.tagSearchByCloudId);
185
189
  case 4:
186
190
  case "end":
187
191
  return _context5.stop();
188
192
  }
189
193
  }, _callee5, this);
190
194
  }));
191
- function createTag(_x7) {
192
- return _createTag.apply(this, arguments);
195
+ function queryTagList(_x8) {
196
+ return _queryTagList.apply(this, arguments);
193
197
  }
194
- return createTag;
198
+ return queryTagList;
195
199
  }()
196
200
  }, {
197
- key: "createHelpPointer",
201
+ key: "createTag",
198
202
  value: function () {
199
- var _createHelpPointer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(variables) {
203
+ var _createTag = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(variables) {
200
204
  var response;
201
205
  return _regenerator.default.wrap(function _callee6$(_context6) {
202
206
  while (1) switch (_context6.prev = _context6.next) {
203
207
  case 0:
204
208
  _context6.next = 2;
205
209
  return this.makeGraphQLRequest({
206
- query: _helpPointerCreateMutation.HelpPointerCreateMutation,
210
+ query: _createTagMutation.CreateTagMutation,
207
211
  variables: variables
208
212
  }, {
209
- operationName: 'CreateHelpPointer'
213
+ operationName: 'createTagForCloudId'
210
214
  });
211
215
  case 2:
212
216
  response = _context6.sent;
213
- return _context6.abrupt("return", response.createHelpPointer);
217
+ return _context6.abrupt("return", response.createTagForCloudId);
214
218
  case 4:
215
219
  case "end":
216
220
  return _context6.stop();
217
221
  }
218
222
  }, _callee6, this);
219
223
  }));
220
- function createHelpPointer(_x8) {
221
- return _createHelpPointer.apply(this, arguments);
224
+ function createTag(_x9) {
225
+ return _createTag.apply(this, arguments);
222
226
  }
223
- return createHelpPointer;
227
+ return createTag;
224
228
  }()
225
229
  }, {
226
- key: "updateHelpPointer",
230
+ key: "createHelpPointer",
227
231
  value: function () {
228
- var _updateHelpPointer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(variables) {
232
+ var _createHelpPointer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(variables) {
229
233
  var response;
230
234
  return _regenerator.default.wrap(function _callee7$(_context7) {
231
235
  while (1) switch (_context7.prev = _context7.next) {
232
236
  case 0:
233
237
  _context7.next = 2;
234
238
  return this.makeGraphQLRequest({
235
- query: _helpPointerUpdateMutation.HelpPointerUpdateMutation,
239
+ query: _helpPointerCreateMutation.HelpPointerCreateMutation,
236
240
  variables: variables
237
241
  }, {
238
- operationName: 'UpdateHelpPointer'
242
+ operationName: 'CreateHelpPointer'
239
243
  });
240
244
  case 2:
241
245
  response = _context7.sent;
242
- return _context7.abrupt("return", response.updateHelpPointer);
246
+ return _context7.abrupt("return", response.createHelpPointer);
243
247
  case 4:
244
248
  case "end":
245
249
  return _context7.stop();
246
250
  }
247
251
  }, _callee7, this);
248
252
  }));
249
- function updateHelpPointer(_x9) {
250
- return _updateHelpPointer.apply(this, arguments);
253
+ function createHelpPointer(_x0) {
254
+ return _createHelpPointer.apply(this, arguments);
251
255
  }
252
- return updateHelpPointer;
256
+ return createHelpPointer;
253
257
  }()
254
258
  }, {
255
- key: "deleteHelpPointer",
259
+ key: "updateHelpPointer",
256
260
  value: function () {
257
- var _deleteHelpPointer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(variables) {
261
+ var _updateHelpPointer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(variables) {
258
262
  var response;
259
263
  return _regenerator.default.wrap(function _callee8$(_context8) {
260
264
  while (1) switch (_context8.prev = _context8.next) {
261
265
  case 0:
262
266
  _context8.next = 2;
263
267
  return this.makeGraphQLRequest({
264
- query: _helpPointerDeleteMutation.HelpPointerDeleteMutation,
268
+ query: _helpPointerUpdateMutation.HelpPointerUpdateMutation,
265
269
  variables: variables
266
270
  }, {
267
- operationName: 'DeleteHelpPointer'
271
+ operationName: 'UpdateHelpPointer'
268
272
  });
269
273
  case 2:
270
274
  response = _context8.sent;
271
- return _context8.abrupt("return", response.deleteHelpPointer);
275
+ return _context8.abrupt("return", response.updateHelpPointer);
272
276
  case 4:
273
277
  case "end":
274
278
  return _context8.stop();
275
279
  }
276
280
  }, _callee8, this);
277
281
  }));
278
- function deleteHelpPointer(_x0) {
282
+ function updateHelpPointer(_x1) {
283
+ return _updateHelpPointer.apply(this, arguments);
284
+ }
285
+ return updateHelpPointer;
286
+ }()
287
+ }, {
288
+ key: "deleteHelpPointer",
289
+ value: function () {
290
+ var _deleteHelpPointer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(variables) {
291
+ var response;
292
+ return _regenerator.default.wrap(function _callee9$(_context9) {
293
+ while (1) switch (_context9.prev = _context9.next) {
294
+ case 0:
295
+ _context9.next = 2;
296
+ return this.makeGraphQLRequest({
297
+ query: _helpPointerDeleteMutation.HelpPointerDeleteMutation,
298
+ variables: variables
299
+ }, {
300
+ operationName: 'DeleteHelpPointer'
301
+ });
302
+ case 2:
303
+ response = _context9.sent;
304
+ return _context9.abrupt("return", response.deleteHelpPointer);
305
+ case 4:
306
+ case "end":
307
+ return _context9.stop();
308
+ }
309
+ }, _callee9, this);
310
+ }));
311
+ function deleteHelpPointer(_x10) {
279
312
  return _deleteHelpPointer.apply(this, arguments);
280
313
  }
281
314
  return deleteHelpPointer;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.IsTeamWatcherQuery = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _graphql = require("graphql");
10
+ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
11
+ var _templateObject;
12
+ var IsTeamWatcherQuery = exports.IsTeamWatcherQuery = (0, _graphql.print)((0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n\tquery IsTeamWatcher($teamId: String!, $cloudId: String!) {\n\t\tisTeamWatcher: teamByTeamId(teamId: $teamId, cloudId: $cloudId) {\n\t\t\twatching\n\t\t}\n\t}\n"]))));
@@ -38,6 +38,7 @@ export const SCIMSyncTeamPermissions = (isMember, isOrgAdmin, source) => ({
38
38
  EDIT_TEAM_NAME: isOrgAdmin && source === 'ATLASSIAN_GROUP' && fg('enable_edit_team_name_external_type_teams')
39
39
  });
40
40
  export const getPermissionMap = (settings, permission, isMember, isOrgAdmin, source) => {
41
+ const newTeamProfileEnabled = fg('enable_new_team_profile');
41
42
  if (settings === 'OPEN') {
42
43
  return {
43
44
  ...allPermissions(permission === 'FULL_WRITE', isMember),
@@ -52,7 +53,9 @@ export const getPermissionMap = (settings, permission, isMember, isOrgAdmin, sou
52
53
  } else if (settings === 'EXTERNAL') {
53
54
  return {
54
55
  ...allPermissions(false, isMember),
55
- ...SCIMSyncTeamPermissions(isMember, isOrgAdmin, source)
56
+ ...SCIMSyncTeamPermissions(isMember, isOrgAdmin, source),
57
+ ADD_AGENT_TO_TEAM: newTeamProfileEnabled && (isMember || isOrgAdmin),
58
+ REMOVE_AGENT_FROM_TEAM: newTeamProfileEnabled && (isMember || isOrgAdmin)
56
59
  };
57
60
  }
58
61
  return allPermissions(false, false);
@@ -27,7 +27,7 @@ export class TeamsUFOExperience extends UFOExperience {
27
27
  return super.failure({
28
28
  metadata: {
29
29
  error: createErrorMetadata(error),
30
- packageVersion: "4.12.0",
30
+ packageVersion: "0.0.0-development",
31
31
  packageName: "@atlaskit/teams-client"
32
32
  }
33
33
  });
@@ -35,7 +35,7 @@ export class TeamsUFOExperience extends UFOExperience {
35
35
  return super.failure({
36
36
  metadata: {
37
37
  error: 'unknown error',
38
- packageVersion: "4.12.0",
38
+ packageVersion: "0.0.0-development",
39
39
  packageName: "@atlaskit/teams-client"
40
40
  }
41
41
  });
@@ -1,4 +1,4 @@
1
- import { useEffect } from 'react';
1
+ import { useEffect, useState } from 'react';
2
2
  import { teamsClient } from '../main';
3
3
  import { logInfoMessage } from '../sentry/main';
4
4
 
@@ -19,6 +19,7 @@ export const useTeamsClientSetupNext = ({
19
19
  orgId,
20
20
  principalUserId
21
21
  }) => {
22
+ const [isClientReady, setIsClientReady] = useState(false);
22
23
  useEffect(() => {
23
24
  if (!stargateRoot) {
24
25
  return;
@@ -36,6 +37,9 @@ export const useTeamsClientSetupNext = ({
36
37
  cloudId
37
38
  });
38
39
  }
40
+
41
+ // Mark client as ready after context is set
42
+ setIsClientReady(true);
39
43
  }, [cloudId, orgId, principalUserId]);
40
44
  useEffect(() => {
41
45
  if (!stargateRoot) {
@@ -47,4 +51,7 @@ export const useTeamsClientSetupNext = ({
47
51
  userId: principalUserId
48
52
  });
49
53
  }, [cloudId, orgId, principalUserId, stargateRoot]);
54
+ return {
55
+ isClientReady
56
+ };
50
57
  };
@@ -645,6 +645,9 @@ export class TeamsClient {
645
645
  async addTeamWatcher(...args) {
646
646
  return this._teamCentralClient.addTeamWatcher(...args);
647
647
  }
648
+ async isTeamWatcher(...args) {
649
+ return this._teamCentralClient.isTeamWatcher(...args);
650
+ }
648
651
  async removeTeamWatcher(...args) {
649
652
  return this._teamCentralClient.removeTeamWatcher(...args);
650
653
  }
@@ -28,7 +28,7 @@ export function getSentryConfig(options) {
28
28
  ...DEFAULT_SENTRY_CONFIG,
29
29
  // Standalone __VERSION__ is set from `bin/set-release-version.sh`
30
30
  // when building to deploy to production
31
- release: `${"@atlaskit/teams-client"}@${"4.12.0"}` ||
31
+ release: `${"@atlaskit/teams-client"}@${"0.0.0-development"}` ||
32
32
  // @ts-ignore Jira - window.BUILD_KEY
33
33
  window.BUILD_KEY || ( // @ts-ignore Confluence - window.__buildInfo
34
34
  (_window$__buildInfo = window.__buildInfo) === null || _window$__buildInfo === void 0 ? void 0 : _window$__buildInfo.FRONTEND_VERSION) || '---',
@@ -8,6 +8,7 @@ import { HelpPointerDeleteMutation } from './mutations/help-pointer-delete-mutat
8
8
  import { HelpPointerUpdateMutation } from './mutations/help-pointer-update-mutation.graphql';
9
9
  import { KudosDeleteMutation } from './mutations/kudos-delete-mutation.graphql';
10
10
  import { RemoveTeamWatcherMutation } from './mutations/remove-team-watcher.graphql';
11
+ import { IsTeamWatcherQuery } from './queries/is-team-watcher.graphql';
11
12
  import { TagListQuery } from './queries/tag-list-query.graphql';
12
13
  import { getTeamCentralGraphqlUrl, getUnshardedTeamCentralGraphqlUrl } from './utils';
13
14
  export class TeamCentralClient extends BaseGraphQlClient {
@@ -20,6 +21,18 @@ export class TeamCentralClient extends BaseGraphQlClient {
20
21
  const cloudId = this.getCloudId();
21
22
  this.setServiceUrl(cloudId && cloudId !== 'None' ? getTeamCentralGraphqlUrl(baseUrl, cloudId) : getUnshardedTeamCentralGraphqlUrl(baseUrl));
22
23
  }
24
+ async isTeamWatcher(teamId, cloudId) {
25
+ const response = await this.makeGraphQLRequest({
26
+ query: IsTeamWatcherQuery,
27
+ variables: {
28
+ teamId: teamId.replace('ari:cloud:identity::team/', ''),
29
+ cloudId: cloudId || 'None'
30
+ }
31
+ }, {
32
+ operationName: 'isTeamWatcher'
33
+ });
34
+ return response.isTeamWatcher;
35
+ }
23
36
  async addTeamWatcher(teamId, cloudId) {
24
37
  const response = await this.makeGraphQLRequest({
25
38
  query: AddTeamWatcherMutation,
@@ -0,0 +1,9 @@
1
+ import { print } from 'graphql';
2
+ import gql from 'graphql-tag';
3
+ export const IsTeamWatcherQuery = print(gql`
4
+ query IsTeamWatcher($teamId: String!, $cloudId: String!) {
5
+ isTeamWatcher: teamByTeamId(teamId: $teamId, cloudId: $cloudId) {
6
+ watching
7
+ }
8
+ }
9
+ `);
@@ -49,13 +49,17 @@ export var SCIMSyncTeamPermissions = function SCIMSyncTeamPermissions(isMember,
49
49
  };
50
50
  };
51
51
  export var getPermissionMap = function getPermissionMap(settings, permission, isMember, isOrgAdmin, source) {
52
+ var newTeamProfileEnabled = fg('enable_new_team_profile');
52
53
  if (settings === 'OPEN') {
53
54
  return _objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember)), openPermissions(permission));
54
55
  }
55
56
  if (settings === 'MEMBER_INVITE') {
56
57
  return _objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember)), inviteOnlyPermissions(permission));
57
58
  } else if (settings === 'EXTERNAL') {
58
- return _objectSpread(_objectSpread({}, allPermissions(false, isMember)), SCIMSyncTeamPermissions(isMember, isOrgAdmin, source));
59
+ return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(false, isMember)), SCIMSyncTeamPermissions(isMember, isOrgAdmin, source)), {}, {
60
+ ADD_AGENT_TO_TEAM: newTeamProfileEnabled && (isMember || isOrgAdmin),
61
+ REMOVE_AGENT_FROM_TEAM: newTeamProfileEnabled && (isMember || isOrgAdmin)
62
+ });
59
63
  }
60
64
  return allPermissions(false, false);
61
65
  };
@@ -45,7 +45,7 @@ export var TeamsUFOExperience = /*#__PURE__*/function (_UFOExperience) {
45
45
  return _superPropGet(TeamsUFOExperience, "failure", this, 3)([{
46
46
  metadata: {
47
47
  error: createErrorMetadata(error),
48
- packageVersion: "4.12.0",
48
+ packageVersion: "0.0.0-development",
49
49
  packageName: "@atlaskit/teams-client"
50
50
  }
51
51
  }]);
@@ -53,7 +53,7 @@ export var TeamsUFOExperience = /*#__PURE__*/function (_UFOExperience) {
53
53
  return _superPropGet(TeamsUFOExperience, "failure", this, 3)([{
54
54
  metadata: {
55
55
  error: 'unknown error',
56
- packageVersion: "4.12.0",
56
+ packageVersion: "0.0.0-development",
57
57
  packageName: "@atlaskit/teams-client"
58
58
  }
59
59
  }]);
@@ -1,4 +1,5 @@
1
- import { useEffect } from 'react';
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { useEffect, useState } from 'react';
2
3
  import { teamsClient } from '../main';
3
4
  import { logInfoMessage } from '../sentry/main';
4
5
 
@@ -18,6 +19,10 @@ export var useTeamsClientSetupNext = function useTeamsClientSetupNext(_ref) {
18
19
  cloudId = _ref.cloudId,
19
20
  orgId = _ref.orgId,
20
21
  principalUserId = _ref.principalUserId;
22
+ var _useState = useState(false),
23
+ _useState2 = _slicedToArray(_useState, 2),
24
+ isClientReady = _useState2[0],
25
+ setIsClientReady = _useState2[1];
21
26
  useEffect(function () {
22
27
  if (!stargateRoot) {
23
28
  return;
@@ -35,6 +40,9 @@ export var useTeamsClientSetupNext = function useTeamsClientSetupNext(_ref) {
35
40
  cloudId: cloudId
36
41
  });
37
42
  }
43
+
44
+ // Mark client as ready after context is set
45
+ setIsClientReady(true);
38
46
  }, [cloudId, orgId, principalUserId]);
39
47
  useEffect(function () {
40
48
  if (!stargateRoot) {
@@ -46,4 +54,7 @@ export var useTeamsClientSetupNext = function useTeamsClientSetupNext(_ref) {
46
54
  userId: principalUserId
47
55
  });
48
56
  }, [cloudId, orgId, principalUserId, stargateRoot]);
57
+ return {
58
+ isClientReady: isClientReady
59
+ };
49
60
  };