96 lines
2.3 KiB
TypeScript
96 lines
2.3 KiB
TypeScript
import { makeRequest } from "@frontend/kitui";
|
|
import { RawResult } from "@model/result/result";
|
|
|
|
interface IResultListBody {
|
|
to: number;
|
|
from: string;
|
|
new: boolean;
|
|
page: number;
|
|
limit: number;
|
|
}
|
|
|
|
export interface IAnswerResult {
|
|
Browser: string;
|
|
CreatedAt: string;
|
|
Deleted: boolean;
|
|
Device: string;
|
|
DeviceType: string;
|
|
Email: string;
|
|
Fingerprint: string;
|
|
IP: string;
|
|
Id: number;
|
|
OS: string;
|
|
QuizId: number;
|
|
Result: boolean;
|
|
Session: string;
|
|
Start: boolean;
|
|
content: string;
|
|
new: boolean;
|
|
question_id: number;
|
|
}
|
|
|
|
async function getResultList(quizId: number, page: number, body: any) {
|
|
return makeRequest<IResultListBody, RawResult>({
|
|
url: process.env.REACT_APP_DOMAIN + `/squiz/results/getResults/${quizId}`,
|
|
method: "POST",
|
|
body: { page: page, limit: 10, ...body },
|
|
});
|
|
}
|
|
|
|
function deleteResult(resultId: number) {
|
|
return makeRequest<unknown, unknown>({
|
|
url: process.env.REACT_APP_DOMAIN + `/squiz/results/delete/${resultId}`,
|
|
body: {},
|
|
method: "DELETE",
|
|
});
|
|
}
|
|
|
|
// export const obsolescenceResult = async (idResultArray: string[]) => {
|
|
// try {
|
|
// const response = await makeRequest<unknown, unknown>({
|
|
// url: process.env.REACT_APP_DOMAIN + `/squiz/result/seen`,
|
|
// body: {
|
|
// answers: idResultArray,
|
|
// },
|
|
// method: "PATCH",
|
|
// });
|
|
// return response;
|
|
// } catch (e) {
|
|
// console.log("ошибка", e);
|
|
// }
|
|
// };
|
|
|
|
function obsolescenceResult(idResultArray: number[]) {
|
|
return makeRequest<unknown, unknown>({
|
|
url: process.env.REACT_APP_DOMAIN + `/squiz/result/seen`,
|
|
body: {
|
|
answers: idResultArray,
|
|
},
|
|
method: "PATCH",
|
|
});
|
|
}
|
|
|
|
function getAnswerResultList(resultId: number) {
|
|
return makeRequest<unknown, IAnswerResult[]>({
|
|
url: process.env.REACT_APP_DOMAIN + `/squiz/result/${resultId}`,
|
|
method: "GET",
|
|
});
|
|
}
|
|
|
|
function AnswerResultListEx(quizId: number, body: any) {
|
|
return makeRequest<unknown, unknown>({
|
|
responseType: "blob",
|
|
url: process.env.REACT_APP_DOMAIN + `/squiz/results/${quizId}/export`,
|
|
method: "POST",
|
|
body: body,
|
|
});
|
|
}
|
|
|
|
export const resultApi = {
|
|
getList: getResultList,
|
|
delete: deleteResult,
|
|
getAnswerList: getAnswerResultList,
|
|
export: AnswerResultListEx,
|
|
obsolescence: obsolescenceResult,
|
|
};
|