actual-scripts/lib/actual.js

34 lines
925 B
JavaScript

import chalk from 'chalk';
import api from '@actual-app/api';
import { checkEnv } from './env.js';
import pckg from '../package.json' with { type: 'json' };
checkEnv([
'ACTUAL_URL',
'ACTUAL_PASSWORD',
'ACTUAL_ENCRYPTION',
'ACTUAL_ID'
]);
console.log(chalk.grey(`Connecting to Actual ${chalk.underline(process.env.ACTUAL_URL)}@${pckg.dependencies['@actual-app/api']}...`));
await api.init({
dataDir: './data',
serverURL: process.env.ACTUAL_URL,
password: process.env.ACTUAL_PASSWORD,
});
// console.log(chalk.grey(`Syncing files...`));
// await api.sync();
console.log(chalk.grey(`Downloading budget ${chalk.underline(process.env.ACTUAL_ID)}...`));
await api.downloadBudget(process.env.ACTUAL_ID, {
password: process.env.ACTUAL_ENCRYPTION,
});
export async function getSchedulesSQL(select = '*') {
return (await api.runQuery(api.q('schedules').select(select))).data;
}
export * from '@actual-app/api';