Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
153 changes: 100 additions & 53 deletions client/src/api.js
Original file line number Diff line number Diff line change
@@ -1,106 +1,153 @@
import axios from 'axios'
import axios from "axios";

const API_BASE_URL = 'http://localhost:8001/api'
const API_BASE_URL = "http://localhost:8001/api";

export const api = {
async getInventory(filters = {}) {
const params = new URLSearchParams()
if (filters.warehouse && filters.warehouse !== 'all') params.append('warehouse', filters.warehouse)
if (filters.category && filters.category !== 'all') params.append('category', filters.category)
const params = new URLSearchParams();
if (filters.warehouse && filters.warehouse !== "all")
params.append("warehouse", filters.warehouse);
if (filters.category && filters.category !== "all")
params.append("category", filters.category);

const response = await axios.get(`${API_BASE_URL}/inventory?${params.toString()}`)
return response.data
const response = await axios.get(
`${API_BASE_URL}/inventory?${params.toString()}`,
);
return response.data;
},

async getInventoryItem(id) {
const response = await axios.get(`${API_BASE_URL}/inventory/${id}`)
return response.data
const response = await axios.get(`${API_BASE_URL}/inventory/${id}`);
return response.data;
},

async getOrders(filters = {}) {
const params = new URLSearchParams()
if (filters.warehouse && filters.warehouse !== 'all') params.append('warehouse', filters.warehouse)
if (filters.category && filters.category !== 'all') params.append('category', filters.category)
if (filters.status && filters.status !== 'all') params.append('status', filters.status)
if (filters.month && filters.month !== 'all') params.append('month', filters.month)

const response = await axios.get(`${API_BASE_URL}/orders?${params.toString()}`)
return response.data
const params = new URLSearchParams();
if (filters.warehouse && filters.warehouse !== "all")
params.append("warehouse", filters.warehouse);
if (filters.category && filters.category !== "all")
params.append("category", filters.category);
if (filters.status && filters.status !== "all")
params.append("status", filters.status);
if (filters.month && filters.month !== "all")
params.append("month", filters.month);

const response = await axios.get(
`${API_BASE_URL}/orders?${params.toString()}`,
);
return response.data;
},

async getOrder(id) {
const response = await axios.get(`${API_BASE_URL}/orders/${id}`)
return response.data
const response = await axios.get(`${API_BASE_URL}/orders/${id}`);
return response.data;
},

async getDemandForecasts() {
const response = await axios.get(`${API_BASE_URL}/demand`)
return response.data
const response = await axios.get(`${API_BASE_URL}/demand`);
return response.data;
},

async getBacklog() {
const response = await axios.get(`${API_BASE_URL}/backlog`)
return response.data
const response = await axios.get(`${API_BASE_URL}/backlog`);
return response.data;
},

async getDashboardSummary(filters = {}) {
const params = new URLSearchParams()
if (filters.warehouse && filters.warehouse !== 'all') params.append('warehouse', filters.warehouse)
if (filters.category && filters.category !== 'all') params.append('category', filters.category)
if (filters.status && filters.status !== 'all') params.append('status', filters.status)
if (filters.month && filters.month !== 'all') params.append('month', filters.month)

const response = await axios.get(`${API_BASE_URL}/dashboard/summary?${params.toString()}`)
return response.data
const params = new URLSearchParams();
if (filters.warehouse && filters.warehouse !== "all")
params.append("warehouse", filters.warehouse);
if (filters.category && filters.category !== "all")
params.append("category", filters.category);
if (filters.status && filters.status !== "all")
params.append("status", filters.status);
if (filters.month && filters.month !== "all")
params.append("month", filters.month);

const response = await axios.get(
`${API_BASE_URL}/dashboard/summary?${params.toString()}`,
);
return response.data;
},

async getSpendingSummary() {
const response = await axios.get(`${API_BASE_URL}/spending/summary`)
return response.data
const response = await axios.get(`${API_BASE_URL}/spending/summary`);
return response.data;
},

async getMonthlySpending() {
const response = await axios.get(`${API_BASE_URL}/spending/monthly`)
return response.data
const response = await axios.get(`${API_BASE_URL}/spending/monthly`);
return response.data;
},

async getCategorySpending() {
const response = await axios.get(`${API_BASE_URL}/spending/categories`)
return response.data
const response = await axios.get(`${API_BASE_URL}/spending/categories`);
return response.data;
},

async getTransactions() {
const response = await axios.get(`${API_BASE_URL}/spending/transactions`)
return response.data
const response = await axios.get(`${API_BASE_URL}/spending/transactions`);
return response.data;
},

async getTasks() {
const response = await axios.get(`${API_BASE_URL}/tasks`)
return response.data
const response = await axios.get(`${API_BASE_URL}/tasks`);
return response.data;
},

async createTask(taskData) {
const response = await axios.post(`${API_BASE_URL}/tasks`, taskData)
return response.data
const response = await axios.post(`${API_BASE_URL}/tasks`, taskData);
return response.data;
},

async deleteTask(taskId) {
const response = await axios.delete(`${API_BASE_URL}/tasks/${taskId}`)
return response.data
const response = await axios.delete(`${API_BASE_URL}/tasks/${taskId}`);
return response.data;
},

async toggleTask(taskId) {
const response = await axios.patch(`${API_BASE_URL}/tasks/${taskId}`)
return response.data
const response = await axios.patch(`${API_BASE_URL}/tasks/${taskId}`);
return response.data;
},

async createPurchaseOrder(purchaseOrderData) {
const response = await axios.post(`${API_BASE_URL}/purchase-orders`, purchaseOrderData)
return response.data
const response = await axios.post(
`${API_BASE_URL}/purchase-orders`,
purchaseOrderData,
);
return response.data;
},

async getPurchaseOrderByBacklogItem(backlogItemId) {
const response = await axios.get(`${API_BASE_URL}/purchase-orders/${backlogItemId}`)
return response.data
}
}
const response = await axios.get(
`${API_BASE_URL}/purchase-orders/${backlogItemId}`,
);
return response.data;
},

async getReportsQuarterly(filters = {}) {
const params = new URLSearchParams();
if (filters.warehouse && filters.warehouse !== "all")
params.append("warehouse", filters.warehouse);
if (filters.category && filters.category !== "all")
params.append("category", filters.category);

const response = await axios.get(
`${API_BASE_URL}/reports/quarterly?${params.toString()}`,
);
return response.data;
},

async getReportsMonthlyTrends(filters = {}) {
const params = new URLSearchParams();
if (filters.warehouse && filters.warehouse !== "all")
params.append("warehouse", filters.warehouse);
if (filters.category && filters.category !== "all")
params.append("category", filters.category);

const response = await axios.get(
`${API_BASE_URL}/reports/monthly-trends?${params.toString()}`,
);
return response.data;
},
};
Loading
Loading