@atlaskit/teams-client 4.21.0 → 4.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/cjs/common/utils/permissions/constants.js +55 -8
- package/dist/cjs/common/utils/permissions/has-permission.js +4 -3
- package/dist/cjs/common/utils/permissions/types.js +3 -3
- package/dist/cjs/common/utils/ufo/constants.js +1 -1
- package/dist/cjs/common/utils/ufo/index.js +2 -2
- package/dist/cjs/services/legion-client/index.js +241 -196
- package/dist/cjs/services/main.js +592 -540
- package/dist/cjs/services/sentry/utils/get-sentry-config.js +1 -1
- package/dist/es2019/common/utils/permissions/constants.js +56 -8
- package/dist/es2019/common/utils/permissions/has-permission.js +4 -3
- package/dist/es2019/common/utils/permissions/types.js +3 -3
- package/dist/es2019/common/utils/ufo/constants.js +1 -1
- package/dist/es2019/common/utils/ufo/index.js +2 -2
- package/dist/es2019/services/legion-client/index.js +12 -2
- package/dist/es2019/services/main.js +13 -0
- package/dist/es2019/services/sentry/utils/get-sentry-config.js +1 -1
- package/dist/esm/common/utils/permissions/constants.js +55 -8
- package/dist/esm/common/utils/permissions/has-permission.js +4 -3
- package/dist/esm/common/utils/permissions/types.js +3 -3
- package/dist/esm/common/utils/ufo/constants.js +1 -1
- package/dist/esm/common/utils/ufo/index.js +2 -2
- package/dist/esm/services/legion-client/index.js +241 -196
- package/dist/esm/services/main.js +592 -540
- package/dist/esm/services/sentry/utils/get-sentry-config.js +1 -1
- package/dist/types/common/utils/permissions/constants.d.ts +3 -3
- package/dist/types/common/utils/permissions/has-permission.d.ts +3 -2
- package/dist/types/common/utils/permissions/types.d.ts +1 -1
- package/dist/types/common/utils/ufo/constants.d.ts +2 -2
- package/dist/types/services/legion-client/index.d.ts +3 -1
- package/dist/types/services/main.d.ts +8 -0
- package/dist/types-ts4.5/common/utils/permissions/constants.d.ts +3 -3
- package/dist/types-ts4.5/common/utils/permissions/has-permission.d.ts +3 -2
- package/dist/types-ts4.5/common/utils/permissions/types.d.ts +4 -1
- package/dist/types-ts4.5/common/utils/ufo/constants.d.ts +3 -1
- package/dist/types-ts4.5/services/legion-client/index.d.ts +3 -1
- package/dist/types-ts4.5/services/main.d.ts +8 -0
- package/package.json +1 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @atlaskit/teams-client
|
|
2
2
|
|
|
3
|
+
## 4.23.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`c49c45398b080`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c49c45398b080) -
|
|
8
|
+
[ux] Add types to the team create
|
|
9
|
+
|
|
10
|
+
## 4.22.0
|
|
11
|
+
|
|
12
|
+
### Minor Changes
|
|
13
|
+
|
|
14
|
+
- [`351add7ec8607`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/351add7ec8607) -
|
|
15
|
+
[ux] Add team types field and permission handlers
|
|
16
|
+
|
|
3
17
|
## 4.21.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
|
@@ -10,7 +10,7 @@ var _featureGateJsClient = _interopRequireDefault(require("@atlaskit/feature-gat
|
|
|
10
10
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
11
11
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
12
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
|
-
var allPermissions = exports.allPermissions = function allPermissions(defaultPermission, isMember) {
|
|
13
|
+
var allPermissions = exports.allPermissions = function allPermissions(defaultPermission, isMember, isOrgAdmin) {
|
|
14
14
|
return {
|
|
15
15
|
ADD_MEMBER_TO_TEAM: defaultPermission,
|
|
16
16
|
JOIN_TEAM: defaultPermission,
|
|
@@ -28,9 +28,12 @@ var allPermissions = exports.allPermissions = function allPermissions(defaultPer
|
|
|
28
28
|
DELETE_TEAM: defaultPermission,
|
|
29
29
|
EDIT_TEAM_SETTINGS: defaultPermission,
|
|
30
30
|
EDIT_TEAM_MEMBERSHIP: defaultPermission,
|
|
31
|
+
EDIT_TEAM_TYPE: defaultPermission && isOrgAdmin,
|
|
31
32
|
REMOVE_AGENT_FROM_TEAM: defaultPermission,
|
|
32
33
|
ADD_AGENT_TO_TEAM: defaultPermission,
|
|
33
|
-
ARCHIVE_TEAM: defaultPermission && isMember
|
|
34
|
+
ARCHIVE_TEAM: defaultPermission && isMember,
|
|
35
|
+
UNARCHIVE_TEAM: false,
|
|
36
|
+
CAN_EDIT_HIERARCHY: defaultPermission && isMember
|
|
34
37
|
};
|
|
35
38
|
};
|
|
36
39
|
var vanityActions = exports.vanityActions = ['EDIT_DESCRIPTION', 'EDIT_TEAM_NAME', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK'];
|
|
@@ -57,24 +60,68 @@ var SCIMSyncTeamPermissions = exports.SCIMSyncTeamPermissions = function SCIMSyn
|
|
|
57
60
|
EDIT_TEAM_NAME: isOrgAdmin && source === 'ATLASSIAN_GROUP' && (0, _platformFeatureFlags.fg)('enable_edit_team_name_external_type_teams')
|
|
58
61
|
};
|
|
59
62
|
};
|
|
60
|
-
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Returns permission map for disbanded teams
|
|
66
|
+
* Only UNARCHIVE_TEAM action is allowed based on team settings and user permissions
|
|
67
|
+
*/
|
|
68
|
+
var getDisbandedTeamPermissionMap = function getDisbandedTeamPermissionMap(settings, permission, isMember, isOrgAdmin) {
|
|
69
|
+
var newTeamProfileEnabled = _featureGateJsClient.default.getExperimentValue('new_team_profile', 'isEnabled', false);
|
|
70
|
+
var isArchiveTeamEnabled = (0, _platformFeatureFlags.fg)('legion-enable-archive-teams') && newTeamProfileEnabled;
|
|
71
|
+
|
|
72
|
+
// Base permission map - all actions disabled for disbanded teams
|
|
73
|
+
var basePermissions = allPermissions(false, false, false);
|
|
74
|
+
|
|
75
|
+
// UNARCHIVE_TEAM permission based on team settings
|
|
76
|
+
var canUnarchive = false;
|
|
77
|
+
if (isArchiveTeamEnabled) {
|
|
78
|
+
if (settings === 'EXTERNAL') {
|
|
79
|
+
// For EXTERNAL teams, only org admins can unarchive
|
|
80
|
+
canUnarchive = isOrgAdmin;
|
|
81
|
+
} else if (settings === 'OPEN' || settings === 'MEMBER_INVITE') {
|
|
82
|
+
// For OPEN and MEMBER_INVITE teams, members with FULL_WRITE can unarchive
|
|
83
|
+
canUnarchive = isMember && permission === 'FULL_WRITE';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return _objectSpread(_objectSpread({}, basePermissions), {}, {
|
|
87
|
+
CAN_EDIT_HIERARCHY: false,
|
|
88
|
+
UNARCHIVE_TEAM: canUnarchive,
|
|
89
|
+
DELETE_TEAM: canUnarchive
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Returns permission map for active teams based on team settings
|
|
95
|
+
*/
|
|
96
|
+
var getActiveTeamPermissionMap = function getActiveTeamPermissionMap(settings, permission, isMember, isOrgAdmin, source) {
|
|
61
97
|
var newTeamProfileEnabled = _featureGateJsClient.default.getExperimentValue('new_team_profile', 'isEnabled', false);
|
|
62
98
|
var isArchiveTeamEnabled = (0, _platformFeatureFlags.fg)('legion-enable-archive-teams') && newTeamProfileEnabled;
|
|
63
99
|
if (settings === 'OPEN') {
|
|
64
|
-
return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember)), openPermissions(permission)), {}, {
|
|
100
|
+
return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), openPermissions(permission)), {}, {
|
|
65
101
|
ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && isMember
|
|
66
102
|
});
|
|
67
103
|
}
|
|
68
104
|
if (settings === 'MEMBER_INVITE') {
|
|
69
|
-
return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember)), inviteOnlyPermissions(permission)), {}, {
|
|
105
|
+
return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(permission === 'FULL_WRITE', isMember, isOrgAdmin)), inviteOnlyPermissions(permission)), {}, {
|
|
70
106
|
ARCHIVE_TEAM: isArchiveTeamEnabled && permission === 'FULL_WRITE' && isMember
|
|
71
107
|
});
|
|
72
108
|
} else if (settings === 'EXTERNAL') {
|
|
73
|
-
return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(false, isMember)), SCIMSyncTeamPermissions(isMember, isOrgAdmin, source)), {}, {
|
|
109
|
+
return _objectSpread(_objectSpread(_objectSpread({}, allPermissions(false, isMember, isOrgAdmin)), SCIMSyncTeamPermissions(isMember, isOrgAdmin, source)), {}, {
|
|
74
110
|
ADD_AGENT_TO_TEAM: newTeamProfileEnabled && (isMember || isOrgAdmin),
|
|
75
111
|
REMOVE_AGENT_FROM_TEAM: newTeamProfileEnabled && (isMember || isOrgAdmin),
|
|
76
|
-
ARCHIVE_TEAM: isArchiveTeamEnabled && isOrgAdmin
|
|
112
|
+
ARCHIVE_TEAM: isArchiveTeamEnabled && isOrgAdmin,
|
|
113
|
+
EDIT_TEAM_TYPE: isOrgAdmin,
|
|
114
|
+
CAN_EDIT_HIERARCHY: permission === 'FULL_WRITE' && isOrgAdmin
|
|
77
115
|
});
|
|
78
116
|
}
|
|
79
|
-
return allPermissions(false, false);
|
|
117
|
+
return allPermissions(false, false, false);
|
|
118
|
+
};
|
|
119
|
+
var getPermissionMap = exports.getPermissionMap = function getPermissionMap(settings, permission, isMember, isOrgAdmin, source, state) {
|
|
120
|
+
// Handle disbanded teams with special permission map
|
|
121
|
+
if (state === 'DISBANDED') {
|
|
122
|
+
return getDisbandedTeamPermissionMap(settings, permission, isMember, isOrgAdmin);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// For active teams (or when state is not provided), use existing logic
|
|
126
|
+
return getActiveTeamPermissionMap(settings, permission, isMember, isOrgAdmin, source);
|
|
80
127
|
};
|
|
@@ -8,7 +8,7 @@ exports.hasPermissionForAction = hasPermissionForAction;
|
|
|
8
8
|
exports.userCan = userCan;
|
|
9
9
|
var _team = require("../team");
|
|
10
10
|
var _constants = require("./constants");
|
|
11
|
-
function hasPermission(action, settings, permission, isPeopleBrowseEnabled, currentUserMembership, teamVisibilityPermissions, source) {
|
|
11
|
+
function hasPermission(action, settings, permission, isPeopleBrowseEnabled, currentUserMembership, teamVisibilityPermissions, source, state) {
|
|
12
12
|
if (!isPeopleBrowseEnabled && !_constants.vanityActions.includes(action)) {
|
|
13
13
|
return false;
|
|
14
14
|
}
|
|
@@ -19,14 +19,15 @@ function hasPermission(action, settings, permission, isPeopleBrowseEnabled, curr
|
|
|
19
19
|
teamPermission: permission,
|
|
20
20
|
isMemberOfTeam: isMemberOfTeam,
|
|
21
21
|
isOrgAdmin: isOrgAdmin,
|
|
22
|
-
source: source
|
|
22
|
+
source: source,
|
|
23
|
+
state: state
|
|
23
24
|
});
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
26
27
|
* Determines if a user has permission perform a given action on a team
|
|
27
28
|
*/
|
|
28
29
|
function userCan(action, options) {
|
|
29
|
-
return (0, _constants.getPermissionMap)(options.membershipSettings, options.teamPermission, options.isMemberOfTeam, options.isOrgAdmin, options.source)[action];
|
|
30
|
+
return (0, _constants.getPermissionMap)(options.membershipSettings, options.teamPermission, options.isMemberOfTeam, options.isOrgAdmin, options.source, options.state)[action];
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
/**
|
|
@@ -4,8 +4,8 @@ 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',
|
|
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',
|
|
8
8
|
// Visual
|
|
9
|
-
'EDIT_TEAM_NAME', 'EDIT_DESCRIPTION', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK', 'EDIT_TEAM_SETTINGS', 'EDIT_TEAM_MEMBERSHIP',
|
|
9
|
+
'EDIT_TEAM_NAME', 'EDIT_DESCRIPTION', 'EDIT_PROFILE_HEADER', 'EDIT_TEAM_LINK', 'EDIT_TEAM_SETTINGS', 'EDIT_TEAM_MEMBERSHIP', 'EDIT_TEAM_TYPE',
|
|
10
10
|
// Serious
|
|
11
|
-
'DELETE_TEAM', 'ARCHIVE_TEAM'];
|
|
11
|
+
'DELETE_TEAM', 'ARCHIVE_TEAM', 'UNARCHIVE_TEAM'];
|
|
@@ -8,7 +8,7 @@ exports.TEAMS_CLIENT_EXPERIENCES = void 0;
|
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
9
|
var _ufo = require("@atlaskit/ufo");
|
|
10
10
|
var _index = require("./index");
|
|
11
|
-
var TeamsClientExperienceKeyList = ['getAllTeams', 'getTeamById', 'updateTeamById', 'querySettings', 'queryFeatureFlags', 'queryTeamMemberships', 'queryUser', 'inviteUsersToTeam', 'getMyTeamMembership', 'getTeamLinksByTeamId', 'createTeamLink', 'updateTeamLink', 'deleteTeamLink', 'reorderTeamLink', 'acceptTeamInvitation', 'declineTeamInvitation', 'selfJoinTeam', 'cancelJoinRequest', 'acceptJoinRequest', 'declineJoinRequest', 'deleteTeamMembership', 'revokeTeamInvite', 'deleteTeam', 'archiveTeam', 'isSingleFullMemberTeam', 'createTeam', 'createTeamContainers', 'createExternalTeam', 'getProfileWithMutability', 'getIsSiteAdmin', 'addUsersToTeam', 'removeTeamMemberships', 'getRecommendedProducts', 'joinOrRequestDefaultAccessToProductsBulk', 'getReadMediaToken', 'getWriteUserMediaToken', 'updateUserHeaderImage', 'getWriteTeamMediaToken', 'getSoftDeletedTeamById', 'restoreTeam', 'getUserInSiteUserBase', 'getLinkedTeamsBulk', 'getTeamProfileDetails', 'getUserContainers', 'getPermissions', 'getUserManageConfig', 'getMyAvatarUploadedStatus', 'deleteUserAvatar', 'getTeamLinkIcons', 'getTeamInSlack', 'getOrgScope', 'restoreTeamToSyncedGroup', 'getTeamAndGroupDiff', 'linkExistingTeamToGroup', 'fetchUserAvatarInfo', 'getOrgEligibilityForManagedTeams', 'updateUser', 'updateUserAvatar', 'disconnectTeamInSlack', 'updateTeamInSlack', 'getUserTenure', 'getAriFromUrl', 'getWebLinkTitle', 'addAgentToTeam', 'getTeamEnabledSites', 'assignTeamsToSites', 'removeAgentTeamAssociation', 'getAssignedTeams', 'setTeamSiteAssignmentPermission', 'getUnassignedTeams', 'getTeamSiteAssignmentOrgDetails', 'getTeamsToBeClonedToJsmSites', 'getReportingLines'];
|
|
11
|
+
var TeamsClientExperienceKeyList = ['getAllTeams', 'getTeamById', 'updateTeamById', 'querySettings', 'queryFeatureFlags', 'queryTeamMemberships', 'queryUser', 'inviteUsersToTeam', 'getMyTeamMembership', 'getTeamLinksByTeamId', 'createTeamLink', 'updateTeamLink', 'deleteTeamLink', 'reorderTeamLink', 'acceptTeamInvitation', 'declineTeamInvitation', 'selfJoinTeam', 'cancelJoinRequest', 'acceptJoinRequest', 'declineJoinRequest', 'deleteTeamMembership', 'revokeTeamInvite', 'deleteTeam', 'archiveTeam', 'unarchiveTeam', 'unlinkTeamFromGroup', 'isSingleFullMemberTeam', 'createTeam', 'createTeamContainers', 'createExternalTeam', 'getProfileWithMutability', 'getIsSiteAdmin', 'addUsersToTeam', 'removeTeamMemberships', 'getRecommendedProducts', 'joinOrRequestDefaultAccessToProductsBulk', 'getReadMediaToken', 'getWriteUserMediaToken', 'updateUserHeaderImage', 'getWriteTeamMediaToken', 'getSoftDeletedTeamById', 'restoreTeam', 'getUserInSiteUserBase', 'getLinkedTeamsBulk', 'getTeamProfileDetails', 'getUserContainers', 'getPermissions', 'getUserManageConfig', 'getMyAvatarUploadedStatus', 'deleteUserAvatar', 'getTeamLinkIcons', 'getTeamInSlack', 'getOrgScope', 'restoreTeamToSyncedGroup', 'getTeamAndGroupDiff', 'linkExistingTeamToGroup', 'fetchUserAvatarInfo', 'getOrgEligibilityForManagedTeams', 'updateUser', 'updateUserAvatar', 'disconnectTeamInSlack', 'updateTeamInSlack', 'getUserTenure', 'getAriFromUrl', 'getWebLinkTitle', 'addAgentToTeam', 'getTeamEnabledSites', 'assignTeamsToSites', 'removeAgentTeamAssociation', 'getAssignedTeams', 'setTeamSiteAssignmentPermission', 'getUnassignedTeams', 'getTeamSiteAssignmentOrgDetails', 'getTeamsToBeClonedToJsmSites', 'getReportingLines'];
|
|
12
12
|
var TEAMS_CLIENT_EXPERIENCES = exports.TEAMS_CLIENT_EXPERIENCES = new Map((0, _toConsumableArray2.default)(TeamsClientExperienceKeyList.map(function (key) {
|
|
13
13
|
return [key,
|
|
14
14
|
// camelCase to kebab-case
|
|
@@ -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.
|
|
55
|
+
packageVersion: "4.23.0",
|
|
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.
|
|
63
|
+
packageVersion: "4.23.0",
|
|
64
64
|
packageName: "@atlaskit/teams-client"
|
|
65
65
|
}
|
|
66
66
|
}]);
|