31 lines
917 B
TypeScript
31 lines
917 B
TypeScript
import { esiAxiosInstance } from "@/service";
|
|
import { RegionalMarketCache } from '../RegionalMarketCache';
|
|
import { jitaId } from "../market";
|
|
|
|
|
|
export type EsiMarketOrderHistory = {
|
|
average: number;
|
|
date: string;
|
|
highest: number;
|
|
lowest: number;
|
|
order_count: number;
|
|
volume: number;
|
|
}
|
|
|
|
// TODO use pinia store
|
|
const historyCache: RegionalMarketCache<EsiMarketOrderHistory[]> = new RegionalMarketCache(() => {
|
|
const date = new Date();
|
|
|
|
if (date.getUTCHours() >= 11) {
|
|
date.setUTCDate(date.getUTCDate() + 1);
|
|
}
|
|
date.setUTCHours(11, 0, 0, 0);
|
|
return date;
|
|
});
|
|
|
|
export const getHistory = async (tyeId: number, regionId?: number): Promise<EsiMarketOrderHistory[]> => {
|
|
const rId = regionId ?? jitaId;
|
|
|
|
return historyCache.computeIfAbsent(rId, tyeId, async () => (await esiAxiosInstance.get(`/markets/${rId}/history/`, { params: { type_id: tyeId } })).data);
|
|
}
|