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

79 lines
2.1 KiB
JavaScript

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;
}
async delete(team) {
const res = await fetch(team?`api/teams/${team.id}/todo/${this.id}`:`api/teams/${this.id_team}/todo/${this.id}`, {
method: 'DELETE',
headers: {'Accept': 'application/json'}
});
if (res.status < 300) {
return true;
} else {
throw new Error((await res.json()).errmsg);
}
}
}
export async function getQATodo(team) {
const res = await fetch(team?`api/teams/${team.id}/qa_work.json`:`api/qa_work.json`, {headers: {'Accept': 'application/json'}})
if (res.status == 200) {
const data = await res.json();
if (data === null) {
return []
} else {
return data.map((t) => new QATodo(t));
}
} else {
throw new Error((await res.json()).errmsg);
}
}
export async function getQAWork(team) {
const res = await fetch(team?`api/teams/${team.id}/qa_mywork.json`:`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(team) {
const res = await fetch(team?`api/teams/${team.id}/qa_myexercices.json`:`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(team) {
const res = await fetch(team?`api/teams/${team.id}/qa_exercices.json`:`api/qa_exercices.json`, {headers: {'Accept': 'application/json'}})
if (res.status == 200) {
return await res.json();
} else {
throw new Error((await res.json()).errmsg);
}
}