1
0
Fork 0

[node] fixed contracting and implemented renegotiation

This commit is contained in:
Julien Dessaux 2024-03-30 14:22:59 +01:00
parent 719a9c1a77
commit 8819cf9c67
Signed by: adyxax
GPG key ID: F92E51B86E07177E
8 changed files with 103 additions and 71 deletions

View file

@ -18,12 +18,9 @@ export function getContracts(): Array<Contract> {
}
export function setContract(data: Contract): void {
if (getContract(data.id) === null) {
addContractStatement.run(JSON.stringify(data));
} else {
updateContractStatement.run({
data: JSON.stringify(data),
id: data.id,
});
}
const changes = updateContractStatement.run({
data: JSON.stringify(data),
id: data.id,
}).changes;
if (changes === 0) addContractStatement.run(JSON.stringify(data));
}

View file

@ -8,7 +8,7 @@ const getMarketAtWaypointStatement = db.prepare(`SELECT data FROM markets WHERE
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;
const data = getMarketAtWaypointStatement.get(symbol) as DbData|undefined;
if (!data) return null;
return JSON.parse(data.data);
}

View file

@ -23,14 +23,11 @@ export function getShipsAt(symbol: string): Array<Ship> {
export function setShip(data: Ship): void {
if (getShip(data.symbol) === null) {
addShipStatement.run(JSON.stringify(data));
} else {
updateShipStatement.run({
data: JSON.stringify(data),
symbol: data.symbol,
});
}
const changes = updateShipStatement.run({
data: JSON.stringify(data),
symbol: data.symbol,
}).changes;
if (changes === 0) addShipStatement.run(JSON.stringify(data));
}
export function setShipCargo(symbol: string, cargo: Cargo): void {