@atlaskit/teams-client 4.23.0 → 4.24.1

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 (40) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/common/types.js +3 -2
  3. package/dist/cjs/common/utils/ari.js +14 -1
  4. package/dist/cjs/common/utils/permissions/constants.js +17 -6
  5. package/dist/cjs/common/utils/permissions/types.js +1 -1
  6. package/dist/cjs/common/utils/ufo/index.js +2 -2
  7. package/dist/cjs/index.js +6 -0
  8. package/dist/cjs/services/legion-client/index.js +4 -3
  9. package/dist/cjs/services/sentry/utils/get-sentry-config.js +1 -1
  10. package/dist/es2019/common/types.js +2 -1
  11. package/dist/es2019/common/utils/ari.js +12 -1
  12. package/dist/es2019/common/utils/permissions/constants.js +18 -6
  13. package/dist/es2019/common/utils/permissions/types.js +1 -1
  14. package/dist/es2019/common/utils/ufo/index.js +2 -2
  15. package/dist/es2019/index.js +1 -1
  16. package/dist/es2019/services/legion-client/index.js +4 -3
  17. package/dist/es2019/services/sentry/utils/get-sentry-config.js +1 -1
  18. package/dist/esm/common/types.js +2 -1
  19. package/dist/esm/common/utils/ari.js +14 -1
  20. package/dist/esm/common/utils/permissions/constants.js +17 -6
  21. package/dist/esm/common/utils/permissions/types.js +1 -1
  22. package/dist/esm/common/utils/ufo/index.js +2 -2
  23. package/dist/esm/index.js +1 -1
  24. package/dist/esm/services/legion-client/index.js +4 -3
  25. package/dist/esm/services/sentry/utils/get-sentry-config.js +1 -1
  26. package/dist/types/common/types.d.ts +2 -0
  27. package/dist/types/common/utils/ari.d.ts +6 -1
  28. package/dist/types/common/utils/permissions/types.d.ts +1 -1
  29. package/dist/types/index.d.ts +1 -1
  30. package/dist/types/services/legion-client/index.d.ts +2 -2
  31. package/dist/types/services/main.d.ts +3 -3
  32. package/dist/types/types/team.d.ts +2 -7
  33. package/dist/types-ts4.5/common/types.d.ts +2 -0
  34. package/dist/types-ts4.5/common/utils/ari.d.ts +6 -1
  35. package/dist/types-ts4.5/common/utils/permissions/types.d.ts +1 -0
  36. package/dist/types-ts4.5/index.d.ts +1 -1
  37. package/dist/types-ts4.5/services/legion-client/index.d.ts +2 -2
  38. package/dist/types-ts4.5/services/main.d.ts +3 -3
  39. package/dist/types-ts4.5/types/team.d.ts +2 -7
  40. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atlaskit/teams-client
2
2
 
3
+ ## 4.24.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`16637112d793a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/16637112d793a) -
8
+ Team creation accepts both team type ID and team type ARI
9
+
10
+ ## 4.24.0
11
+
12
+ ### Minor Changes
13
+
14
+ - [`0f5306d6607ab`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0f5306d6607ab) -
15
+ Add ORG_ADMIN_MANAGED to membership settings
16
+
3
17
  ## 4.23.0
4
18
 
5
19
  ### Minor Changes
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.USER_ARI_PREFIX = exports.TEAM_ARI_PREFIX = void 0;
6
+ exports.USER_ARI_PREFIX = exports.TEAM_TYPE_ARI_PREFIX = exports.TEAM_ARI_PREFIX = void 0;
7
7
  var USER_ARI_PREFIX = exports.USER_ARI_PREFIX = 'ari:cloud:identity::user/';
8
- var TEAM_ARI_PREFIX = exports.TEAM_ARI_PREFIX = 'ari:cloud:identity::team/';
8
+ var TEAM_ARI_PREFIX = exports.TEAM_ARI_PREFIX = 'ari:cloud:identity::team/';
9
+ var TEAM_TYPE_ARI_PREFIX = exports.TEAM_TYPE_ARI_PREFIX = 'ari:cloud:identity::team-type/';
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.toUserId = exports.toUserARI = exports.toTeamId = exports.toTeamARI = exports.isUserARI = exports.isTeamARI = void 0;
6
+ exports.toUserId = exports.toUserARI = exports.toTeamTypeId = exports.toTeamId = exports.toTeamARI = exports.isUserARI = exports.isTeamTypeAri = exports.isTeamARI = void 0;
7
7
  var _types = require("../types");
8
8
  var isUserARI = exports.isUserARI = function isUserARI(ari) {
9
9
  return ari.startsWith(_types.USER_ARI_PREFIX);
@@ -28,4 +28,17 @@ var toTeamId = exports.toTeamId = function toTeamId(ari) {
28
28
  };
29
29
  var toTeamARI = exports.toTeamARI = function toTeamARI(teamId) {
30
30
  return isTeamARI(teamId) ? teamId : "".concat(_types.TEAM_ARI_PREFIX).concat(teamId);
31
+ };
32
+
33
+ /**
34
+ * TODO: Replace these team type ari utils with @atlassian/ari when it is published
35
+ */
36
+ var isTeamTypeAri = exports.isTeamTypeAri = function isTeamTypeAri(ari) {
37
+ return ari.startsWith(_types.TEAM_TYPE_ARI_PREFIX);
38
+ };
39
+ var toTeamTypeId = exports.toTeamTypeId = function toTeamTypeId(teamTypeAriOrId) {
40
+ if (isTeamTypeAri(teamTypeAriOrId)) {
41
+ return teamTypeAriOrId.replace(_types.TEAM_TYPE_ARI_PREFIX, '');
42
+ }
43
+ return teamTypeAriOrId;
31
44
  };
@@ -33,7 +33,8 @@ var allPermissions = exports.allPermissions = function allPermissions(defaultPer
33
33
  ADD_AGENT_TO_TEAM: defaultPermission,
34
34
  ARCHIVE_TEAM: defaultPermission && isMember,
35
35
  UNARCHIVE_TEAM: false,
36
- CAN_EDIT_HIERARCHY: defaultPermission && isMember
36
+ CAN_EDIT_HIERARCHY: defaultPermission && isMember,
37
+ CAN_CHANGE_MEMBERSHIP_SETTINGS: defaultPermission
37
38
  };
38
39
  };
