Files
KCGL/inventory-backend/app/api/v1/user.py

36 lines
1.3 KiB
Python

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})