40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import {$axios} from "~/utils/api";
|
|
import {RestResponse} from "~/repositories/models/rest-response.model";
|
|
import {Quiz, Response, ResponseWithQuestion, Score} from "~/repositories/models/quiz.model";
|
|
|
|
export default {
|
|
|
|
findMine() {
|
|
return $axios.get<RestResponse<Quiz>>("/quizzes/search/me", {
|
|
params: {
|
|
sort: "createdDate,desc"
|
|
}
|
|
})
|
|
.then((response) => {
|
|
response.data._embedded.quizzes.map(quiz => {
|
|
quiz.id = Number(quiz._links.self.href.split("").reverse()[0]);
|
|
return quiz;
|
|
});
|
|
return response;
|
|
});
|
|
},
|
|
|
|
findScores(quizId: number) {
|
|
return $axios.get<RestResponse<Score[]>>("/quizzes/" + quizId + "/scores", {});
|
|
},
|
|
|
|
findById(quizId: number) {
|
|
return $axios.get<RestResponse<Quiz>>("/quizzes/" + quizId, {});
|
|
},
|
|
|
|
findResponses(quizId: number) {
|
|
return $axios.get<RestResponse<ResponseWithQuestion>>("/quizzes/" + quizId + "/responses", {});
|
|
},
|
|
|
|
save(responses: Response[]) {
|
|
return $axios.post<RestResponse<Quiz>>("/quizzes/batch/", {
|
|
responses
|
|
}, {});
|
|
}
|
|
}
|