Features: 1) Update recently_viewed to use GenericScalar for UUIDs;

Fixes: 1) Correct resolve_recently_viewed logic to ensure default behavior;

Extra: 1) Minor cleanup in resolve_recently_viewed for simplified return logic;
This commit is contained in:
Egor Pavlovich Gorbunov 2025-05-23 06:56:57 +03:00
parent 41f8cf55b5
commit f76b000e07

View file

@ -4,7 +4,7 @@ from graphene import Field, List, String, relay
from graphene.types.generic import GenericScalar from graphene.types.generic import GenericScalar
from graphene_django import DjangoObjectType from graphene_django import DjangoObjectType
from core.graphene.object_types import OrderType, ProductType, WishlistType from core.graphene.object_types import OrderType, WishlistType
from evibes.settings import LANGUAGE_CODE, LANGUAGES from evibes.settings import LANGUAGE_CODE, LANGUAGES
from payments.graphene.object_types import BalanceType from payments.graphene.object_types import BalanceType
from vibes_auth.models import User from vibes_auth.models import User
@ -27,7 +27,7 @@ class PermissionType(DjangoObjectType):
class UserType(DjangoObjectType): class UserType(DjangoObjectType):
recently_viewed = List(lambda: ProductType, description=_("recently viewed products")) recently_viewed = GenericScalar(description=_("recently viewed products' UUIDs"))
groups = List(lambda: GroupType, description=_("groups")) groups = List(lambda: GroupType, description=_("groups"))
user_permissions = List(lambda: PermissionType, description=_("permissions")) user_permissions = List(lambda: PermissionType, description=_("permissions"))
orders = List(lambda: OrderType, description=_("orders")) orders = List(lambda: OrderType, description=_("orders"))
@ -90,7 +90,7 @@ class UserType(DjangoObjectType):
return self.orders.all() if self.orders.count() >= 1 else [] return self.orders.all() if self.orders.count() >= 1 else []
def resolve_recently_viewed(self, info): def resolve_recently_viewed(self, info):
return self.recently_viewed.all() if self.recently_viewed.count() >= 1 else [] return [] or self.recently_viewed
def resolve_groups(self, info): def resolve_groups(self, info):
return self.groups.all() if self.groups.count() >= 1 else [] return self.groups.all() if self.groups.count() >= 1 else []