hydra/src/main/services/steam.ts
2024-10-05 02:21:41 +01:00

35 lines
764 B
TypeScript

import axios from "axios";
import type { SteamAppDetails } from "@types";
import { logger } from "./logger";
export interface SteamAppDetailsResponse {
[key: string]: {
success: boolean;
data: SteamAppDetails;
};
}
export const getSteamAppDetails = async (
objectId: string,
language: string
) => {
const searchParams = new URLSearchParams({
appids: objectId,
l: language,
});
return axios
.get(
`http://store.steampowered.com/api/appdetails?${searchParams.toString()}`
)
.then((response) => {
if (response.data[objectId].success) return response.data[objectId].data;
return null;
})
.catch((err) => {
logger.error(err, { method: "getSteamAppDetails" });
return null;
});
};