bukopin-redemption-client-r.../src/common/stores/currency.js
Rifqy Zacky Ariadhy 1a000700e6 Initial commit
2019-01-02 18:39:53 +07:00

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;
})
}
}