summaryrefslogtreecommitdiff
path: root/nodejs/database/agents.ts
blob: 41b956a9b3f53dbc207ada1963f6afee39062bb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { Agent } from '../model/agent.ts';
import db from './db.js';

const addAgentStatement = db.prepare(`INSERT INTO agents(data) VALUES (json(?));`);
const getAgentStatement = db.prepare(`SELECT data FROM agents;`);
const setAgentStatement = db.prepare(`UPDATE agents SET data = json(?);`);

export function addAgent(agent: Agent) {
	addAgentStatement.run(JSON.stringify(agent));
}

export function getAgent(): Agent|null {
	const data = getAgentStatement.get() as {data: string}|undefined;
	if (!data) return null;
	return JSON.parse(data.data);
}

export function setAgent(agent: Agent) {
	setAgentStatement.run(JSON.stringify(agent));
}