import { pool } from '../pool.js'; const DEFAULTS = { card_order: [], hidden: [], sizes: {}, geom: {}, extras: [] }; export async function get() { const { rows } = await pool.query( `SELECT card_order, hidden, sizes, geom, extras FROM dashboard_layout WHERE owner_key = 'owner'` ); return rows[0] || { ...DEFAULTS }; } export async function put({ card_order = [], hidden = [], sizes = {}, geom = {}, extras = [] }) { await pool.query( `INSERT INTO dashboard_layout (owner_key, card_order, hidden, sizes, geom, extras, updated_at) VALUES ('owner', $1::jsonb, $2::jsonb, $3::jsonb, $4::jsonb, $5::jsonb, now()) ON CONFLICT (owner_key) DO UPDATE SET card_order = EXCLUDED.card_order, hidden = EXCLUDED.hidden, sizes = EXCLUDED.sizes, geom = EXCLUDED.geom, extras = EXCLUDED.extras, updated_at = now()`, [JSON.stringify(card_order), JSON.stringify(hidden), JSON.stringify(sizes), JSON.stringify(geom), JSON.stringify(extras)] ); return get(); }