mirror of
https://github.com/supabase/supabase.git
synced 2026-10-08 19:05:06 +03:00
refactor(storage): rename "expiration policy" to "lifecycle policy"
Renames the noun phrase that names the policy object — the section heading in the create/edit bucket modals, the file preview panel tooltip title, the empty-state copy in the archived / trash views, and the internal ExpirationPolicySection component — to "lifecycle policy", matching S3's own terminology. Preserves verb / action-form uses of expire/expiration where they describe what happens when the policy fires (ExpirationSentence, ExpirationExplainer, ExpirationMode, version_expiry_days, "Noncurrent version expiration" label, etc.) — those name the action, not the policy.
This commit is contained in:
4 files changed
+13
-14
No files matched your search
@@ -179,7 +179,7 @@ export const BucketDataProtectionFields = ({
|
||||
)}
|
||||
|
||||
{!!planLimits && isVersioningEnabled && (
|
||||
<ExpirationPolicySection
|
||||
<LifecyclePolicySection
|
||||
control={control}
|
||||
hasDays={hasDays}
|
||||
hasVersions={hasVersions}
|
||||
@@ -195,9 +195,9 @@ export const BucketDataProtectionFields = ({
|
||||
)
|
||||
}
|
||||
|
||||
// ── Expiration policy section ────────────────────────────────────────────
|
||||
// ── Lifecycle policy section ─────────────────────────────────────────────
|
||||
|
||||
interface ExpirationPolicySectionProps {
|
||||
interface LifecyclePolicySectionProps {
|
||||
control: ReturnType<typeof useFormContext<BucketProtectionFormValues>>['control']
|
||||
hasDays: boolean
|
||||
hasVersions: boolean
|
||||
@@ -208,7 +208,7 @@ interface ExpirationPolicySectionProps {
|
||||
onModeChange: (mode: ExpirationMode) => void
|
||||
}
|
||||
|
||||
const ExpirationPolicySection = ({
|
||||
const LifecyclePolicySection = ({
|
||||
control,
|
||||
hasDays,
|
||||
hasVersions,
|
||||
@@ -217,7 +217,7 @@ const ExpirationPolicySection = ({
|
||||
versions,
|
||||
mode,
|
||||
onModeChange,
|
||||
}: ExpirationPolicySectionProps) => {
|
||||
}: LifecyclePolicySectionProps) => {
|
||||
const { trigger } = useFormContext<BucketProtectionFormValues>()
|
||||
const hasNoPolicy = !hasDays && !hasVersions
|
||||
|
||||
@@ -225,7 +225,7 @@ const ExpirationPolicySection = ({
|
||||
<div className="flex flex-col gap-y-4">
|
||||
<div>
|
||||
<p className="mb-1.5 flex items-center gap-x-1.5 text-sm font-medium text-foreground">
|
||||
Expiration policy
|
||||
Lifecycle policy
|
||||
<BroomSparklesIcon size={14} className="text-foreground-lighter" />
|
||||
</p>
|
||||
<ExpirationSentence
|
||||
@@ -309,8 +309,8 @@ const ExpirationPolicySection = ({
|
||||
{hasNoPolicy && (
|
||||
<Admonition
|
||||
type="warning"
|
||||
title="No expiration policy"
|
||||
description="All noncurrent versions count toward storage usage and incur ongoing costs. Consider setting an expiration policy to automatically remove outdated versions."
|
||||
title="No lifecycle policy"
|
||||
description="All noncurrent versions count toward storage usage and incur ongoing costs. Consider setting a lifecycle policy to automatically expire outdated versions."
|
||||
/>
|
||||
)}
|
||||
|
||||
@@ -349,7 +349,7 @@ const ExpirationSentence = ({
|
||||
if (!hasDays && !hasVersions) {
|
||||
return (
|
||||
<p className="text-sm text-foreground-lighter leading-relaxed">
|
||||
No expiration policy configured. Noncurrent versions will be retained indefinitely.
|
||||
No lifecycle policy configured. Noncurrent versions will be retained indefinitely.
|
||||
</p>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ export const DeletedFilesList = ({ bucketId, searchString }: DeletedFilesListPro
|
||||
description={
|
||||
searchString.length > 0
|
||||
? 'No archived files match your search.'
|
||||
: 'Files and their version history appear here once archived (soft-deleted), and can be restored until an expiration policy removes them.'
|
||||
: 'Files and their version history appear here once archived (soft-deleted), and can be restored until a lifecycle policy expires them.'
|
||||
}
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -417,7 +417,7 @@ const PolicyRow = ({ cap, expiryDays, mode }: PolicyRowProps) => {
|
||||
<TooltipContent side="top" className="max-w-64 space-y-1.5 pt-2.5">
|
||||
<div className="flex items-center gap-x-1">
|
||||
<BroomSparklesIcon size={16} className="shrink-0 mr-1" />
|
||||
<p className="font-medium text-foreground">Expiration policy</p>
|
||||
<p className="font-medium text-foreground">Lifecycle policy</p>
|
||||
</div>
|
||||
<p className="text-foreground-light">
|
||||
<PolicyFullRule cap={cap} expiryDays={expiryDays} mode={mode} />
|
||||
|
||||
@@ -103,8 +103,7 @@ export const Trash = ({ bucketId }: TrashProps) => {
|
||||
<PageSectionContent className="flex flex-col gap-y-4">
|
||||
<div className="flex items-center justify-between gap-x-3">
|
||||
<p className="text-sm text-foreground-lighter">
|
||||
Deleted versions in this bucket, restorable until their expiration policy removes
|
||||
them
|
||||
Deleted versions in this bucket, restorable until a lifecycle policy expires them
|
||||
</p>
|
||||
{isSuccess && objects.length > 0 && (
|
||||
<Button variant="danger" icon={<Trash2 />} onClick={() => setShowDeleteAll(true)}>
|
||||
@@ -119,7 +118,7 @@ export const Trash = ({ bucketId }: TrashProps) => {
|
||||
<Admonition
|
||||
type="default"
|
||||
title="No deleted versions"
|
||||
description="Deleted versions appear here and can be restored until an expiration policy removes them."
|
||||
description="Deleted versions appear here and can be restored until a lifecycle policy expires them."
|
||||
/>
|
||||
)}
|
||||
{isSuccess && objects.length > 0 && (
|
||||
|
||||
Reference in new issue
Block a user