[node] finished the great typescript rewrite
This commit is contained in:
parent
8107afbd90
commit
a1d6b03ec9
30 changed files with 1019 additions and 359 deletions
26
nodejs/database/markets.ts
Normal file
26
nodejs/database/markets.ts
Normal file
|
@ -0,0 +1,26 @@
|
|||
import { DbData, db } from './db.ts';
|
||||
import { Market } from '../model/market.ts';
|
||||
import { systemFromWaypoint } from '../lib/utils.ts';
|
||||
|
||||
const addMarketStatement = db.prepare(`INSERT INTO markets(system, data) VALUES (?, json(?));`);
|
||||
const getMarketAtWaypointStatement = db.prepare(`SELECT data FROM markets WHERE data->>'symbol' = ?;`);
|
||||
//const getMarketsInSystemStatement = db.prepare(`SELECT data FROM markets WHERE system = ?;`);
|
||||
const updateMarketStatement = db.prepare(`UPDATE markets SET data = json(:data) WHERE data->>'symbol' = :symbol;`);
|
||||
|
||||
export function getMarketAtWaypoint(symbol: string): Market|null {
|
||||
const data = getMarketAtWaypointStatement.get(symbol) as DbData;
|
||||
if (!data) return null;
|
||||
return JSON.parse(data.data);
|
||||
}
|
||||
|
||||
export function setMarket(data: Market): void {
|
||||
if (getMarketAtWaypoint(data.symbol) === null) {
|
||||
const system = systemFromWaypoint(data.symbol);
|
||||
addMarketStatement.run(system, JSON.stringify(data));
|
||||
} else {
|
||||
updateMarketStatement.run({
|
||||
data: JSON.stringify(data),
|
||||
symbol: data.symbol,
|
||||
});
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue