20 lines
680 B
JavaScript
20 lines
680 B
JavaScript
import db from './db.js';
|
|
|
|
const deleteExpiredSurveysStatement = db.prepare(`DELETE FROM surveys WHERE data->>'expiration' < ?;`);
|
|
const getSurveysStatement = db.prepare(`SELECT data FROM surveys WHERE data->>'symbol' = ?;`);
|
|
const setSurveysStatement = db.prepare(`INSERT INTO surveys(data) VALUES (json(?));`);
|
|
|
|
export function deleteExpired() {
|
|
return deleteExpiredSurveysStatement.run(new Date().toISOString()).changes;
|
|
}
|
|
|
|
export function get(symbol) {
|
|
deleteExpired();
|
|
const data = getSurveysStatement.all(symbol);
|
|
return data.map(elt => JSON.parse(elt.data));
|
|
}
|
|
|
|
export function set(survey) {
|
|
deleteExpired();
|
|
return setSurveysStatement.run(JSON.stringify(survey));
|
|
}
|