39
40
  var vanityActions = exports.vanityActions = ['EDIT_DESCRIPTION', 'EDIT_TEAM_NAME', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK'];
@@ -75,12 +76,12 @@ var getDisbandedTeamPermissionMap = function getDisbandedTeamPermissionMap(setti
75
76
  // UNARCHIVE_TEAM permission based on team settings
76
77
  var canUnarchive = false;
77
78
  if (isArchiveTeamEnabled) {
78
- if (settings === 'EXTERNAL') {
79
- // For EXTERNAL teams, only org admins can unarchive
79
+ if (settings === 'EXTERNAL' || settings === 'ORG_ADMIN_MANAGED') {
80
+ // For EXTERNAL and ORG_ADMIN_MANAGED teams, only org admins can unarchive
80
81
  canUnarchive = isOrgAdmin;
81
82
  } else if (settings === 'OPEN' || settings === 'MEMBER_INVITE') {
82
83
  // For OPEN and MEMBER_INVITE teams, members with FULL_WRITE can unarchive
83
- canUnarchive = isMember && permission === 'FULL_WRITE';
84
+ canUnarchive = (isMember || isOrgAdmin) && permission === 'FULL_WRITE';
84
85
  }
85
86
  }
86
87
  return _objectSpread(_objectSpread({}, basePermissions), {}, {
@@ -98,12 +99,12 @@ var getActiveTeamPermissionMap = function getActiveTeamPermissionMap(settings, p
98
99
  var isArchiveTeamEnabled = (0, _platformFeatureFlags.fg)('legion-enable-archive-teams') && newTeamProfileEnabled;
99
100
  if (settings === 'OPEN') {
100
101
  return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), openPermissions(permission)), {}, {
101
- ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && isMember
102
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && (isMember || isOrgAdmin)
102
103
  });
103
104
  }
104
105
  if (settings === 'MEMBER_INVITE') {
105
106
  return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), inviteOnlyPermissions(permission)), {}, {
106
- ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && isMember
107
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && (isMember || isOrgAdmin)
107
108
  });
108
109
  } else if (settings === 'EXTERNAL') {
109
110
  return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(false, isMember, isOrgAdmin)), SCIMSyncTeamPermissions(isMember, isOrgAdmin, source)), {}, {
@@ -113,6 +114,16 @@ var getActiveTeamPermissionMap = function getActiveTeamPermissionMap(settings, p
113
114
  EDIT_TEAM_TYPE: isOrgAdmin,
114
115
  CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE' && isOrgAdmin
115
116
  });
117
+ } else if (settings === 'ORG_ADMIN_MANAGED') {
118
+ // NOTE: Only org admins will received FULL_WRITE permission
119
+ return _objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), {}, {
120
+ EDIT_TEAM_LINK: isMember || permission === 'FULL_WRITE',
121
+ ADD_AGENT_TO_TEAM: newTeamProfileEnabled && (isMember || permission === 'FULL_WRITE'),
122
+ REMOVE_AGENT_FROM_TEAM: newTeamProfileEnabled && (isMember || permission === 'FULL_WRITE'),
123
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE',
124
+ CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE',
125
+ EDIT_TEAM_TYPE: permission === 'FULL_WRITE'
126
+ });
116
127
  }
117
128
  return allPermissions(false, false, false);
118
129
  };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.AllTeamActions = void 0;
