79 lines
2.1 KiB
JavaScript
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);
|
|
}
|
|
}
|