actual/packages/loot-core/src/server/accounts/payees.js
2022-04-28 22:44:38 -04:00

36 lines
868 B
JavaScript

import * as db from '../db';
export async function createPayee(description) {
// Check to make sure no payee already exists with exactly the same
// name
let row = await db.first(
`SELECT id FROM payees WHERE LOWER(name) = ? AND tombstone = 0`,
[description.toLowerCase()]
);
if (row) {
return row.id;
} else {
return db.insertPayee({ name: description });
}
}
export async function getStartingBalancePayee() {
let category = await db.first(`
SELECT * FROM categories
WHERE is_income = 1 AND
LOWER(name) = 'starting balances' AND
tombstone = 0
`);
if (category === null) {
category = await db.first(
'SELECT * FROM categories WHERE is_income = 1 AND tombstone = 0'
);
}
let id = await createPayee('Starting Balance');
return {
id,
category: category ? category.id : null
};
}