mirror of
https://github.com/rustfs/console.git
synced 2026-08-31 01:37:52 +08:00
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
import dayjs from "dayjs"
|
|
|
|
export function isObjectLegalHoldEnabled(value) {
|
|
if (typeof value === "string") return value === "ON"
|
|
|
|
return value?.Status === "ON" || value?.LegalHold?.Status === "ON" || value?.ObjectLockLegalHoldStatus === "ON"
|
|
}
|
|
|
|
export function toObjectRetentionInputValue(value) {
|
|
return value && dayjs(value).isValid() ? dayjs(value).format("YYYY-MM-DDTHH:mm") : ""
|
|
}
|
|
|
|
export function toObjectRetentionRequestValue(value) {
|
|
if (!value) return undefined
|
|
|
|
const date = dayjs(value)
|
|
return date.isValid() ? date.toISOString() : undefined
|
|
}
|
|
|
|
export function getDefaultObjectRetentionDate(now = new Date()) {
|
|
return dayjs(now).add(1, "day").second(0).millisecond(0).toISOString()
|
|
}
|
|
|
|
export function getMinimumObjectRetentionDate(now = new Date()) {
|
|
return dayjs(now).add(1, "minute").second(0).millisecond(0).toISOString()
|
|
}
|
|
|
|
export function isObjectRetentionDateInFuture(value, now = new Date()) {
|
|
const date = dayjs(value)
|
|
return date.isValid() && date.isAfter(dayjs(now))
|
|
}
|
|
|
|
export function shouldShowObjectRetentionAction({ canEditRetention, legalHoldEnabled }) {
|
|
return Boolean(canEditRetention && legalHoldEnabled)
|
|
}
|