Skip to content

Commit a516d7e

Browse files
committed
don't generate an exception for anonymous users
1 parent 29cccab commit a516d7e

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

src/reactpy_django/hooks.py

+8-8
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
import dill as pickle
1818
from channels.db import database_sync_to_async
1919
from reactpy import use_callback, use_effect, use_ref, use_state
20-
from reactpy.backend.hooks import use_connection as _use_connection
21-
from reactpy.backend.hooks import use_location as _use_location
22-
from reactpy.backend.hooks import use_scope as _use_scope
20+
from reactpy import use_connection as _use_connection
21+
from reactpy import use_location as _use_location
22+
from reactpy import use_scope as _use_scope
2323
from reactpy.backend.types import Location
2424

2525
from reactpy_django.exceptions import UserNotFoundError
@@ -339,7 +339,7 @@ async def _set_user_data(data):
339339
QueryOptions(postprocessor=None),
340340
_get_user_data,
341341
user=user,
342-
defaults=default_data,
342+
default_data=default_data,
343343
)
344344
set_data = use_mutation(_set_user_data, refetch=_get_user_data)
345345

@@ -362,11 +362,11 @@ def _use_mutation_args_2(mutation, refetch=None):
362362
return MutationOptions(), mutation, refetch
363363

364364

365-
async def _get_user_data(user: AbstractUser, defaults: None | dict) -> dict:
365+
async def _get_user_data(user: AbstractUser, default_data: None | dict) -> dict | None:
366366
from reactpy_django.models import UserDataModel
367367

368368
if not user or user.is_anonymous:
369-
raise UserNotFoundError("No user is available, cannot fetch user data.")
369+
return None
370370

371371
model, _ = await UserDataModel.objects.aget_or_create(user=user)
372372
data = pickle.loads(model.data) if model.data else {}
@@ -375,9 +375,9 @@ async def _get_user_data(user: AbstractUser, defaults: None | dict) -> dict:
375375
raise TypeError(f"Expected dict while loading user data, got {type(data)}")
376376

377377
# Set default values, if needed
378-
if defaults:
378+
if default_data:
379379
changed = False
380-
for key, value in defaults.items():
380+
for key, value in default_data.items():
381381
if key not in data:
382382
new_value: Any = value
383383
if asyncio.iscoroutinefunction(value):

0 commit comments

Comments
 (0)