ppob-frontend/src/store/membership.js
2022-01-06 12:30:35 +07:00

135 lines
3.6 KiB
JavaScript

import {makeAutoObservable} from "mobx";
import {http} from "../utils/http";
export class Membership {
page = 0;
pageSize = 10
data = [];
total_data = 0;
dataTotal=0;
dataDetail = {};
dataMember=[];
//filter
visibleModalFilterMembership = false;
filterMembership = null;
filterPartner = null;
constructor(ctx) {
this.ctx = ctx;
makeAutoObservable(this);
}
async getData() {
try {
const response = await http.get(`/users?page=${this.page}&pageSize=${this.pageSize}&superior=${this.filterMembership}&type=${this.filterPartner}`);
console.log(this.filterMembership)
// console.log(this.filterPartner)
console.log(response)
this.dataMember = response.body.data ?? []
// this.dataMember = response.body.data.map((item, idx) => {
// item.key = idx;
// item.name = item?.user_detail?.name;
// item.phone_number = item?.user_detail?.phone_number;
// item.roleId = item?.roles.id;
// item.roleName = item?.roles.name;
// return item
// }) ?? []
this.dataTotal = response?.body?.count ?? 0
console.log(this.dataTotal)
} catch (e) {
console.error(e);
}
}
async getDetail(id) {
try {
const response = await http.get(`/users/`+id);
//console.log(response,'Data Detail')
this.dataDetail = response.body.data
} catch (e) {
console.error(e);
}
}
async getDataBySuperior() {
try {
const response = await http.get(`/users/find-by-supperior?page=${this.page}&pageSize=${this.pageSize}`);
console.log(response)
this.data = response.body.data.map((item, idx) => {
item.key = idx;
item.name = item?.user_detail?.name;
item.phone_number = item?.user_detail?.phone_number;
item.roleId = item?.roles.id;
item.roleName = item?.roles?.name;
return item
}) ?? []
this.total_data = response?.body?.count ?? 0
console.log(this.total_data)
} catch (e) {
console.error(e);
}
}
async create(data) {
try {
const response = await http.post('/users').send(data);
return response;
} catch (e) {
console.error(e);
}
}
async update(id, data) {
try {
const response = await http.put('/users/' + id).send(data);
return response;
} catch (e) {
console.error(e);
}
}
async changePassword(id, data) {
try {
const response = await http.put('/users/change-password/' + id).send(data);
return response;
} catch (e) {
console.error(e);
}
}
async delete(id) {
try {
const response = await http.del('/users/' + id);
return response;
} catch (e) {
console.error(e);
}
}
async changeStatus(id, status) {
try {
const response = await http.get(`/users/${id}/${status}`);
await this.getData();
return response;
} catch (e) {
console.error(e);
}
}
async withdrawProfit(id) {
try {
const response = await http.put(`/transaction/withdraw/${id}`);
await this.getData();
return response;
} catch (e) {
console.error(e);
}
}
}