import { gql, request } from "graphql-request";
import { Config } from "../../../config/types";
import { Logger } from "../../../logger/types";
import { ToolItemServerResponse } from "../types";
export class BossesLoader {
constructor(
private config: Config,
private logger: Logger,
) {}
async load() {
const query = gql`
{
bosses(lang: ${this.config.lang}) {
name
normalizedName
imagePortraitLink
imagePosterLink
health {
id
max
}
equipment {
item {
id
name
shortName
}
attributes {
name
value
}
}
}
}
`;
const response = await request<ToolItemServerResponse>(
this.config.apiEndpoint,
query,
);
return response;
}
}