diff --git a/pyproject.toml b/pyproject.toml index 65c81e2..a5e106c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,7 +30,7 @@ redis = "^5.0.1" arq = "^0.25.0" gunicorn = "^21.2.0" bcrypt = "^4.1.1" -fastcrud = "^0.7.0" +fastcrud = "^0.10.0" [build-system] diff --git a/src/app/api/v1/posts.py b/src/app/api/v1/posts.py index e40b567..6f4f75b 100644 --- a/src/app/api/v1/posts.py +++ b/src/app/api/v1/posts.py @@ -1,4 +1,4 @@ -from typing import Annotated +from typing import Annotated, Any from fastapi import APIRouter, Depends, Request from fastcrud.paginated import PaginatedListResponse, compute_offset, paginated_response @@ -65,7 +65,8 @@ async def read_posts( is_deleted=False, ) - return paginated_response(crud_data=posts_data, page=page, items_per_page=items_per_page) + response: dict[str, Any] = paginated_response(crud_data=posts_data, page=page, items_per_page=items_per_page) + return response @router.get("/{username}/post/{id}", response_model=PostRead) diff --git a/src/app/api/v1/rate_limits.py b/src/app/api/v1/rate_limits.py index ed7280a..cf172af 100644 --- a/src/app/api/v1/rate_limits.py +++ b/src/app/api/v1/rate_limits.py @@ -1,4 +1,4 @@ -from typing import Annotated +from typing import Annotated, Any from fastapi import APIRouter, Depends, Request from fastcrud.paginated import PaginatedListResponse, compute_offset, paginated_response @@ -54,7 +54,8 @@ async def read_rate_limits( tier_id=db_tier["id"], ) - return paginated_response(crud_data=rate_limits_data, page=page, items_per_page=items_per_page) + response: dict[str, Any] = paginated_response(crud_data=rate_limits_data, page=page, items_per_page=items_per_page) + return response @router.get("/tier/{tier_name}/rate_limit/{id}", response_model=RateLimitRead) diff --git a/src/app/api/v1/tiers.py b/src/app/api/v1/tiers.py index 4c1f9b1..bbfcd32 100644 --- a/src/app/api/v1/tiers.py +++ b/src/app/api/v1/tiers.py @@ -1,8 +1,8 @@ -from typing import Annotated +from typing import Annotated, Any from fastapi import APIRouter, Depends, Request -from sqlalchemy.ext.asyncio import AsyncSession from fastcrud.paginated import PaginatedListResponse, compute_offset, paginated_response +from sqlalchemy.ext.asyncio import AsyncSession from ...api.dependencies import get_current_superuser from ...core.db.database import async_get_db @@ -35,7 +35,8 @@ async def read_tiers( db=db, offset=compute_offset(page, items_per_page), limit=items_per_page, schema_to_select=TierRead ) - return paginated_response(crud_data=tiers_data, page=page, items_per_page=items_per_page) + response: dict[str, Any] = paginated_response(crud_data=tiers_data, page=page, items_per_page=items_per_page) + return response @router.get("/tier/{name}", response_model=TierRead) diff --git a/src/app/api/v1/users.py b/src/app/api/v1/users.py index 9c5dfe0..30d859c 100644 --- a/src/app/api/v1/users.py +++ b/src/app/api/v1/users.py @@ -1,8 +1,8 @@ from typing import Annotated, Any from fastapi import APIRouter, Depends, Request -from sqlalchemy.ext.asyncio import AsyncSession from fastcrud.paginated import PaginatedListResponse, compute_offset, paginated_response +from sqlalchemy.ext.asyncio import AsyncSession from ...api.dependencies import get_current_superuser, get_current_user from ...core.db.database import async_get_db @@ -51,7 +51,8 @@ async def read_users( is_deleted=False, ) - return paginated_response(crud_data=users_data, page=page, items_per_page=items_per_page) + response: dict[str, Any] = paginated_response(crud_data=users_data, page=page, items_per_page=items_per_page) + return response @router.get("/user/me/", response_model=UserRead) diff --git a/src/scripts/create_first_superuser.py b/src/scripts/create_first_superuser.py index 05b86e0..0cd015d 100644 --- a/src/scripts/create_first_superuser.py +++ b/src/scripts/create_first_superuser.py @@ -1,6 +1,6 @@ import asyncio -import uuid import logging +import uuid from datetime import UTC, datetime from sqlalchemy import Boolean, Column, DateTime, ForeignKey, Integer, MetaData, String, Table, insert, select @@ -60,10 +60,10 @@ async def create_first_user(session: AsyncSession) -> None: await conn.commit() logger.info(f"Admin user {username} created successfully.") - + else: logger.info(f"Admin user {username} already exists.") - + except Exception as e: logger.error(f"Error creating admin user: {e}") diff --git a/src/scripts/create_first_tier.py b/src/scripts/create_first_tier.py index d1bc46d..baceb9f 100644 --- a/src/scripts/create_first_tier.py +++ b/src/scripts/create_first_tier.py @@ -23,10 +23,10 @@ async def create_first_tier(session: AsyncSession) -> None: session.add(Tier(name=tier_name)) await session.commit() logger.info(f"Tier '{tier_name}' created successfully.") - + else: logger.info(f"Tier '{tier_name}' already exists.") - + except Exception as e: logger.error(f"Error creating tier: {e}")