fix: no default actor setting check (#9124)
* fix: no default actor setting check * prevent default actor creation in fallback
This commit is contained in:
@@ -120,16 +120,19 @@ class UserManager:
|
|||||||
NoResultFound: If actor_id is None and no_default_actor setting is True.
|
NoResultFound: If actor_id is None and no_default_actor setting is True.
|
||||||
"""
|
"""
|
||||||
# Security check: if no_default_actor is enabled and actor_id is None, raise error
|
# Security check: if no_default_actor is enabled and actor_id is None, raise error
|
||||||
if settings.no_default_actor and actor_id is None:
|
if settings.no_default_actor and (actor_id is None or actor_id == self.DEFAULT_USER_ID):
|
||||||
raise NoResultFound("Actor ID is required when no_default_actor is enabled")
|
raise NoResultFound("Non-default Actor ID is required when no_default_actor is enabled")
|
||||||
|
|
||||||
target_id = actor_id or self.DEFAULT_USER_ID
|
target_id = actor_id or self.DEFAULT_USER_ID
|
||||||
|
|
||||||
try:
|
try:
|
||||||
return await self.get_actor_by_id_async(target_id)
|
return await self.get_actor_by_id_async(target_id)
|
||||||
except NoResultFound:
|
except NoResultFound:
|
||||||
user = await self.create_default_actor_async(org_id=DEFAULT_ORG_ID)
|
if not settings.no_default_actor:
|
||||||
return user
|
user = await self.create_default_actor_async(org_id=DEFAULT_ORG_ID)
|
||||||
|
return user
|
||||||
|
else:
|
||||||
|
raise
|
||||||
|
|
||||||
@enforce_types
|
@enforce_types
|
||||||
@trace_method
|
@trace_method
|
||||||
|
|||||||
Reference in New Issue
Block a user