feat: added promocode activation

also code reformatting and bug fixes
This commit is contained in:
ITQ
2025-01-26 11:33:03 +03:00
parent 43baa2af5c
commit 545201e4dd
11 changed files with 218 additions and 99 deletions
+3 -1
View File
@@ -70,7 +70,9 @@ class CreatePromocodeOut(Schema):
class PromocodeListFilters(Schema):
limit: int = Field(10, gt=0, description="Limit must be greater than 0")
limit: int = Field(
10, ge=0, description="Limit must be greater than or equal 0"
)
offset: int = Field(
0, ge=0, description="Offset must be greater than or equal to 0"
)
+6 -6
View File
@@ -172,8 +172,8 @@ def list_promocode(
promocodes = promocodes.order_by("-created_at")
promocodes = promocodes.prefetch_related("activations", "likes").annotate(
used_count=Count("activations"),
like_count=Count("likes"),
used_count=Count("activations", distinct=True),
like_count=Count("likes", distinct=True),
)
promocodes = promocodes[filters.offset : filters.offset + filters.limit]
@@ -213,8 +213,8 @@ def get_promocode(
promocodes.select_related("target")
.prefetch_related("activations", "likes")
.annotate(
used_count=Count("activations"),
like_count=Count("likes"),
used_count=Count("activations", distinct=True),
like_count=Count("likes", distinct=True),
)
)
@@ -255,8 +255,8 @@ def patch_promocode(
promocodes.select_related("target")
.prefetch_related("activations", "likes")
.annotate(
used_count=Count("activations"),
like_count=Count("likes"),
used_count=Count("activations", distinct=True),
like_count=Count("likes", distinct=True),
)
)