Files
triggerdotdev--trigger.dev/apps/webapp/app/routes/engine.v1.worker-actions.runs.$runFriendlyId.snapshots.latest.ts
2026-07-13 13:32:57 +08:00

30 lines
855 B
TypeScript

import type { TypedResponse } from "@remix-run/server-runtime";
import { json } from "@remix-run/server-runtime";
import type { WorkerApiRunLatestSnapshotResponseBody } from "@trigger.dev/core/v3/workers";
import { z } from "zod";
import { createLoaderWorkerApiRoute } from "~/services/routeBuilders/apiBuilder.server";
export const loader = createLoaderWorkerApiRoute(
{
params: z.object({
runFriendlyId: z.string(),
}),
},
async ({
authenticatedWorker,
params,
}): Promise<TypedResponse<WorkerApiRunLatestSnapshotResponseBody>> => {
const { runFriendlyId } = params;
const executionData = await authenticatedWorker.getLatestSnapshot({
runFriendlyId,
});
if (!executionData) {
throw new Error("Failed to retrieve latest snapshot");
}
return json({ execution: executionData });
}
);