Coverage for polar/product/sorting.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.15.2, created at 2026-10-07 12:42 +0000

1from enum import StrEnum 

2from typing import Annotated 

3 

4from fastapi import Depends 

5 

6from polar.kit.sorting import Sorting, SortingGetter 

7 

8 

9class ProductSortProperty(StrEnum): 

10 created_at = "created_at" 

11 product_name = "name" # `name` is a reserved word, so we use `product_name` 

12 price_amount_type = "price_amount_type" 

13 price_amount = "price_amount" 

14 

15 

16ListSorting = Annotated[ 

17 list[Sorting[ProductSortProperty]], 

18 Depends(SortingGetter(ProductSortProperty, ["-created_at"])), 

19]