import { gql, request } from "graphql-request";
import { Config } from "../../../config/types";
import { Logger } from "../../../logger/types";
import { ToolItemServerResponse } from "../types";
export class MapsLoader {
constructor(
private config: Config,
private logger: Logger,
) {}
async load() {
const query = gql`
{
maps(lang: ${this.config.lang}) {
id
name
normalizedName
description
raidDuration
players
enemies
bosses {
boss {
name
normalizedName
}
spawnChance
spawnTime
spawnTimeRandom
spawnTrigger
}
}
}
`;
const response = await request<ToolItemServerResponse>(
this.config.apiEndpoint,
query,
);
return response;
}
}