import { DataTable } from "@/src/components/table/data-table";
import { DataTableToolbar } from "@/src/components/table/data-table-toolbar";
import { type LangfuseColumnDef } from "@/src/components/table/types";
import { api } from "@/src/utils/api";
import { type BackgroundMigration } from "@langfuse/shared";
import { RetryBackgroundMigration } from "@/src/features/background-migrations/components/retry-background-migration";
import { StatusBadge } from "@/src/components/layouts/status-badge";
import Page from "@/src/components/layouts/page";
export default function BackgroundMigrationsTable() {
const backgroundMigrations = api.backgroundMigrations.all.useQuery();
const columns = [
{
accessorKey: "name",
id: "name",
enableColumnFilter: false,
header: "Name",
},
{
accessorKey: "script",
id: "script",
enableColumnFilter: false,
header: "Script",
},
{
accessorKey: "args",
id: "args",
enableColumnFilter: false,
header: "Args",
size: 80,
cell: (row) => JSON.stringify(row.getValue()),
},
{
id: "status",
header: "Status",
size: 80,
cell: (row) => {
const failedAt = row.row.original.failedAt;
if (failedAt) {
return ;
}
const finishedAt = row.row.original.finishedAt;
if (finishedAt) {
return ;
}
const workerId = row.row.original.workerId;
if (workerId) {
return ;
}
return ;
},
},
{
accessorKey: "failedReason",
id: "failedReason",
enableColumnFilter: false,
header: "Failed Reason",
},
{
accessorKey: "state",
id: "state",
enableColumnFilter: false,
header: "State",
cell: (row) => JSON.stringify(row.getValue()),
},
{
id: "actions",
header: "Actions",
size: 65,
cell: (row) => {
const name = row.row.original.name;
const isRetryable = row.row.original.failedAt !== null;
return (
);
},
},
] as LangfuseColumnDef[];
return (
);
}