99 lines
2.1 KiB
TypeScript
99 lines
2.1 KiB
TypeScript
import axios from 'axios';
|
|
|
|
import { type IEvent } from '@/shared/model/event.model';
|
|
|
|
const baseApiUrl = 'api/events';
|
|
|
|
export default class EventService {
|
|
public find(id: number): Promise<IEvent> {
|
|
return new Promise<IEvent>((resolve, reject) => {
|
|
axios
|
|
.get(`${baseApiUrl}/${id}`)
|
|
.then(res => {
|
|
resolve(res.data);
|
|
})
|
|
.catch(err => {
|
|
reject(err);
|
|
});
|
|
});
|
|
}
|
|
|
|
public retrieve(): Promise<any> {
|
|
return new Promise<any>((resolve, reject) => {
|
|
axios
|
|
.get(baseApiUrl)
|
|
.then(res => {
|
|
resolve(res);
|
|
})
|
|
.catch(err => {
|
|
reject(err);
|
|
});
|
|
});
|
|
}
|
|
|
|
public delete(id: number): Promise<any> {
|
|
return new Promise<any>((resolve, reject) => {
|
|
axios
|
|
.delete(`${baseApiUrl}/${id}`)
|
|
.then(res => {
|
|
resolve(res);
|
|
})
|
|
.catch(err => {
|
|
reject(err);
|
|
});
|
|
});
|
|
}
|
|
|
|
public create(entity: IEvent): Promise<IEvent> {
|
|
return new Promise<IEvent>((resolve, reject) => {
|
|
axios
|
|
.post(`${baseApiUrl}`, entity)
|
|
.then(res => {
|
|
resolve(res.data);
|
|
})
|
|
.catch(err => {
|
|
reject(err);
|
|
});
|
|
});
|
|
}
|
|
|
|
public settle(entity: IEvent): Promise<IEvent> {
|
|
return new Promise<IEvent>((resolve, reject) => {
|
|
axios
|
|
.post(`${baseApiUrl}/${entity.id}/settle`, entity)
|
|
.then(res => {
|
|
resolve(res.data);
|
|
})
|
|
.catch(err => {
|
|
reject(err);
|
|
});
|
|
});
|
|
}
|
|
|
|
public update(entity: IEvent): Promise<IEvent> {
|
|
return new Promise<IEvent>((resolve, reject) => {
|
|
axios
|
|
.put(`${baseApiUrl}/${entity.id}`, entity)
|
|
.then(res => {
|
|
resolve(res.data);
|
|
})
|
|
.catch(err => {
|
|
reject(err);
|
|
});
|
|
});
|
|
}
|
|
|
|
public partialUpdate(entity: IEvent): Promise<IEvent> {
|
|
return new Promise<IEvent>((resolve, reject) => {
|
|
axios
|
|
.patch(`${baseApiUrl}/${entity.id}`, entity)
|
|
.then(res => {
|
|
resolve(res.data);
|
|
})
|
|
.catch(err => {
|
|
reject(err);
|
|
});
|
|
});
|
|
}
|
|
}
|