ppob-frontend/src/store/membership.js

66 lines
1.7 KiB
JavaScript

import {action, makeAutoObservable} from "mobx";
import {http} from "../utils/http";
export class Membership {
page = 0;
pageSize = 10
data = [];
total_data = 0
constructor(ctx) {
this.ctx = ctx;
makeAutoObservable(this);
}
async getData() {
const response = await http.get(`/users?page=${this.page}&pageSize=${this.pageSize}`);
this.data = response.body.data.map((item, idx) => {
item.key = idx;
item.roleName = item.roles.name;
return item
}) ?? []
this.total_data = response.body.total_data ?? 0
}
async getDataBySuperior() {
const response = await http.get(`/users/find-by-supperior?page=${this.page}&pageSize=${this.pageSize}`);
this.data = response.body.data.map((item, idx) => {
item.key = idx;
item.roleName = item.roles.name;
return item
}) ?? []
this.total_data = response.body.total_data ?? 0
}
async create(data) {
return await http.post('/users').send(data)
}
async update(id, data) {
// console.log(data)
// console.log(id)
const response = await http.put('/users/' + id).send(data);
console.log(response, 'Data user')
console.log(JSON.stringify(response.body.data), 'Data')
}
async delete(id) {
console.log(id)
return await http.del('/users/' + id);
}
async changeStatus(id, status) {
console.log(`/users/${id}/${status}`);
const response = await http.get(`/users/${id}/${status}`);
await this.getData();
return response;
}
}