diff --git a/README.md b/README.md index 283ac04..a7e74ed 100644 --- a/README.md +++ b/README.md @@ -1125,13 +1125,13 @@ With the `get_multi` method we get a python `dict` with full suport for paginati } ``` -And in the endpoint, we can import from `fastcrud.paginated` the following functions and Pydantic Schema: +And in the endpoint, we can import from `fastcrud` the following functions and Pydantic Schema: ```python from typing import Annotated from fastapi import Depends, Request from sqlalchemy.ext.asyncio import AsyncSession -from fastcrud.paginated import ( +from fastcrud import ( PaginatedListResponse, # What you'll use as a response_model to validate paginated_response, # Creates a paginated response based on the parameters compute_offset, # Calculate the offset for pagination ((page - 1) * items_per_page) diff --git a/docs/user-guide/api/endpoints.md b/docs/user-guide/api/endpoints.md index 313c152..ff270b7 100644 --- a/docs/user-guide/api/endpoints.md +++ b/docs/user-guide/api/endpoints.md @@ -50,7 +50,7 @@ async def get_user( ### 2. Get Multiple Items (with Pagination) ```python -from fastcrud.paginated import PaginatedListResponse, paginated_response +from fastcrud import PaginatedListResponse, paginated_response @router.get("/", response_model=PaginatedListResponse[UserRead]) async def get_users( diff --git a/docs/user-guide/api/index.md b/docs/user-guide/api/index.md index e76860e..1c7e4df 100644 --- a/docs/user-guide/api/index.md +++ b/docs/user-guide/api/index.md @@ -31,7 +31,7 @@ async def get_users(db: Annotated[AsyncSession, Depends(async_get_db)]): async def create_user( user_data: UserCreate, db: Annotated[AsyncSession, Depends(async_get_db)] -): + ): return await crud_users.create(db=db, object=user_data) ``` @@ -50,7 +50,7 @@ async def get_profile(current_user: Annotated[dict, Depends(get_current_user)]): ### 📊 **Easy Pagination** Paginate any endpoint with one line: ```python -from fastcrud.paginated import PaginatedListResponse +from fastcrud import PaginatedListResponse @router.get("/", response_model=PaginatedListResponse[UserRead]) async def get_users(page: int = 1, items_per_page: int = 10): diff --git a/docs/user-guide/api/pagination.md b/docs/user-guide/api/pagination.md index 26ffb5b..27da9a0 100644 --- a/docs/user-guide/api/pagination.md +++ b/docs/user-guide/api/pagination.md @@ -7,7 +7,7 @@ This guide shows you how to add pagination to your API endpoints using the boile Here's how to add basic pagination to any endpoint: ```python -from fastcrud.paginated import PaginatedListResponse +from fastcrud import PaginatedListResponse @router.get("/", response_model=PaginatedListResponse[UserRead]) async def get_users( diff --git a/docs/user-guide/api/versioning.md b/docs/user-guide/api/versioning.md index 299fa62..5ac309f 100644 --- a/docs/user-guide/api/versioning.md +++ b/docs/user-guide/api/versioning.md @@ -132,7 +132,7 @@ async def create_user(user_data: UserCreate): ```python # src/app/api/v2/users.py from app.schemas.user import UserReadV2, UserCreateV2 # New schemas -from fastcrud.paginated import PaginatedListResponse +from fastcrud import PaginatedListResponse # Breaking change: Always return paginated response @router.get("/", response_model=PaginatedListResponse[UserReadV2]) diff --git a/docs/user-guide/database/crud.md b/docs/user-guide/database/crud.md index 1bf5a98..6b169ed 100644 --- a/docs/user-guide/database/crud.md +++ b/docs/user-guide/database/crud.md @@ -392,7 +392,8 @@ async def user_management_example(db: AsyncSession): Using FastCRUD's pagination utilities: ```python -from fastcrud.paginated import compute_offset, paginated_response +from fastcrud import compute_offset, paginated_response + async def get_paginated_users( db: AsyncSession, diff --git a/docs/user-guide/database/schemas.md b/docs/user-guide/database/schemas.md index 69c7bb2..058547e 100644 --- a/docs/user-guide/database/schemas.md +++ b/docs/user-guide/database/schemas.md @@ -402,7 +402,7 @@ users = await crud_users.get_multi( For pagination with page numbers, use `PaginatedListResponse`: ```python -from fastcrud.paginated import PaginatedListResponse +from fastcrud import PaginatedListResponse # In API endpoint - ONLY for paginated list responses @router.get("/users/", response_model=PaginatedListResponse[UserRead]) diff --git a/docs/user-guide/development.md b/docs/user-guide/development.md index cdcb03a..84fb187 100644 --- a/docs/user-guide/development.md +++ b/docs/user-guide/development.md @@ -136,7 +136,7 @@ Create `src/app/api/v1/categories.py`: from typing import Annotated from fastapi import APIRouter, Depends, HTTPException, Request -from fastcrud.paginated import PaginatedListResponse, compute_offset +from fastcrud import PaginatedListResponse, compute_offset from sqlalchemy.ext.asyncio import AsyncSession from ...api.dependencies import get_current_superuser, get_current_user diff --git a/docs/user-guide/index.md b/docs/user-guide/index.md index 2770266..81a754d 100644 --- a/docs/user-guide/index.md +++ b/docs/user-guide/index.md @@ -83,4 +83,4 @@ Ready to dive in? Here are recommended learning paths: 3. Set up [Background Task Processing](background-tasks/index.md) 4. Review the [Production Guide](production.md) for deployment considerations -Choose your path based on your needs and experience level. Each section builds upon previous concepts while remaining self-contained for reference use. \ No newline at end of file +Choose your path based on your needs and experience level. Each section builds upon previous concepts while remaining self-contained for reference use. diff --git a/src/app/api/v1/posts.py b/src/app/api/v1/posts.py index 2987661..bbceba6 100644 --- a/src/app/api/v1/posts.py +++ b/src/app/api/v1/posts.py @@ -1,6 +1,6 @@ from typing import Annotated, Any, cast from fastapi import APIRouter, Depends, Request -from fastcrud.paginated import PaginatedListResponse, compute_offset, paginated_response +from fastcrud import PaginatedListResponse, compute_offset, paginated_response from sqlalchemy.ext.asyncio import AsyncSession from ...api.dependencies import get_current_superuser, get_current_user diff --git a/src/app/api/v1/rate_limits.py b/src/app/api/v1/rate_limits.py index ff8da4a..9ece374 100644 --- a/src/app/api/v1/rate_limits.py +++ b/src/app/api/v1/rate_limits.py @@ -1,7 +1,7 @@ from typing import Annotated, Any, cast from fastapi import APIRouter, Depends, Request -from fastcrud.paginated import PaginatedListResponse, compute_offset, paginated_response +from fastcrud import PaginatedListResponse, compute_offset, paginated_response from sqlalchemy.ext.asyncio import AsyncSession from ...api.dependencies import get_current_superuser diff --git a/src/app/api/v1/tiers.py b/src/app/api/v1/tiers.py index 1981c6c..cbebb99 100644 --- a/src/app/api/v1/tiers.py +++ b/src/app/api/v1/tiers.py @@ -1,7 +1,7 @@ from typing import Annotated, Any, cast from fastapi import APIRouter, Depends, Request -from fastcrud.paginated import PaginatedListResponse, compute_offset, paginated_response +from fastcrud import PaginatedListResponse, compute_offset, paginated_response from sqlalchemy.ext.asyncio import AsyncSession from ...api.dependencies import get_current_superuser diff --git a/src/app/api/v1/users.py b/src/app/api/v1/users.py index 05802c0..5454238 100644 --- a/src/app/api/v1/users.py +++ b/src/app/api/v1/users.py @@ -1,7 +1,7 @@ from typing import Annotated, Any, cast from fastapi import APIRouter, Depends, Request -from fastcrud.paginated import PaginatedListResponse, compute_offset, paginated_response +from fastcrud import PaginatedListResponse, compute_offset, paginated_response from sqlalchemy.ext.asyncio import AsyncSession from ...api.dependencies import get_current_superuser, get_current_user