fastapi-toolsets 3.0.2__tar.gz → 3.0.3__tar.gz
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_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/PKG-INFO +1 -1
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/pyproject.toml +1 -1
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/__init__.py +1 -1
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/crud/search.py +27 -1
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/LICENSE +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/README.md +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/_imports.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/cli/__init__.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/cli/app.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/cli/commands/__init__.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/cli/commands/fixtures.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/cli/config.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/cli/pyproject.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/cli/utils.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/crud/__init__.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/crud/factory.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/db.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/dependencies.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/exceptions/__init__.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/exceptions/exceptions.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/exceptions/handler.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/fixtures/__init__.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/fixtures/enum.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/fixtures/registry.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/fixtures/utils.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/logger.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/metrics/__init__.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/metrics/handler.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/metrics/registry.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/models/__init__.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/models/columns.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/models/watched.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/py.typed +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/pytest/__init__.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/pytest/plugin.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/pytest/utils.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/schemas.py +0 -0
- {fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/types.py +0 -0
|
@@ -265,7 +265,15 @@ async def build_facets(
|
|
|
265
265
|
else:
|
|
266
266
|
q = q.order_by(column)
|
|
267
267
|
result = await session.execute(q)
|
|
268
|
-
|
|
268
|
+
col_type = column.property.columns[0].type
|
|
269
|
+
enum_class = getattr(col_type, "enum_class", None)
|
|
270
|
+
values = [
|
|
271
|
+
row[0].name
|
|
272
|
+
if (enum_class is not None and isinstance(row[0], enum_class))
|
|
273
|
+
else row[0]
|
|
274
|
+
for row in result.all()
|
|
275
|
+
if row[0] is not None
|
|
276
|
+
]
|
|
269
277
|
return key, values
|
|
270
278
|
|
|
271
279
|
pairs = await asyncio.gather(
|
|
@@ -347,6 +355,24 @@ def build_filter_by(
|
|
|
347
355
|
filters.append(column.overlap(value))
|
|
348
356
|
else:
|
|
349
357
|
filters.append(column.any(value))
|
|
358
|
+
elif isinstance(col_type, Enum):
|
|
359
|
+
enum_class = col_type.enum_class
|
|
360
|
+
if enum_class is not None:
|
|
361
|
+
|
|
362
|
+
def _coerce_enum(v: Any) -> Any:
|
|
363
|
+
if isinstance(v, enum_class):
|
|
364
|
+
return v
|
|
365
|
+
return enum_class[v] # lookup by name: "PENDING", "RED"
|
|
366
|
+
|
|
367
|
+
if isinstance(value, list):
|
|
368
|
+
filters.append(column.in_([_coerce_enum(v) for v in value]))
|
|
369
|
+
else:
|
|
370
|
+
filters.append(column == _coerce_enum(value))
|
|
371
|
+
else: # pragma: no cover
|
|
372
|
+
if isinstance(value, list):
|
|
373
|
+
filters.append(column.in_(value))
|
|
374
|
+
else:
|
|
375
|
+
filters.append(column == value)
|
|
350
376
|
elif isinstance(col_type, _EQUALITY_TYPES):
|
|
351
377
|
if isinstance(value, list):
|
|
352
378
|
filters.append(column.in_(value))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/cli/commands/__init__.py
RENAMED
|
File without changes
|
{fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/cli/commands/fixtures.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/exceptions/__init__.py
RENAMED
|
File without changes
|
{fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/exceptions/exceptions.py
RENAMED
|
File without changes
|
{fastapi_toolsets-3.0.2 → fastapi_toolsets-3.0.3}/src/fastapi_toolsets/exceptions/handler.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|