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

32 lines
907 B
TypeScript

import type { TypedResponse } from "@remix-run/server-runtime";
import { json } from "@remix-run/server-runtime";
import type { WorkerApiRunSnapshotsSinceResponseBody } 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(),
snapshotId: z.string(),
}),
},
async ({
authenticatedWorker,
params,
}): Promise<TypedResponse<WorkerApiRunSnapshotsSinceResponseBody>> => {
const { runFriendlyId, snapshotId } = params;
const snapshots = await authenticatedWorker.getSnapshotsSince({
runFriendlyId,
snapshotId,
});
if (!snapshots) {
throw new Error("Failed to retrieve snapshots since given snapshot");
}
return json({ snapshots });
}
);