7
- var AllTeamActions = exports.AllTeamActions = ['ADD_MEMBER_TO_TEAM', 'JOIN_TEAM', 'REQUEST_TO_JOIN', 'CANCEL_JOIN_REQUEST', 'APPROVE_JOIN_REQUEST', 'REJECT_JOIN_REQUEST', 'REMOVE_MEMBER_FROM_TEAM', 'CANCEL_INVITE', 'LEAVE_TEAM', 'REMOVE_AGENT_FROM_TEAM', 'ADD_AGENT_TO_TEAM', 'CAN_EDIT_HIERARCHY',
7
+ var AllTeamActions = exports.AllTeamActions = ['ADD_MEMBER_TO_TEAM', 'JOIN_TEAM', 'REQUEST_TO_JOIN', 'CANCEL_JOIN_REQUEST', 'APPROVE_JOIN_REQUEST', 'REJECT_JOIN_REQUEST', 'REMOVE_MEMBER_FROM_TEAM', 'CANCEL_INVITE', 'LEAVE_TEAM', 'REMOVE_AGENT_FROM_TEAM', 'ADD_AGENT_TO_TEAM', 'CAN_EDIT_HIERARCHY', 'CAN_CHANGE_MEMBERSHIP_SETTINGS',
8
8
  // Visual
9
9
  'EDIT_TEAM_NAME', 'EDIT_DESCRIPTION', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK', 'EDIT_TEAM_SETTINGS', 'EDIT_TEAM_MEMBERSHIP', 'EDIT_TEAM_TYPE',
10
10
  // Serious
@@ -52,7 +52,7 @@ var TeamsUFOExperience = exports.TeamsUFOExperience = /*#__PURE__*/function (_UF
52
52
  return _superPropGet(TeamsUFOExperience, "failure", this, 3)([{
53
53
  metadata: {
54
54
  error: (0, _utils.createErrorMetadata)(error),
55
- packageVersion: "4.23.0",
55
+ packageVersion: "0.0.0-development",
56
56
  packageName: "@atlaskit/teams-client"
57
57
  }
58
58
  }]);
@@ -60,7 +60,7 @@ var TeamsUFOExperience = exports.TeamsUFOExperience = /*#__PURE__*/function (_UF
60
60
  return _superPropGet(TeamsUFOExperience, "failure", this, 3)([{
61
61
  metadata: {
62
62
  error: 'unknown error',
63
- packageVersion: "4.23.0",
63
+ packageVersion: "0.0.0-development",
64
64
  packageName: "@atlaskit/teams-client"
65
65
  }
66
66
  }]);
package/dist/cjs/index.js CHANGED
@@ -111,6 +111,12 @@ Object.defineProperty(exports, "toTeamId", {
111
111
  return _ari.toTeamId;
112
112
  }
113
113
  });
114
+ Object.defineProperty(exports, "toTeamTypeId", {
115
+ enumerable: true,
116
+ get: function get() {
117
+ return _ari.toTeamTypeId;
118
+ }
119
+ });
114
120
  Object.defineProperty(exports, "toUserARI", {
115
121
  enumerable: true,
116
122
  get: function get() {
@@ -15,6 +15,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/creat
15
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
16
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
17
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
18
+ var _ari = require("../../common/utils/ari");
18
19
  var _constants = require("../constants");
19
20
  var _restClient = require("../rest-client");
20
21
  var _excluded = ["linkUri"];
@@ -673,7 +674,7 @@ var LegionClient = exports.LegionClient = /*#__PURE__*/function (_RestClient) {
673
674
  while (1) switch (_context21.prev = _context21.next) {
674
675
  case 0:
675
676
  siteId = this.getCloudId();
676
- return _context21.abrupt("return", this.postResourceRaw("".concat(v4UrlPath, "/archive?siteId=").concat(siteId), JSON.stringify([this.trimTeamARI(teamId)])));
677
+ return _context21.abrupt("return", this.postResource("".concat(v4UrlPath, "/").concat(this.trimTeamARI(teamId), "/archive?siteId=").concat(siteId)));
677
678
  case 2:
678
679
  case "end":
679
680
  return _context21.stop();
@@ -694,7 +695,7 @@ var LegionClient = exports.LegionClient = /*#__PURE__*/function (_RestClient) {
694
695
  while (1) switch (_context22.prev = _context22.next) {
695
696
  case 0:
696
697
  siteId = this.getCloudId();
697
- return _context22.abrupt("return", this.postResourceRaw("".concat(v4UrlPath, "/unarchive?siteId=").concat(siteId), JSON.stringify([this.trimTeamARI(teamId)])));
698
+ return _context22.abrupt("return", this.postResource("".concat(v4UrlPath, "/").concat(this.trimTeamARI(teamId), "/unarchive?siteId=").concat(siteId)));
698
699
  case 2:
699
700
  case "end":
700
701
  return _context22.stop();
@@ -789,7 +790,7 @@ var LegionClient = exports.LegionClient = /*#__PURE__*/function (_RestClient) {
789
790
  siteId: this.getCloudId(),
790
791
  organizationId: organizationId,
791
792
  members: (0, _toConsumableArray2.default)(new Set(members)),
792
- typeId: typeId
793
+ typeId: typeId ? (0, _ari.toTeamTypeId)(typeId) : undefined
793
794
  });
794
795
  case 10:
795
796
  legionTeam = _context25.sent;
@@ -36,7 +36,7 @@ function getSentryConfig(options) {
36
36
  return _objectSpread(_objectSpread(_objectSpread({}, otherOptions), DEFAULT_SENTRY_CONFIG), {}, {
37
37
  // Standalone __VERSION__ is set from `bin/set-release-version.sh`
38
38
  // when building to deploy to production
39
- release: "".concat("@atlaskit/teams-client", "@").concat("4.23.0") ||
39
+ release: "".concat("@atlaskit/teams-client", "@").concat("0.0.0-development") ||
40
40
  // @ts-ignore Jira - window.BUILD_KEY
41
41
  window.BUILD_KEY || ( // @ts-ignore Confluence - window.__buildInfo
42
42
  (_window$__buildInfo = window.__buildInfo) === null || _window$__buildInfo === void 0 ? void 0 : _window$__buildInfo.FRONTEND_VERSION) || '---',
@@ -1,2 +1,3 @@
1
1
  export const USER_ARI_PREFIX = 'ari:cloud:identity::user/';
2
- export const TEAM_ARI_PREFIX = 'ari:cloud:identity::team/';
2
+ export const TEAM_ARI_PREFIX = 'ari:cloud:identity::team/';
3
+ export const TEAM_TYPE_ARI_PREFIX = 'ari:cloud:identity::team-type/';
@@ -1,4 +1,4 @@
1
- import { TEAM_ARI_PREFIX, USER_ARI_PREFIX } from '../types';
1
+ import { TEAM_ARI_PREFIX, TEAM_TYPE_ARI_PREFIX, USER_ARI_PREFIX } from '../types';
2
2
  export const isUserARI = ari => ari.startsWith(USER_ARI_PREFIX);
3
3
  export const toUserId = ari => {
4
4
  if (isUserARI(ari)) {
@@ -18,4 +18,15 @@ export const toTeamId = ari => {
18
18
  };
19
19
  export const toTeamARI = teamId => {
20
20
  return isTeamARI(teamId) ? teamId : `${TEAM_ARI_PREFIX}${teamId}`;
21
+ };
22
+
23
+ /**
24
+ * TODO: Replace these team type ari utils with @atlassian/ari when it is published
25
+ */
26
+ export const isTeamTypeAri = ari => ari.startsWith(TEAM_TYPE_ARI_PREFIX);
27
+ export const toTeamTypeId = teamTypeAriOrId => {
28
+ if (isTeamTypeAri(teamTypeAriOrId)) {
29
+ return teamTypeAriOrId.replace(TEAM_TYPE_ARI_PREFIX, '');
30
+ }
31
+ return teamTypeAriOrId;
21
32
  };
@@ -22,7 +22,8 @@ export const allPermissions = (defaultPermission, isMember, isOrgAdmin) => ({
22
22
  ADD_AGENT_TO_TEAM: defaultPermission,
23
23
  ARCHIVE_TEAM: defaultPermission && isMember,
24
24
  UNARCHIVE_TEAM: false,
25
- CAN_EDIT_HIERARCHY: defaultPermission && isMember
25
+ CAN_EDIT_HIERARCHY: defaultPermission && isMember,
26
+ CAN_CHANGE_MEMBERSHIP_SETTINGS: defaultPermission
26
27
  });
27
28
  export const vanityActions = ['EDIT_DESCRIPTION', 'EDIT_TEAM_NAME', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK'];
28
29
  export const openPermissions = permission => ({
@@ -57,12 +58,12 @@ const getDisbandedTeamPermissionMap = (settings, permission, isMember, isOrgAdmi
57
58
  // UNARCHIVE_TEAM permission based on team settings
58
59
  let canUnarchive = false;
59
60
  if (isArchiveTeamEnabled) {
60
- if (settings === 'EXTERNAL') {
61
- // For EXTERNAL teams, only org admins can unarchive
61
+ if (settings === 'EXTERNAL' || settings === 'ORG_ADMIN_MANAGED') {
62
+ // For EXTERNAL and ORG_ADMIN_MANAGED teams, only org admins can unarchive
62
63
  canUnarchive = isOrgAdmin;
63
64
  } else if (settings === 'OPEN' || settings === 'MEMBER_INVITE') {
64
65
  // For OPEN and MEMBER_INVITE teams, members with FULL_WRITE can unarchive
65
- canUnarchive = isMember && permission === 'FULL_WRITE';
66
+ canUnarchive = (isMember || isOrgAdmin) && permission === 'FULL_WRITE';
66
67
  }
67
68
  }
68
69
  return {
@@ -83,14 +84,14 @@ const getActiveTeamPermissionMap = (settings, permission, isMember, isOrgAdmin,
83
84
  return {
84
85
  ...allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin),
85
86
  ...openPermissions(permission),
86
- ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && isMember
87
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && (isMember || isOrgAdmin)
87
88
  };
88
89
  }
89
90
  if (settings === 'MEMBER_INVITE') {
90
91
  return {
91
92
  ...allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin),
92
93
  ...inviteOnlyPermissions(permission),
93
- ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && isMember
94
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && (isMember || isOrgAdmin)
94
95
  };
95
96
  } else if (settings === 'EXTERNAL') {
96
97
  return {
@@ -102,6 +103,17 @@ const getActiveTeamPermissionMap = (settings, permission, isMember, isOrgAdmin,
102
103
  EDIT_TEAM_TYPE: isOrgAdmin,
103
104
  CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE' && isOrgAdmin
104
105
  };
106
+ } else if (settings === 'ORG_ADMIN_MANAGED') {
107
+ // NOTE: Only org admins will received FULL_WRITE permission
108
+ return {
109
+ ...allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin),
110
+ EDIT_TEAM_LINK: isMember || permission === 'FULL_WRITE',
111
+ ADD_AGENT_TO_TEAM: newTeamProfileEnabled && (isMember || permission === 'FULL_WRITE'),
112
+ REMOVE_AGENT_FROM_TEAM: newTeamProfileEnabled && (isMember || permission === 'FULL_WRITE'),
113
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE',
114
+ CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE',
115
+ EDIT_TEAM_TYPE: permission === 'FULL_WRITE'
116
+ };
105
117
  }
106
118
  return allPermissions(false, false, false);
107
119
  };
@@ -1,4 +1,4 @@
1
- export const AllTeamActions = ['ADD_MEMBER_TO_TEAM', 'JOIN_TEAM', 'REQUEST_TO_JOIN', 'CANCEL_JOIN_REQUEST', 'APPROVE_JOIN_REQUEST', 'REJECT_JOIN_REQUEST', 'REMOVE_MEMBER_FROM_TEAM', 'CANCEL_INVITE', 'LEAVE_TEAM', 'REMOVE_AGENT_FROM_TEAM', 'ADD_AGENT_TO_TEAM', 'CAN_EDIT_HIERARCHY',
1
+ export const AllTeamActions = ['ADD_MEMBER_TO_TEAM', 'JOIN_TEAM', 'REQUEST_TO_JOIN', 'CANCEL_JOIN_REQUEST', 'APPROVE_JOIN_REQUEST', 'REJECT_JOIN_REQUEST', 'REMOVE_MEMBER_FROM_TEAM', 'CANCEL_INVITE', 'LEAVE_TEAM', 'REMOVE_AGENT_FROM_TEAM', 'ADD_AGENT_TO_TEAM', 'CAN_EDIT_HIERARCHY', 'CAN_CHANGE_MEMBERSHIP_SETTINGS',
2
2
  // Visual
3
3
  'EDIT_TEAM_NAME', 'EDIT_DESCRIPTION', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK', 'EDIT_TEAM_SETTINGS', 'EDIT_TEAM_MEMBERSHIP', 'EDIT_TEAM_TYPE',
4
4
  // Serious
@@ -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.23.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.23.0",
38
+ packageVersion: "0.0.0-development",
39
39
  packageName: "@atlaskit/teams-client"
40
40
  }
41
41
  });
@@ -15,5 +15,5 @@ export { userInfoProvider, UserInfoProvider } from './services/user-info-provide
15
15
 
16
16
  // /utils
17
17
  export { sortMembersByType, isInvited, isMember, isNonMember, isRequestingJoin } from './common/utils';
18
- export { toUserARI, toUserId, toTeamARI, toTeamId } from './common/utils/ari';
18
+ export { toUserARI, toUserId, toTeamARI, toTeamId, toTeamTypeId } from './common/utils/ari';
19
19
  export { useLazyQueryLight, useQueryLight, UseQueryLightError } from './services/use-query-light';
@@ -1,3 +1,4 @@
1
+ import { toTeamTypeId } from '../../common/utils/ari';
1
2
  import { DEFAULT_CONFIG } from '../constants';
2
3
  import { RestClient } from '../rest-client';
3
4
 
@@ -249,11 +250,11 @@ export class LegionClient extends RestClient {
249
250
  }
250
251
  async archiveTeam(teamId) {
251
252
  const siteId = this.getCloudId();
252
- return this.postResourceRaw(`${v4UrlPath}/archive?siteId=${siteId}`, JSON.stringify([this.trimTeamARI(teamId)]));
253
+ return this.postResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/archive?siteId=${siteId}`);
253
254
  }
254
255
  async unArchiveTeam(teamId) {
255
256
  const siteId = this.getCloudId();
256
- return this.postResourceRaw(`${v4UrlPath}/unarchive?siteId=${siteId}`, JSON.stringify([this.trimTeamARI(teamId)]));
257
+ return this.postResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}/unarchive?siteId=${siteId}`);
257
258
  }
258
259
  async unlinkTeamFromGroup(teamId, membershipSettings) {
259
260
  return this.patchResource(`${v4UrlPath}/${this.trimTeamARI(teamId)}`, {
@@ -285,7 +286,7 @@ export class LegionClient extends RestClient {
285
286
  siteId: this.getCloudId(),
286
287
  organizationId: organizationId,
287
288
  members: [...new Set(members)],
288
- typeId
289
+ typeId: typeId ? toTeamTypeId(typeId) : undefined
289
290
  });
290
291
  return this.mapTeamCreateResponseV4ToTeam(legionTeam);
291
292
  }
@@ -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.23.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) || '---',
@@ -1,2 +1,3 @@
1
1
  export var USER_ARI_PREFIX = 'ari:cloud:identity::user/';
2
- export var TEAM_ARI_PREFIX = 'ari:cloud:identity::team/';
2
+ export var TEAM_ARI_PREFIX = 'ari:cloud:identity::team/';
3
+ export var TEAM_TYPE_ARI_PREFIX = 'ari:cloud:identity::team-type/';
@@ -1,4 +1,4 @@
1
- import { TEAM_ARI_PREFIX, USER_ARI_PREFIX } from '../types';
1
+ import { TEAM_ARI_PREFIX, TEAM_TYPE_ARI_PREFIX, USER_ARI_PREFIX } from '../types';
2
2
  export var isUserARI = function isUserARI(ari) {
3
3
  return ari.startsWith(USER_ARI_PREFIX);
4
4
  };
@@ -22,4 +22,17 @@ export var toTeamId = function toTeamId(ari) {
22
22
  };
23
23
  export var toTeamARI = function toTeamARI(teamId) {
24
24
  return isTeamARI(teamId) ? teamId : "".concat(TEAM_ARI_PREFIX).concat(teamId);
25
+ };
26
+
27
+ /**
28
+ * TODO: Replace these team type ari utils with @atlassian/ari when it is published
29
+ */
30
+ export var isTeamTypeAri = function isTeamTypeAri(ari) {
31
+ return ari.startsWith(TEAM_TYPE_ARI_PREFIX);
32
+ };
33
+ export var toTeamTypeId = function toTeamTypeId(teamTypeAriOrId) {
34
+ if (isTeamTypeAri(teamTypeAriOrId)) {
35
+ return teamTypeAriOrId.replace(TEAM_TYPE_ARI_PREFIX, '');
36
+ }
37
+ return teamTypeAriOrId;
25
38
  };
@@ -26,7 +26,8 @@ export var allPermissions = function allPermissions(defaultPermission, isMember,
26
26
  ADD_AGENT_TO_TEAM: defaultPermission,
27
27
  ARCHIVE_TEAM: defaultPermission && isMember,
28
28
  UNARCHIVE_TEAM: false,
29
- CAN_EDIT_HIERARCHY: defaultPermission && isMember
29
+ CAN_EDIT_HIERARCHY: defaultPermission && isMember,
30
+ CAN_CHANGE_MEMBERSHIP_SETTINGS: defaultPermission
30
31
  };
31
32
  };
32
33
  export var vanityActions = ['EDIT_DESCRIPTION', 'EDIT_TEAM_NAME', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK'];
@@ -68,12 +69,12 @@ var getDisbandedTeamPermissionMap = function getDisbandedTeamPermissionMap(setti
68
69
  // UNARCHIVE_TEAM permission based on team settings
69
70
  var canUnarchive = false;
70
71
  if (isArchiveTeamEnabled) {
71
- if (settings === 'EXTERNAL') {
72
- // For EXTERNAL teams, only org admins can unarchive
72
+ if (settings === 'EXTERNAL' || settings === 'ORG_ADMIN_MANAGED') {
73
+ // For EXTERNAL and ORG_ADMIN_MANAGED teams, only org admins can unarchive
73
74
  canUnarchive = isOrgAdmin;
74
75
  } else if (settings === 'OPEN' || settings === 'MEMBER_INVITE') {
75
76
  // For OPEN and MEMBER_INVITE teams, members with FULL_WRITE can unarchive
76
- canUnarchive = isMember && permission === 'FULL_WRITE';
77
+ canUnarchive = (isMember || isOrgAdmin) && permission === 'FULL_WRITE';
77
78
  }
78
79
  }
79
80
  return _objectSpread(_objectSpread({}, basePermissions), {}, {
@@ -91,12 +92,12 @@ var getActiveTeamPermissionMap = function getActiveTeamPermissionMap(settings, p
91
92
  var isArchiveTeamEnabled = fg('legion-enable-archive-teams') && newTeamProfileEnabled;
92
93
  if (settings === 'OPEN') {
93
94
  return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), openPermissions(permission)), {}, {
94
- ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && isMember
95
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && (isMember || isOrgAdmin)
95
96
  });
96
97
  }
97
98
  if (settings === 'MEMBER_INVITE') {
98
99
  return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), inviteOnlyPermissions(permission)), {}, {
99
- ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && isMember
100
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && (isMember || isOrgAdmin)
100
101
  });
101
102
  } else if (settings === 'EXTERNAL') {
102
103
  return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(false, isMember, isOrgAdmin)), SCIMSyncTeamPermissions(isMember, isOrgAdmin, source)), {}, {
@@ -106,6 +107,16 @@ var getActiveTeamPermissionMap = function getActiveTeamPermissionMap(settings, p
106
107
  EDIT_TEAM_TYPE: isOrgAdmin,
107
108
  CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE' && isOrgAdmin
108
109
  });
110
+ } else if (settings === 'ORG_ADMIN_MANAGED') {
111
+ // NOTE: Only org admins will received FULL_WRITE permission
112
+ return _objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), {}, {
113
+ EDIT_TEAM_LINK: isMember || permission === 'FULL_WRITE',
114
+ ADD_AGENT_TO_TEAM: newTeamProfileEnabled && (isMember || permission === 'FULL_WRITE'),
115
+ REMOVE_AGENT_FROM_TEAM: newTeamProfileEnabled && (isMember || permission === 'FULL_WRITE'),
116
+ ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE',
117
+ CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE',
118
+ EDIT_TEAM_TYPE: permission === 'FULL_WRITE'
119
+ });
109
120
  }
110
121
  return allPermissions(false, false, false);
111
122
  };
@@ -1,4 +1,4 @@
1
- export var AllTeamActions = ['ADD_MEMBER_TO_TEAM', 'JOIN_TEAM', 'REQUEST_TO_JOIN', 'CANCEL_JOIN_REQUEST', 'APPROVE_JOIN_REQUEST', 'REJECT_JOIN_REQUEST', 'REMOVE_MEMBER_FROM_TEAM', 'CANCEL_INVITE', 'LEAVE_TEAM', 'REMOVE_AGENT_FROM_TEAM', 'ADD_AGENT_TO_TEAM', 'CAN_EDIT_HIERARCHY',
1
+ export var AllTeamActions = ['ADD_MEMBER_TO_TEAM', 'JOIN_TEAM', 'REQUEST_TO_JOIN', 'CANCEL_JOIN_REQUEST', 'APPROVE_JOIN_REQUEST', 'REJECT_JOIN_REQUEST', 'REMOVE_MEMBER_FROM_TEAM', 'CANCEL_INVITE', 'LEAVE_TEAM', 'REMOVE_AGENT_FROM_TEAM', 'ADD_AGENT_TO_TEAM', 'CAN_EDIT_HIERARCHY', 'CAN_CHANGE_MEMBERSHIP_SETTINGS',
2
2
  // Visual
3
3
  'EDIT_TEAM_NAME', 'EDIT_DESCRIPTION', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK', 'EDIT_TEAM_SETTINGS', 'EDIT_TEAM_MEMBERSHIP', 'EDIT_TEAM_TYPE',
4
4
  // Serious
@@ -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.23.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.23.0",
56
+ packageVersion: "0.0.0-development",
57
57
  packageName: "@atlaskit/teams-client"
58
58
  }
59
59
  }]);
package/dist/esm/index.js CHANGED
@@ -15,5 +15,5 @@ export { userInfoProvider, UserInfoProvider } from './services/user-info-provide
15
15
 
16
16
  // /utils
17
17
  export { sortMembersByType, isInvited, isMember, isNonMember, isRequestingJoin } from './common/utils';
18
- export { toUserARI, toUserId, toTeamARI, toTeamId } from './common/utils/ari';
18
+ export { toUserARI, toUserId, toTeamARI, toTeamId, toTeamTypeId } from './common/utils/ari';
19
19
  export { useLazyQueryLight, useQueryLight, UseQueryLightError } from './services/use-query-light';
@@ -13,6 +13,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
13
13
  import _regeneratorRuntime from "@babel/runtime/regenerator";
14
14
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
15
15
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
16
+ import { toTeamTypeId } from '../../common/utils/ari';
16
17
  import { DEFAULT_CONFIG } from '../constants';
17
18
  import { RestClient } from '../rest-client';
18
19
 
@@ -667,7 +668,7 @@ export var LegionClient = /*#__PURE__*/function (_RestClient) {
667
668
  while (1) switch (_context21.prev = _context21.next) {
668
669
  case 0:
669
670
  siteId = this.getCloudId();
670
- return _context21.abrupt("return", this.postResourceRaw("".concat(v4UrlPath, "/archive?siteId=").concat(siteId), JSON.stringify([this.trimTeamARI(teamId)])));
671
+ return _context21.abrupt("return", this.postResource("".concat(v4UrlPath, "/").concat(this.trimTeamARI(teamId), "/archive?siteId=").concat(siteId)));
671
672
  case 2:
672
673
  case "end":
673
674
  return _context21.stop();
@@ -688,7 +689,7 @@ export var LegionClient = /*#__PURE__*/function (_RestClient) {
688
689
  while (1) switch (_context22.prev = _context22.next) {
689
690
  case 0:
690
691
  siteId = this.getCloudId();
691
- return _context22.abrupt("return", this.postResourceRaw("".concat(v4UrlPath, "/unarchive?siteId=").concat(siteId), JSON.stringify([this.trimTeamARI(teamId)])));
692
+ return _context22.abrupt("return", this.postResource("".concat(v4UrlPath, "/").concat(this.trimTeamARI(teamId), "/unarchive?siteId=").concat(siteId)));
692
693
  case 2:
693
694
  case "end":
694
695
  return _context22.stop();
@@ -783,7 +784,7 @@ export var LegionClient = /*#__PURE__*/function (_RestClient) {
783
784
  siteId: this.getCloudId(),
784
785
  organizationId: organizationId,
785
786
  members: _toConsumableArray(new Set(members)),
786
- typeId: typeId
787
+ typeId: typeId ? toTeamTypeId(typeId) : undefined
787
788
  });
788
789
  case 10:
789
790
  legionTeam = _context25.sent;
@@ -29,7 +29,7 @@ export function getSentryConfig(options) {
29
29
  return _objectSpread(_objectSpread(_objectSpread({}, otherOptions), DEFAULT_SENTRY_CONFIG), {}, {
30
30
  // Standalone __VERSION__ is set from `bin/set-release-version.sh`
31
31
  // when building to deploy to production
32
- release: "".concat("@atlaskit/teams-client", "@").concat("4.23.0") ||
32
+ release: "".concat("@atlaskit/teams-client", "@").concat("0.0.0-development") ||
33
33
  // @ts-ignore Jira - window.BUILD_KEY
34
34
  window.BUILD_KEY || ( // @ts-ignore Confluence - window.__buildInfo
35
35
  (_window$__buildInfo = window.__buildInfo) === null || _window$__buildInfo === void 0 ? void 0 : _window$__buildInfo.FRONTEND_VERSION) || '---',
@@ -2,3 +2,5 @@ export declare const USER_ARI_PREFIX: "ari:cloud:identity::user/";
2
2
  export type UserARI = `${typeof USER_ARI_PREFIX}${string}`;
3
3
  export declare const TEAM_ARI_PREFIX: "ari:cloud:identity::team/";
4
4
  export type TeamARI = `${typeof TEAM_ARI_PREFIX}${string}`;
5
+ export declare const TEAM_TYPE_ARI_PREFIX: "ari:cloud:identity::team-type/";
6
+ export type TeamTypeAri = `${typeof TEAM_TYPE_ARI_PREFIX}${string}`;
@@ -1,7 +1,12 @@
1
- import { type TeamARI, type UserARI } from '../types';
1
+ import { type TeamARI, type TeamTypeAri, type UserARI } from '../types';
2
2
  export declare const isUserARI: (ari: string) => ari is UserARI;
3
3
  export declare const toUserId: (ari: UserARI | string) => string;
4
4
  export declare const toUserARI: (userId: string) => UserARI;
5
5
  export declare const isTeamARI: (ari: string) => ari is TeamARI;
6
6
  export declare const toTeamId: (ari: TeamARI | string) => string;
7
7
  export declare const toTeamARI: (teamId: string) => TeamARI;
8
+ /**
9
+ * TODO: Replace these team type ari utils with @atlassian/ari when it is published
10
+ */
11
+ export declare const isTeamTypeAri: (ari: string) => ari is TeamTypeAri;
12
+ export declare const toTeamTypeId: (teamTypeAriOrId: TeamTypeAri | string) => string;
@@ -1,4 +1,4 @@
1
- export declare const AllTeamActions: readonly ["ADD_MEMBER_TO_TEAM", "JOIN_TEAM", "REQUEST_TO_JOIN", "CANCEL_JOIN_REQUEST", "APPROVE_JOIN_REQUEST", "REJECT_JOIN_REQUEST", "REMOVE_MEMBER_FROM_TEAM", "CANCEL_INVITE", "LEAVE_TEAM", "REMOVE_AGENT_FROM_TEAM", "ADD_AGENT_TO_TEAM", "CAN_EDIT_HIERARCHY", "EDIT_TEAM_NAME", "EDIT_DESCRIPTION", "EDIT_PROFILE_HEADER", "EDIT_TEAM_LINK", "EDIT_TEAM_SETTINGS", "EDIT_TEAM_MEMBERSHIP", "EDIT_TEAM_TYPE", "DELETE_TEAM", "ARCHIVE_TEAM", "UNARCHIVE_TEAM"];
1
+ export declare const AllTeamActions: readonly ["ADD_MEMBER_TO_TEAM", "JOIN_TEAM", "REQUEST_TO_JOIN", "CANCEL_JOIN_REQUEST", "APPROVE_JOIN_REQUEST", "REJECT_JOIN_REQUEST", "REMOVE_MEMBER_FROM_TEAM", "CANCEL_INVITE", "LEAVE_TEAM", "REMOVE_AGENT_FROM_TEAM", "ADD_AGENT_TO_TEAM", "CAN_EDIT_HIERARCHY", "CAN_CHANGE_MEMBERSHIP_SETTINGS", "EDIT_TEAM_NAME", "EDIT_DESCRIPTION", "EDIT_PROFILE_HEADER", "EDIT_TEAM_LINK", "EDIT_TEAM_SETTINGS", "EDIT_TEAM_MEMBERSHIP", "EDIT_TEAM_TYPE", "DELETE_TEAM", "ARCHIVE_TEAM", "UNARCHIVE_TEAM"];
2
2
  export type TeamAction = (typeof AllTeamActions)[number];
3
3
  export type TeamPermissions = {
4
4
  canCreateTeams: boolean;
@@ -10,6 +10,6 @@ export { logException, logInfoMessage } from './services/sentry/main';
10
10
  export type { SentryClient } from './services/sentry/types';
11
11
  export { userInfoProvider, UserInfoProvider } from './services/user-info-provider';
12
12
  export { sortMembersByType, isInvited, isMember, isNonMember, isRequestingJoin, } from './common/utils';
13
- export { toUserARI, toUserId, toTeamARI, toTeamId } from './common/utils/ari';
13
+ export { toUserARI, toUserId, toTeamARI, toTeamId, toTeamTypeId } from './common/utils/ari';
14
14
  export { useLazyQueryLight, useQueryLight, UseQueryLightError, type ActualGraphQLError, } from './services/use-query-light';
15
15
  export type { FetchMoreArgs, QueryOptions } from './services/use-query-light';
@@ -88,8 +88,8 @@ export interface LegionClient {
88
88
  deleteTeamMembership(teamId: string, memberId: string): Promise<TeamMembership>;
89
89
  revokeTeamInvite(teamId: string, memberId: string): Promise<TeamMembership>;
90
90
  deleteTeam(teamId: string): Promise<void>;
91
- archiveTeam(teamId: string): Promise<void>;
92
- unArchiveTeam(teamId: string): Promise<void>;
91
+ archiveTeam(teamId: string): Promise<TeamWithImageUrls>;
92
+ unArchiveTeam(teamId: string): Promise<TeamWithImageUrls>;
93
93
  isSingleFullMemberTeam(teamId: string): Promise<boolean>;
94
94
  createTeam(displayName: string, originQuery: OriginQuery, members?: string[], membershipSettings?: TeamMembershipSettings, typeId?: string): Promise<Team>;
95
95
  createExternalTeam(description: string, externalReference: ExternalReference, teamName?: string, siteId?: string): Promise<Team>;
@@ -1,4 +1,4 @@
1
- import { type MembershipState, type TeamMembership } from '../types';
1
+ import { type MembershipState, type TeamMembership, type TeamWithImageUrls } from '../types';
2
2
  import { aggClient } from './agg-client';
3
3
  import { type AGGPageInfoVariables, type ResultWithPageInfo } from './agg-client/types';
4
4
  import collaborationGraphClient from './collaborationgraph-client';
@@ -196,11 +196,11 @@ export declare class TeamsClient {
196
196
  /**
197
197
  * Archive a team
198
198
  */
199
- archiveTeam(teamId: string): Promise<void>;
199
+ archiveTeam(teamId: string): Promise<TeamWithImageUrls>;
200
200
  /**
201
201
  * Unarchive a team
202
202
  */
203
- unarchiveTeam(teamId: string): Promise<void>;
203
+ unarchiveTeam(teamId: string): Promise<TeamWithImageUrls>;
204
204
  /**
205
205
  * Unlink a team from group
206
206
  */
@@ -1,11 +1,6 @@
1
1
  import { type TeamMembership } from './membership';
2
- /**
3
- * @private
4
- * @deprecated state has been removed as part of migration to V4
5
- */
6
- export type DeprecatedTeamState = 'DISBANDED';
7
- export type TeamState = 'ACTIVE' | 'PURGED' | DeprecatedTeamState;
8
- export type TeamMembershipSettings = 'OPEN' | 'MEMBER_INVITE' | 'EXTERNAL';
2
+ export type TeamState = 'ACTIVE' | 'PURGED' | 'DISBANDED';
3
+ export type TeamMembershipSettings = 'OPEN' | 'MEMBER_INVITE' | 'EXTERNAL' | 'ORG_ADMIN_MANAGED';
9
4
  export type TeamDiscoverability = 'DISCOVERABLE';
10
5
  export type TeamRestriction = 'ORG_MEMBERS' | 'NO_RESTRICTION';
11
6
  export type TeamPermission = 'FULL_WRITE' | 'FULL_READ' | 'NONE';
@@ -2,3 +2,5 @@ export declare const USER_ARI_PREFIX: "ari:cloud:identity::user/";
2
2
  export type UserARI = `${typeof USER_ARI_PREFIX}${string}`;
3
3
  export declare const TEAM_ARI_PREFIX: "ari:cloud:identity::team/";
4
4
  export type TeamARI = `${typeof TEAM_ARI_PREFIX}${string}`;
5
+ export declare const TEAM_TYPE_ARI_PREFIX: "ari:cloud:identity::team-type/";
6
+ export type TeamTypeAri = `${typeof TEAM_TYPE_ARI_PREFIX}${string}`;
@@ -1,7 +1,12 @@
1
- import { type TeamARI, type UserARI } from '../types';
1
+ import { type TeamARI, type TeamTypeAri, type UserARI } from '../types';
2
2
  export declare const isUserARI: (ari: string) => ari is UserARI;
3
3
  export declare const toUserId: (ari: UserARI | string) => string;
4
4
  export declare const toUserARI: (userId: string) => UserARI;
5
5
  export declare const isTeamARI: (ari: string) => ari is TeamARI;
6
6
  export declare const toTeamId: (ari: TeamARI | string) => string;
7
7
  export declare const toTeamARI: (teamId: string) => TeamARI;
8
+ /**
9
+ * TODO: Replace these team type ari utils with @atlassian/ari when it is published
10
+ */
11
+ export declare const isTeamTypeAri: (ari: string) => ari is TeamTypeAri;
12
+ export declare const toTeamTypeId: (teamTypeAriOrId: TeamTypeAri | string) => string;
@@ -11,6 +11,7 @@ export declare const AllTeamActions: readonly [
11
11
  "REMOVE_AGENT_FROM_TEAM",
12
12
  "ADD_AGENT_TO_TEAM",
13
13
  "CAN_EDIT_HIERARCHY",
14
+ "CAN_CHANGE_MEMBERSHIP_SETTINGS",
14
15
  "EDIT_TEAM_NAME",
15
16
  "EDIT_DESCRIPTION",
16
17
  "EDIT_PROFILE_HEADER",
@@ -10,6 +10,6 @@ export { logException, logInfoMessage } from './services/sentry/main';
10
10
  export type { SentryClient } from './services/sentry/types';
11
11
  export { userInfoProvider, UserInfoProvider } from './services/user-info-provider';
12
12
  export { sortMembersByType, isInvited, isMember, isNonMember, isRequestingJoin, } from './common/utils';
13
- export { toUserARI, toUserId, toTeamARI, toTeamId } from './common/utils/ari';
13
+ export { toUserARI, toUserId, toTeamARI, toTeamId, toTeamTypeId } from './common/utils/ari';
14
14
  export { useLazyQueryLight, useQueryLight, UseQueryLightError, type ActualGraphQLError, } from './services/use-query-light';
15
15
  export type { FetchMoreArgs, QueryOptions } from './services/use-query-light';
@@ -88,8 +88,8 @@ export interface LegionClient {
88
88
  deleteTeamMembership(teamId: string, memberId: string): Promise<TeamMembership>;
89
89
  revokeTeamInvite(teamId: string, memberId: string): Promise<TeamMembership>;
90
90
  deleteTeam(teamId: string): Promise<void>;
91
- archiveTeam(teamId: string): Promise<void>;
92
- unArchiveTeam(teamId: string): Promise<void>;
91
+ archiveTeam(teamId: string): Promise<TeamWithImageUrls>;
92
+ unArchiveTeam(teamId: string): Promise<TeamWithImageUrls>;
93
93
  isSingleFullMemberTeam(teamId: string): Promise<boolean>;
94
94
  createTeam(displayName: string, originQuery: OriginQuery, members?: string[], membershipSettings?: TeamMembershipSettings, typeId?: string): Promise<Team>;
95
95
  createExternalTeam(description: string, externalReference: ExternalReference, teamName?: string, siteId?: string): Promise<Team>;
@@ -1,4 +1,4 @@
1
- import { type MembershipState, type TeamMembership } from '../types';
1
+ import { type MembershipState, type TeamMembership, type TeamWithImageUrls } from '../types';
2
2
  import { aggClient } from './agg-client';
3
3
  import { type AGGPageInfoVariables, type ResultWithPageInfo } from './agg-client/types';
4
4
  import collaborationGraphClient from './collaborationgraph-client';
@@ -196,11 +196,11 @@ export declare class TeamsClient {
196
196
  /**
197
197
  * Archive a team
198
198
  */
199
- archiveTeam(teamId: string): Promise<void>;
199
+ archiveTeam(teamId: string): Promise<TeamWithImageUrls>;
200
200
  /**
201
201
  * Unarchive a team
202
202
  */
203
- unarchiveTeam(teamId: string): Promise<void>;
203
+ unarchiveTeam(teamId: string): Promise<TeamWithImageUrls>;
204
204
  /**
205
205
  * Unlink a team from group
206
206
  */
@@ -1,11 +1,6 @@
1
1
  import { type TeamMembership } from './membership';
2
- /**
3
- * @private
4
- * @deprecated state has been removed as part of migration to V4
5
- */
6
- export type DeprecatedTeamState = 'DISBANDED';
7
- export type TeamState = 'ACTIVE' | 'PURGED' | DeprecatedTeamState;
8
- export type TeamMembershipSettings = 'OPEN' | 'MEMBER_INVITE' | 'EXTERNAL';
2
+ export type TeamState = 'ACTIVE' | 'PURGED' | 'DISBANDED';
3
+ export type TeamMembershipSettings = 'OPEN' | 'MEMBER_INVITE' | 'EXTERNAL' | 'ORG_ADMIN_MANAGED';
9
4
  export type TeamDiscoverability = 'DISCOVERABLE';
10
5
  export type TeamRestriction = 'ORG_MEMBERS' | 'NO_RESTRICTION';
11
6
  export type TeamPermission = 'FULL_WRITE' | 'FULL_READ' | 'NONE';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/teams-client",
3
- "version": "4.23.0",
3
+ "version": "4.24.1",
4
4
  "description": "A client to retrieve team related data",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",