import { NextRequest, NextResponse } from 'next/server' import { UserService } from '@/lib/services/database-service' const userService = new UserService() export async function PUT( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { try { const { id: userId } = await params const body = await request.json() const { name, department, role, status } = body if (!userId) { return NextResponse.json( { success: false, error: '用戶 ID 是必需的' }, { status: 400 } ) } if (!name || !department || !role || !status) { return NextResponse.json( { success: false, error: '請填寫所有必填欄位' }, { status: 400 } ) } // 驗證狀態值 const validStatuses = ['active', 'inactive', 'invited'] if (!validStatuses.includes(status)) { return NextResponse.json( { success: false, error: '無效的狀態值' }, { status: 400 } ) } // 驗證角色值 const validRoles = ['user', 'developer', 'admin'] if (!validRoles.includes(role)) { return NextResponse.json( { success: false, error: '無效的角色值' }, { status: 400 } ) } const result = await userService.updateUser(userId, { name, department, role, status }) if (result.success) { return NextResponse.json({ success: true, message: '用戶資料更新成功', data: result.user }) } else { return NextResponse.json( { success: false, error: result.error }, { status: 400 } ) } } catch (error) { console.error('更新用戶錯誤:', error) return NextResponse.json( { success: false, error: '更新用戶時發生錯誤' }, { status: 500 } ) } } export async function DELETE( request: NextRequest, { params }: { params: Promise<{ id: string }> } ) { try { const { id: userId } = await params if (!userId) { return NextResponse.json( { success: false, error: '用戶 ID 是必需的' }, { status: 400 } ) } const result = await userService.deleteUser(userId) if (result.success) { return NextResponse.json({ success: true, message: '用戶刪除成功' }) } else { return NextResponse.json( { success: false, error: result.error }, { status: 400 } ) } } catch (error) { console.error('刪除用戶錯誤:', error) return NextResponse.json( { success: false, error: '刪除用戶時發生錯誤' }, { status: 500 } ) } }