u
This commit is contained in:
43
src/db/ledger.js
Normal file
43
src/db/ledger.js
Normal file
@@ -0,0 +1,43 @@
|
||||
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<object>} 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<Array<object>>} 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<Array<object>>} List of ledger entries.
|
||||
*/
|
||||
export async function listBySku(googleAuthId, sku, transactionType) {
|
||||
const store = await getStore();
|
||||
return store.ledger.listBySku(googleAuthId, sku, transactionType);
|
||||
}
|
||||
@@ -32,6 +32,7 @@ const STORE_NAMESPACES = [
|
||||
'companysetting',
|
||||
'articlesupplier',
|
||||
'manifestattachment',
|
||||
'ledger',
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user