Browse Source

fix: 修复 Admin MCP 工具 API 路径和添加 System Config 路由

- Role 工具路径修复: /api/roles -> /api/v1/roles (GET/PUT/DELETE)
- System Config 工具路径修复: /api/system-configs -> /api/v1/system-configs (GET/PUT/DELETE)
- 添加 System Config 路由到 server/index.ts

修复了以下 404 错误:
- PUT /api/roles/{id} -> 404
- DELETE /api/roles/{id} -> 404
- POST /api/v1/system-configs -> 404

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
yourname 3 tuần trước cách đây
mục cha
commit
046030c2d0

+ 1 - 1
mini/package.json

@@ -1,6 +1,6 @@
 {
   "name": "mini",
-  "version": "0.0.40",
+  "version": "0.0.42",
   "private": true,
   "description": "",
   "templateInfo": {

+ 3 - 3
packages/admin-mcp-server/src/tools/role-tools.ts

@@ -124,7 +124,7 @@ export const roleGetTool = async (args: RoleGetInput) => {
 
   try {
     const { id } = args;
-    const response = await apiClient.get<Role>(`/api/roles/${id}`);
+    const response = await apiClient.get<Role>(`/api/v1/roles/${id}`);
 
     const role = response;
 
@@ -198,7 +198,7 @@ export const roleUpdateTool = async (args: RoleUpdateInput) => {
 
   try {
     const { id, ...updateData } = args;
-    const response = await apiClient.put<Role>(`/api/roles/${id}`, updateData);
+    const response = await apiClient.put<Role>(`/api/v1/roles/${id}`, updateData);
 
     const role = response;
 
@@ -235,7 +235,7 @@ export const roleDeleteTool = async (args: RoleDeleteInput) => {
 
   try {
     const { id } = args;
-    await apiClient.delete<{ success: boolean }>(`/api/roles/${id}`);
+    await apiClient.delete<{ success: boolean }>(`/api/v1/roles/${id}`);
 
     const markdown = `✅ **Role Deleted Successfully**\n\nRole ID ${id} has been deleted.`;
 

+ 3 - 3
packages/admin-mcp-server/src/tools/system-config-tools.ts

@@ -125,7 +125,7 @@ export const systemConfigGetTool = async (args: SystemConfigGetInput) => {
 
   try {
     const { id } = args;
-    const response = await apiClient.get<SystemConfig>(`/api/system-configs/${id}`);
+    const response = await apiClient.get<SystemConfig>(`/api/v1/system-configs/${id}`);
 
     const config = response;
 
@@ -199,7 +199,7 @@ export const systemConfigUpdateTool = async (args: SystemConfigUpdateInput) => {
 
   try {
     const { id, ...updateData } = args;
-    const response = await apiClient.put<SystemConfig>(`/api/system-configs/${id}`, updateData);
+    const response = await apiClient.put<SystemConfig>(`/api/v1/system-configs/${id}`, updateData);
 
     const config = response;
 
@@ -236,7 +236,7 @@ export const systemConfigDeleteTool = async (args: SystemConfigDeleteInput) => {
 
   try {
     const { id } = args;
-    await apiClient.delete<{ success: boolean }>(`/api/system-configs/${id}`);
+    await apiClient.delete<{ success: boolean }>(`/api/v1/system-configs/${id}`);
 
     const markdown = `✅ **System Config Deleted Successfully**\n\nConfig ID ${id} has been deleted.`;
 

+ 3 - 0
packages/server/src/index.ts

@@ -4,6 +4,7 @@ import { errorHandler } from '@d8d/shared-utils'
 import { userRoutes as userModuleRoutes, roleRoutes as roleModuleRoutes } from '@d8d/core-module/user-module'
 import { authRoutes as authModuleRoutes, enterpriseAuthRoutes as enterpriseAuthModuleRoutes, talentAuthRoutes as talentAuthModuleRoutes } from '@d8d/core-module/auth-module'
 import { fileRoutes as fileModuleRoutes } from '@d8d/core-module/file-module'
+import { systemConfigRoutes as systemConfigModuleRoutes } from '@d8d/core-module/system-config-module'
 import { AuthContext } from '@d8d/shared-types'
 import { AppDataSource } from './data-source'
 import { Hono } from 'hono'
@@ -131,6 +132,7 @@ export const userRoutes = api.route('/api/v1/users', userModuleRoutes)
 export const authRoutes = api.route('/api/v1/auth', authModuleRoutes)
 export const fileApiRoutes = api.route('/api/v1/files', fileModuleRoutes)
 export const roleRoutes = api.route('/api/v1/roles', roleModuleRoutes)
+export const systemConfigApiRoutes = api.route('/api/v1/system-configs', systemConfigModuleRoutes)
 export const areaApiRoutes = api.route('/api/v1/areas', areasRoutes)
 export const adminAreaApiRoutes = api.route('/api/v1/admin/areas', adminAreasRoutes)
 export const channelApiRoutes = api.route('/api/v1/channel', channelRoutes)
@@ -157,6 +159,7 @@ export type AuthRoutes = typeof authRoutes
 export type UserRoutes = typeof userRoutes
 export type FileRoutes = typeof fileApiRoutes
 export type RoleRoutes = typeof roleRoutes
+export type SystemConfigRoutes = typeof systemConfigApiRoutes
 export type AreaRoutes = typeof areaApiRoutes
 export type AdminAreaRoutes = typeof adminAreaApiRoutes
 export type ChannelRoutes = typeof channelApiRoutes