25 lines
1.0 KiB
JavaScript
25 lines
1.0 KiB
JavaScript
// Generated, do not edit. sha256:aba9f6d2144409570ffba1d05e453cb0ffd966afb4f0fa1cd5960bcb7a63805f
|
|
import * as db from '../db.js';
|
|
import { ENUMS } from '../../shared/config.js';
|
|
import { assertEnum, nowIso } from './_shared.js';
|
|
|
|
export async function createScanLog(s) {
|
|
assertEnum('status', ENUMS.SCAN_STATUS, s.status);
|
|
db.run(`INSERT INTO ScanLog (accountId, scannedAt, status, addressesFound, balanceFound, proposalsCreated, rawData)
|
|
VALUES (?,?,?,?,?,?,?)`,
|
|
[s.accountId, s.scannedAt ?? nowIso(), s.status,
|
|
s.addressesFound ?? null, s.balanceFound ?? null, s.proposalsCreated ?? null,
|
|
s.rawData != null ? JSON.stringify(s.rawData) : null]);
|
|
const id = db.lastId();
|
|
await db.persist();
|
|
return id;
|
|
}
|
|
|
|
export function latestScanLog(accountId) {
|
|
return db.one(`SELECT * FROM ScanLog WHERE accountId = ? ORDER BY scannedAt DESC, id DESC LIMIT 1`, [accountId]);
|
|
}
|
|
|
|
export function listScanLogs(accountId) {
|
|
return db.all(`SELECT * FROM ScanLog WHERE accountId = ? ORDER BY scannedAt DESC, id DESC`, [accountId]);
|
|
}
|