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' }) } })