Skip to content

Commit e13e00a

Browse files
committed
Fix typing
1 parent d6939b4 commit e13e00a

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed

fastapi_crudrouter/core/gino_starlette.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from typing import Any, Callable, List, Optional, Type, Union
1+
from typing import Any, Callable, List, Optional, Type, Union, Coroutine
22

33
from fastapi import HTTPException
44

@@ -18,6 +18,9 @@
1818
else:
1919
gino_installed = True
2020

21+
CALLABLE_SINGLE = Callable[..., Coroutine[Any, Any, Model]]
22+
CALLABLE_LIST = Callable[..., Coroutine[Any, Any, List[Model]]]
23+
2124

2225
class GinoCRUDRouter(CRUDGenerator[SCHEMA]):
2326
def __init__(
@@ -61,7 +64,7 @@ def __init__(
6164
**kwargs
6265
)
6366

64-
def _get_all(self, *args: Any, **kwargs: Any) -> Callable[..., List[Model]]:
67+
def _get_all(self, *args: Any, **kwargs: Any) -> CALLABLE_LIST:
6568
async def route(
6669
pagination: PAGINATION = self.pagination,
6770
) -> List[Model]:
@@ -74,8 +77,8 @@ async def route(
7477

7578
return route
7679

77-
def _get_one(self, *args: Any, **kwargs: Any) -> Callable[..., Model]:
78-
async def route(item_id: self._pk_type) -> Model:
80+
def _get_one(self, *args: Any, **kwargs: Any) -> CALLABLE_SINGLE:
81+
async def route(item_id: self._pk_type) -> Model: # type: ignore
7982
model: Model = await self.db_model.get(item_id)
8083

8184
if model:
@@ -85,7 +88,7 @@ async def route(item_id: self._pk_type) -> Model:
8588

8689
return route
8790

88-
def _create(self, *args: Any, **kwargs: Any) -> Callable[..., Model]:
91+
def _create(self, *args: Any, **kwargs: Any) -> CALLABLE_SINGLE:
8992
async def route(
9093
model: self.create_schema, # type: ignore
9194
) -> Model:
@@ -98,7 +101,7 @@ async def route(
98101

99102
return route
100103

101-
def _update(self, *args: Any, **kwargs: Any) -> Callable[..., Model]:
104+
def _update(self, *args: Any, **kwargs: Any) -> CALLABLE_SINGLE:
102105
async def route(
103106
item_id: self._pk_type, # type: ignore
104107
model: self.update_schema, # type: ignore
@@ -115,14 +118,14 @@ async def route(
115118

116119
return route
117120

118-
def _delete_all(self, *args: Any, **kwargs: Any) -> Callable[..., List[Model]]:
121+
def _delete_all(self, *args: Any, **kwargs: Any) -> CALLABLE_LIST:
119122
async def route() -> List[Model]:
120123
await self.db_model.delete.gino.status()
121124
return await self._get_all()(pagination={"skip": 0, "limit": None})
122125

123126
return route
124127

125-
def _delete_one(self, *args: Any, **kwargs: Any) -> Callable[..., Model]:
128+
def _delete_one(self, *args: Any, **kwargs: Any) -> CALLABLE_SINGLE:
126129
async def route(item_id: self._pk_type) -> Model: # type: ignore
127130
db_model: Model = await self._get_one()(item_id)
128131
await db_model.delete()

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[flake8]
22
max-line-length = 88
33
select = C,E,F,W,B,B9
4-
ignore = B008, E203, W503, CFQ001, CFQ002
4+
ignore = B008, E203, W503, CFQ001, CFQ002, ECE001
55
import-order-style = pycharm
66

77
[mypy]

tests/implementations/gino_.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
CustomPotato,
1313
Potato,
1414
PotatoType,
15-
config
15+
config,
1616
)
1717

1818

0 commit comments

Comments
 (0)