import type { PageServerLoad } from "./$types";
import { getSurrealDB, serializeData } from "$lib/server/db";
import { error } from "@sveltejs/kit";

export const load: PageServerLoad = async ({ params, locals }) => {
  if (!locals.user) {
    throw error(401, "Non autorisé");
  }

  const db = await getSurrealDB();

  // Normaliser l'ID pour éviter les doublons de préfixe "template:"
  const templateId = params.id.includes(":") ? params.id.split(":").pop() : params.id;

  // Charger le template
  const templateResult = await db.query<[any[]]>(
    `SELECT * FROM type::thing("template", $templateId)`,
    { templateId }
  );

  const template = templateResult?.[0]?.[0];

  if (!template) {
    throw error(404, "Template non trouvé");
  }

  return {
    template: serializeData(template)
  };
};
