178 lines
5.5 KiB
TypeScript
178 lines
5.5 KiB
TypeScript
|
|
import { request } from '@umijs/max';
|
||
|
|
|
||
|
|
// ==================== Auth ====================
|
||
|
|
|
||
|
|
export async function login(data: { username: string; password: string }) {
|
||
|
|
return request('/api/v1/auth/login', { method: 'POST', data });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function logout() {
|
||
|
|
return request('/api/v1/auth/logout', { method: 'POST' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function getUserInfo() {
|
||
|
|
return request('/api/v1/auth/info', { method: 'GET' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function changePassword(data: { oldPassword: string; newPassword: string }) {
|
||
|
|
return request('/api/v1/auth/password', { method: 'PUT', data });
|
||
|
|
}
|
||
|
|
|
||
|
|
// ==================== Users ====================
|
||
|
|
|
||
|
|
export async function listUsers(params: any) {
|
||
|
|
return request('/api/v1/system/users', { method: 'GET', params });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function getUser(id: string) {
|
||
|
|
return request(`/api/v1/system/users/${id}`, { method: 'GET' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function createUser(data: any) {
|
||
|
|
return request('/api/v1/system/users', { method: 'POST', data });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function updateUser(id: string, data: any) {
|
||
|
|
return request(`/api/v1/system/users/${id}`, { method: 'PUT', data });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function deleteUser(id: string) {
|
||
|
|
return request(`/api/v1/system/users/${id}`, { method: 'DELETE' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function updateUserStatus(id: string, status: number) {
|
||
|
|
return request(`/api/v1/system/users/${id}/status`, { method: 'PUT', data: { status } });
|
||
|
|
}
|
||
|
|
|
||
|
|
// ==================== Roles ====================
|
||
|
|
|
||
|
|
export async function listRoles(params?: any) {
|
||
|
|
return request('/api/v1/system/roles', { method: 'GET', params });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function createRole(data: any) {
|
||
|
|
return request('/api/v1/system/roles', { method: 'POST', data });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function updateRole(id: string, data: any) {
|
||
|
|
return request(`/api/v1/system/roles/${id}`, { method: 'PUT', data });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function deleteRole(id: string) {
|
||
|
|
return request(`/api/v1/system/roles/${id}`, { method: 'DELETE' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function setRolePermissions(id: string, menuIds: string[]) {
|
||
|
|
return request(`/api/v1/system/roles/${id}/permissions`, { method: 'PUT', data: { menuIds } });
|
||
|
|
}
|
||
|
|
|
||
|
|
// ==================== Menus ====================
|
||
|
|
|
||
|
|
export async function listMenus() {
|
||
|
|
return request('/api/v1/system/menus', { method: 'GET' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function createMenu(data: any) {
|
||
|
|
return request('/api/v1/system/menus', { method: 'POST', data });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function updateMenu(id: string, data: any) {
|
||
|
|
return request(`/api/v1/system/menus/${id}`, { method: 'PUT', data });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function deleteMenu(id: string) {
|
||
|
|
return request(`/api/v1/system/menus/${id}`, { method: 'DELETE' });
|
||
|
|
}
|
||
|
|
|
||
|
|
// ==================== Logs ====================
|
||
|
|
|
||
|
|
export async function listLogs(params: any) {
|
||
|
|
return request('/api/v1/system/logs', { method: 'GET', params });
|
||
|
|
}
|
||
|
|
|
||
|
|
// ==================== Configs ====================
|
||
|
|
|
||
|
|
export async function listConfigs() {
|
||
|
|
return request('/api/v1/system/configs', { method: 'GET' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function updateConfig(key: string, value: string) {
|
||
|
|
return request(`/api/v1/system/configs/${key}`, { method: 'PUT', data: { configValue: value } });
|
||
|
|
}
|
||
|
|
|
||
|
|
// ==================== Products ====================
|
||
|
|
|
||
|
|
export async function listProducts(params: any) {
|
||
|
|
return request('/api/v1/inventory/products', { method: 'GET', params });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function getProduct(id: string) {
|
||
|
|
return request(`/api/v1/inventory/products/${id}`, { method: 'GET' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function createProduct(data: any) {
|
||
|
|
return request('/api/v1/inventory/products', { method: 'POST', data });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function updateProduct(id: string, data: any) {
|
||
|
|
return request(`/api/v1/inventory/products/${id}`, { method: 'PUT', data });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function deleteProduct(id: string) {
|
||
|
|
return request(`/api/v1/inventory/products/${id}`, { method: 'DELETE' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function exportProducts() {
|
||
|
|
return request('/api/v1/inventory/products/export', { method: 'GET', responseType: 'blob' });
|
||
|
|
}
|
||
|
|
|
||
|
|
// ==================== Stocks ====================
|
||
|
|
|
||
|
|
export async function getStockSummary() {
|
||
|
|
return request('/api/v1/inventory/stocks/summary', { method: 'GET' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function getStockByColor() {
|
||
|
|
return request('/api/v1/inventory/stocks/by-color', { method: 'GET' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function getStockByLocation() {
|
||
|
|
return request('/api/v1/inventory/stocks/by-location', { method: 'GET' });
|
||
|
|
}
|
||
|
|
|
||
|
|
// ==================== Stock Checks ====================
|
||
|
|
|
||
|
|
export async function listStockChecks(params: any) {
|
||
|
|
return request('/api/v1/inventory/checks', { method: 'GET', params });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function getStockCheck(id: string) {
|
||
|
|
return request(`/api/v1/inventory/checks/${id}`, { method: 'GET' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function createStockCheck(data: any) {
|
||
|
|
return request('/api/v1/inventory/checks', { method: 'POST', data });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function confirmStockCheck(id: string) {
|
||
|
|
return request(`/api/v1/inventory/checks/${id}/confirm`, { method: 'POST' });
|
||
|
|
}
|
||
|
|
|
||
|
|
// ==================== Stock Adjusts ====================
|
||
|
|
|
||
|
|
export async function listStockAdjusts(params: any) {
|
||
|
|
return request('/api/v1/inventory/adjusts', { method: 'GET', params });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function getStockAdjust(id: string) {
|
||
|
|
return request(`/api/v1/inventory/adjusts/${id}`, { method: 'GET' });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function createStockAdjust(data: any) {
|
||
|
|
return request('/api/v1/inventory/adjusts', { method: 'POST', data });
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function approveStockAdjust(id: string, action: number) {
|
||
|
|
return request(`/api/v1/inventory/adjusts/${id}/approve`, { method: 'POST', data: { action } });
|
||
|
|
}
|