Skip to content

Commit

Permalink
Small bugfix
Browse files Browse the repository at this point in the history
  • Loading branch information
dmezzogori committed Jun 28, 2023
1 parent 66dc009 commit bbf7f0b
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 9 deletions.
18 changes: 11 additions & 7 deletions kwik/crud/auto_crud.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
from __future__ import annotations

from typing import Any, NoReturn

from fastapi.encoders import jsonable_encoder
from kwik import settings
from kwik.database.session import KwikSession, _to_be_audited
from kwik.database.session import _to_be_audited
from kwik.exceptions import DuplicatedEntity, NotFound
from kwik.middlewares import get_request_id
from kwik.models import User
from kwik.schemas import LogCreateSchema
from kwik.typings import ModelType, CreateSchemaType, UpdateSchemaType
from kwik.typings import ParsedSortingQuery, PaginatedCRUDResult
from kwik.typings import (
CreateSchemaType,
ModelType,
PaginatedCRUDResult,
ParsedSortingQuery,
UpdateSchemaType,
)
from kwik.utils import sort_query

from .base import CRUDCreateBase, CRUDReadBase, CRUDUpdateBase, CRUDDeleteBase
from .base import CRUDCreateBase, CRUDDeleteBase, CRUDReadBase, CRUDUpdateBase
from .logs import logs


Expand Down Expand Up @@ -83,7 +89,6 @@ def create_if_not_exist(
raise_on_error: bool = False,
**kwargs: Any,
) -> ModelType:

obj_db: ModelType | None = self.db.query(self.model).filter_by(**filters).one_or_none()
if obj_db is None:
obj_db: ModelType = self.create(obj_in=obj_in, **kwargs)
Expand All @@ -94,7 +99,6 @@ def create_if_not_exist(

class AutoCRUDUpdate(CRUDUpdateBase[ModelType, UpdateSchemaType]):
def update(self, *, db_obj: ModelType, obj_in: UpdateSchemaType | dict[str, Any]) -> ModelType:

if isinstance(obj_in, dict):
update_data = obj_in
else:
Expand Down
7 changes: 5 additions & 2 deletions kwik/utils/query.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
from sqlalchemy.orm import Query
from __future__ import annotations

from typing import Type

from kwik.typings import ModelType, ParsedSortingQuery
from sqlalchemy.orm import Query


def sort_query(*, model: ModelType, query: Query, sort: ParsedSortingQuery) -> Query:
def sort_query(*, model: Type[ModelType], query: Query, sort: ParsedSortingQuery) -> Query:
order_by = []
for attr, order in sort:
model_attr = getattr(model, attr)
Expand Down

0 comments on commit bbf7f0b

Please sign in to comment.