import {makeAutoObservable} from "mobx"; import {http} from "../utils/http"; export class Category { page = 0; pageSize = 10 data = []; total_data = 0; filterCategory = null; visibleModalCategory = 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() { const response = await http.get(`/product/categories?page=${this.page}&pageSize=${this.pageSize}`); console.log(response) this.data = response.body.data ?? [] this.total_data = response.body.total_data ?? 0 } async getDataSubCategories() { const response = await http.get(`/product/sub-categories?page=${this.pageSubCategories}&pageSize=${this.pageSizeSubCategories}`); this.dataSubCategories = response.body.data ?? [] this.total_dataSubCategories = response.body.count ?? 0 } async getDataCategories() { const response = await http.get(`/product/categories?page=${this.pageCategories}&pageSize=${this.pageSizeCategories}`); this.dataCategories = response.body.data ?? [] this.total_dataCategories = response.body.total_data ?? 0 if (this.dataCategories.length > 0) { this.filterCategory = this.dataCategories[0].id } } async create(data) { const response = await http.post('/product/categories').send(data); await this.getData(); return response; } async update(id, data) { const response = await http.put(`/product/categories/${id}`).send(data); await this.getData(); return response; } async delete(id) { const response = await http.del(`/product/${id}`); await this.getData(); return response; } }