mirror of
https://github.com/supabase/supabase.git
synced 2026-07-02 01:54:22 +08:00
* event triggers * rename to event * fixes * fixes * template * use supabase roles instead * useMemo array operations * use blank as default --------- Co-authored-by: Alaister Young <a@alaisteryoung.com>
49 lines
1.4 KiB
TypeScript
49 lines
1.4 KiB
TypeScript
import { PropsWithChildren } from 'react'
|
|
|
|
import { PermissionAction } from '@supabase/shared-types/out/constants'
|
|
import { useParams } from 'common'
|
|
import { PageLayout } from 'components/layouts/PageLayout/PageLayout'
|
|
import NoPermission from 'components/ui/NoPermission'
|
|
import { useAsyncCheckPermissions } from 'hooks/misc/useCheckPermissions'
|
|
import DatabaseLayout from './DatabaseLayout'
|
|
|
|
type DatabaseTriggersLayoutProps = PropsWithChildren
|
|
|
|
const DatabaseTriggersLayout = ({ children }: DatabaseTriggersLayoutProps) => {
|
|
const { ref } = useParams()
|
|
const { can: canReadTriggers, isSuccess: isPermissionsLoaded } = useAsyncCheckPermissions(
|
|
PermissionAction.TENANT_SQL_ADMIN_READ,
|
|
'triggers'
|
|
)
|
|
|
|
const navigationItems = [
|
|
{
|
|
label: 'Data',
|
|
href: `/project/${ref}/database/triggers/data`,
|
|
},
|
|
{
|
|
label: 'Event',
|
|
href: `/project/${ref}/database/triggers/event`,
|
|
},
|
|
]
|
|
|
|
return (
|
|
<DatabaseLayout title="Database">
|
|
{isPermissionsLoaded && !canReadTriggers ? (
|
|
<NoPermission isFullPage resourceText="view database triggers" />
|
|
) : (
|
|
<PageLayout
|
|
title="Database Triggers"
|
|
subtitle="Execute actions automatically when database events occur"
|
|
navigationItems={navigationItems}
|
|
size="large"
|
|
>
|
|
{children}
|
|
</PageLayout>
|
|
)}
|
|
</DatabaseLayout>
|
|
)
|
|
}
|
|
|
|
export default DatabaseTriggersLayout
|