Skip to content

Commit

Permalink
better openapi docs
Browse files Browse the repository at this point in the history
  • Loading branch information
ciur committed Oct 17, 2024
1 parent f9e8011 commit 7bacca0
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 7 deletions.
5 changes: 3 additions & 2 deletions papermerge/core/db/doc.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
Page,
)
from papermerge.core.exceptions import InvalidDateFormat
from papermerge.core.types import OrderEnum

from .common import get_ancestors

Expand Down Expand Up @@ -336,7 +337,7 @@ def get_docs_by_type(
type_id: UUID,
user_id: UUID,
order_by: str | None = None,
order: str = "desc",
order: OrderEnum = OrderEnum.desc,
) -> list[schemas.DocumentCFV]:
"""
Returns list of documents + doc CFv for all documents with of given type
Expand All @@ -349,7 +350,7 @@ def get_docs_by_type(
params = {"document_type_id": str_type_id}
rows = session.execute(text(stmt), params)
else:
stmt = STMT_WITH_ORDER_BY.format(order=order)
stmt = STMT_WITH_ORDER_BY.format(order=order.value)
params = {"document_type_id": str_type_id, "custom_field_name": order_by}
rows = session.execute(text(stmt), params)

Expand Down
3 changes: 2 additions & 1 deletion papermerge/core/routers/documents.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
from papermerge.core import db, schemas, utils
from papermerge.core.auth import get_current_user, scopes
from papermerge.core.models import Document
from papermerge.core.types import OrderEnum

router = APIRouter(
prefix="/documents",
Expand All @@ -32,7 +33,7 @@ def get_documents_by_type(
],
db_session: db.Session = Depends(db.get_session),
order_by: str | None = None,
order: str = "desc",
order: OrderEnum = OrderEnum.desc,
) -> list[schemas.DocumentCFV]:
"""
Get all documents of specific type with all custom field values
Expand Down
5 changes: 5 additions & 0 deletions papermerge/core/types.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,8 @@ class TokenData(BaseModel):

CFValueType: TypeAlias = str | int | date | bool | float | None
CFNameType: TypeAlias = str


class OrderEnum(str, Enum):
asc = "asc"
desc = "desc"
9 changes: 5 additions & 4 deletions tests/core/models/test_document.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
from papermerge.core.db.models import CustomField, CustomFieldValue
from papermerge.core.models import Document, User
from papermerge.core.storage import abs_path
from papermerge.core.types import OrderEnum
from papermerge.test import TestCase
from papermerge.test.baker_recipes import document_recipe, folder_recipe, user_recipe
from papermerge.test.utils import breadcrumb_fmt
Expand Down Expand Up @@ -659,7 +660,7 @@ def test_get_docs_by_type_order_by_cfv(db_session: Session, make_document_receip
type_id=type_id,
user_id=user_id,
order_by="EffectiveDate", # !!! EffectiveDate !!!
order="desc", # !!! DESC !!!
order=OrderEnum.desc, # !!! DESC !!!
)

assert len(items) == 3
Expand All @@ -683,7 +684,7 @@ def test_get_docs_by_type_order_by_cfv(db_session: Session, make_document_receip
type_id=type_id,
user_id=user_id,
order_by="EffectiveDate", # !!! EffectiveDate !!!
order="asc", # !!! ASC !!!
order=OrderEnum.asc, # !!! ASC !!!
)

results_eff_date_asc = []
Expand All @@ -705,7 +706,7 @@ def test_get_docs_by_type_order_by_cfv(db_session: Session, make_document_receip
type_id=type_id,
user_id=user_id,
order_by="Total", # !!! Total !!!
order="desc", # !!! desc !!!
order=OrderEnum.desc, # !!! desc !!!
)

results_total_desc = []
Expand All @@ -727,7 +728,7 @@ def test_get_docs_by_type_order_by_cfv(db_session: Session, make_document_receip
type_id=type_id,
user_id=user_id,
order_by="Total", # !!! Total !!!
order="asc", # !!! ASC !!!
order=OrderEnum.asc, # !!! ASC !!!
)

results_total_asc = []
Expand Down

0 comments on commit 7bacca0

Please sign in to comment.