93 lines
1.6 KiB
JavaScript
93 lines
1.6 KiB
JavaScript
import { observable, action, computed } from 'mobx';
|
|
|
|
export default class Currency {
|
|
@observable currencyList = [];
|
|
@observable currencyId = "";
|
|
@observable currencyData = {
|
|
id : '',
|
|
name : '',
|
|
kurs: '',
|
|
is_primary : ''
|
|
};
|
|
|
|
@observable isLoading = false;
|
|
@observable isPrimarySet = false;
|
|
constructor(context) {
|
|
this.http = context.http;
|
|
this.context = context;
|
|
}
|
|
|
|
@action
|
|
getAll(){
|
|
this.isLoading = true;
|
|
return this.http.get(`currencies`).then(res => {
|
|
this.currencyList = res;
|
|
// console.log(this.currencyList);
|
|
this.isLoading = false;
|
|
});
|
|
}
|
|
|
|
|
|
@action
|
|
getById(id){
|
|
this.currencyId = id;
|
|
this.isLoading = true;
|
|
return this.http.get(`currencies?id=${id}`).then(detail => {
|
|
this.currencyData = detail[0];
|
|
this.isLoading = false;
|
|
})
|
|
}
|
|
|
|
@action
|
|
getPrimary(){
|
|
this.http.get(`currencies?is_primary=true`).then(res => {
|
|
if(res.length == 0){
|
|
this.isPrimarySet = false;
|
|
}
|
|
else{
|
|
this.isPrimarySet = true;
|
|
}
|
|
})
|
|
}
|
|
|
|
|
|
@computed
|
|
get isEmpty(){
|
|
if(this.currencyList.length > 0){
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
@action
|
|
post(){
|
|
this.isLoading = true;
|
|
this.http.post(`currencies`, this.currencyData).then(res => {
|
|
this.isLoading = false;
|
|
this.getAll();
|
|
return res;
|
|
});
|
|
console.log(this.currencyData);
|
|
}
|
|
|
|
@action
|
|
put(id){
|
|
this.isLoading = true;
|
|
this.http.put(`currencies/${id}`, this.currencyData).then(res => {
|
|
this.isLoading = false;
|
|
this.getAll();
|
|
return res;
|
|
});
|
|
}
|
|
|
|
@action
|
|
del(id){
|
|
this.isLoading = true;
|
|
this.http.delete(`currencies/${id}`).then(res => {
|
|
this.isLoading = false;
|
|
this.getAll();
|
|
return res;
|
|
})
|
|
}
|
|
}
|