@atlaskit/teams-public 0.45.1 → 0.46.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
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/teams-public
|
|
2
2
|
|
|
3
|
+
## 0.46.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#186163](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/186163)
|
|
8
|
+
[`217c313ed51d4`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/217c313ed51d4) -
|
|
9
|
+
Use new package to check product permission
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependencies
|
|
14
|
+
|
|
3
15
|
## 0.45.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -16,10 +16,11 @@ var _new = _interopRequireDefault(require("@atlaskit/button/new"));
|
|
|
16
16
|
var _modalTransition = _interopRequireDefault(require("@atlaskit/modal-dialog/modal-transition"));
|
|
17
17
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
18
18
|
var _primitives = require("@atlaskit/primitives");
|
|
19
|
+
var _teamsAppInternalProductPermissions = require("@atlaskit/teams-app-internal-product-permissions");
|
|
19
20
|
var _colors = require("@atlaskit/theme/colors");
|
|
20
21
|
var _analytics = require("../../common/utils/analytics");
|
|
21
22
|
var _controllers = require("../../controllers");
|
|
22
|
-
var
|
|
23
|
+
var _useProductPermission3 = require("../../controllers/hooks/use-product-permission");
|
|
23
24
|
var _useTeamContainers2 = require("../../controllers/hooks/use-team-containers");
|
|
24
25
|
var _useTeamLinksAndContainers = require("../../controllers/hooks/use-team-links-and-containers");
|
|
25
26
|
var _addContainerCard = require("./add-container-card");
|
|
@@ -92,12 +93,23 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
|
|
|
92
93
|
var _usePeopleAndTeamAnal = (0, _analytics.usePeopleAndTeamAnalytics)(),
|
|
93
94
|
fireOperationalEvent = _usePeopleAndTeamAnal.fireOperationalEvent,
|
|
94
95
|
fireTrackEvent = _usePeopleAndTeamAnal.fireTrackEvent;
|
|
95
|
-
var _useProductPermission = (0,
|
|
96
|
+
var _useProductPermission = (0, _teamsAppInternalProductPermissions.useProductPermissions)({
|
|
96
97
|
userId: userId,
|
|
97
|
-
cloudId: cloudId
|
|
98
|
+
cloudId: cloudId,
|
|
99
|
+
options: {
|
|
100
|
+
enabled: (0, _platformFeatureFlags.fg)('migrate-product-permissions')
|
|
101
|
+
}
|
|
98
102
|
}),
|
|
99
103
|
productPermissions = _useProductPermission.data,
|
|
100
104
|
productPermissionIsLoading = _useProductPermission.loading;
|
|
105
|
+
var _useProductPermission2 = (0, _useProductPermission3.useProductPermissions)({
|
|
106
|
+
userId: userId,
|
|
107
|
+
cloudId: cloudId
|
|
108
|
+
}, {
|
|
109
|
+
enabled: !(0, _platformFeatureFlags.fg)('migrate-product-permissions')
|
|
110
|
+
}),
|
|
111
|
+
productPermissionsOld = _useProductPermission2.data,
|
|
112
|
+
productPermissionIsLoadingOld = _useProductPermission2.loading;
|
|
101
113
|
(0, _react.useEffect)(function () {
|
|
102
114
|
if ((0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers')) {
|
|
103
115
|
if (isDisplayedOnProfileCard && filterContainerId) {
|
|
@@ -139,14 +151,19 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
|
|
|
139
151
|
var hasWebLink = containersToCheck.some(function (container) {
|
|
140
152
|
return container.type === 'WebLink';
|
|
141
153
|
});
|
|
142
|
-
setShowAddContainer({
|
|
143
|
-
Jira: !hasJiraProject && !!productPermissions && !!(0,
|
|
144
|
-
Confluence: !hasConfluenceSpace && !!productPermissions && !!(0,
|
|
145
|
-
Loom: !hasLoomSpace && !!productPermissions && !!(0,
|
|
154
|
+
setShowAddContainer((0, _platformFeatureFlags.fg)('migrate-product-permissions') ? {
|
|
155
|
+
Jira: !hasJiraProject && !!productPermissions && !!(0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, 'jira'),
|
|
156
|
+
Confluence: !hasConfluenceSpace && !!productPermissions && !!(0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, 'confluence'),
|
|
157
|
+
Loom: !hasLoomSpace && !!productPermissions && !!(0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, 'loom'),
|
|
158
|
+
WebLink: !hasWebLink
|
|
159
|
+
} : {
|
|
160
|
+
Jira: !hasJiraProject && !!productPermissionsOld && !!(0, _controllers.hasProductPermission)(productPermissionsOld, 'jira'),
|
|
161
|
+
Confluence: !hasConfluenceSpace && !!productPermissionsOld && !!(0, _controllers.hasProductPermission)(productPermissionsOld, 'confluence'),
|
|
162
|
+
Loom: !hasLoomSpace && !!productPermissionsOld && !!(0, _controllers.hasProductPermission)(productPermissionsOld, 'loom'),
|
|
146
163
|
WebLink: !hasWebLink
|
|
147
164
|
});
|
|
148
165
|
}
|
|
149
|
-
}, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
|
|
166
|
+
}, [isDisplayedOnProfileCard, productPermissions, productPermissionsOld, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
|
|
150
167
|
var handleShowMore = function handleShowMore() {
|
|
151
168
|
setShowMore(!showMore);
|
|
152
169
|
};
|
|
@@ -221,12 +238,13 @@ var TeamContainers = exports.TeamContainers = function TeamContainers(_ref) {
|
|
|
221
238
|
};
|
|
222
239
|
}(), [actions, createAnalyticsEvent, fireOperationalEvent, filteredTeamContainers, filteredTeamLinks, removeTeamLink, teamId, unlinkError]);
|
|
223
240
|
var TeamContainersSkeletonComponent = (components === null || components === void 0 ? void 0 : components.TeamContainersSkeleton) || _teamContainersSkeleton.TeamContainersSkeleton;
|
|
224
|
-
if (loading || productPermissionIsLoading) {
|
|
241
|
+
if (loading || ((0, _platformFeatureFlags.fg)('migrate-product-permissions') ? productPermissionIsLoading : productPermissionIsLoadingOld)) {
|
|
225
242
|
return /*#__PURE__*/_react.default.createElement(TeamContainersSkeletonComponent, {
|
|
226
243
|
numberOfContainers: maxNumberOfContainersToShow
|
|
227
244
|
});
|
|
228
245
|
}
|
|
229
|
-
|
|
246
|
+
var hasAnyProductPermission = productPermissions && ((0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, 'jira') || (0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, 'confluence') || (0, _teamsAppInternalProductPermissions.hasProductPermission)(productPermissions, 'loom')) && (0, _platformFeatureFlags.fg)('migrate-product-permissions') || productPermissionsOld && ((0, _controllers.hasProductPermission)(productPermissionsOld, 'jira') || (0, _controllers.hasProductPermission)(productPermissionsOld, 'confluence') || (0, _controllers.hasProductPermission)(productPermissionsOld, 'loom')) && !(0, _platformFeatureFlags.fg)('migrate-product-permissions');
|
|
247
|
+
if (((0, _platformFeatureFlags.fg)('enable_web_links_in_team_containers') ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && !hasAnyProductPermission) {
|
|
230
248
|
return /*#__PURE__*/_react.default.createElement(_noProductAccessEmptyState.NoProductAccessState, null);
|
|
231
249
|
}
|
|
232
250
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_primitives.Stack, {
|
|
@@ -6,10 +6,11 @@ import ModalTransition from '@atlaskit/modal-dialog/modal-transition';
|
|
|
6
6
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
7
|
// eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
|
|
8
8
|
import { Grid, Inline, Stack } from '@atlaskit/primitives';
|
|
9
|
+
import { hasProductPermission, useProductPermissions } from '@atlaskit/teams-app-internal-product-permissions';
|
|
9
10
|
import { N0, N90 } from '@atlaskit/theme/colors';
|
|
10
11
|
import { AnalyticsAction, usePeopleAndTeamAnalytics } from '../../common/utils/analytics';
|
|
11
|
-
import { hasProductPermission } from '../../controllers';
|
|
12
|
-
import { useProductPermissions } from '../../controllers/hooks/use-product-permission';
|
|
12
|
+
import { hasProductPermission as hasProductPermissionOld } from '../../controllers';
|
|
13
|
+
import { useProductPermissions as useProductPermissionsOld } from '../../controllers/hooks/use-product-permission';
|
|
13
14
|
import { useTeamContainers, useTeamContainersHook } from '../../controllers/hooks/use-team-containers';
|
|
14
15
|
import { useTeamLinksAndContainers } from '../../controllers/hooks/use-team-links-and-containers';
|
|
15
16
|
import { AddContainerCard } from './add-container-card';
|
|
@@ -66,8 +67,20 @@ export const TeamContainers = ({
|
|
|
66
67
|
data: productPermissions,
|
|
67
68
|
loading: productPermissionIsLoading
|
|
68
69
|
} = useProductPermissions({
|
|
70
|
+
userId,
|
|
71
|
+
cloudId,
|
|
72
|
+
options: {
|
|
73
|
+
enabled: fg('migrate-product-permissions')
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
const {
|
|
77
|
+
data: productPermissionsOld,
|
|
78
|
+
loading: productPermissionIsLoadingOld
|
|
79
|
+
} = useProductPermissionsOld({
|
|
69
80
|
userId,
|
|
70
81
|
cloudId
|
|
82
|
+
}, {
|
|
83
|
+
enabled: !fg('migrate-product-permissions')
|
|
71
84
|
});
|
|
72
85
|
useEffect(() => {
|
|
73
86
|
if (fg('enable_web_links_in_team_containers')) {
|
|
@@ -98,14 +111,19 @@ export const TeamContainers = ({
|
|
|
98
111
|
const hasConfluenceSpace = containersToCheck.some(container => container.type === 'ConfluenceSpace');
|
|
99
112
|
const hasLoomSpace = containersToCheck.some(container => container.type === 'LoomSpace');
|
|
100
113
|
const hasWebLink = containersToCheck.some(container => container.type === 'WebLink');
|
|
101
|
-
setShowAddContainer({
|
|
114
|
+
setShowAddContainer(fg('migrate-product-permissions') ? {
|
|
102
115
|
Jira: !hasJiraProject && !!productPermissions && !!hasProductPermission(productPermissions, 'jira'),
|
|
103
116
|
Confluence: !hasConfluenceSpace && !!productPermissions && !!hasProductPermission(productPermissions, 'confluence'),
|
|
104
117
|
Loom: !hasLoomSpace && !!productPermissions && !!hasProductPermission(productPermissions, 'loom'),
|
|
105
118
|
WebLink: !hasWebLink
|
|
119
|
+
} : {
|
|
120
|
+
Jira: !hasJiraProject && !!productPermissionsOld && !!hasProductPermissionOld(productPermissionsOld, 'jira'),
|
|
121
|
+
Confluence: !hasConfluenceSpace && !!productPermissionsOld && !!hasProductPermissionOld(productPermissionsOld, 'confluence'),
|
|
122
|
+
Loom: !hasLoomSpace && !!productPermissionsOld && !!hasProductPermissionOld(productPermissionsOld, 'loom'),
|
|
123
|
+
WebLink: !hasWebLink
|
|
106
124
|
});
|
|
107
125
|
}
|
|
108
|
-
}, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
|
|
126
|
+
}, [isDisplayedOnProfileCard, productPermissions, productPermissionsOld, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
|
|
109
127
|
const handleShowMore = () => {
|
|
110
128
|
setShowMore(!showMore);
|
|
111
129
|
};
|
|
@@ -154,12 +172,13 @@ export const TeamContainers = ({
|
|
|
154
172
|
}
|
|
155
173
|
}, [actions, createAnalyticsEvent, fireOperationalEvent, filteredTeamContainers, filteredTeamLinks, removeTeamLink, teamId, unlinkError]);
|
|
156
174
|
const TeamContainersSkeletonComponent = (components === null || components === void 0 ? void 0 : components.TeamContainersSkeleton) || TeamContainersSkeleton;
|
|
157
|
-
if (loading || productPermissionIsLoading) {
|
|
175
|
+
if (loading || (fg('migrate-product-permissions') ? productPermissionIsLoading : productPermissionIsLoadingOld)) {
|
|
158
176
|
return /*#__PURE__*/React.createElement(TeamContainersSkeletonComponent, {
|
|
159
177
|
numberOfContainers: maxNumberOfContainersToShow
|
|
160
178
|
});
|
|
161
179
|
}
|
|
162
|
-
|
|
180
|
+
const hasAnyProductPermission = productPermissions && (hasProductPermission(productPermissions, 'jira') || hasProductPermission(productPermissions, 'confluence') || hasProductPermission(productPermissions, 'loom')) && fg('migrate-product-permissions') || productPermissionsOld && (hasProductPermissionOld(productPermissionsOld, 'jira') || hasProductPermissionOld(productPermissionsOld, 'confluence') || hasProductPermissionOld(productPermissionsOld, 'loom')) && !fg('migrate-product-permissions');
|
|
181
|
+
if ((fg('enable_web_links_in_team_containers') ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && !hasAnyProductPermission) {
|
|
163
182
|
return /*#__PURE__*/React.createElement(NoProductAccessState, null);
|
|
164
183
|
}
|
|
165
184
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Stack, {
|
|
@@ -9,10 +9,11 @@ import ModalTransition from '@atlaskit/modal-dialog/modal-transition';
|
|
|
9
9
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
10
10
|
// eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
|
|
11
11
|
import { Grid, Inline, Stack } from '@atlaskit/primitives';
|
|
12
|
+
import { hasProductPermission, useProductPermissions } from '@atlaskit/teams-app-internal-product-permissions';
|
|
12
13
|
import { N0, N90 } from '@atlaskit/theme/colors';
|
|
13
14
|
import { AnalyticsAction, usePeopleAndTeamAnalytics } from '../../common/utils/analytics';
|
|
14
|
-
import { hasProductPermission } from '../../controllers';
|
|
15
|
-
import { useProductPermissions } from '../../controllers/hooks/use-product-permission';
|
|
15
|
+
import { hasProductPermission as hasProductPermissionOld } from '../../controllers';
|
|
16
|
+
import { useProductPermissions as useProductPermissionsOld } from '../../controllers/hooks/use-product-permission';
|
|
16
17
|
import { useTeamContainers, useTeamContainersHook } from '../../controllers/hooks/use-team-containers';
|
|
17
18
|
import { useTeamLinksAndContainers } from '../../controllers/hooks/use-team-links-and-containers';
|
|
18
19
|
import { AddContainerCard } from './add-container-card';
|
|
@@ -84,10 +85,21 @@ export var TeamContainers = function TeamContainers(_ref) {
|
|
|
84
85
|
fireTrackEvent = _usePeopleAndTeamAnal.fireTrackEvent;
|
|
85
86
|
var _useProductPermission = useProductPermissions({
|
|
86
87
|
userId: userId,
|
|
87
|
-
cloudId: cloudId
|
|
88
|
+
cloudId: cloudId,
|
|
89
|
+
options: {
|
|
90
|
+
enabled: fg('migrate-product-permissions')
|
|
91
|
+
}
|
|
88
92
|
}),
|
|
89
93
|
productPermissions = _useProductPermission.data,
|
|
90
94
|
productPermissionIsLoading = _useProductPermission.loading;
|
|
95
|
+
var _useProductPermission2 = useProductPermissionsOld({
|
|
96
|
+
userId: userId,
|
|
97
|
+
cloudId: cloudId
|
|
98
|
+
}, {
|
|
99
|
+
enabled: !fg('migrate-product-permissions')
|
|
100
|
+
}),
|
|
101
|
+
productPermissionsOld = _useProductPermission2.data,
|
|
102
|
+
productPermissionIsLoadingOld = _useProductPermission2.loading;
|
|
91
103
|
useEffect(function () {
|
|
92
104
|
if (fg('enable_web_links_in_team_containers')) {
|
|
93
105
|
if (isDisplayedOnProfileCard && filterContainerId) {
|
|
@@ -129,14 +141,19 @@ export var TeamContainers = function TeamContainers(_ref) {
|
|
|
129
141
|
var hasWebLink = containersToCheck.some(function (container) {
|
|
130
142
|
return container.type === 'WebLink';
|
|
131
143
|
});
|
|
132
|
-
setShowAddContainer({
|
|
144
|
+
setShowAddContainer(fg('migrate-product-permissions') ? {
|
|
133
145
|
Jira: !hasJiraProject && !!productPermissions && !!hasProductPermission(productPermissions, 'jira'),
|
|
134
146
|
Confluence: !hasConfluenceSpace && !!productPermissions && !!hasProductPermission(productPermissions, 'confluence'),
|
|
135
147
|
Loom: !hasLoomSpace && !!productPermissions && !!hasProductPermission(productPermissions, 'loom'),
|
|
136
148
|
WebLink: !hasWebLink
|
|
149
|
+
} : {
|
|
150
|
+
Jira: !hasJiraProject && !!productPermissionsOld && !!hasProductPermissionOld(productPermissionsOld, 'jira'),
|
|
151
|
+
Confluence: !hasConfluenceSpace && !!productPermissionsOld && !!hasProductPermissionOld(productPermissionsOld, 'confluence'),
|
|
152
|
+
Loom: !hasLoomSpace && !!productPermissionsOld && !!hasProductPermissionOld(productPermissionsOld, 'loom'),
|
|
153
|
+
WebLink: !hasWebLink
|
|
137
154
|
});
|
|
138
155
|
}
|
|
139
|
-
}, [isDisplayedOnProfileCard, productPermissions, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
|
|
156
|
+
}, [isDisplayedOnProfileCard, productPermissions, productPermissionsOld, filteredTeamContainers, filteredTeamLinks, maxNumberOfContainersToShow]);
|
|
140
157
|
var handleShowMore = function handleShowMore() {
|
|
141
158
|
setShowMore(!showMore);
|
|
142
159
|
};
|
|
@@ -211,12 +228,13 @@ export var TeamContainers = function TeamContainers(_ref) {
|
|
|
211
228
|
};
|
|
212
229
|
}(), [actions, createAnalyticsEvent, fireOperationalEvent, filteredTeamContainers, filteredTeamLinks, removeTeamLink, teamId, unlinkError]);
|
|
213
230
|
var TeamContainersSkeletonComponent = (components === null || components === void 0 ? void 0 : components.TeamContainersSkeleton) || TeamContainersSkeleton;
|
|
214
|
-
if (loading || productPermissionIsLoading) {
|
|
231
|
+
if (loading || (fg('migrate-product-permissions') ? productPermissionIsLoading : productPermissionIsLoadingOld)) {
|
|
215
232
|
return /*#__PURE__*/React.createElement(TeamContainersSkeletonComponent, {
|
|
216
233
|
numberOfContainers: maxNumberOfContainersToShow
|
|
217
234
|
});
|
|
218
235
|
}
|
|
219
|
-
|
|
236
|
+
var hasAnyProductPermission = productPermissions && (hasProductPermission(productPermissions, 'jira') || hasProductPermission(productPermissions, 'confluence') || hasProductPermission(productPermissions, 'loom')) && fg('migrate-product-permissions') || productPermissionsOld && (hasProductPermissionOld(productPermissionsOld, 'jira') || hasProductPermissionOld(productPermissionsOld, 'confluence') || hasProductPermissionOld(productPermissionsOld, 'loom')) && !fg('migrate-product-permissions');
|
|
237
|
+
if ((fg('enable_web_links_in_team_containers') ? filteredTeamLinks.length === 0 : filteredTeamContainers.length === 0) && !isDisplayedOnProfileCard && !hasAnyProductPermission) {
|
|
220
238
|
return /*#__PURE__*/React.createElement(NoProductAccessState, null);
|
|
221
239
|
}
|
|
222
240
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Stack, {
|
package/package.json
CHANGED
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"@atlaskit/avatar": "^25.1.0",
|
|
34
34
|
"@atlaskit/button": "^23.2.0",
|
|
35
35
|
"@atlaskit/css": "^0.12.0",
|
|
36
|
-
"@atlaskit/dropdown-menu": "^16.
|
|
36
|
+
"@atlaskit/dropdown-menu": "^16.3.0",
|
|
37
37
|
"@atlaskit/feature-gate-js-client": "^5.5.0",
|
|
38
38
|
"@atlaskit/heading": "^5.2.0",
|
|
39
|
-
"@atlaskit/icon": "^27.
|
|
39
|
+
"@atlaskit/icon": "^27.6.0",
|
|
40
40
|
"@atlaskit/image": "^3.0.0",
|
|
41
41
|
"@atlaskit/link": "^3.2.0",
|
|
42
42
|
"@atlaskit/logo": "^19.5.0",
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"@atlaskit/people-teams-ui-public": "^3.1.0",
|
|
45
45
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
46
46
|
"@atlaskit/primitives": "^14.10.0",
|
|
47
|
+
"@atlaskit/teams-app-internal-product-permissions": "^1.0.0",
|
|
47
48
|
"@atlaskit/teams-client": "^4.8.0",
|
|
48
49
|
"@atlaskit/theme": "^19.0.0",
|
|
49
50
|
"@atlaskit/tokens": "^5.6.0",
|
|
@@ -113,7 +114,7 @@
|
|
|
113
114
|
}
|
|
114
115
|
},
|
|
115
116
|
"name": "@atlaskit/teams-public",
|
|
116
|
-
"version": "0.
|
|
117
|
+
"version": "0.46.0",
|
|
117
118
|
"description": "Public components related to teams",
|
|
118
119
|
"author": "Atlassian Pty Ltd",
|
|
119
120
|
"license": "Apache-2.0",
|
|
@@ -148,6 +149,9 @@
|
|
|
148
149
|
},
|
|
149
150
|
"enable-team-profile-refactor": {
|
|
150
151
|
"type": "boolean"
|
|
152
|
+
},
|
|
153
|
+
"migrate-product-permissions": {
|
|
154
|
+
"type": "boolean"
|
|
151
155
|
}
|
|
152
156
|
}
|
|
153
157
|
}
|