fastapi-rtk 1.0.2__py3-none-any.whl → 1.0.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
fastapi_rtk/bases/db.py CHANGED
@@ -55,9 +55,15 @@ class DBQueryParams(typing.TypedDict):
55
55
  where_in: tuple[str, list[typing.Any]] | None
56
56
  where_id: PRIMARY_KEY | None
57
57
  where_id_in: list[PRIMARY_KEY] | None
58
- filters: list[FilterSchema] | None
58
+ filters: (
59
+ list[FilterSchema | dict[str, typing.Any] | tuple[str, str, typing.Any] | list]
60
+ | None
61
+ )
59
62
  filter_classes: list[tuple[str, AbstractBaseFilter, typing.Any]] | None
60
- opr_filters: list[OprFilterSchema] | None
63
+ opr_filters: (
64
+ list[OprFilterSchema | dict[str, typing.Any] | tuple[str, typing.Any] | list]
65
+ | None
66
+ )
61
67
  opr_filter_classes: list[tuple[AbstractBaseFilter, typing.Any]] | None
62
68
  global_filter: tuple[list[str], str] | None
63
69
 
@@ -182,6 +188,12 @@ class AbstractQueryBuilder(abc.ABC, typing.Generic[T]):
182
188
  )
183
189
  elif step == "filters" and params.get("filters"):
184
190
  for filter in params["filters"]:
191
+ if isinstance(filter, dict):
192
+ filter = FilterSchema(**filter)
193
+ elif isinstance(filter, (list, tuple)):
194
+ filter = FilterSchema(
195
+ col=filter[0], opr=filter[1], value=filter[2]
196
+ )
185
197
  statement = await safe_call(self.apply_filter(statement, filter))
186
198
  elif step == "filter_classes" and params.get("filter_classes"):
187
199
  for filter_class in params["filter_classes"]:
@@ -190,6 +202,12 @@ class AbstractQueryBuilder(abc.ABC, typing.Generic[T]):
190
202
  )
191
203
  elif step == "opr_filters" and params.get("opr_filters"):
192
204
  for opr_filter in params["opr_filters"]:
205
+ if isinstance(opr_filter, dict):
206
+ opr_filter = OprFilterSchema(**opr_filter)
207
+ elif isinstance(opr_filter, (list, tuple)):
208
+ opr_filter = OprFilterSchema(
209
+ opr=opr_filter[0], value=opr_filter[1]
210
+ )
193
211
  statement = await safe_call(
194
212
  self.apply_opr_filter(statement, opr_filter)
195
213
  )
fastapi_rtk/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "1.0.0"
1
+ __version__ = "0.0.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastapi-rtk
3
- Version: 1.0.2
3
+ Version: 1.0.3
4
4
  Summary: A package that provides a set of tools to build a FastAPI application with a Class-Based CRUD API.
5
5
  Project-URL: Homepage, https://codeberg.org/datatactics/fastapi-rtk
6
6
  Project-URL: Issues, https://codeberg.org/datatactics/fastapi-rtk/issues
@@ -17,7 +17,7 @@ fastapi_rtk/routers.py,sha256=5gMGyH4Any9TwB3Fz23QDkmrX8MouzCxVgoAIcBqnTI,18988
17
17
  fastapi_rtk/schemas.py,sha256=zzzmf5qjSn6PtzrekD3Kll_WOn6XWR7h4AHQchW3GX8,17723
18
18
  fastapi_rtk/setting.py,sha256=vpjnio0mp_yZhDajZaBl6uOFmrBYl-sqB0L_lSkBpfk,19529
19
19
  fastapi_rtk/types.py,sha256=-LPnTIbHvqJW81__gab3EWrhjNmznHhptz0BtXkEAHQ,3612
20
- fastapi_rtk/version.py,sha256=J-j-u0itpEFT6irdmWmixQqYMadNl1X91TxUmoiLHMI,22
20
+ fastapi_rtk/version.py,sha256=ShXQBVjyiSOHxoQJS2BvNG395W4KZfqMxZWBAR0MZrE,22
21
21
  fastapi_rtk/api/__init__.py,sha256=MwFR7HHppnhbjZGg3sOdQ6nqy9uxnHHXvicpswNFMNA,245
