"use client"; import {ColumnDef} from "@tanstack/react-table"; import {StatusBadge} from "@/components/wrappers/common/status-badge"; import {Backup, DatabaseWith} from "@/db/schema/07_database"; import {Setting} from "@/db/schema/01_setting"; import {cn} from "@/lib/utils"; import {Tooltip, TooltipContent, TooltipProvider, TooltipTrigger} from "@/components/ui/tooltip"; import {MemberWithUser} from "@/db/schema/03_organization"; import {formatLocalizedDate} from "@/utils/date-formatting"; import {formatBytes} from "@/utils/text"; import {DatabaseActionsCell} from "@/components/wrappers/dashboard/database/backup/actions/backup-actions-cell"; import { Badge as BadgeC } from "@/components/ui/badge"; import {backupOnly} from "@/components/wrappers/dashboard/projects/database/database-tabs"; export function backupColumns( isAlreadyRestore: boolean, settings: Setting, database: DatabaseWith, activeMember: MemberWithUser ): ColumnDef[] { const isBackupOnly = backupOnly.some((type) => database.dbms === type) return [ { id: "availability", cell: ({row}) => { const statusColors: Record = { waiting: "bg-gray-400 border-gray-600", ongoing: "bg-orange-400 border-orange-600", success: "bg-green-400 border-green-600", }; const colorStatus = row.original.deletedAt != null ? "bg-red-400 border-red-600" : statusColors[row.original.status] ?? "bg-gray-400 border-gray-600"; return (
{row.original.deletedAt != null && (

{formatLocalizedDate(row.original.deletedAt)}

)} ) }, }, { accessorKey: "id", header: "Reference", cell: ({row}) => { const reference = row.original.id const isImported = row.original.imported return (
{reference} {isImported && ( Imported )}
) }, }, { accessorKey: "fileSize", header: "Size", cell: ({row}) => { return formatBytes(row.getValue("fileSize")) }, }, { accessorKey: "createdAt", header: "Created At", cell: ({row}) => { return formatLocalizedDate(row.getValue("createdAt")) }, }, { accessorKey: "status", header: "Status", cell: ({row}) => { return ; }, }, { id: "actions", cell: ({row}) => , }, ]; }