@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 +8 -0
- package/dist/cjs/common/utils/permissions/constants.js +50 -14
- package/dist/cjs/common/utils/ufo/index.js +2 -2
- package/dist/cjs/services/sentry/utils/get-sentry-config.js +1 -1
- package/dist/es2019/common/utils/permissions/constants.js +53 -14
- package/dist/es2019/common/utils/ufo/index.js +2 -2
- package/dist/es2019/services/sentry/utils/get-sentry-config.js +1 -1
- package/dist/esm/common/utils/permissions/constants.js +50 -14
- package/dist/esm/common/utils/ufo/index.js +2 -2
- package/dist/esm/services/sentry/utils/get-sentry-config.js +1 -1
- package/dist/types/common/utils/permissions/constants.d.ts +6 -0
- package/dist/types-ts4.5/common/utils/permissions/constants.d.ts +6 -0
- package/package.json +1 -1
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({},
|
|
94
|
-
|
|
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({},
|
|
99
|
-
|
|
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({},
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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: "
|
|
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: "
|
|
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("
|
|
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
|
-
...
|
|
89
|
+
...basePermissions,
|
|
78
90
|
...openPermissions(permission),
|
|
79
|
-
|
|
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
|
-
...
|
|
97
|
+
...basePermissions,
|
|
85
98
|
...inviteOnlyPermissions(permission),
|
|
86
|
-
|
|
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
|
-
...
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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: "
|
|
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: "
|
|
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"}@${"
|
|
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({},
|
|
87
|
-
|
|
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({},
|
|
92
|
-
|
|
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({},
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
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: "
|
|
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: "
|
|
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("
|
|
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;
|