server/qa/ui/src/lib/todo.js

62 lines
1.5 KiB
JavaScript
Raw Normal View History

2022-11-07 00:00:04 +00:00
import { QAQuery } from './qa';
export class QATodo {
constructor(res) {
if (res) {
this.update(res);
}
}
update({ id, id_team, id_exercice }) {
this.id = id;
this.id_team = id_team;
this.id_exercice = id_exercice;
}
}
export async function getQATodo() {
const res = await fetch(`api/qa_work.json`, {headers: {'Accept': 'application/json'}})
if (res.status == 200) {
return (await res.json()).map((t) => new QATodo(t));
} else {
throw new Error((await res.json()).errmsg);
}
}
export async function getQAWork() {
const res = await fetch(`api/qa_mywork.json`, {headers: {'Accept': 'application/json'}})
if (res.status == 200) {
const data = await res.json()
if (data) {
return data.map((t) => new QAQuery(t));
} else {
return [];
}
} else {
throw new Error((await res.json()).errmsg);
}
}
export async function getQAView() {
const res = await fetch(`api/qa_myexercices.json`, {headers: {'Accept': 'application/json'}})
if (res.status == 200) {
const data = await res.json()
if (data) {
return data.map((t) => new QATodo(t));
} else {
return [];
}
} else {
throw new Error((await res.json()).errmsg);
}
}
export async function getExerciceTested() {
const res = await fetch(`api/qa_exercices.json`, {headers: {'Accept': 'application/json'}})
if (res.status == 200) {
return await res.json();
} else {
throw new Error((await res.json()).errmsg);
}
}