33 lines
933 B
TypeScript
33 lines
933 B
TypeScript
import {marketApi} from '@/mammon';
|
|
import {getMarketTypes} from '../type';
|
|
|
|
export type AppraisalItemValue = {
|
|
typeID: number;
|
|
name: string;
|
|
quantity: number;
|
|
buy: number;
|
|
sell: number;
|
|
buyUnit: number;
|
|
sellUnit: number;
|
|
};
|
|
|
|
export const appraise = async (raw?: string, locationId?: number): Promise<AppraisalItemValue[]> => {
|
|
if (!raw?.trim()) {
|
|
return [];
|
|
}
|
|
|
|
const results = await marketApi.pastePrices(raw, locationId).then(r => r.data);
|
|
const names = await getMarketTypes(results.map(r => r.marketTypeId))
|
|
.then(types => new Map(types.map(t => [t.id, t.name])));
|
|
|
|
return results.map(r => ({
|
|
typeID: r.marketTypeId,
|
|
name: names.get(r.marketTypeId) ?? '',
|
|
quantity: r.quantity,
|
|
buy: r.buy,
|
|
sell: r.sell,
|
|
buyUnit: r.quantity ? r.buy / r.quantity : 0,
|
|
sellUnit: r.quantity ? r.sell / r.quantity : 0,
|
|
}));
|
|
};
|