ppob-frontend/src/store/partner.js

92 lines
2.2 KiB
JavaScript

import {makeAutoObservable} from "mobx";
import {http} from "../utils/http";
export class Partner {
page = 0;
pageSize = 10
data = [];
total_data = 0;
filterCategory = null;
visibleModalPartner = false;
pageCategories = 0;
pageSizeCategories = 10
dataCategories = [];
total_dataCategories = 0;
pageSubCategories = 0;
pageSizeSubCategories = 10
dataSubCategories = [];
total_dataSubCategories = 0;
constructor(ctx) {
this.ctx = ctx;
makeAutoObservable(this);
}
async getData() {
try {
const response = await http.get(`/users/partner?page=${this.page}&pageSize=${this.pageSize}`);
//console.log(response)
this.data = response.body.data.map((item, idx) => {
item.key = idx;
return item
}) ?? []
this.total_data = response.body.count ?? 0
} catch (e) {
console.error(e);
}
}
async create(data) {
try {
const response = await http.post('/users/partner').send(data);
await this.getData();
return response;
} catch (e) {
console.error(e);
}
}
async update(id, data) {
try {
const response = await http.put(`/users/partner/${id}`).send(data);
await this.getData();
return response;
} catch (e) {
console.error(e);
}
}
async updatePassword(id, data) {
const response = await http.put(`/users/change-password-partner/${id}`).send(data);
console.log(response)
await this.getData();
return response;
}
async delete(id) {
try {
const response = await http.del(`/product/${id}`);
await this.getData();
return response;
} catch (e) {
console.error(e);
}
}
async changeStatus(id, status) {
try {
const response = await http.get(`/users/partner/${id}/${status}`);
await this.getData();
return response;
} catch (e) {
console.error(e);
}
}
}