初始化提交
This commit is contained in:
56
NBATransfer-backend/routes/apikey.py
Normal file
56
NBATransfer-backend/routes/apikey.py
Normal file
@@ -0,0 +1,56 @@
|
||||
"""用户 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/<int:key_id>', 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/<int:key_id>', 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/<int:key_id>', 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/<int:key_id>/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
|
||||
Reference in New Issue
Block a user