mirror of
https://github.com/sasjs/server.git
synced 2025-12-11 03:34:35 +00:00
chore(web): refactor react code
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
import axios from 'axios'
|
||||
import { useState, useContext } from 'react'
|
||||
import { PermissionsContext } from '../../../../context/permissionsContext'
|
||||
import { AlertSeverityType } from '../../../../components/snackbar'
|
||||
import DeleteConfirmationModal from '../../../../components/deleteConfirmationModal'
|
||||
|
||||
const useDeletePermissionModal = () => {
|
||||
const {
|
||||
selectedPermission,
|
||||
setSelectedPermission,
|
||||
fetchPermissions,
|
||||
setIsLoading,
|
||||
setSnackbarMessage,
|
||||
setSnackbarSeverity,
|
||||
setOpenSnackbar,
|
||||
setModalTitle,
|
||||
setModalPayload,
|
||||
setOpenModal
|
||||
} = useContext(PermissionsContext)
|
||||
const [deleteConfirmationModalOpen, setDeleteConfirmationModalOpen] =
|
||||
useState(false)
|
||||
|
||||
const deletePermission = () => {
|
||||
setDeleteConfirmationModalOpen(false)
|
||||
setIsLoading(true)
|
||||
axios
|
||||
.delete(`/SASjsApi/permission/${selectedPermission?.permissionId}`)
|
||||
.then((res: any) => {
|
||||
fetchPermissions()
|
||||
setSnackbarMessage('Permission deleted!')
|
||||
setSnackbarSeverity(AlertSeverityType.Success)
|
||||
setOpenSnackbar(true)
|
||||
})
|
||||
.catch((err) => {
|
||||
setModalTitle('Abort')
|
||||
setModalPayload(
|
||||
typeof err.response.data === 'object'
|
||||
? JSON.stringify(err.response.data)
|
||||
: err.response.data
|
||||
)
|
||||
setOpenModal(true)
|
||||
})
|
||||
.finally(() => {
|
||||
setIsLoading(false)
|
||||
setSelectedPermission(undefined)
|
||||
})
|
||||
}
|
||||
|
||||
const DeletePermissionDialog = () => (
|
||||
<DeleteConfirmationModal
|
||||
open={deleteConfirmationModalOpen}
|
||||
setOpen={setDeleteConfirmationModalOpen}
|
||||
message="Are you sure you want to delete this permission?"
|
||||
_delete={deletePermission}
|
||||
/>
|
||||
)
|
||||
|
||||
return { DeletePermissionDialog, setDeleteConfirmationModalOpen }
|
||||
}
|
||||
|
||||
export default useDeletePermissionModal
|
||||
Reference in New Issue
Block a user