added logout all users method
This commit is contained in:
parent
790d289781
commit
d206f44ce7
@ -36,6 +36,7 @@ import ModalDialogContainer from "../ModalDialogContainer";
|
||||
const LogoutAllSessionDialog = ({
|
||||
t,
|
||||
exceptId,
|
||||
userIds,
|
||||
displayName,
|
||||
visible,
|
||||
isLoading,
|
||||
@ -43,6 +44,7 @@ const LogoutAllSessionDialog = ({
|
||||
onRemoveAllSessions,
|
||||
onRemoveAllExceptThis,
|
||||
isSeveralSelection,
|
||||
onLogoutAllUsers,
|
||||
onLogoutAllSessions,
|
||||
onLogoutAllExceptThis,
|
||||
}) => {
|
||||
@ -56,7 +58,9 @@ const LogoutAllSessionDialog = ({
|
||||
|
||||
const onClickLogout = () => {
|
||||
if (!isChecked) {
|
||||
onLogoutAllSessions(t);
|
||||
isSeveralSelection
|
||||
? onLogoutAllUsers(t, userIds)
|
||||
: onLogoutAllSessions(t);
|
||||
onClose();
|
||||
} else {
|
||||
onLogoutAllExceptThis(t, exceptId);
|
||||
|
@ -98,6 +98,7 @@ const Sessions = ({
|
||||
setDisableDialogVisible,
|
||||
setLogoutDialogVisible,
|
||||
setLogoutAllDialogVisible,
|
||||
onClickLogoutAllUsers,
|
||||
onClickLogoutAllSessions,
|
||||
onClickLogoutAllExceptThis,
|
||||
onClickRemoveSession,
|
||||
@ -212,8 +213,10 @@ const Sessions = ({
|
||||
visible={logoutAllDialogVisible}
|
||||
isLoading={isLoading}
|
||||
exceptId={exceptId}
|
||||
userIds={userIds}
|
||||
displayName={displayName}
|
||||
onClose={() => setLogoutAllDialogVisible(false)}
|
||||
onLogoutAllUsers={onClickLogoutAllUsers}
|
||||
onLogoutAllSessions={onClickLogoutAllSessions}
|
||||
onLogoutAllExceptThis={onClickLogoutAllExceptThis}
|
||||
/>
|
||||
@ -238,6 +241,7 @@ export default inject(({ settingsStore, setup, peopleStore }) => {
|
||||
selection,
|
||||
bufferSelection,
|
||||
isLoading,
|
||||
onClickLogoutAllUsers,
|
||||
onClickLogoutAllSessions,
|
||||
onClickLogoutAllExceptThis,
|
||||
onClickRemoveSession,
|
||||
@ -279,6 +283,7 @@ export default inject(({ settingsStore, setup, peopleStore }) => {
|
||||
setLogoutDialogVisible,
|
||||
setLogoutAllDialogVisible,
|
||||
isLoading,
|
||||
onClickLogoutAllUsers,
|
||||
onClickLogoutAllSessions,
|
||||
onClickLogoutAllExceptThis,
|
||||
onClickRemoveSession,
|
||||
|
@ -631,6 +631,22 @@ class SelectionStore {
|
||||
this.setIsLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
onClickLogoutAllUsers = async (t) => {
|
||||
const { logoutAllUsers } = this.settingsSetupStore;
|
||||
const userIds = this.selection.flatMap((item) =>
|
||||
item.connections.map((connection) => connection.userId),
|
||||
);
|
||||
try {
|
||||
this.setIsLoading(true);
|
||||
await logoutAllUsers(userIds);
|
||||
toastr.success(t("LoggedOutBySelectedUsers"));
|
||||
} catch (error) {
|
||||
toastr.error(error);
|
||||
} finally {
|
||||
this.setIsLoading(false);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export default SelectionStore;
|
||||
|
@ -584,6 +584,10 @@ class SettingsSetupStore {
|
||||
return api.settings.removeActiveSession(id);
|
||||
};
|
||||
|
||||
logoutAllUsers = (userIds) => {
|
||||
return api.settings.logoutAllUsers(userIds);
|
||||
};
|
||||
|
||||
setLogoutDialogVisible = (visible) => {
|
||||
this.logoutDialogVisible = visible;
|
||||
};
|
||||
|
@ -920,6 +920,14 @@ export function removeAllExceptThisEventId(eventId) {
|
||||
});
|
||||
}
|
||||
|
||||
export function logoutAllUsers(userIds) {
|
||||
return request({
|
||||
method: "put",
|
||||
url: `/security/activeconnections/logoutall`,
|
||||
data: { userIds },
|
||||
});
|
||||
}
|
||||
|
||||
export function removeAllActiveSessions() {
|
||||
return request({
|
||||
method: "put",
|
||||
|
Loading…
Reference in New Issue
Block a user