import { getStore } from './store.js'; /** * Appends a new entry to the append-only ledger table. * * @param {number} googleAuthId - The id of the Google auth user. * @param {object} input - Ledger payload. * @param {number} input.manifestarticle_id - ID of the referenced manifest article. * @param {string} input.transaction_type - Transaction type. * @param {number} input.amount - Movement amount. * @param {string} input.transaction_text - Transaction text / memo. * @returns {Promise} The inserted ledger row. */ export async function add(googleAuthId, input) { const store = await getStore(); return store.ledger.add(googleAuthId, input); } /** * Lists ledger entries for a specific manifest article line, optionally filtered by transaction type. * * @param {number} googleAuthId - The id of the Google auth user. * @param {number} manifestarticleId - Manifest line ID. * @param {string} [transactionType] - Optional transaction type filter. * @returns {Promise>} List of ledger entries. */ export async function listByManifestarticleId(googleAuthId, manifestarticleId, transactionType) { const store = await getStore(); return store.ledger.listByManifestarticleId(googleAuthId, manifestarticleId, transactionType); } /** * Lists ledger entries for a specific article SKU, optionally filtered by transaction type. * * @param {number} googleAuthId - The id of the Google auth user. * @param {string} sku - Article SKU. * @param {string} [transactionType] - Optional transaction type filter. * @returns {Promise>} List of ledger entries. */ export async function listBySku(googleAuthId, sku, transactionType) { const store = await getStore(); return store.ledger.listBySku(googleAuthId, sku, transactionType); }