feat: cleanly add user preferences api and rollback wrong auth routes
This commit is contained in:
35
inventory-backend/app/api/v1/user.py
Normal file
35
inventory-backend/app/api/v1/user.py
Normal file
@ -0,0 +1,35 @@
|
||||
from flask import Blueprint, jsonify, request, current_app
|
||||
from flask_jwt_extended import jwt_required, get_jwt_identity
|
||||
from app.models.system import SysUser
|
||||
from app.extensions import db
|
||||
|
||||
user_prefs_bp = Blueprint('user_preferences', __name__)
|
||||
|
||||
|
||||
@user_prefs_bp.route('/preferences', methods=['GET'])
|
||||
@jwt_required()
|
||||
def get_prefs():
|
||||
identity = get_jwt_identity()
|
||||
user_id = identity.get('id') if isinstance(identity, dict) else identity
|
||||
if not user_id:
|
||||
return jsonify({'code': 401, 'msg': '无效身份'}), 401
|
||||
user = SysUser.query.get(user_id)
|
||||
if not user:
|
||||
return jsonify({'code': 404, 'msg': '用户不存在'}), 404
|
||||
return jsonify({'code': 200, 'msg': 'success', 'data': user.preferences or {}})
|
||||
|
||||
|
||||
@user_prefs_bp.route('/preferences', methods=['PUT'])
|
||||
@jwt_required()
|
||||
def update_prefs():
|
||||
identity = get_jwt_identity()
|
||||
user_id = identity.get('id') if isinstance(identity, dict) else identity
|
||||
if not user_id:
|
||||
return jsonify({'code': 401, 'msg': '无效身份'}), 401
|
||||
user = SysUser.query.get(user_id)
|
||||
if not user:
|
||||
return jsonify({'code': 404, 'msg': '用户不存在'}), 404
|
||||
data = request.get_json() or {}
|
||||
user.preferences = data
|
||||
db.session.commit()
|
||||
return jsonify({'code': 200, 'msg': 'success', 'data': user.preferences})
|
||||
Reference in New Issue
Block a user