30 lines
740 B
Python
30 lines
740 B
Python
"""
|
|
Base setup for views, containing shared functionality and imports.
|
|
"""
|
|
from fastapi import APIRouter, Request, Depends, HTTPException
|
|
from fastapi.templating import Jinja2Templates
|
|
from pathlib import Path
|
|
from sqlalchemy.orm import Session
|
|
import logging
|
|
|
|
from app.auth import require_login
|
|
from app.database import SessionLocal
|
|
from app.config import settings
|
|
|
|
# Set up Jinja2 templates
|
|
templates_dir = Path(__file__).parent.parent.parent / "frontend" / "templates"
|
|
templates = Jinja2Templates(directory=str(templates_dir))
|
|
|
|
# Set up logging
|
|
logger = logging.getLogger(__name__)
|
|
|
|
def get_db():
|
|
"""
|
|
Dependency to get a database session.
|
|
"""
|
|
db = SessionLocal()
|
|
try:
|
|
yield db
|
|
finally:
|
|
db.close()
|