frontPanel/src/api/statistic.ts

32 lines
887 B
TypeScript
Raw Normal View History

2024-03-20 14:44:51 +00:00
import { makeRequest } from "@frontend/kitui";
import type { LoginRequest, LoginResponse } from "@frontend/kitui";
import { parseAxiosError } from "../utils/parse-error";
const apiUrl = process.env.REACT_APP_DOMAIN + "/statistic";
export type DevicesResponse = {
device: Record<string, number>;
os: Record<string, number>;
browser: Record<string, number>;
};
export const getDevicesList = async (
quizId: string,
): Promise<[any | null, string?]> => {
try {
const devicesResponse = await makeRequest<unknown, DevicesResponse>({
method: "POST",
url: `${apiUrl}/devices?quizID=${quizId}`,
useToken: false,
withCredentials: true,
});
return [devicesResponse];
} catch (nativeError) {
const [error] = parseAxiosError(nativeError);
return [null, `Не получить статистику о девайсах. ${error}`];
}
};