/**
 * 用户列表查询API
 * 作者: 阿瑞
 * 功能: 查询系统用户列表数据
 * 版本: 1.0
 */

import { NextRequest, NextResponse } from 'next/server';
import { connectSystemDB, RequestWithDB } from '@/lib/db';

/**
 * 查询用户列表处理器
 */
async function handler(req: RequestWithDB) {
  try {
    // 查询用户列表，排除密码和邀请令牌等敏感字段
    const [rows] = await req.db.query(`
      SELECT 
        id, 
        username, 
        email, 
        phone, 
        role_name,
        role_type,
        workspace_id,
        status,
        last_login_at,
        created_at,
        updated_at
      FROM 
        system_users 
      WHERE 
        status = 1
      ORDER BY 
        id DESC
      LIMIT 20
    `);
    
    return NextResponse.json({
      success: true,
      users: rows
    });
  } catch (error) {
    console.error('查询用户列表失败:', error);
    
    return NextResponse.json({
      success: false,
      error: error instanceof Error ? error.message : '未知错误'
    }, { status: 500 });
  }
}

// 使用数据库连接中间件包装处理器
/**
 * 处理GET请求
 * 符合Next.js 15.3+的路由处理器签名
 */
export async function GET(request: NextRequest) {
  const wrappedHandler = connectSystemDB(handler);
  return wrappedHandler(request);
} 