import { api } from '$lib/api';
import { hasStoredAdminSession, hasStoredClientSession } from '$lib/session';

function emptyPayload() {
  return {
    clients: [],
    exportPreview: {
      generated_at: '',
      client_rows: [],
      user_rows: [],
      feature_rows: [],
      permission_rows: [],
      audit_rows: [],
      clients: []
    }
  };
}

export async function load({ fetch }) {
  if (!hasStoredAdminSession() && !hasStoredClientSession()) {
    return emptyPayload();
  }

  try {
    const [clients, exportPreview] = await Promise.all([api.clientAccess(fetch), api.clientAccessExport(fetch)]);
    return { clients, exportPreview };
  } catch {
    return emptyPayload();
  }
}
