CRUDKit update.
This commit is contained in:
parent
de29d45106
commit
f1fa1f2407
8 changed files with 391 additions and 44 deletions
24
crudkit/integrations/fastapi.py
Normal file
24
crudkit/integrations/fastapi.py
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
from __future__ import annotations
|
||||
from contextlib import contextmanager
|
||||
from fastapi import Depends
|
||||
from sqlalchemy.orm import Session
|
||||
from ..engines import CRUDKitRuntime
|
||||
|
||||
_runtime = CRUDKitRuntime()
|
||||
|
||||
@contextmanager
|
||||
def _session_scope():
|
||||
SessionLocal = _runtime.session_factory
|
||||
session: Session = SessionLocal()
|
||||
try:
|
||||
yield session
|
||||
session.commit()
|
||||
except Exception:
|
||||
session.rollback()
|
||||
raise
|
||||
finally:
|
||||
session.close()
|
||||
|
||||
def get_db():
|
||||
with _session_scope() as s:
|
||||
yield s
|
||||
Loading…
Add table
Add a link
Reference in a new issue