diff options
Diffstat (limited to '')
-rw-r--r-- | nodejs/database/agents.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/nodejs/database/agents.ts b/nodejs/database/agents.ts new file mode 100644 index 0000000..41b956a --- /dev/null +++ b/nodejs/database/agents.ts @@ -0,0 +1,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)); +} |