Kaynağa Gözat

fix: EndUser not bound to Session when plugin invokes callback (#25132)

tags/2.0.0-beta.1
Will 1 ay önce
ebeveyn
işleme
804e599598
No account linked to committer's email address

+ 7
- 5
api/core/plugin/backwards_invocation/app.py Dosyayı Görüntüle

from typing import Optional, Union from typing import Optional, Union


from sqlalchemy import select from sqlalchemy import select
from sqlalchemy.orm import Session


from controllers.service_api.wraps import create_or_update_end_user_for_user_id from controllers.service_api.wraps import create_or_update_end_user_for_user_id
from core.app.app_config.common.parameters_mapping import get_parameters_from_feature_dict from core.app.app_config.common.parameters_mapping import get_parameters_from_feature_dict
""" """
get the user by user id get the user by user id
""" """
stmt = select(EndUser).where(EndUser.id == user_id)
user = db.session.scalar(stmt)
if not user:
stmt = select(Account).where(Account.id == user_id)
user = db.session.scalar(stmt)
with Session(db.engine, expire_on_commit=False) as session:
stmt = select(EndUser).where(EndUser.id == user_id)
user = session.scalar(stmt)
if not user:
stmt = select(Account).where(Account.id == user_id)
user = session.scalar(stmt)


if not user: if not user:
raise ValueError("user not found") raise ValueError("user not found")

Loading…
İptal
Kaydet