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("salfa")
    }

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

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