22
22
  fastapi_rtk/api/base_api.py,sha256=42I9v3b25lqxNAMDGEtajA5-btIDSyUWF0xMDgGkA8c,8078
23
23
  fastapi_rtk/api/model_rest_api.py,sha256=Hp6ws1CjLG-2e-yHxniIudUUmnKff9js2VVZ4Q5JMoo,105111
@@ -58,7 +58,7 @@ fastapi_rtk/backends/sqla/extensions/geoalchemy2/__init__.py,sha256=d8ODg17-NEPq
58
58
  fastapi_rtk/backends/sqla/extensions/geoalchemy2/filters.py,sha256=L1WgO7UzWuAgsf93iK7mmsL89DMUaRGUCEKX7CM7kz8,3846
59
59
  fastapi_rtk/backends/sqla/extensions/geoalchemy2/geometry_converter.py,sha256=sckNoxPE8ApKCLgBZzE_2dokXrM6mIXvMguHZvyJzIM,3891
60
60
  fastapi_rtk/bases/__init__.py,sha256=v3tMVuX20UbvjI_mTWpDAePWAA38e3pjlYEiICgY4j8,440
61
- fastapi_rtk/bases/db.py,sha256=T0XozwU17WWwkP3J0j_sxA3Zfql2OT0HKcxoiTsJTUY,17903
61
+ fastapi_rtk/bases/db.py,sha256=D27BhF89J0OaLHjALDCa85eNf35lBaTz6VV7EDa4wuM,18711
62
62
  fastapi_rtk/bases/file_manager.py,sha256=d1ZZaY-OgDxjSWQ49DNQNSDHKznzr-03wki_eR2iU2A,8230
63
63
  fastapi_rtk/bases/filter.py,sha256=b9DNgW9M6pLv0eMTnaGUaYpPX1ZSloo6OCvdxGpCNNE,1837
64
64
  fastapi_rtk/bases/interface.py,sha256=Cq9Duxa3w-tw342P424h88fc0_X1DoxCdTa3rAN-6jM,45380
@@ -125,8 +125,8 @@ fastapi_rtk/utils/timezone.py,sha256=62S0pPWuDFFXxV1YTFCsc4uKiSP_Ba36Fv7S3gYjfhs
125
125
  fastapi_rtk/utils/update_signature.py,sha256=PIzZgNpGEwvDNgQ3G51Zi-QhVV3mbxvUvSwDwf_-yYs,2209
126
126
  fastapi_rtk/utils/use_default_when_none.py,sha256=H2HqhKy_8eYk3i1xijEjuaKak0oWkMIkrdz6T7DK9QU,469
127
127
  fastapi_rtk/utils/werkzeug.py,sha256=1Gv-oyqSmhVGrmNbB9fDqpqJzPpANOzWf4zMMrhW9UA,3245
128
- fastapi_rtk-1.0.2.dist-info/METADATA,sha256=7tvogntvvsp9VykCqGuXZkFMKy7lEt-33_Z9IFRYsG4,1270
129
- fastapi_rtk-1.0.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
130
- fastapi_rtk-1.0.2.dist-info/entry_points.txt,sha256=UuTkxSVIokSlVN28TMhoxzRRUaPxlVRSH3Gsx6yip60,53
131
- fastapi_rtk-1.0.2.dist-info/licenses/LICENSE,sha256=NDrWi4Qwcxal3u1r2lBWGA6TVh3OeW7yMan098mQz98,1073
132
- fastapi_rtk-1.0.2.dist-info/RECORD,,
128
+ fastapi_rtk-1.0.3.dist-info/METADATA,sha256=83tmy_FUJBHWFpAIMx1Kd9-h4LJvMou7R-CnVefLSMs,1270
129
+ fastapi_rtk-1.0.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
130
+ fastapi_rtk-1.0.3.dist-info/entry_points.txt,sha256=UuTkxSVIokSlVN28TMhoxzRRUaPxlVRSH3Gsx6yip60,53
131
+ fastapi_rtk-1.0.3.dist-info/licenses/LICENSE,sha256=NDrWi4Qwcxal3u1r2lBWGA6TVh3OeW7yMan098mQz98,1073
132
+ fastapi_rtk-1.0.3.dist-info/RECORD,,