Files
jhipster-question-bank/src/main/webapp/app/entities/exam-attempt/exam-attempt.service.ts
T

87 lines
2.0 KiB
TypeScript

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<IExamAttempt> {
return new Promise<IExamAttempt>((resolve, reject) => {
axios
.get(`${baseApiUrl}/${id}`)
.then(res => {
resolve(res.data);
})
.catch(err => {
reject(err);
});
});
}
retrieve(paginationQuery?: any): Promise<any> {
return new Promise<any>((resolve, reject) => {
axios
.get(`${baseApiUrl}?${buildPaginationQueryOpts(paginationQuery)}`)
.then(res => {
resolve(res);
})
.catch(err => {
reject(err);
});
});
}
delete(id: number): Promise<any> {
return new Promise<any>((resolve, reject) => {
axios
.delete(`${baseApiUrl}/${id}`)
.then(res => {
resolve(res);
})
.catch(err => {
reject(err);
});
});
}
create(entity: IExamAttempt): Promise<IExamAttempt> {
return new Promise<IExamAttempt>((resolve, reject) => {
axios
.post(baseApiUrl, entity)
.then(res => {
resolve(res.data);
})
.catch(err => {
reject(err);
});
});
}
update(entity: IExamAttempt): Promise<IExamAttempt> {
return new Promise<IExamAttempt>((resolve, reject) => {
axios
.put(`${baseApiUrl}/${entity.id}`, entity)
.then(res => {
resolve(res.data);
})
.catch(err => {
reject(err);
});
});
}
partialUpdate(entity: IExamAttempt): Promise<IExamAttempt> {
return new Promise<IExamAttempt>((resolve, reject) => {
axios
.patch(`${baseApiUrl}/${entity.id}`, entity)
.then(res => {
resolve(res.data);
})
.catch(err => {
reject(err);
});
});
}
}