Skip to content

Commit 89d556c

Browse files
authored
chore: entitlement log retention in new interface (supabase#40040)
1 parent 65fd868 commit 89d556c

File tree

2 files changed

+16
-7
lines changed

2 files changed

+16
-7
lines changed

apps/studio/components/interfaces/Settings/Logs/Logs.DatePickers.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
} from 'ui'
2222
import { LOGS_LARGE_DATE_RANGE_DAYS_THRESHOLD } from './Logs.constants'
2323
import type { DatetimeHelper } from './Logs.types'
24+
import { useCheckEntitlements } from 'hooks/misc/useCheckEntitlements'
2425

2526
export type DatePickerValue = {
2627
to: string
@@ -237,13 +238,16 @@ export const LogsDatePicker = ({
237238
Math.abs(dayjs(startDate).diff(dayjs(endDate), 'days')) >
238239
LOGS_LARGE_DATE_RANGE_DAYS_THRESHOLD - 1
239240

240-
const { plan: orgPlan, isLoading: isOrgPlanLoading } = useCurrentOrgPlan()
241+
const { getEntitlementNumericValue } = useCheckEntitlements('log.retention_days')
242+
const entitledToAuditLogDays = getEntitlementNumericValue()
243+
241244
const showHelperBadge = (helper?: DatetimeHelper) => {
242245
if (!helper) return false
243246
if (!helper.availableIn?.length) return false
247+
if (!entitledToAuditLogDays) return false
244248

245-
if (helper.availableIn.includes('free')) return false
246-
if (helper.availableIn.includes(orgPlan?.id || 'free') && !isOrgPlanLoading) return false
249+
const day = Math.abs(dayjs().diff(dayjs(helper.calcFrom()), 'day'))
250+
if (day <= entitledToAuditLogDays) return false
247251
return true
248252
}
249253

apps/studio/components/ui/DataTable/DataTableFilters/DataTableFilterTimerange.tsx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ import {
66
DatePickerValue,
77
LogsDatePicker,
88
} from 'components/interfaces/Settings/Logs/Logs.DatePickers'
9-
import { maybeShowUpgradePrompt } from 'components/interfaces/Settings/Logs/Logs.utils'
9+
import { maybeShowUpgradePromptIfNotEntitled } from 'components/interfaces/Settings/Logs/Logs.utils'
1010
import UpgradePrompt from 'components/interfaces/Settings/Logs/UpgradePrompt'
11-
import { useCurrentOrgPlan } from 'hooks/misc/useCurrentOrgPlan'
1211
import type { DataTableTimerangeFilterField } from '../DataTable.types'
1312
import { isArrayOfDates } from '../DataTable.utils'
1413
import { useDataTable } from '../providers/DataTableProvider'
14+
import { useCheckEntitlements } from 'hooks/misc/useCheckEntitlements'
1515

1616
export function DataTableFilterTimerange<TData>({
1717
value: _value,
@@ -21,9 +21,11 @@ export function DataTableFilterTimerange<TData>({
2121
const column = table.getColumn(value)
2222
const filterValue = columnFilters.find((i) => i.id === value)?.value
2323

24-
const { plan: orgPlan } = useCurrentOrgPlan()
2524
const [showUpgradePrompt, setShowUpgradePrompt] = useState(false)
2625

26+
const { getEntitlementNumericValue } = useCheckEntitlements('log.retention_days')
27+
const entitledToAuditLogDays = getEntitlementNumericValue()
28+
2729
const date: DateRange | undefined = useMemo(
2830
() =>
2931
filterValue instanceof Date
@@ -36,7 +38,10 @@ export function DataTableFilterTimerange<TData>({
3638

3739
const handleDatePickerChange = (vals: DatePickerValue) => {
3840
// Check if the selected date range exceeds the plan limits
39-
const shouldShowUpgradePrompt = maybeShowUpgradePrompt(vals.from, orgPlan?.id)
41+
const shouldShowUpgradePrompt = maybeShowUpgradePromptIfNotEntitled(
42+
vals.from,
43+
entitledToAuditLogDays
44+
)
4045

4146
if (shouldShowUpgradePrompt) {
4247
setShowUpgradePrompt(true)

0 commit comments

Comments
 (0)