@atlaskit/teams-client 4.32.2 → 4.32.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @atlaskit/teams-client
2
2
 
3
+ ## 4.32.3
4
+
5
+ ### Patch Changes
6
+
7
+ - [`238ba9dc63a10`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/238ba9dc63a10) -
8
+ Fix ARCHIVE_TEAM/UNARCHIVE_TEAM permission logic for ORG_ADMIN_MANAGED, EXTERNAL and
9
+ OPEN/MEMBER_INVITE teams, and stop fg() mock state leaking between test describe blocks.
10
+
3
11
  ## 4.32.2
4
12
 
5
13
  ### Patch Changes
@@ -30,13 +30,17 @@ var allPermissions = exports.allPermissions = function allPermissions(defaultPer
30
30
  EDIT_TEAM_TYPE: defaultPermission && (isOrgAdmin || (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled')),
31
31
  REMOVE_AGENT_FROM_TEAM: defaultPermission,
32
32
  ADD_AGENT_TO_TEAM: defaultPermission,
33
- ARCHIVE_TEAM: defaultPermission && isMember,
33
+ ARCHIVE_TEAM: defaultPermission && (isMember || (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled')),
34
34
  UNARCHIVE_TEAM: false,
35
35
  CAN_EDIT_HIERARCHY: defaultPermission,
36
36
  CAN_CHANGE_MEMBERSHIP_SETTINGS: defaultPermission
37
37
  };
38
38
  };
39
39
  var vanityActions = exports.vanityActions = ['EDIT_DESCRIPTION', 'EDIT_TEAM_NAME', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK'];
40
+
41
+ /**
42
+ * This is really just required so we don't show things like "Request to join team" if the team is open
43
+ */
40
44
  var openPermissions = exports.openPermissions = function openPermissions(permission) {
41
45
  return {
42
46
  JOIN_TEAM: permission === 'FULL_READ' || permission === 'FULL_WRITE',
@@ -46,6 +50,10 @@ var openPermissions = exports.openPermissions = function openPermissions(permiss
46
50
  REJECT_JOIN_REQUEST: false
47
51
  };
48
52
  };
53
+
54
+ /**
55
+ * This is really just required so we don't show things like "Join team" if the team is member invite and it should say "Request to join team"
56
+ */
49
57
  var inviteOnlyPermissions = exports.inviteOnlyPermissions = function inviteOnlyPermissions(permission) {
50
58
  return {
51
59
  REQUEST_TO_JOIN: permission === 'FULL_READ',
@@ -71,6 +79,8 @@ var getDisbandedTeamPermissionMap = function getDisbandedTeamPermissionMap(setti
71
79
  // Base permission map - all actions disabled for disbanded teams
72
80
  var basePermissions = allPermissions(false, false, false);
73
81
  var canUnarchive;
82
+
83
+ // On fg('ptc-enable-team-type-permission-enabled') clean up delete this code block
74
84
  if (settings === 'EXTERNAL' || settings === 'ORG_ADMIN_MANAGED') {
75
85
  // For EXTERNAL and ORG_ADMIN_MANAGED teams, only org admins can unarchive
76
86
  canUnarchive = isOrgAdmin;
@@ -80,7 +90,8 @@ var getDisbandedTeamPermissionMap = function getDisbandedTeamPermissionMap(setti
80
90
  }
81
91
  return _objectSpread(_objectSpread({}, basePermissions), {}, {
82
92
  CAN_EDIT_HIERARCHY: false,
83
- UNARCHIVE_TEAM: canUnarchive,
93
+ UNARCHIVE_TEAM: canUnarchive || permission === 'FULL_WRITE' && (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled'),
94
+ // With 'ptc-enable-team-type-permission-enabled' DELETE_TEAM perm is _wrong_ here and handled in the hook
84
95
  DELETE_TEAM: canUnarchive
85
96
  });
86
97
  };
@@ -89,16 +100,36 @@ var getDisbandedTeamPermissionMap = function getDisbandedTeamPermissionMap(setti
89
100
  * Returns permission map for active teams based on team settings
90
101
  */
91
102
  var getActiveTeamPermissionMap = function getActiveTeamPermissionMap(settings, permission, isMember, isOrgAdmin, source) {
103
+ var basePermissions = allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin);
92
104
  if (settings === 'OPEN') {
93
- return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), openPermissions(permission)), {}, {
94
- ARCHIVE_TEAM: permission === 'FULL_WRITE' && (isMember || isOrgAdmin)
105
+ return _objectSpread(_objectSpread(_objectSpread({}, basePermissions), openPermissions(permission)), {}, {
106
+ // Delete this row on enable_edit_team_name_external_type_teams cleanup
107
+ ARCHIVE_TEAM: permission === 'FULL_WRITE' && (isMember || isOrgAdmin) || basePermissions.ARCHIVE_TEAM && (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled')
95
108
  });
96
109
  }
97
110
  if (settings === 'MEMBER_INVITE') {
98
- return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), inviteOnlyPermissions(permission)), {}, {
99
- ARCHIVE_TEAM: permission === 'FULL_WRITE' && (isMember || isOrgAdmin)
111
+ return _objectSpread(_objectSpread(_objectSpread({}, basePermissions), inviteOnlyPermissions(permission)), {}, {
112
+ // Delete this row on enable_edit_team_name_external_type_teams cleanup
113
+ ARCHIVE_TEAM: permission === 'FULL_WRITE' && (isMember || isOrgAdmin) || basePermissions.ARCHIVE_TEAM && (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled')
100
114
  });
101
115
  } else if (settings === 'EXTERNAL') {
116
+ if ((0, _platformFeatureFlags.fg)('enable_edit_team_name_external_type_teams')) {
117
+ // All membership based actions are disabled for Externally synced teams
118
+ var base = allPermissions(false, isMember, isOrgAdmin);
119
+ var actionsMembersCanPerform = {
120
+ // Org admins should not be able to edit hierarchies of HRIS synced teams
121
+ CAN_EDIT_HIERARCHY: source === 'ATLASSIAN_GROUP' && basePermissions.CAN_EDIT_HIERARCHY,
122
+ ADD_AGENT_TO_TEAM: basePermissions.ADD_AGENT_TO_TEAM,
123
+ REMOVE_AGENT_FROM_TEAM: basePermissions.REMOVE_AGENT_FROM_TEAM,
124
+ ARCHIVE_TEAM: basePermissions.ARCHIVE_TEAM,
125
+ EDIT_TEAM_TYPE: basePermissions.EDIT_TEAM_TYPE,
126
+ EDIT_DESCRIPTION: basePermissions.EDIT_DESCRIPTION,
127
+ EDIT_TEAM_SETTINGS: basePermissions.EDIT_TEAM_SETTINGS,
128
+ EDIT_TEAM_LINK: basePermissions.EDIT_TEAM_LINK,
129
+ EDIT_TEAM_NAME: basePermissions.EDIT_TEAM_NAME && source === 'ATLASSIAN_GROUP' && (0, _platformFeatureFlags.fg)('enable_edit_team_name_external_type_teams')
130
+ };
131
+ return _objectSpread(_objectSpread({}, base), actionsMembersCanPerform);
132
+ }
102
133
  return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(false, isMember, isOrgAdmin)), SCIMSyncTeamPermissions(isMember, isOrgAdmin, source)), {}, {
103
134
  ADD_AGENT_TO_TEAM: isMember || isOrgAdmin,
104
135
  REMOVE_AGENT_FROM_TEAM: isMember || isOrgAdmin,
@@ -107,15 +138,20 @@ var getActiveTeamPermissionMap = function getActiveTeamPermissionMap(settings, p
107
138
  });
108
139
  } else if (settings === 'ORG_ADMIN_MANAGED') {
109
140
  // NOTE: Only org admins will received FULL_WRITE permission
110
- return _objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), {}, {
111
- EDIT_TEAM_LINK: isMember || permission === 'FULL_WRITE',
112
- ADD_AGENT_TO_TEAM: isMember || permission === 'FULL_WRITE',
113
- REMOVE_AGENT_FROM_TEAM: isMember || permission === 'FULL_WRITE',
114
- ARCHIVE_TEAM: permission === 'FULL_WRITE',
115
- CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE',
116
- EDIT_TEAM_TYPE: permission === 'FULL_WRITE',
141
+ return _objectSpread(_objectSpread({}, basePermissions), {}, {
142
+ // Delete all there rows on enable_edit_team_name_external_type_teams cleanup
143
+ EDIT_TEAM_LINK: isMember || permission === 'FULL_WRITE' || basePermissions.EDIT_TEAM_LINK && (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled'),
144
+ ADD_AGENT_TO_TEAM: isMember || permission === 'FULL_WRITE' || basePermissions.ADD_AGENT_TO_TEAM && (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled'),
145
+ REMOVE_AGENT_FROM_TEAM: isMember || permission === 'FULL_WRITE' || basePermissions.REMOVE_AGENT_FROM_TEAM && (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled'),
146
+ CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE' || basePermissions.CAN_EDIT_HIERARCHY && (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled'),
147
+ EDIT_TEAM_TYPE: permission === 'FULL_WRITE' || basePermissions.EDIT_TEAM_TYPE && (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled'),
117
148
  // ORG_ADMIN_MANAGED teams should not provide options to edit membership settings
118
- EDIT_TEAM_MEMBERSHIP: false
149
+ EDIT_TEAM_MEMBERSHIP: false || basePermissions.EDIT_TEAM_MEMBERSHIP && (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled'),
150
+ // There is no "invite" flow in org_admin_managed teams
151
+ REQUEST_TO_JOIN: (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled') ? false : basePermissions.REQUEST_TO_JOIN,
152
+ CANCEL_JOIN_REQUEST: (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled') ? false : basePermissions.CANCEL_JOIN_REQUEST,
153
+ APPROVE_JOIN_REQUEST: (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled') ? false : basePermissions.APPROVE_JOIN_REQUEST,
154
+ REJECT_JOIN_REQUEST: (0, _platformFeatureFlags.fg)('ptc-enable-team-type-permission-enabled') ? false : basePermissions.REJECT_JOIN_REQUEST
119
155
  });
120
156
  }
121
157
  return allPermissions(false, false, false);
@@ -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.32.1",
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.32.1",
63
+ packageVersion: "0.0.0-development",
64
64
  packageName: "@atlaskit/teams-client"
65
65
  }
66
66
  }]);
@@ -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.32.1") ||
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) || '---',
@@ -19,12 +19,16 @@ export const allPermissions = (defaultPermission, isMember, isOrgAdmin) => ({
19
19
  EDIT_TEAM_TYPE: defaultPermission && (isOrgAdmin || fg('ptc-enable-team-type-permission-enabled')),
20
20
  REMOVE_AGENT_FROM_TEAM: defaultPermission,
21
21
  ADD_AGENT_TO_TEAM: defaultPermission,
22
- ARCHIVE_TEAM: defaultPermission && isMember,
22
+ ARCHIVE_TEAM: defaultPermission && (isMember || fg('ptc-enable-team-type-permission-enabled')),
23
23
  UNARCHIVE_TEAM: false,
24
24
  CAN_EDIT_HIERARCHY: defaultPermission,
25
25
  CAN_CHANGE_MEMBERSHIP_SETTINGS: defaultPermission
26
26
  });
27
27
  export const vanityActions = ['EDIT_DESCRIPTION', 'EDIT_TEAM_NAME', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK'];
28
+
29
+ /**
30
+ * This is really just required so we don't show things like "Request to join team" if the team is open
31
+ */
28
32
  export const openPermissions = permission => ({
29
33
  JOIN_TEAM: permission === 'FULL_READ' || permission === 'FULL_WRITE',
30
34
  REQUEST_TO_JOIN: false,
@@ -32,6 +36,10 @@ export const openPermissions = permission => ({
32
36
  APPROVE_JOIN_REQUEST: false,
33
37
  REJECT_JOIN_REQUEST: false
34
38
  });
39
+
40
+ /**
41
+ * This is really just required so we don't show things like "Join team" if the team is member invite and it should say "Request to join team"
42
+ */
35
43
  export const inviteOnlyPermissions = permission => ({
36
44
  REQUEST_TO_JOIN: permission === 'FULL_READ',
37
45
  CANCEL_JOIN_REQUEST: permission === 'FULL_READ'
@@ -53,6 +61,8 @@ const getDisbandedTeamPermissionMap = (settings, permission, isMember, isOrgAdmi
53
61
  // Base permission map - all actions disabled for disbanded teams
54
62
  const basePermissions = allPermissions(false, false, false);
55
63
  let canUnarchive;
64
+
65
+ // On fg('ptc-enable-team-type-permission-enabled') clean up delete this code block
56
66
  if (settings === 'EXTERNAL' || settings === 'ORG_ADMIN_MANAGED') {
57
67
  // For EXTERNAL and ORG_ADMIN_MANAGED teams, only org admins can unarchive
58
68
  canUnarchive = isOrgAdmin;
@@ -63,7 +73,8 @@ const getDisbandedTeamPermissionMap = (settings, permission, isMember, isOrgAdmi
63
73
  return {
64
74
  ...basePermissions,
65
75
  CAN_EDIT_HIERARCHY: false,
66
- UNARCHIVE_TEAM: canUnarchive,
76
+ UNARCHIVE_TEAM: canUnarchive || permission === 'FULL_WRITE' && fg('ptc-enable-team-type-permission-enabled'),
77
+ // With 'ptc-enable-team-type-permission-enabled' DELETE_TEAM perm is _wrong_ here and handled in the hook
67
78
  DELETE_TEAM: canUnarchive
68
79
  };
69
80
  };
@@ -72,20 +83,43 @@ const getDisbandedTeamPermissionMap = (settings, permission, isMember, isOrgAdmi
72
83
  * Returns permission map for active teams based on team settings
73
84
  */
74
85
  const getActiveTeamPermissionMap = (settings, permission, isMember, isOrgAdmin, source) => {
86
+ const basePermissions = allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin);
75
87
  if (settings === 'OPEN') {
76
88
  return {
77
- ...allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin),
89
+ ...basePermissions,
78
90
  ...openPermissions(permission),
79
- ARCHIVE_TEAM: permission === 'FULL_WRITE' && (isMember || isOrgAdmin)
91
+ // Delete this row on enable_edit_team_name_external_type_teams cleanup
92
+ ARCHIVE_TEAM: permission === 'FULL_WRITE' && (isMember || isOrgAdmin) || basePermissions.ARCHIVE_TEAM && fg('ptc-enable-team-type-permission-enabled')
80
93
  };
81
94
  }
82
95
  if (settings === 'MEMBER_INVITE') {
83
96
  return {
84
- ...allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin),
97
+ ...basePermissions,
85
98
  ...inviteOnlyPermissions(permission),
86
- ARCHIVE_TEAM: permission === 'FULL_WRITE' && (isMember || isOrgAdmin)
99
+ // Delete this row on enable_edit_team_name_external_type_teams cleanup
100
+ ARCHIVE_TEAM: permission === 'FULL_WRITE' && (isMember || isOrgAdmin) || basePermissions.ARCHIVE_TEAM && fg('ptc-enable-team-type-permission-enabled')
87
101
  };
88
102
  } else if (settings === 'EXTERNAL') {
103
+ if (fg('enable_edit_team_name_external_type_teams')) {
104
+ // All membership based actions are disabled for Externally synced teams
105
+ const base = allPermissions(false, isMember, isOrgAdmin);
106
+ const actionsMembersCanPerform = {
107
+ // Org admins should not be able to edit hierarchies of HRIS synced teams
108
+ CAN_EDIT_HIERARCHY: source === 'ATLASSIAN_GROUP' && basePermissions.CAN_EDIT_HIERARCHY,
109
+ ADD_AGENT_TO_TEAM: basePermissions.ADD_AGENT_TO_TEAM,
110
+ REMOVE_AGENT_FROM_TEAM: basePermissions.REMOVE_AGENT_FROM_TEAM,
111
+ ARCHIVE_TEAM: basePermissions.ARCHIVE_TEAM,
112
+ EDIT_TEAM_TYPE: basePermissions.EDIT_TEAM_TYPE,
113
+ EDIT_DESCRIPTION: basePermissions.EDIT_DESCRIPTION,
114
+ EDIT_TEAM_SETTINGS: basePermissions.EDIT_TEAM_SETTINGS,
115
+ EDIT_TEAM_LINK: basePermissions.EDIT_TEAM_LINK,
116
+ EDIT_TEAM_NAME: basePermissions.EDIT_TEAM_NAME && source === 'ATLASSIAN_GROUP' && fg('enable_edit_team_name_external_type_teams')
117
+ };
118
+ return {
119
+ ...base,
120
+ ...actionsMembersCanPerform
121
+ };
122
+ }
89
123
  return {
90
124
  ...allPermissions(false, isMember, isOrgAdmin),
91
125
  ...SCIMSyncTeamPermissions(isMember, isOrgAdmin, source),
@@ -97,15 +131,20 @@ const getActiveTeamPermissionMap = (settings, permission, isMember, isOrgAdmin,
97
131
  } else if (settings === 'ORG_ADMIN_MANAGED') {
98
132
  // NOTE: Only org admins will received FULL_WRITE permission
99
133
  return {
100
- ...allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin),
101
- EDIT_TEAM_LINK: isMember || permission === 'FULL_WRITE',
102
- ADD_AGENT_TO_TEAM: isMember || permission === 'FULL_WRITE',
103
- REMOVE_AGENT_FROM_TEAM: isMember || permission === 'FULL_WRITE',
104
- ARCHIVE_TEAM: permission === 'FULL_WRITE',
105
- CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE',
106
- EDIT_TEAM_TYPE: permission === 'FULL_WRITE',
134
+ ...basePermissions,
135
+ // Delete all there rows on enable_edit_team_name_external_type_teams cleanup
136
+ EDIT_TEAM_LINK: isMember || permission === 'FULL_WRITE' || basePermissions.EDIT_TEAM_LINK && fg('ptc-enable-team-type-permission-enabled'),
137
+ ADD_AGENT_TO_TEAM: isMember || permission === 'FULL_WRITE' || basePermissions.ADD_AGENT_TO_TEAM && fg('ptc-enable-team-type-permission-enabled'),
138
+ REMOVE_AGENT_FROM_TEAM: isMember || permission === 'FULL_WRITE' || basePermissions.REMOVE_AGENT_FROM_TEAM && fg('ptc-enable-team-type-permission-enabled'),
139
+ CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE' || basePermissions.CAN_EDIT_HIERARCHY && fg('ptc-enable-team-type-permission-enabled'),
140
+ EDIT_TEAM_TYPE: permission === 'FULL_WRITE' || basePermissions.EDIT_TEAM_TYPE && fg('ptc-enable-team-type-permission-enabled'),
107
141
  // ORG_ADMIN_MANAGED teams should not provide options to edit membership settings
108
- EDIT_TEAM_MEMBERSHIP: false
142
+ EDIT_TEAM_MEMBERSHIP: false || basePermissions.EDIT_TEAM_MEMBERSHIP && fg('ptc-enable-team-type-permission-enabled'),
143
+ // There is no "invite" flow in org_admin_managed teams
144
+ REQUEST_TO_JOIN: fg('ptc-enable-team-type-permission-enabled') ? false : basePermissions.REQUEST_TO_JOIN,
145
+ CANCEL_JOIN_REQUEST: fg('ptc-enable-team-type-permission-enabled') ? false : basePermissions.CANCEL_JOIN_REQUEST,
146
+ APPROVE_JOIN_REQUEST: fg('ptc-enable-team-type-permission-enabled') ? false : basePermissions.APPROVE_JOIN_REQUEST,
147
+ REJECT_JOIN_REQUEST: fg('ptc-enable-team-type-permission-enabled') ? false : basePermissions.REJECT_JOIN_REQUEST
109
148
  };
110
149
  }
111
150
  return allPermissions(false, 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.32.1",
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.32.1",
38
+ packageVersion: "0.0.0-development",
39
39
  packageName: "@atlaskit/teams-client"
40
40
  }
41
41
  });
@@ -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.32.1"}` ||
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) || '---',
@@ -23,13 +23,17 @@ export var allPermissions = function allPermissions(defaultPermission, isMember,
23
23
  EDIT_TEAM_TYPE: defaultPermission && (isOrgAdmin || fg('ptc-enable-team-type-permission-enabled')),
24
24
  REMOVE_AGENT_FROM_TEAM: defaultPermission,
25
25
  ADD_AGENT_TO_TEAM: defaultPermission,
26
- ARCHIVE_TEAM: defaultPermission && isMember,
26
+ ARCHIVE_TEAM: defaultPermission && (isMember || fg('ptc-enable-team-type-permission-enabled')),
27
27
  UNARCHIVE_TEAM: false,
28
28
  CAN_EDIT_HIERARCHY: defaultPermission,
29
29
  CAN_CHANGE_MEMBERSHIP_SETTINGS: defaultPermission
30
30
  };
31
31
  };
32
32
  export var vanityActions = ['EDIT_DESCRIPTION', 'EDIT_TEAM_NAME', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK'];
33
+
34
+ /**
35
+ * This is really just required so we don't show things like "Request to join team" if the team is open
36
+ */
33
37
  export var openPermissions = function openPermissions(permission) {
34
38
  return {
35
39
  JOIN_TEAM: permission === 'FULL_READ' || permission === 'FULL_WRITE',
@@ -39,6 +43,10 @@ export var openPermissions = function openPermissions(permission) {
39
43
  REJECT_JOIN_REQUEST: false
40
44
  };
41
45
  };
46
+
47
+ /**
48
+ * This is really just required so we don't show things like "Join team" if the team is member invite and it should say "Request to join team"
49
+ */
42
50
  export var inviteOnlyPermissions = function inviteOnlyPermissions(permission) {
43
51
  return {
44
52
  REQUEST_TO_JOIN: permission === 'FULL_READ',
@@ -64,6 +72,8 @@ var getDisbandedTeamPermissionMap = function getDisbandedTeamPermissionMap(setti
64
72
  // Base permission map - all actions disabled for disbanded teams
65
73
  var basePermissions = allPermissions(false, false, false);
66
74
  var canUnarchive;
75
+
76
+ // On fg('ptc-enable-team-type-permission-enabled') clean up delete this code block
67
77
  if (settings === 'EXTERNAL' || settings === 'ORG_ADMIN_MANAGED') {
68
78
  // For EXTERNAL and ORG_ADMIN_MANAGED teams, only org admins can unarchive
69
79
  canUnarchive = isOrgAdmin;
@@ -73,7 +83,8 @@ var getDisbandedTeamPermissionMap = function getDisbandedTeamPermissionMap(setti
73
83
  }
74
84
  return _objectSpread(_objectSpread({}, basePermissions), {}, {
75
85
  CAN_EDIT_HIERARCHY: false,
76
- UNARCHIVE_TEAM: canUnarchive,
86
+ UNARCHIVE_TEAM: canUnarchive || permission === 'FULL_WRITE' && fg('ptc-enable-team-type-permission-enabled'),
87
+ // With 'ptc-enable-team-type-permission-enabled' DELETE_TEAM perm is _wrong_ here and handled in the hook
77
88
  DELETE_TEAM: canUnarchive
78
89
  });
79
90
  };
@@ -82,16 +93,36 @@ var getDisbandedTeamPermissionMap = function getDisbandedTeamPermissionMap(setti
82
93
  * Returns permission map for active teams based on team settings
83
94
  */
84
95
  var getActiveTeamPermissionMap = function getActiveTeamPermissionMap(settings, permission, isMember, isOrgAdmin, source) {
96
+ var basePermissions = allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin);
85
97
  if (settings === 'OPEN') {
86
- return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), openPermissions(permission)), {}, {
87
- ARCHIVE_TEAM: permission === 'FULL_WRITE' && (isMember || isOrgAdmin)
98
+ return _objectSpread(_objectSpread(_objectSpread({}, basePermissions), openPermissions(permission)), {}, {
99
+ // Delete this row on enable_edit_team_name_external_type_teams cleanup
100
+ ARCHIVE_TEAM: permission === 'FULL_WRITE' && (isMember || isOrgAdmin) || basePermissions.ARCHIVE_TEAM && fg('ptc-enable-team-type-permission-enabled')
88
101
  });
89
102
  }
90
103
  if (settings === 'MEMBER_INVITE') {
91
- return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), inviteOnlyPermissions(permission)), {}, {
92
- ARCHIVE_TEAM: permission === 'FULL_WRITE' && (isMember || isOrgAdmin)
104
+ return _objectSpread(_objectSpread(_objectSpread({}, basePermissions), inviteOnlyPermissions(permission)), {}, {
105
+ // Delete this row on enable_edit_team_name_external_type_teams cleanup
106
+ ARCHIVE_TEAM: permission === 'FULL_WRITE' && (isMember || isOrgAdmin) || basePermissions.ARCHIVE_TEAM && fg('ptc-enable-team-type-permission-enabled')
93
107
  });
94
108
  } else if (settings === 'EXTERNAL') {
109
+ if (fg('enable_edit_team_name_external_type_teams')) {
110
+ // All membership based actions are disabled for Externally synced teams
111
+ var base = allPermissions(false, isMember, isOrgAdmin);
112
+ var actionsMembersCanPerform = {
113
+ // Org admins should not be able to edit hierarchies of HRIS synced teams
114
+ CAN_EDIT_HIERARCHY: source === 'ATLASSIAN_GROUP' && basePermissions.CAN_EDIT_HIERARCHY,
115
+ ADD_AGENT_TO_TEAM: basePermissions.ADD_AGENT_TO_TEAM,
116
+ REMOVE_AGENT_FROM_TEAM: basePermissions.REMOVE_AGENT_FROM_TEAM,
117
+ ARCHIVE_TEAM: basePermissions.ARCHIVE_TEAM,
118
+ EDIT_TEAM_TYPE: basePermissions.EDIT_TEAM_TYPE,
119
+ EDIT_DESCRIPTION: basePermissions.EDIT_DESCRIPTION,
120
+ EDIT_TEAM_SETTINGS: basePermissions.EDIT_TEAM_SETTINGS,
121
+ EDIT_TEAM_LINK: basePermissions.EDIT_TEAM_LINK,
122
+ EDIT_TEAM_NAME: basePermissions.EDIT_TEAM_NAME && source === 'ATLASSIAN_GROUP' && fg('enable_edit_team_name_external_type_teams')
123
+ };
124
+ return _objectSpread(_objectSpread({}, base), actionsMembersCanPerform);
125
+ }
95
126
  return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(false, isMember, isOrgAdmin)), SCIMSyncTeamPermissions(isMember, isOrgAdmin, source)), {}, {
96
127
  ADD_AGENT_TO_TEAM: isMember || isOrgAdmin,
97
128
  REMOVE_AGENT_FROM_TEAM: isMember || isOrgAdmin,
@@ -100,15 +131,20 @@ var getActiveTeamPermissionMap = function getActiveTeamPermissionMap(settings, p
100
131
  });
101
132
  } else if (settings === 'ORG_ADMIN_MANAGED') {
102
133
  // NOTE: Only org admins will received FULL_WRITE permission
103
- return _objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), {}, {
104
- EDIT_TEAM_LINK: isMember || permission === 'FULL_WRITE',
105
- ADD_AGENT_TO_TEAM: isMember || permission === 'FULL_WRITE',
106
- REMOVE_AGENT_FROM_TEAM: isMember || permission === 'FULL_WRITE',
107
- ARCHIVE_TEAM: permission === 'FULL_WRITE',
108
- CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE',
109
- EDIT_TEAM_TYPE: permission === 'FULL_WRITE',
134
+ return _objectSpread(_objectSpread({}, basePermissions), {}, {
135
+ // Delete all there rows on enable_edit_team_name_external_type_teams cleanup
136
+ EDIT_TEAM_LINK: isMember || permission === 'FULL_WRITE' || basePermissions.EDIT_TEAM_LINK && fg('ptc-enable-team-type-permission-enabled'),
137
+ ADD_AGENT_TO_TEAM: isMember || permission === 'FULL_WRITE' || basePermissions.ADD_AGENT_TO_TEAM && fg('ptc-enable-team-type-permission-enabled'),
138
+ REMOVE_AGENT_FROM_TEAM: isMember || permission === 'FULL_WRITE' || basePermissions.REMOVE_AGENT_FROM_TEAM && fg('ptc-enable-team-type-permission-enabled'),
139
+ CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE' || basePermissions.CAN_EDIT_HIERARCHY && fg('ptc-enable-team-type-permission-enabled'),
140
+ EDIT_TEAM_TYPE: permission === 'FULL_WRITE' || basePermissions.EDIT_TEAM_TYPE && fg('ptc-enable-team-type-permission-enabled'),
110
141
  // ORG_ADMIN_MANAGED teams should not provide options to edit membership settings
111
- EDIT_TEAM_MEMBERSHIP: false
142
+ EDIT_TEAM_MEMBERSHIP: false || basePermissions.EDIT_TEAM_MEMBERSHIP && fg('ptc-enable-team-type-permission-enabled'),
143
+ // There is no "invite" flow in org_admin_managed teams
144
+ REQUEST_TO_JOIN: fg('ptc-enable-team-type-permission-enabled') ? false : basePermissions.REQUEST_TO_JOIN,
145
+ CANCEL_JOIN_REQUEST: fg('ptc-enable-team-type-permission-enabled') ? false : basePermissions.CANCEL_JOIN_REQUEST,
146
+ APPROVE_JOIN_REQUEST: fg('ptc-enable-team-type-permission-enabled') ? false : basePermissions.APPROVE_JOIN_REQUEST,
147
+ REJECT_JOIN_REQUEST: fg('ptc-enable-team-type-permission-enabled') ? false : basePermissions.REJECT_JOIN_REQUEST
112
148
  });
113
149
  }
114
150
  return allPermissions(false, false, false);
@@ -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.32.1",
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.32.1",
56
+ packageVersion: "0.0.0-development",
57
57
  packageName: "@atlaskit/teams-client"
58
58
  }
59
59
  }]);
@@ -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.32.1") ||
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) || '---',
@@ -3,6 +3,9 @@ import { type TeamAction } from './types';
3
3
  export type PermissionMap = Required<Record<TeamAction, boolean>>;
4
4
  export declare const allPermissions: (defaultPermission: boolean, isMember: boolean, isOrgAdmin: boolean) => PermissionMap;
5
5
  export declare const vanityActions: TeamAction[];
6
+ /**
7
+ * This is really just required so we don't show things like "Request to join team" if the team is open
8
+ */
6
9
  export declare const openPermissions: (permission: TeamPermission | undefined) => {
7
10
  JOIN_TEAM: boolean;
8
11
  REQUEST_TO_JOIN: boolean;
@@ -10,6 +13,9 @@ export declare const openPermissions: (permission: TeamPermission | undefined) =
10
13
  APPROVE_JOIN_REQUEST: boolean;
11
14
  REJECT_JOIN_REQUEST: boolean;
12
15
  };
16
+ /**
17
+ * This is really just required so we don't show things like "Join team" if the team is member invite and it should say "Request to join team"
18
+ */
13
19
  export declare const inviteOnlyPermissions: (permission: TeamPermission | undefined) => {
14
20
  REQUEST_TO_JOIN: boolean;
15
21
  CANCEL_JOIN_REQUEST: boolean;
@@ -3,6 +3,9 @@ import { type TeamAction } from './types';
3
3
  export type PermissionMap = Required<Record<TeamAction, boolean>>;
4
4
  export declare const allPermissions: (defaultPermission: boolean, isMember: boolean, isOrgAdmin: boolean) => PermissionMap;
5
5
  export declare const vanityActions: TeamAction[];
6
+ /**
7
+ * This is really just required so we don't show things like "Request to join team" if the team is open
8
+ */
6
9
  export declare const openPermissions: (permission: TeamPermission | undefined) => {
7
10
  JOIN_TEAM: boolean;
8
11
  REQUEST_TO_JOIN: boolean;
@@ -10,6 +13,9 @@ export declare const openPermissions: (permission: TeamPermission | undefined) =
10
13
  APPROVE_JOIN_REQUEST: boolean;
11
14
  REJECT_JOIN_REQUEST: boolean;
12
15
  };
16
+ /**
17
+ * This is really just required so we don't show things like "Join team" if the team is member invite and it should say "Request to join team"
18
+ */
13
19
  export declare const inviteOnlyPermissions: (permission: TeamPermission | undefined) => {
14
20
  REQUEST_TO_JOIN: boolean;
15
21
  CANCEL_JOIN_REQUEST: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/teams-client",
3
- "version": "4.32.2",
3
+ "version": "4.32.3",
4
4
  "description": "A client to retrieve team related data",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",