import { query } from '../db/client.js' export async function listOrderItemsByOrderId(orderId) { const result = await query( ` SELECT * FROM order_items WHERE order_id = $1 ORDER BY id ASC `, [Number(orderId)], ) return result.rows } export async function replaceOrderItems(orderId, items) { await query('DELETE FROM order_items WHERE order_id = $1', [Number(orderId)]) for (const item of items) { await query( ` INSERT INTO order_items ( order_id, sku_code, sku_name, quantity, spec_json, item_snapshot_json, created_at, updated_at ) VALUES ($1, $2, $3, $4, $5::jsonb, $6::jsonb, $7, $8) `, [ Number(orderId), item.skuCode, item.skuName, item.quantity, item.specJson || '{}', item.itemSnapshotJson || item.specJson || '{}', item.createdAt, item.updatedAt, ], ) } return listOrderItemsByOrderId(orderId) } export async function getOrderItemById(orderItemId) { const result = await query('SELECT * FROM order_items WHERE id = $1 LIMIT 1', [Number(orderItemId)]) return result.rows[0] || null }