summaryrefslogtreecommitdiff
path: root/app/routes/api.scrape-status.ts
diff options
context:
space:
mode:
Diffstat (limited to 'app/routes/api.scrape-status.ts')
-rw-r--r--app/routes/api.scrape-status.ts16
1 files changed, 16 insertions, 0 deletions
diff --git a/app/routes/api.scrape-status.ts b/app/routes/api.scrape-status.ts
new file mode 100644
index 0000000..28d08d4
--- /dev/null
+++ b/app/routes/api.scrape-status.ts
@@ -0,0 +1,16 @@
+/**
+ * GET /api/scrape-status?run_id=xxx — 指定 run_id の結果を返す
+ * GET /api/scrape-status — 最新 run の結果を返す
+ */
+import type { Route } from "./+types/api.scrape-status";
+import { getScrapeRunById, getLatestScrapeRun } from "~/lib/db.server";
+
+export async function loader({ request }: Route.LoaderArgs) {
+ const url = new URL(request.url);
+ const run_id = url.searchParams.get("run_id");
+
+ const logs = run_id ? getScrapeRunById(run_id) : getLatestScrapeRun();
+ const running = logs.some((l) => l.status === "running");
+
+ return Response.json({ running, results: logs });
+}