feat: Add ability to unlink SSO from user
This commit is contained in:
@@ -30,6 +30,7 @@ const StepTypes = {
|
||||
EDIT_PASSWORD: 'EDIT_PASSWORD',
|
||||
EDIT_ROLE: 'EDIT_ROLE',
|
||||
API_KEY: 'API_KEY',
|
||||
UNLINK_SSO: 'UNLINK_SSO',
|
||||
ACTIVATE: 'ACTIVATE',
|
||||
DEACTIVATE: 'DEACTIVATE',
|
||||
DELETE: 'DELETE',
|
||||
@@ -58,6 +59,16 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
|
||||
[userId, dispatch],
|
||||
);
|
||||
|
||||
const handleUnlinkSsoConfirm = useCallback(() => {
|
||||
dispatch(
|
||||
entryActions.updateUser(userId, {
|
||||
isSsoUser: false,
|
||||
}),
|
||||
);
|
||||
|
||||
onClose();
|
||||
}, [userId, onClose, dispatch]);
|
||||
|
||||
const handleActivateConfirm = useCallback(() => {
|
||||
dispatch(
|
||||
entryActions.updateUser(userId, {
|
||||
@@ -106,6 +117,10 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
|
||||
openStep(StepTypes.API_KEY);
|
||||
}, [openStep]);
|
||||
|
||||
const handleUnlinkSsoClick = useCallback(() => {
|
||||
openStep(StepTypes.UNLINK_SSO);
|
||||
}, [openStep]);
|
||||
|
||||
const handleActivateClick = useCallback(() => {
|
||||
openStep(StepTypes.ACTIVATE);
|
||||
}, [openStep]);
|
||||
@@ -142,6 +157,17 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
|
||||
);
|
||||
case StepTypes.API_KEY:
|
||||
return <ApiKeyStep userId={userId} onBack={handleBack} onClose={onClose} />;
|
||||
case StepTypes.UNLINK_SSO:
|
||||
return (
|
||||
<ConfirmationStep
|
||||
title="common.unlinkSso"
|
||||
content="common.areYouSureYouWantToUnlinkSsoFromThisUser"
|
||||
buttonType="negative"
|
||||
buttonContent="action.unlinkSso"
|
||||
onConfirm={handleUnlinkSsoConfirm}
|
||||
onBack={handleBack}
|
||||
/>
|
||||
);
|
||||
case StepTypes.ACTIVATE:
|
||||
return (
|
||||
<ConfirmationStep
|
||||
@@ -232,6 +258,14 @@ const ActionsStep = React.memo(({ userId, onClose }) => {
|
||||
context: 'title',
|
||||
})}
|
||||
</Menu.Item>
|
||||
{user.isSsoUser && !isCurrentUser && (
|
||||
<Menu.Item className={styles.menuItem} onClick={handleUnlinkSsoClick}>
|
||||
<Icon name="unlink" className={styles.menuItemIcon} />
|
||||
{t('action.unlinkSso', {
|
||||
context: 'title',
|
||||
})}
|
||||
</Menu.Item>
|
||||
)}
|
||||
{!isCurrentUser && (
|
||||
<>
|
||||
<Menu.Item
|
||||
|
||||
Reference in New Issue
Block a user