cangku/frontend/src/api/admin.js

297 lines
7.6 KiB
JavaScript

import request from './request';
// =====================
// 用户管理
// =====================
export const getUsers = (params) => {
return request.get('/api/admin/users', { params });
};
export const createUser = (data) => {
return request.post('/api/admin/users', data);
};
export const updateUser = (id, data) => {
return request.put(`/api/admin/users/${id}`, data);
};
export const updateUserAdminRole = (id, data) => {
return request.patch(`/api/admin/users/${id}/admin-role`, data);
};
export const deleteUser = (id) => {
return request.delete(`/api/admin/users/${id}`);
};
export const resetPassword = (id, data) => {
return request.post(`/api/admin/users/${id}/reset-password`, data);
};
export const getUserPagePermissions = (id) => {
return request.get(`/api/admin/users/${id}/page-permissions`);
};
export const updateUserPagePermissions = (id, data) => {
return request.put(`/api/admin/users/${id}/page-permissions`, data);
};
// =====================
// 部门管理
// =====================
export const getDepartments = () => {
return request.get('/api/admin/departments');
};
export const createDepartment = (data) => {
return request.post('/api/admin/departments', data);
};
export const updateDepartment = (id, data) => {
return request.put(`/api/admin/departments/${id}`, data);
};
export const deleteDepartment = (id) => {
return request.delete(`/api/admin/departments/${id}`);
};
export const getDepartmentPagePermissions = (id) => {
return request.get(`/api/admin/departments/${id}/page-permissions`);
};
export const updateDepartmentPagePermissions = (id, data) => {
return request.put(`/api/admin/departments/${id}/page-permissions`, data);
};
// =====================
// 权限管理
// =====================
export const getPermissions = () => {
return request.get('/api/admin/permissions');
};
export const updatePermission = (pageKey, role, data) => {
return request.put(`/api/admin/permissions/${pageKey}/${role}`, data);
};
export const getSidebarPages = () => {
return request.get('/api/admin/sidebar-pages');
};
// =====================
// 系统配置
// =====================
export const getSystemConfig = () => {
return request.get('/api/admin/system-config');
};
export const updateSystemConfig = (data) => {
return request.put('/api/admin/system-config', data);
};
export const getApiKeys = () => {
return request.get('/api/admin/api-keys');
};
export const createApiKey = (data) => {
return request.post('/api/admin/api-keys', data);
};
export const updateApiKey = (id, data) => {
return request.put(`/api/admin/api-keys/${id}`, data);
};
export const deleteApiKey = (id) => {
return request.delete(`/api/admin/api-keys/${id}`);
};
export const getExternalAutomationApps = () => {
return request.get('/api/admin/external-automation-apps');
};
export const createExternalAutomationApp = (data) => {
return request.post('/api/admin/external-automation-apps', data);
};
export const updateExternalAutomationApp = (id, data) => {
return request.put(`/api/admin/external-automation-apps/${id}`, data);
};
export const deleteExternalAutomationApp = (id) => {
return request.delete(`/api/admin/external-automation-apps/${id}`);
};
export const getSelectionFissionAiSettings = () => {
return request.get('/api/admin/selection-fission-ai-settings');
};
export const updateSelectionFissionAiSettings = (data) => {
return request.put('/api/admin/selection-fission-ai-settings', data);
};
export const testSelectionFissionAiSettings = () => {
return request.post('/api/admin/selection-fission-ai-settings/test', null, { timeout: 150000 });
};
export const testSelectionImageGenerationSettings = () => {
return request.post('/api/admin/selection-fission-ai-settings/image-generation/test', null, { timeout: 960000 });
};
export const getAuthConfig = () => {
return request.get('/api/admin/auth-config');
};
export const updateAuthConfig = (data) => {
return request.put('/api/admin/auth-config', data);
};
export const syncDingTalkUsers = () => {
return request.post('/api/admin/auth-config/sync-dingtalk');
};
export const getDatabaseConfig = (name) => {
return request.get('/api/admin/database', {
params: name ? { name } : undefined,
});
};
export const getDatabaseConfigs = () => {
return request.get('/api/admin/databases');
};
export const deleteDatabaseConfig = (id) => {
return request.delete(`/api/admin/databases/${id}`);
};
export const getSystemDatabaseConfig = () => {
return request.get('/api/admin/system-database');
};
export const updateSystemDatabaseConfig = (data) => {
return request.put('/api/admin/system-database', data);
};
export const testSystemDatabaseConfig = (data) => {
return request.post('/api/admin/system-database/test', data);
};
export const getRedisConfig = () => {
return request.get('/api/admin/redis');
};
export const updateRedisConfig = (data) => {
return request.put('/api/admin/redis', data);
};
export const switchRedisRuntimeProfile = (data) => {
return request.post('/api/admin/redis/runtime-profile', data);
};
export const testRedisConfig = (data) => {
return request.post('/api/admin/redis/test', data);
};
export const getWorkOrderConfig = () => {
return request.get('/api/admin/work-order-config');
};
export const updateWorkOrderConfig = (data) => {
return request.put('/api/admin/work-order-config', data);
};
export const testWorkOrderConfig = (data) => {
return request.post('/api/admin/work-order-config/test', data);
};
export const updateDatabaseConfig = (data, name) => {
return request.put('/api/admin/database', name ? { ...data, name } : data);
};
export const testDatabaseConfig = (data) => {
return request.post('/api/admin/database/test', data);
};
export const getS3Config = () => {
return request.get('/api/admin/s3');
};
export const updateS3Config = (data) => {
return request.put('/api/admin/s3', data);
};
export const testS3Config = (data) => {
return request.post('/api/admin/s3/test', data);
};
export const getSetupStatus = () => {
return request.get('/api/admin/setup/status');
};
export const updateSetupPassword = (data) => {
return request.post('/api/admin/setup/password', data);
};
export const completeSetupWizard = () => {
return request.post('/api/admin/setup/complete');
};
export const downloadProductCodeImportTemplate = () => {
return request.get('/api/admin/product-code-board/import-template', {
responseType: 'blob',
});
};
export const downloadProductCodeBatchImportTemplate = () => {
return request.get('/api/admin/product-code-board/batch-template', {
responseType: 'blob',
});
};
export const importProductCodeWorkbook = (file) => {
const formData = new FormData();
formData.append('file', file);
return request.post('/api/admin/product-code-board/import', formData, {
headers: {
'Content-Type': 'multipart/form-data',
},
timeout: 10 * 60 * 1000,
maxBodyLength: Infinity,
maxContentLength: Infinity,
});
};
export const deleteProductCodeItems = () => {
return request.post('/api/admin/product-code-board/items/delete-all');
};
export const deleteSelectedProductCodeItems = (productCodes) => {
return request.post('/api/admin/product-code-board/items/delete-selected', {
productCodes,
});
};
// =====================
// 网站设置
// =====================
export const uploadLogo = (logo) => {
return request.post('/api/admin/system-config/logo', { logo });
};
// =====================
// 回溯任务
// =====================
export const startBackfill = (data) => {
return request.post('/api/admin/backfill/start', data);
};
export const getBackfillStatus = (params) => {
return request.get('/api/admin/backfill/status', { params });
};