import { Html } from "@elysiajs/html"; import { JWTPayloadSpec } from "@elysiajs/jwt"; import { Elysia } from "elysia"; import { BaseHtml } from "../components/base"; import { Header } from "../components/header"; import db from "../db/db"; import { Filename, Jobs } from "../db/types"; import { ALLOW_UNAUTHENTICATED, WEBROOT } from "../helpers/env"; import { userService } from "./user"; function ResultsArticle({ user, job, files, outputPath, }: { user: { id: string; } & JWTPayloadSpec; job: Jobs; files: Filename[]; outputPath: string; }) { return (

Results

{files.map((file) => ( ))}
Converted File Name Status View Download
{file.output_file_name} {file.status} View Download
); } export const results = new Elysia() .use(userService) .get( "/results/:jobId", async ({ params, set, cookie: { job_id }, user }) => { if (job_id?.value) { // Clear the job_id cookie since we are viewing the results job_id.remove(); } const job = db .query("SELECT * FROM jobs WHERE user_id = ? AND id = ?") .as(Jobs) .get(user.id, params.jobId); if (!job) { set.status = 404; return { message: "Job not found.", }; } const outputPath = `${user.id}/${params.jobId}/`; const files = db .query("SELECT * FROM file_names WHERE job_id = ?") .as(Filename) .all(params.jobId); return ( <>