ListTab.tsx31 lines · main
1import { PermissionAction } from '@supabase/shared-types/out/constants'
2
3import { DeleteHookModal } from '@/components/interfaces/Database/Hooks/DeleteHookModal'
4import { EditHookPanel } from '@/components/interfaces/Database/Hooks/EditHookPanel'
5import { HooksList } from '@/components/interfaces/Database/Hooks/HooksList/HooksList'
6import { ConstrainedIntegrationTabScaffold } from '@/components/interfaces/Integrations/ConstrainedIntegrationTabScaffold'
7import { NoPermission } from '@/components/ui/NoPermission'
8import { useAsyncCheckPermissions } from '@/hooks/misc/useCheckPermissions'
9
10export 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}