import { db } from "$lib/server/db"; import { SyncSessionTable } from "$lib/server/db/schema"; import { command, query } from "$app/server"; import sb1 from "$lib/server/sb1"; import actual from "$lib/server/actual"; import { ImportForm } from "$lib/shared"; const init_auth_session = command(async () => { return await sb1.auth.init_auth_session() }) const clear_auth_session = query(async () => { await db.delete(SyncSessionTable) }) const do_import = command(ImportForm, async (form) => { for (const mapping of form.mappings) { const transactions = await sb1.data.get_transactions(mapping.sb1Id) if (!transactions?.length) continue console.log(await actual.budget.import_transactions(mapping.actualId, transactions, form.dryRun)) } }) const init_sb1 = command(async () => { return await sb1.init() }) const init_actual = command(async () => { return await actual.init() }) export { init_auth_session, do_import, init_actual, init_sb1, clear_auth_session }