fix: register user model to current_user in backward invoke. (#20374)

Signed-off-by: -LAN- <laipz8200@outlook.com>
This commit is contained in:
-LAN- 2025-05-28 19:56:33 +08:00 committed by GitHub
parent f59fb94dae
commit c3c67d9608
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2,12 +2,14 @@ from collections.abc import Callable
from functools import wraps from functools import wraps
from typing import Optional from typing import Optional
from flask import request from flask import current_app, request
from flask_login import user_logged_in
from flask_restful import reqparse from flask_restful import reqparse
from pydantic import BaseModel from pydantic import BaseModel
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from extensions.ext_database import db from extensions.ext_database import db
from libs.login import _get_user
from models.account import Account, Tenant from models.account import Account, Tenant
from models.model import EndUser from models.model import EndUser
from services.account_service import AccountService from services.account_service import AccountService
@ -80,7 +82,12 @@ def get_user_tenant(view: Optional[Callable] = None):
raise ValueError("tenant not found") raise ValueError("tenant not found")
kwargs["tenant_model"] = tenant_model kwargs["tenant_model"] = tenant_model
kwargs["user_model"] = get_user(tenant_id, user_id)
user = get_user(tenant_id, user_id)
kwargs["user_model"] = user
current_app.login_manager._update_request_context_with_user(user) # type: ignore
user_logged_in.send(current_app._get_current_object(), user=_get_user()) # type: ignore
return view_func(*args, **kwargs) return view_func(*args, **kwargs)