aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/routes/methods.remote.ts
blob: 3fca7158c446bf028aa66cbab1a4edbeccc04172 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import { db } from "$lib/server/db";
import { syncSession } from "$lib/server/db/schema";
import { command, query } from "$app/server";
import sb1 from "$lib/server/sb1";
import { import_transactions } 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(syncSession)
})

const do_import = command(ImportForm, async (form) => {
    let x
    for (const mapping of form.mappings) {
        const transactions = await sb1.data.get_transactions(mapping.sb1Id)
        if (!transactions?.length || x) continue
        x = true
        console.log(await import_transactions(mapping.actualId, transactions, form.dryRun))
    }
})

export {
    init_auth_session,
    do_import,
    clear_auth_session
}