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,69 @@
import { getCollection } from '../../utils/db.js'
export default defineEventHandler(async (event) => {
try {
const data = await readBody(event)
// Migrate transactions
if (data.transactions && data.transactions.length > 0) {
const transactionsCollection = await getCollection('transactions')
// Clear existing transactions
await transactionsCollection.deleteMany({})
// Convert and insert transactions
const mongoTransactions = data.transactions.map(transaction => ({
...transaction,
_id: transaction.id,
id: undefined,
date: new Date(transaction.date),
endDate: transaction.endDate ? new Date(transaction.endDate) : null,
createdAt: new Date(),
updatedAt: new Date()
}))
await transactionsCollection.insertMany(mongoTransactions)
}
// Migrate balance
if (data.balance !== undefined) {
const balancesCollection = await getCollection('balances')
const balanceData = {
type: 'current',
currentBalance: data.balance,
accountBalances: data.accountBalances || {
manual: {
rbc_cad: 0,
td_cad: 0,
millennium_eur: 0
},
wise: {
jennie: [],
henry: []
}
},
updatedAt: new Date()
}
await balancesCollection.replaceOne(
{ type: 'current' },
balanceData,
{ upsert: true }
)
}
return {
success: true,
message: 'Data migrated successfully',
transactionsCount: data.transactions?.length || 0,
balance: data.balance || 0
}
} catch (error) {
console.error('Error migrating localStorage data:', error)
throw createError({
statusCode: 500,
statusMessage: 'Failed to migrate data'
})
}
})