import { setResponseStatus } from "h3"
import { queueScrapeSource } from "~/server/utils/scrape-jobs"
import { loadStoredPreview } from "~/server/utils/scrape-storage"
import type { ScrapePreviewResponse } from "~/types/scrape-preview"

export default defineEventHandler(async (event): Promise<ScrapePreviewResponse | ReturnType<typeof queueScrapeSource> | { error: true; message: string }> => {
  if (event.method === "GET") {
    return loadStoredPreview("sergio-escobar")
  }

  if (event.method === "POST") {
    const result = queueScrapeSource("sergio-escobar")
    setResponseStatus(event, result.alreadyRunning ? 200 : 202)
    return result
  }

  setResponseStatus(event, 405)
  return {
    error: true,
    message: "Metodo no permitido"
  }
})
