sunrise-cms/helpers/functions.lots.js

32 lines
1.1 KiB
JavaScript

import NodeCache from 'node-cache';
import getPreviousLotIdFromDatabase from './lotOccupancyDB/getPreviousLotId.js';
import getNextLotIdFromDatabase from './lotOccupancyDB/getNextLotId.js';
const previousLotIdCache = new NodeCache({
stdTTL: 2 * 60
});
const nextLotIdCache = new NodeCache({
stdTTL: 2 * 60
});
export async function getNextLotId(lotId) {
let nextLotId = nextLotIdCache.get(lotId);
if (nextLotId === undefined) {
nextLotId = await getNextLotIdFromDatabase(lotId);
if (nextLotId !== undefined) {
previousLotIdCache.set(nextLotId, lotId);
nextLotIdCache.set(lotId, nextLotId);
}
}
return nextLotId;
}
export async function getPreviousLotId(lotId) {
let previousLotId = previousLotIdCache.get(lotId);
if (previousLotId === undefined) {
previousLotId = await getPreviousLotIdFromDatabase(lotId);
if (previousLotId !== undefined) {
previousLotIdCache.set(lotId, previousLotId);
nextLotIdCache.set(previousLotId, lotId);
}
}
return previousLotId;
}