mirror of
https://github.com/sasjs/server.git
synced 2026-01-14 17:30:05 +00:00
chore(web): refactor react code
This commit is contained in:
71
web/src/containers/Settings/internal/hooks/usePermission.ts
Normal file
71
web/src/containers/Settings/internal/hooks/usePermission.ts
Normal file
@@ -0,0 +1,71 @@
|
||||
import { useContext, useEffect } from 'react'
|
||||
import { AppContext } from '../../../../context/appContext'
|
||||
import { PermissionsContext } from '../../../../context/permissionsContext'
|
||||
import { PermissionResponse } from '../../../../utils/types'
|
||||
import useAddPermission from './useAddPermission'
|
||||
import useUpdatePermissionModal from './useUpdatePermissionModal'
|
||||
import useDeletePermissionModal from './useDeletePermissionModal'
|
||||
import useFilterPermissions from './useFilterPermissions'
|
||||
|
||||
export enum PrincipalType {
|
||||
User = 'User',
|
||||
Group = 'Group'
|
||||
}
|
||||
|
||||
const usePermission = () => {
|
||||
const { isAdmin } = useContext(AppContext)
|
||||
const {
|
||||
filterApplied,
|
||||
filteredPermissions,
|
||||
isLoading,
|
||||
permissions,
|
||||
Dialog,
|
||||
Snackbar,
|
||||
PermissionResponseDialog,
|
||||
fetchPermissions,
|
||||
setSelectedPermission
|
||||
} = useContext(PermissionsContext)
|
||||
|
||||
const { AddPermissionButton } = useAddPermission()
|
||||
|
||||
const { UpdatePermissionDialog, setUpdatePermissionModalOpen } =
|
||||
useUpdatePermissionModal()
|
||||
|
||||
const { DeletePermissionDialog, setDeleteConfirmationModalOpen } =
|
||||
useDeletePermissionModal()
|
||||
|
||||
const { FilterPermissionsButton } = useFilterPermissions()
|
||||
|
||||
useEffect(() => {
|
||||
if (fetchPermissions) fetchPermissions()
|
||||
}, [fetchPermissions])
|
||||
|
||||
const handleUpdatePermissionClick = (permission: PermissionResponse) => {
|
||||
setSelectedPermission(permission)
|
||||
setUpdatePermissionModalOpen(true)
|
||||
}
|
||||
|
||||
const handleDeletePermissionClick = (permission: PermissionResponse) => {
|
||||
setSelectedPermission(permission)
|
||||
setDeleteConfirmationModalOpen(true)
|
||||
}
|
||||
|
||||
return {
|
||||
filterApplied,
|
||||
filteredPermissions,
|
||||
isAdmin,
|
||||
isLoading,
|
||||
permissions,
|
||||
AddPermissionButton,
|
||||
UpdatePermissionDialog,
|
||||
DeletePermissionDialog,
|
||||
FilterPermissionsButton,
|
||||
handleDeletePermissionClick,
|
||||
handleUpdatePermissionClick,
|
||||
PermissionResponseDialog,
|
||||
Dialog,
|
||||
Snackbar
|
||||
}
|
||||
}
|
||||
|
||||
export default usePermission
|
||||
Reference in New Issue
Block a user