import { PermissionAction } from '@supabase/shared-types/out/constants' import { useParams } from 'common' import { Download } from 'lucide-react' import Link from 'next/link' import { toast } from 'sonner' import { Button } from 'ui' import { ScaffoldSection, ScaffoldSectionContent, ScaffoldSectionDetail, } from 'components/layouts/Scaffold' import AlertError from 'components/ui/AlertError' import NoPermission from 'components/ui/NoPermission' import ShimmeringLoader from 'components/ui/ShimmeringLoader' import { getDocument } from 'data/documents/document-query' import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query' import { useCheckPermissions } from 'hooks/misc/useCheckPermissions' const SecurityQuestionnaire = () => { const { slug } = useParams() const canReadSubscriptions = useCheckPermissions( PermissionAction.BILLING_READ, 'stripe.subscriptions' ) const { data: subscription, error, isLoading, isError, isSuccess, } = useOrgSubscriptionQuery({ orgSlug: slug }, { enabled: canReadSubscriptions }) const currentPlan = subscription?.plan const fetchQuestionnaire = async (orgSlug: string) => { try { const questionnaireLink = await getDocument({ orgSlug, docType: 'standard-security-questionnaire', }) if (questionnaireLink?.fileUrl) window.open(questionnaireLink.fileUrl, '_blank') } catch (error: any) { toast.error(`Failed to download Security Questionnaire: ${error.message}`) } } return ( <>

Standard Security Questionnaire

Organizations on Team Plan or above have access to our standard security questionnaire.

{!canReadSubscriptions ? ( ) : ( <> {isLoading && (
)} {isError && } {isSuccess && (
{currentPlan?.id === 'free' || currentPlan?.id === 'pro' ? ( ) : ( )}
)} )}
) } export default SecurityQuestionnaire