33
44import uvicorn
55from fastapi import APIRouter , Depends , FastAPI
6- from pydantic import Field , BaseModel as PydanticBaseModel
6+ from fastapi_jsonapi . schema_base import Field , BaseModel as PydanticBaseModel
77from sqlalchemy import Column , Integer , Text
88from sqlalchemy .engine import make_url
99from sqlalchemy .ext .asyncio import AsyncSession , create_async_engine
1010from sqlalchemy .ext .declarative import declarative_base
1111from sqlalchemy .orm import sessionmaker
1212
13- from fastapi_jsonapi import RoutersJSONAPI
13+ from fastapi_jsonapi import RoutersJSONAPI , init
1414from fastapi_jsonapi .misc .sqla .generics .base import DetailViewBaseGeneric , ListViewBaseGeneric
1515from fastapi_jsonapi .views .utils import HTTPMethod , HTTPMethodConfig
1616from fastapi_jsonapi .views .view_base import ViewBase
2727class User (Base ):
2828 __tablename__ = "users"
2929 id = Column (Integer , primary_key = True , autoincrement = False )
30- name : str = Column (Text , nullable = True )
30+ name = Column (Text , nullable = True )
3131
3232
3333class BaseModel (PydanticBaseModel ):
@@ -77,7 +77,7 @@ class Config:
7777 arbitrary_types_allowed = True
7878
7979
80- def session_dependency_handler (view : ViewBase , dto : BaseModel ) -> dict :
80+ def session_dependency_handler (view : ViewBase , dto : SessionDependency ) -> dict :
8181 return {"session" : dto .session }
8282
8383
@@ -107,9 +107,9 @@ def add_routes(app: FastAPI):
107107 },
108108 ]
109109
110- routers : APIRouter = APIRouter ()
110+ router : APIRouter = APIRouter ()
111111 RoutersJSONAPI (
112- router = routers ,
112+ router = router ,
113113 path = "/user" ,
114114 tags = ["User" ],
115115 class_detail = UserDetailView ,
@@ -121,7 +121,7 @@ def add_routes(app: FastAPI):
121121 model = User ,
122122 )
123123
124- app .include_router (routers , prefix = "" )
124+ app .include_router (router , prefix = "" )
125125 return tags
126126
127127
@@ -139,6 +139,7 @@ def create_app() -> FastAPI:
139139 )
140140 add_routes (app )
141141 app .on_event ("startup" )(sqlalchemy_init )
142+ init (app )
142143 return app
143144
144145
0 commit comments