29 lines
616 B
TypeScript
29 lines
616 B
TypeScript
import * as datetime from "datetime"
|
|
import { Series } from "./storage.ts"
|
|
|
|
const UPDATE_INTERVAL_HOURS = 1;
|
|
function getAction(options: {
|
|
existingSeries: Series | null,
|
|
}) {
|
|
const { existingSeries } = options;
|
|
if (existingSeries === null) {
|
|
return "INITIAL_FETCH";
|
|
}
|
|
|
|
const timeSinceLastFetch = datetime.difference(
|
|
new Date(),
|
|
existingSeries.lastFetched,
|
|
{
|
|
units: ["hours"],
|
|
}
|
|
)
|
|
|
|
if (timeSinceLastFetch.hours &&
|
|
timeSinceLastFetch.hours > UPDATE_INTERVAL_HOURS) {
|
|
return "UPDATE";
|
|
}
|
|
|
|
return "RETURN_AS_IS";
|
|
}
|
|
|