Features:
Fixes: 1) Replace `Count("id")` with `Count("pk")` in commerce queries; 2) Fix `User.objects.get(...)` call by using `uuid` directly instead of accessing nested `serializer.validated_data["user"]["uuid"]`; 3) Add missing closing parenthesis in `VerifyJSONWebToken` call.
Extra: Minor code cleanup and consistency in UUID access pattern across mutations.
This commit is contained in:
parent
435b7305d7
commit
b8b7dcc1d1
2 changed files with 5 additions and 5 deletions
|
|
@ -81,7 +81,7 @@ def get_daily_finished_orders_count(period: timedelta = timedelta(days=30)) -> d
|
||||||
Order.objects.filter(status="FINISHED", buy_time__lte=current, buy_time__gte=period_start)
|
Order.objects.filter(status="FINISHED", buy_time__lte=current, buy_time__gte=period_start)
|
||||||
.annotate(day=TruncDate("buy_time"))
|
.annotate(day=TruncDate("buy_time"))
|
||||||
.values("day")
|
.values("day")
|
||||||
.annotate(cnt=Count("id"))
|
.annotate(cnt=Count("pk"))
|
||||||
.order_by("day")
|
.order_by("day")
|
||||||
)
|
)
|
||||||
result: dict[date, int] = {}
|
result: dict[date, int] = {}
|
||||||
|
|
@ -169,7 +169,7 @@ def get_customer_mix(period: timedelta = timedelta(days=30)) -> dict[str, int]:
|
||||||
return {"new": 0, "returning": 0}
|
return {"new": 0, "returning": 0}
|
||||||
|
|
||||||
lifetime_counts = (
|
lifetime_counts = (
|
||||||
Order.objects.filter(status="FINISHED", user_id__in=period_users).values("user_id").annotate(c=Count("id"))
|
Order.objects.filter(status="FINISHED", user_id__in=period_users).values("user_id").annotate(c=Count("pk"))
|
||||||
)
|
)
|
||||||
new_cnt = 0
|
new_cnt = 0
|
||||||
ret_cnt = 0
|
ret_cnt = 0
|
||||||
|
|
|
||||||
|
|
@ -205,7 +205,7 @@ class ObtainJSONWebToken(BaseMutation):
|
||||||
try:
|
try:
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
return ObtainJSONWebToken(
|
return ObtainJSONWebToken(
|
||||||
user=User.objects.get(serializer.validated_data["user"]["uuid"]),
|
user=User.objects.get(uuid=serializer.validated_data["user"]["uuid"]),
|
||||||
refresh_token=serializer.validated_data["refresh"],
|
refresh_token=serializer.validated_data["refresh"],
|
||||||
access_token=serializer.validated_data["access"],
|
access_token=serializer.validated_data["access"],
|
||||||
)
|
)
|
||||||
|
|
@ -226,7 +226,7 @@ class RefreshJSONWebToken(BaseMutation):
|
||||||
try:
|
try:
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
return RefreshJSONWebToken(
|
return RefreshJSONWebToken(
|
||||||
user=User.objects.get(serializer.validated_data["user"]["uuid"]),
|
user=User.objects.get(uuid=serializer.validated_data["user"]["uuid"]),
|
||||||
access_token=serializer.validated_data["access"],
|
access_token=serializer.validated_data["access"],
|
||||||
refresh_token=serializer.validated_data["refresh"],
|
refresh_token=serializer.validated_data["refresh"],
|
||||||
)
|
)
|
||||||
|
|
@ -248,7 +248,7 @@ class VerifyJSONWebToken(BaseMutation):
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
# noinspection PyTypeChecker
|
# noinspection PyTypeChecker
|
||||||
return VerifyJSONWebToken(
|
return VerifyJSONWebToken(
|
||||||
token_is_valid=True, user=User.objects.get(serializer.validated_data["user"]["uuid"])
|
token_is_valid=True, user=User.objects.get(uuid=serializer.validated_data["user"]["uuid"])
|
||||||
)
|
)
|
||||||
detail = traceback.format_exc() if settings.DEBUG else ""
|
detail = traceback.format_exc() if settings.DEBUG else ""
|
||||||
# noinspection PyTypeChecker
|
# noinspection PyTypeChecker
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue