| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import { useParams } from 'common'
- import Image from 'next/image'
- import { Alert, AlertDescription, AlertTitle, WarningIcon } from 'ui'
- import { Markdown } from '@/components/interfaces/Markdown'
- import { InlineLink } from '@/components/ui/InlineLink'
- import { useCustomContent } from '@/hooks/custom-content/useCustomContent'
- import { BASE_PATH, DOCS_URL } from '@/lib/constants'
- export const CLSPreview = () => {
- const { ref } = useParams()
- const { docsRowLevelSecurityGuidePath } = useCustomContent(['docs:row_level_security_guide_path'])
- return (
- <div className="flex flex-col gap-2">
- <div className="mb-4 flex flex-col gap-y-2">
- <Markdown
- className="text-foreground-light max-w-full"
- content={`[Postgres Column-Level Privileges](${DOCS_URL}/guides/auth/column-level-security) is a feature of Postgres that allows you to grant or revoke privileges on tables and columns based on user roles.`}
- />
- <Markdown
- className="text-foreground-light max-w-full"
- content={`This is an advanced feature and should be used with caution. Unless you have a very specific use case, we recommend just using [Row-Level Security](${DOCS_URL}${docsRowLevelSecurityGuidePath}).`}
- />
- <Alert variant="warning" className="mt-2">
- <WarningIcon />
- <AlertTitle>
- Changes to column privileges will not be reflected in migrations when running{' '}
- <code className="text-code-inline">briven db diff</code>.
- </AlertTitle>
- <AlertDescription>
- Column privileges are not supported in the current version of the Briven CLI.
- <br />
- You will need to manually apply these changes to your database.
- </AlertDescription>
- </Alert>
- </div>
- <Image
- src={`${BASE_PATH}/img/previews/cls-preview.png`}
- width={1860}
- height={970}
- alt="api-docs-side-panel-preview"
- className="rounded-sm border"
- />
- <div className="space-y-2 mt-4!">
- <p className="text-sm">Enabling this preview will:</p>
- <ul className="list-disc pl-6 text-sm text-foreground-light space-y-1">
- <li>
- Grant access to a new UI for granting and/or revoking column-level privileges{' '}
- <InlineLink href={`/project/${ref}/database/column-privileges`}>here</InlineLink>.
- </li>
- </ul>
- </div>
- </div>
- )
- }
|