summaryrefslogtreecommitdiff
path: root/nodejs/database/agents.ts
blob: 5221dc77cdca61a436695ef6ed6315975a67d559 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import { Agent } from '../lib/types.ts';
import { DbData, db } from './db.ts';

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): void {
	addAgentStatement.run(JSON.stringify(agent));
}

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

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