ListTab.tsx 1.2 KB

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