ListTab.tsx31 lines · main
| 1 | import { PermissionAction } from '@supabase/shared-types/out/constants' |
| 2 | |
| 3 | import { DeleteHookModal } from '@/components/interfaces/Database/Hooks/DeleteHookModal' |
| 4 | import { EditHookPanel } from '@/components/interfaces/Database/Hooks/EditHookPanel' |
| 5 | import { HooksList } from '@/components/interfaces/Database/Hooks/HooksList/HooksList' |
| 6 | import { ConstrainedIntegrationTabScaffold } from '@/components/interfaces/Integrations/ConstrainedIntegrationTabScaffold' |
| 7 | import { NoPermission } from '@/components/ui/NoPermission' |
| 8 | import { useAsyncCheckPermissions } from '@/hooks/misc/useCheckPermissions' |
| 9 | |
| 10 | export const WebhooksListTab = () => { |
| 11 | const { can: canReadWebhooks, isSuccess: isPermissionsLoaded } = useAsyncCheckPermissions( |
| 12 | PermissionAction.TENANT_SQL_ADMIN_READ, |
| 13 | 'triggers' |
| 14 | ) |
| 15 | |
| 16 | if (isPermissionsLoaded && !canReadWebhooks) { |
| 17 | return ( |
| 18 | <ConstrainedIntegrationTabScaffold> |
| 19 | <NoPermission isFullPage resourceText="view database webhooks" /> |
| 20 | </ConstrainedIntegrationTabScaffold> |
| 21 | ) |
| 22 | } |
| 23 | |
| 24 | return ( |
| 25 | <ConstrainedIntegrationTabScaffold> |
| 26 | <HooksList /> |
| 27 | <EditHookPanel /> |
| 28 | <DeleteHookModal /> |
| 29 | </ConstrainedIntegrationTabScaffold> |
| 30 | ) |
| 31 | } |