feat: add schema parameter to CRUD methods for typed response serialization (#84)

This commit is contained in:
d3vyce
2026-02-23 10:02:52 +01:00
committed by GitHub
parent 9d07dfea85
commit 7482bc5dad
4 changed files with 382 additions and 42 deletions

View File

@@ -6,6 +6,8 @@ import uuid
import pytest
from pydantic import BaseModel
from sqlalchemy import Column, ForeignKey, String, Table, Uuid
from fastapi_toolsets.schemas import PydanticBase
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column, relationship
@@ -90,6 +92,13 @@ class RoleCreate(BaseModel):
name: str
class RoleRead(PydanticBase):
"""Schema for reading a role."""
id: uuid.UUID
name: str
class RoleUpdate(BaseModel):
"""Schema for updating a role."""
@@ -106,6 +115,13 @@ class UserCreate(BaseModel):
role_id: uuid.UUID | None = None
class UserRead(PydanticBase):
"""Schema for reading a user (subset of fields)."""
id: uuid.UUID
username: str
class UserUpdate(BaseModel):
"""Schema for updating a user."""