mirror of
https://github.com/supabase/supabase.git
synced 2026-10-10 20:05:06 +03:00
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Similar to the Advisor, this adds an admonition enabling the user to disable a public RLS select via dashboard. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Detect public buckets that have removable SELECT policies and show a contextual warning on the bucket page. * Let users remove the policy via a confirmation dialog that previews the removal action. * Show success/error feedback and automatically refresh storage views after removal. * Adjust page layout to surface the warning above the storage explorer. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
58 lines
2.1 KiB
TypeScript
58 lines
2.1 KiB
TypeScript
export const storageKeys = {
|
|
bucket: (projectRef: string | undefined, bucketId: string | undefined) =>
|
|
['projects', projectRef, 'buckets', bucketId] as const,
|
|
buckets: (projectRef: string | undefined) => ['projects', projectRef, 'buckets'] as const,
|
|
bucketsList: (
|
|
projectRef: string | undefined,
|
|
params: {
|
|
limit?: number
|
|
search?: string
|
|
sortColumn?: string
|
|
sortOrder?: string
|
|
} = {}
|
|
) =>
|
|
[
|
|
'projects',
|
|
projectRef,
|
|
'buckets',
|
|
'list',
|
|
{
|
|
limit: params.limit,
|
|
search: params.search,
|
|
sortColumn: params.sortColumn,
|
|
sortOrder: params.sortOrder,
|
|
},
|
|
] as const,
|
|
analyticsBuckets: (projectRef: string | undefined) =>
|
|
['projects', projectRef, 'analytics-buckets'] as const,
|
|
vectorBuckets: (projectRef: string | undefined) =>
|
|
['projects', projectRef, 'vector-buckets'] as const,
|
|
vectorBucket: (projectRef: string | undefined, vectorbucketName: string | undefined) =>
|
|
['projects', projectRef, 'vector-bucket', vectorbucketName] as const,
|
|
vectorBucketsIndexes: (projectRef: string | undefined, vectorBucketName: string | undefined) =>
|
|
['projects', projectRef, 'vector-buckets', vectorBucketName, 'indexes'] as const,
|
|
archive: (projectRef: string | undefined) => ['projects', projectRef, 'archive'] as const,
|
|
publicBucketsWithSelectPolicies: (projectRef: string | undefined, bucketId: string | undefined) =>
|
|
['projects', projectRef, 'public-buckets-with-select-policies', bucketId] as const,
|
|
icebergNamespaces: ({ projectRef, warehouse }: { projectRef?: string; warehouse?: string }) =>
|
|
[projectRef, 'warehouse', warehouse, 'namespaces'] as const,
|
|
icebergNamespace: ({
|
|
projectRef,
|
|
warehouse,
|
|
namespace,
|
|
}: {
|
|
projectRef?: string
|
|
warehouse: string
|
|
namespace: string
|
|
}) => [projectRef, 'warehouse', warehouse, 'namespaces', namespace] as const,
|
|
icebergNamespaceTables: ({
|
|
projectRef,
|
|
warehouse,
|
|
namespace,
|
|
}: {
|
|
projectRef?: string
|
|
warehouse?: string
|
|
namespace?: string
|
|
}) => [projectRef, 'warehouse', warehouse, 'namespaces', namespace, 'tables'] as const,
|
|
}
|