+page.server.js 1.17 KB
import { supabase } from '$lib/supabase';
import { error } from '@sveltejs/kit';

export async function load({ params }) {
  console.time('[SERVER] Total load organismo');
  const { codigo } = params;

  console.time('[SERVER] Query clas_organismos');
  const { data, error: dbError } = await supabase
    .schema('ppto')
    .from('clas_organismos')
    .select('*')
    .eq('organismo', codigo);
  console.timeEnd('[SERVER] Query clas_organismos');

  if (dbError || !data || data.length === 0) {
    throw error(404, 'Organismo no encontrado');
  }

  const organismo = data[0];

  // Obtener hermanos (otros organismos del mismo subgrupo)
  let hermanos = [];

  console.time('[SERVER] Query hermanos');
  const { data: hermanosData } = await supabase
    .schema('ppto')
    .from('clas_organismos')
    .select('*')
    .eq('organismo_grupo', organismo.organismo_grupo)
    .eq('organismo_sub_grupo', organismo.organismo_sub_grupo)
    .neq('organismo', codigo)
    .order('organismo');

  if (hermanosData) {
    hermanos = hermanosData;
  }
  console.timeEnd('[SERVER] Query hermanos');

  console.timeEnd('[SERVER] Total load organismo');
  return {
    organismo,
    hermanos
  };
}