"""用户 API Key 管理相关路由""" from flask import Blueprint, request, jsonify from flask_jwt_extended import jwt_required, get_jwt_identity from services.apikey_service import APIKeyService apikey_bp = Blueprint('apikey', __name__) @apikey_bp.route('/keys', methods=['GET']) @jwt_required() def list_api_keys(): """获取用户的所有 API Key""" user_id = get_jwt_identity() result, status_code = APIKeyService.list_api_keys(user_id) return jsonify(result), status_code @apikey_bp.route('/keys', methods=['POST']) @jwt_required() def create_api_key(): """创建新的 API Key""" user_id = get_jwt_identity() data = request.get_json() result, status_code = APIKeyService.create_api_key(user_id, data) return jsonify(result), status_code @apikey_bp.route('/keys/', methods=['GET']) @jwt_required() def get_api_key(key_id): """获取单个 API Key 详情""" user_id = get_jwt_identity() result, status_code = APIKeyService.get_api_key(user_id, key_id) return jsonify(result), status_code @apikey_bp.route('/keys/', methods=['PUT']) @jwt_required() def update_api_key(key_id): """更新 API Key 名称或状态""" user_id = get_jwt_identity() data = request.get_json() result, status_code = APIKeyService.update_api_key(user_id, key_id, data) return jsonify(result), status_code @apikey_bp.route('/keys/', methods=['DELETE']) @jwt_required() def delete_api_key(key_id): """删除 API Key""" user_id = get_jwt_identity() result, status_code = APIKeyService.delete_api_key(user_id, key_id) return jsonify(result), status_code @apikey_bp.route('/keys//regenerate', methods=['POST']) @jwt_required() def regenerate_api_key(key_id): """重置/轮换 API Key""" user_id = get_jwt_identity() result, status_code = APIKeyService.regenerate_api_key(user_id, key_id) return jsonify(result), status_code