import { gql, request } from "graphql-request";
import { Config } from "../../../config/types";
import { Logger } from "../../../logger/types";
import { ToolItemServerResponse } from "../types";
export class TradersLoader {
constructor(
private config: Config,
private logger: Logger,
) {}
async load() {
const query = gql`
{
traders(lang: ${this.config.lang}) {
id
name
description
normalizedName
resetTime
currency {
id
name
normalizedName
}
levels {
id
level
requiredPlayerLevel
requiredReputation
requiredCommerce
payRate
insuranceRate
repairCostMultiplier
}
}
}
`;
const response = await request<ToolItemServerResponse>(
this.config.apiEndpoint,
query,
);
return response;
}
}