Init commit!

This commit is contained in:
Jennie Robinson Faber 2025-08-22 18:36:16 +01:00
commit 086d682592
34 changed files with 19249 additions and 0 deletions

View file

@ -0,0 +1,43 @@
import { getCollection } from '../../utils/db.js'
export default defineEventHandler(async (event) => {
try {
const body = await readBody(event)
const collection = await getCollection('balances')
// Get existing balance document to preserve timestamp data
const existingBalance = await collection.findOne({ type: 'current' })
const balanceData = {
type: 'current',
currentBalance: body.currentBalance,
accountBalances: {
manual: body.accountBalances?.manual || {},
wise: body.accountBalances?.wise || { jennie: [], henry: [] },
// Preserve existing timestamps if not explicitly provided
lastWiseFetch: body.accountBalances?.lastWiseFetch || existingBalance?.accountBalances?.lastWiseFetch || null,
lastManualUpdate: body.accountBalances?.lastManualUpdate || existingBalance?.accountBalances?.lastManualUpdate || null
},
updatedAt: new Date()
}
// Upsert the balance record
const result = await collection.replaceOne(
{ type: 'current' },
balanceData,
{ upsert: true }
)
return {
success: true,
modifiedCount: result.modifiedCount,
upsertedCount: result.upsertedCount
}
} catch (error) {
console.error('Error updating balances:', error)
throw createError({
statusCode: 500,
statusMessage: 'Failed to update balances'
})
}
})