Generateurv2/frontend/requests/requests.exos.js

134 lines
2.6 KiB
JavaScript
Raw Normal View History

2022-05-18 10:15:54 +02:00
import { exoInstance } from "../apis/exoInstance.instance.js";
import { csvExtParse } from "../utils/utils.js";
export const getExos = async (code='all') => {
return await exoInstance.request({
method: "GET",
url: "exercices/",
params: { code: code},
}).then(res=>res.data.data)
};
export const createExo = async (data) => {
return await exoInstance.request({
url: `exercices/`,
data: data,
method: "POST",
})
.then((res) => {
return res.data
})
.catch((err) => {
throw err
});
//return response.data.data;
};
export const delExo = async (id_code) => {
return await exoInstance.request({
url: `exercices/`,
data: { 'id_code': id_code},
method: "DELETE",
})
.then((res) => res.data)
.catch((err) => {throw err});
}
export const editExo = async (data) => {
return await exoInstance.request({
url: `exercices/`,
data: data,
method: "PUT",
})
.then((res) => res.data)
.catch((err) => {
throw err
});
}
export const getTags = async () => {
const response = await exoInstance.request({
method: "GET",
url: "/tags/",
});
return await exoInstance.request({
method: "GET",
url: "/tags/",
}).then(res=>res.data.data);
}
export const setTags = async (data) => {
return await exoInstance.request({
method: 'POST',
url: '/tags/',
data: {...data}
})
}
export const delTag = async (data) => {
return await exoInstance.request({
method: 'DELETE',
url: '/tags/',
data: {...data}
}).then(res=>res.data.data)
}
export const editorOut = async (data) => {
return await exoInstance
.request({
method: "post",
url: "editor/",
data: { code: data },
})
.then((res) => res.data);
};
export const csvGen = async (code, name) => {
return await exoInstance
.request({
method: "get",
url: `csv/${code}`,
})
.then((res) => {
let blob = new Blob([res.data], {
type: "text/csv",
});
const downloadUrl = window.URL.createObjectURL(blob);
const link = document.createElement("a");
link.href = downloadUrl;
link.setAttribute("download", csvExtParse(name));
document.body.appendChild(link);
link.click();
link.remove();
});
};
export const pdfGen = async (data) => {
return await exoInstance
.request({
method: "post",
url: `pdf/`,
data: {...data}
})
}
export const getModelFile = async (code) => {
return await exoInstance
.request({
method: "get",
url: `model/`,
params:{code: code}
})
}