first commit
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
from flask import jsonify, request
|
||||
from flask_jwt_extended import jwt_required, get_jwt_identity
|
||||
from . import api_bp
|
||||
from ..models import User
|
||||
from ..schemas import UserSchema, UserUpdateSchema
|
||||
from ..services import UserService
|
||||
|
||||
|
||||
user_schema = UserSchema()
|
||||
user_update_schema = UserUpdateSchema()
|
||||
|
||||
|
||||
@api_bp.route("/users/me", methods=["GET"])
|
||||
@jwt_required()
|
||||
def get_current_user():
|
||||
user_id = get_jwt_identity()
|
||||
user = User.query.get(user_id)
|
||||
if not user:
|
||||
return jsonify({"error": "用户不存在"}), 404
|
||||
return jsonify(user_schema.dump(user))
|
||||
|
||||
|
||||
@api_bp.route("/users/me", methods=["PUT"])
|
||||
@jwt_required()
|
||||
def update_current_user():
|
||||
user_id = get_jwt_identity()
|
||||
user = User.query.get(user_id)
|
||||
if not user:
|
||||
return jsonify({"error": "用户不存在"}), 404
|
||||
|
||||
data = request.get_json()
|
||||
errors = user_update_schema.validate(data)
|
||||
if errors:
|
||||
return jsonify({"error": errors}), 400
|
||||
|
||||
try:
|
||||
updated_user = UserService.update_user(user, data)
|
||||
return jsonify(user_schema.dump(updated_user))
|
||||
except ValueError as e:
|
||||
return jsonify({"error": str(e)}), 400
|
||||
Reference in New Issue
Block a user