import axios from 'axios'; import { type IExamAttempt } from '@/shared/model/exam-attempt.model'; import buildPaginationQueryOpts from '@/shared/sort/sorts'; const baseApiUrl = 'api/exam-attempts'; export default class ExamAttemptService { find(id: number): Promise { return new Promise((resolve, reject) => { axios .get(`${baseApiUrl}/${id}`) .then(res => { resolve(res.data); }) .catch(err => { reject(err); }); }); } retrieve(paginationQuery?: any): Promise { return new Promise((resolve, reject) => { axios .get(`${baseApiUrl}?${buildPaginationQueryOpts(paginationQuery)}`) .then(res => { resolve(res); }) .catch(err => { reject(err); }); }); } delete(id: number): Promise { return new Promise((resolve, reject) => { axios .delete(`${baseApiUrl}/${id}`) .then(res => { resolve(res); }) .catch(err => { reject(err); }); }); } create(entity: IExamAttempt): Promise { return new Promise((resolve, reject) => { axios .post(baseApiUrl, entity) .then(res => { resolve(res.data); }) .catch(err => { reject(err); }); }); } update(entity: IExamAttempt): Promise { return new Promise((resolve, reject) => { axios .put(`${baseApiUrl}/${entity.id}`, entity) .then(res => { resolve(res.data); }) .catch(err => { reject(err); }); }); } partialUpdate(entity: IExamAttempt): Promise { return new Promise((resolve, reject) => { axios .patch(`${baseApiUrl}/${entity.id}`, entity) .then(res => { resolve(res.data); }) .catch(err => { reject(err); }); }); } }